From 6d970d9d452439ce34e32efe38a723c946c722fd Mon Sep 17 00:00:00 2001
From: Kevin Cristiano <kcristiano@kcristiano.com>
Date: Sat, 5 Mar 2022 14:19:43 -0500
Subject: [PATCH] civicrm release 5.47.0

---
 README.md                                     |    14 +-
 civicrm.php                                   |   170 +-
 civicrm/CRM/ACL/API.php                       |    16 +-
 civicrm/CRM/ACL/BAO/ACL.php                   |    18 +-
 civicrm/CRM/ACL/BAO/ACLEntityRole.php         |     4 +-
 civicrm/CRM/ACL/DAO/ACL.php                   |    42 +-
 civicrm/CRM/ACL/DAO/ACLCache.php              |    18 +-
 civicrm/CRM/ACL/DAO/ACLEntityRole.php         |    20 +-
 civicrm/CRM/Activity/BAO/Activity.php         |    20 +-
 .../CRM/Activity/BAO/ActivityAssignment.php   |     7 -
 civicrm/CRM/Activity/BAO/ActivityTarget.php   |     7 -
 civicrm/CRM/Activity/BAO/ActivityType.php     |     4 +-
 civicrm/CRM/Activity/Controller/Search.php    |     2 +-
 civicrm/CRM/Activity/DAO/Activity.php         |   112 +-
 civicrm/CRM/Activity/DAO/ActivityContact.php  |    18 +-
 civicrm/CRM/Activity/Form/Activity.php        |    17 +-
 civicrm/CRM/Activity/Form/ActivityLinks.php   |     2 +-
 civicrm/CRM/Activity/Form/Task/PDF.php        |     2 +-
 civicrm/CRM/Activity/Form/Task/Print.php      |     2 +-
 civicrm/CRM/Activity/Selector/Search.php      |     4 +-
 civicrm/CRM/Activity/Task.php                 |     3 +-
 civicrm/CRM/Activity/Tokens.php               |     2 +-
 civicrm/CRM/Admin/Form.php                    |     2 +-
 civicrm/CRM/Admin/Form/ContactType.php        |     2 +-
 civicrm/CRM/Admin/Form/Extensions.php         |     2 +-
 civicrm/CRM/Admin/Form/Job.php                |     2 +-
 civicrm/CRM/Admin/Form/MessageTemplates.php   |     2 +-
 civicrm/CRM/Admin/Form/OptionGroup.php        |     2 +-
 civicrm/CRM/Admin/Form/Options.php            |     5 +-
 civicrm/CRM/Admin/Form/PaymentProcessor.php   |    10 +-
 .../CRM/Admin/Form/Preferences/Address.php    |     2 +-
 .../CRM/Admin/Form/Preferences/Contribute.php |     3 +
 .../CRM/Admin/Form/Setting/Localization.php   |    13 +-
 civicrm/CRM/Admin/Form/Setting/Mail.php       |     2 +-
 civicrm/CRM/Admin/Form/Setting/Url.php        |     2 +-
 civicrm/CRM/Admin/Page/EventTemplate.php      |     3 +
 civicrm/CRM/Admin/Page/MessageTemplates.php   |     4 +-
 civicrm/CRM/Api4/Page/AJAX.php                |     5 +-
 civicrm/CRM/Api4/Services.php                 |     6 -
 civicrm/CRM/Badge/BAO/Badge.php               |    25 +-
 civicrm/CRM/Badge/BAO/Layout.php              |     9 +-
 civicrm/CRM/Batch/BAO/Batch.php               |    38 +-
 civicrm/CRM/Batch/BAO/EntityBatch.php         |    53 +
 civicrm/CRM/Batch/DAO/Batch.php               |    70 +-
 civicrm/CRM/Batch/DAO/EntityBatch.php         |    18 +-
 civicrm/CRM/Batch/Form/Entry.php              |     2 +-
 civicrm/CRM/Bridge/OG/Utils.php               |     4 +-
 civicrm/CRM/Campaign/BAO/Campaign.php         |     7 +-
 civicrm/CRM/Campaign/BAO/Query.php            |     2 +-
 civicrm/CRM/Campaign/BAO/Survey.php           |     7 +-
 civicrm/CRM/Campaign/Controller/Search.php    |     2 +-
 civicrm/CRM/Campaign/DAO/Campaign.php         |    68 +-
 civicrm/CRM/Campaign/DAO/CampaignGroup.php    |    22 +-
 civicrm/CRM/Campaign/DAO/Survey.php           |    80 +-
 .../CRM/Campaign/Form/Survey/Questions.php    |     2 +-
 civicrm/CRM/Campaign/Form/Survey/Results.php  |     4 +-
 .../CRM/Campaign/Form/Survey/TabHeader.php    |     4 +-
 civicrm/CRM/Campaign/Form/Task/Print.php      |     2 +-
 civicrm/CRM/Campaign/Form/Task/Reserve.php    |     2 +-
 civicrm/CRM/Campaign/Selector/Search.php      |     4 +-
 civicrm/CRM/Case/BAO/Case.php                 |    26 +-
 civicrm/CRM/Case/DAO/Case.php                 |    43 +-
 civicrm/CRM/Case/DAO/CaseActivity.php         |    14 +-
 civicrm/CRM/Case/DAO/CaseContact.php          |    14 +-
 civicrm/CRM/Case/DAO/CaseType.php             |    30 +-
 civicrm/CRM/Case/Form/Activity.php            |     2 +-
 civicrm/CRM/Case/Form/Task/Print.php          |     2 +-
 civicrm/CRM/Case/PseudoConstant.php           |     5 +-
 civicrm/CRM/Case/Selector/Search.php          |     6 +-
 civicrm/CRM/Case/XMLProcessor/Report.php      |     2 +-
 civicrm/CRM/Contact/BAO/Contact.php           |   106 +-
 civicrm/CRM/Contact/BAO/Contact/Location.php  |     3 +-
 .../CRM/Contact/BAO/Contact/Permission.php    |     4 +-
 civicrm/CRM/Contact/BAO/Contact/Utils.php     |   260 +-
 civicrm/CRM/Contact/BAO/ContactType.php       |    15 +-
 civicrm/CRM/Contact/BAO/Group.php             |    21 +-
 civicrm/CRM/Contact/BAO/GroupContact.php      |    64 +-
 civicrm/CRM/Contact/BAO/GroupContactCache.php |     2 +-
 civicrm/CRM/Contact/BAO/GroupOrganization.php |     9 +-
 civicrm/CRM/Contact/BAO/Household.php         |     7 -
 civicrm/CRM/Contact/BAO/ProximityQuery.php    |    18 +-
 civicrm/CRM/Contact/BAO/Query.php             |    18 +-
 civicrm/CRM/Contact/BAO/Query/Hook.php        |    17 +-
 civicrm/CRM/Contact/BAO/Query/Interface.php   |    27 +-
 civicrm/CRM/Contact/BAO/Relationship.php      |   228 +-
 civicrm/CRM/Contact/BAO/RelationshipType.php  |    47 +-
 civicrm/CRM/Contact/BAO/SavedSearch.php       |    86 +-
 civicrm/CRM/Contact/BAO/SearchCustom.php      |    17 +-
 .../CRM/Contact/BAO/SubscriptionHistory.php   |     7 -
 civicrm/CRM/Contact/DAO/ACLContactCache.php   |    16 +-
 civicrm/CRM/Contact/DAO/Contact.php           |   210 +-
 civicrm/CRM/Contact/DAO/ContactType.php       |    32 +-
 civicrm/CRM/Contact/DAO/DashboardContact.php  |    26 +-
 civicrm/CRM/Contact/DAO/Group.php             |    90 +-
 civicrm/CRM/Contact/DAO/GroupContact.php      |    26 +-
 civicrm/CRM/Contact/DAO/GroupContactCache.php |    14 +-
 civicrm/CRM/Contact/DAO/GroupNesting.php      |    14 +-
 civicrm/CRM/Contact/DAO/GroupOrganization.php |    14 +-
 civicrm/CRM/Contact/DAO/Relationship.php      |    93 +-
 civicrm/CRM/Contact/DAO/RelationshipCache.php |    48 +-
 civicrm/CRM/Contact/DAO/RelationshipType.php  |    50 +-
 civicrm/CRM/Contact/DAO/SavedSearch.php       |    58 +-
 .../CRM/Contact/DAO/SubscriptionHistory.php   |    30 +-
 civicrm/CRM/Contact/Form/Contact.php          |     2 +-
 civicrm/CRM/Contact/Form/DedupeFind.php       |     8 +-
 civicrm/CRM/Contact/Form/DedupeRules.php      |     2 +-
 civicrm/CRM/Contact/Form/Merge.php            |     2 +-
 civicrm/CRM/Contact/Form/Relationship.php     |     2 +-
 civicrm/CRM/Contact/Form/Search.php           |     8 +
 civicrm/CRM/Contact/Form/Search/Advanced.php  |     4 +-
 civicrm/CRM/Contact/Form/Search/Builder.php   |     1 -
 civicrm/CRM/Contact/Form/Search/Criteria.php  |     3 +-
 civicrm/CRM/Contact/Form/Task.php             |    12 +-
 civicrm/CRM/Contact/Form/Task/Delete.php      |     2 +-
 civicrm/CRM/Contact/Form/Task/EmailTrait.php  |     4 +
 civicrm/CRM/Contact/Form/Task/Label.php       |    23 +-
 civicrm/CRM/Contact/Form/Task/LabelCommon.php |     4 +-
 civicrm/CRM/Contact/Form/Task/Map.php         |    10 +-
 civicrm/CRM/Contact/Form/Task/Print.php       |     2 +-
 civicrm/CRM/Contact/Form/Task/SMSCommon.php   |     2 +-
 civicrm/CRM/Contact/Import/Controller.php     |     2 +-
 civicrm/CRM/Contact/Import/Form/Preview.php   |     2 +-
 civicrm/CRM/Contact/Import/ImportJob.php      |     4 +-
 civicrm/CRM/Contact/Import/Parser.php         |   224 -
 civicrm/CRM/Contact/Import/Parser/Contact.php |   293 +-
 civicrm/CRM/Contact/Page/AJAX.php             |     7 +-
 civicrm/CRM/Contact/Page/View.php             |     4 +-
 civicrm/CRM/Contact/Page/View/CustomData.php  |    12 +-
 civicrm/CRM/Contribute/BAO/Contribution.php   |    42 +-
 .../CRM/Contribute/BAO/ContributionPage.php   |     6 +-
 .../CRM/Contribute/BAO/ContributionRecur.php  |     6 +-
 .../CRM/Contribute/BAO/ContributionSoft.php   |     7 -
 civicrm/CRM/Contribute/BAO/Premium.php        |    24 +-
 civicrm/CRM/Contribute/BAO/Product.php        |     7 -
 civicrm/CRM/Contribute/BAO/Query.php          |     2 +-
 civicrm/CRM/Contribute/DAO/Contribution.php   |   126 +-
 .../CRM/Contribute/DAO/ContributionPage.php   |   186 +-
 .../Contribute/DAO/ContributionProduct.php    |    42 +-
 .../CRM/Contribute/DAO/ContributionRecur.php  |   120 +-
 .../CRM/Contribute/DAO/ContributionSoft.php   |    42 +-
 civicrm/CRM/Contribute/DAO/Premium.php        |    44 +-
 .../CRM/Contribute/DAO/PremiumsProduct.php    |    22 +-
 civicrm/CRM/Contribute/DAO/Product.php        |    76 +-
 civicrm/CRM/Contribute/DAO/Widget.php         |    70 +-
 .../CRM/Contribute/Form/AdditionalInfo.php    |     6 +-
 .../CRM/Contribute/Form/AdditionalPayment.php |     2 +-
 civicrm/CRM/Contribute/Form/Contribution.php  |     9 +-
 .../Contribute/Form/Contribution/Confirm.php  |     5 +-
 .../CRM/Contribute/Form/Contribution/Main.php |     5 +-
 .../CRM/Contribute/Form/ContributionBase.php  |    11 +-
 .../CRM/Contribute/Form/ContributionPage.php  |    10 +-
 .../Form/ContributionPage/AddProduct.php      |     7 +-
 .../Form/ContributionPage/Amount.php          |     5 +-
 .../Form/ContributionPage/Settings.php        |     2 +-
 .../Form/ContributionPage/TabHeader.php       |     2 +-
 .../Form/ContributionPage/Widget.php          |     2 +-
 civicrm/CRM/Contribute/Form/SoftCredit.php    |     2 +-
 .../CRM/Contribute/Form/Task/PDFLetter.php    |     4 +-
 civicrm/CRM/Contribute/Form/Task/Print.php    |     2 +-
 .../CRM/Contribute/Form/Task/TaskTrait.php    |     2 +-
 .../CRM/Contribute/Import/Form/MapField.php   |     2 +-
 .../Contribute/Import/Parser/Contribution.php |    15 +-
 .../CRM/Contribute/Page/ContributionPage.php  |    25 +-
 civicrm/CRM/Contribute/Page/Tab.php           |    13 +
 civicrm/CRM/Contribute/PseudoConstant.php     |     2 +-
 civicrm/CRM/Contribute/Selector/Search.php    |    18 +-
 .../StateMachine/ContributionPage.php         |     4 +-
 civicrm/CRM/Contribute/Task.php               |     2 +-
 .../ContributionOfflineReceipt.php            |     5 +-
 .../WorkflowMessage/ContributionTrait.php     |    67 +
 .../WorkflowMessage/RecurringCancelled.php    |    16 +-
 .../WorkflowMessage/RecurringEdit.php         |    21 +-
 civicrm/CRM/Core/Action.php                   |     6 +-
 civicrm/CRM/Core/BAO/Address.php              |     7 -
 civicrm/CRM/Core/BAO/CustomField.php          |    32 +-
 civicrm/CRM/Core/BAO/CustomGroup.php          |     7 -
 civicrm/CRM/Core/BAO/CustomOption.php         |     2 +-
 civicrm/CRM/Core/BAO/CustomValue.php          |     2 +-
 civicrm/CRM/Core/BAO/CustomValueTable.php     |    11 +-
 civicrm/CRM/Core/BAO/Dashboard.php            |     6 +-
 civicrm/CRM/Core/BAO/Discount.php             |     7 -
 civicrm/CRM/Core/BAO/Domain.php               |     2 +-
 civicrm/CRM/Core/BAO/EntityTag.php            |     7 +-
 civicrm/CRM/Core/BAO/File.php                 |    19 +-
 civicrm/CRM/Core/BAO/FinancialTrxn.php        |    11 -
 civicrm/CRM/Core/BAO/Job.php                  |     7 -
 civicrm/CRM/Core/BAO/LocationType.php         |    14 +-
 civicrm/CRM/Core/BAO/MailSettings.php         |    11 +-
 civicrm/CRM/Core/BAO/Mapping.php              |     9 +-
 civicrm/CRM/Core/BAO/Navigation.php           |    18 +-
 civicrm/CRM/Core/BAO/OptionGroup.php          |    11 +-
 civicrm/CRM/Core/BAO/OptionValue.php          |     7 -
 civicrm/CRM/Core/BAO/Phone.php                |    11 +-
 civicrm/CRM/Core/BAO/PreferencesDate.php      |     7 -
 civicrm/CRM/Core/BAO/PrevNextCache.php        |     2 +-
 civicrm/CRM/Core/BAO/SchemaHandler.php        |     4 +-
 civicrm/CRM/Core/BAO/Setting.php              |    35 +-
 civicrm/CRM/Core/BAO/Tag.php                  |    10 +-
 civicrm/CRM/Core/BAO/Translation.php          |     2 +-
 civicrm/CRM/Core/BAO/UFField.php              |     5 +-
 civicrm/CRM/Core/BAO/UFGroup.php              |    24 +-
 civicrm/CRM/Core/BAO/Website.php              |     3 +-
 civicrm/CRM/Core/BAO/WordReplacement.php      |    36 +-
 civicrm/CRM/Core/Block.php                    |    12 +-
 civicrm/CRM/Core/CodeGen/GenerateData.php     |    36 +-
 civicrm/CRM/Core/CodeGen/Specification.php    |    78 +-
 civicrm/CRM/Core/CodeGen/Util/File.php        |     6 +-
 civicrm/CRM/Core/Component.php                |    50 +-
 civicrm/CRM/Core/Component/Info.php           |     5 +-
 civicrm/CRM/Core/Config.php                   |     8 -
 civicrm/CRM/Core/Controller.php               |    44 +-
 civicrm/CRM/Core/Controller/Simple.php        |     2 +-
 civicrm/CRM/Core/DAO.php                      |    84 +-
 civicrm/CRM/Core/DAO/ActionLog.php            |    42 +-
 civicrm/CRM/Core/DAO/ActionMapping.php        |    38 +-
 civicrm/CRM/Core/DAO/ActionSchedule.php       |   170 +-
 civicrm/CRM/Core/DAO/Address.php              |   118 +-
 civicrm/CRM/Core/DAO/AddressFormat.php        |    10 +-
 civicrm/CRM/Core/DAO/AllCoreTables.data.php   |    12 +-
 civicrm/CRM/Core/DAO/AllCoreTables.php        |     2 +-
 civicrm/CRM/Core/DAO/Cache.php                |    28 +-
 civicrm/CRM/Core/DAO/Component.php            |    12 +-
 civicrm/CRM/Core/DAO/Country.php              |    42 +-
 civicrm/CRM/Core/DAO/County.php               |    22 +-
 civicrm/CRM/Core/DAO/CustomField.php          |   124 +-
 civicrm/CRM/Core/DAO/CustomGroup.php          |   103 +-
 civicrm/CRM/Core/DAO/Dashboard.php            |    50 +-
 civicrm/CRM/Core/DAO/Discount.php             |    26 +-
 civicrm/CRM/Core/DAO/Domain.php               |    30 +-
 civicrm/CRM/Core/DAO/Email.php                |    50 +-
 civicrm/CRM/Core/DAO/EntityFile.php           |    18 +-
 civicrm/CRM/Core/DAO/EntityTag.php            |    18 +-
 civicrm/CRM/Core/DAO/Extension.php            |    30 +-
 civicrm/CRM/Core/DAO/File.php                 |    34 +-
 civicrm/CRM/Core/DAO/IM.php                   |    30 +-
 civicrm/CRM/Core/DAO/Job.php                  |    46 +-
 civicrm/CRM/Core/DAO/JobLog.php               |    34 +-
 civicrm/CRM/Core/DAO/LocBlock.php             |    38 +-
 civicrm/CRM/Core/DAO/LocationType.php         |    34 +-
 civicrm/CRM/Core/DAO/Log.php                  |    24 +-
 civicrm/CRM/Core/DAO/MailSettings.php         |    70 +-
 civicrm/CRM/Core/DAO/Managed.php              |    26 +-
 civicrm/CRM/Core/DAO/Mapping.php              |    18 +-
 civicrm/CRM/Core/DAO/MappingField.php         |    58 +-
 civicrm/CRM/Core/DAO/Menu.php                 |    90 +-
 civicrm/CRM/Core/DAO/MessageTemplate.php      |    50 +-
 civicrm/CRM/Core/DAO/Navigation.php           |    52 +-
 civicrm/CRM/Core/DAO/Note.php                 |    40 +-
 civicrm/CRM/Core/DAO/OpenID.php               |    26 +-
 civicrm/CRM/Core/DAO/OptionGroup.php          |    32 +-
 civicrm/CRM/Core/DAO/OptionValue.php          |    70 +-
 civicrm/CRM/Core/DAO/Phone.php                |    42 +-
 civicrm/CRM/Core/DAO/PreferencesDate.php      |    28 +-
 civicrm/CRM/Core/DAO/PrevNextCache.php        |    30 +-
 civicrm/CRM/Core/DAO/PrintLabel.php           |    46 +-
 civicrm/CRM/Core/DAO/RecurringEntity.php      |    20 +-
 civicrm/CRM/Core/DAO/Setting.php              |    38 +-
 civicrm/CRM/Core/DAO/StateProvince.php        |    22 +-
 civicrm/CRM/Core/DAO/StatusPreference.php     |    32 +-
 civicrm/CRM/Core/DAO/SystemLog.php            |    28 +-
 civicrm/CRM/Core/DAO/Tag.php                  |    44 +-
 civicrm/CRM/Core/DAO/Timezone.php             |    26 +-
 civicrm/CRM/Core/DAO/Translation.php          |    24 +-
 civicrm/CRM/Core/DAO/UFField.php              |    74 +-
 civicrm/CRM/Core/DAO/UFGroup.php              |   108 +-
 civicrm/CRM/Core/DAO/UFJoin.php               |    32 +-
 civicrm/CRM/Core/DAO/UFMatch.php              |    26 +-
 civicrm/CRM/Core/DAO/Website.php              |    18 +-
 civicrm/CRM/Core/DAO/WordReplacement.php      |    26 +-
 civicrm/CRM/Core/DAO/Worldregion.php          |    10 +-
 civicrm/CRM/Core/DAO/permissions.php          |     6 +-
 civicrm/CRM/Core/Error.php                    |    13 +-
 civicrm/CRM/Core/Form.php                     |    52 +-
 civicrm/CRM/Core/Form/ShortCode.php           |     8 +-
 civicrm/CRM/Core/Form/Task.php                |     5 +-
 .../CRM/Core/Form/Task/PDFLetterCommon.php    |     4 +-
 civicrm/CRM/Core/I18n.php                     |    30 +-
 civicrm/CRM/Core/I18n/NativeGettext.php       |    12 +-
 civicrm/CRM/Core/I18n/PseudoConstant.php      |     2 +-
 civicrm/CRM/Core/I18n/Schema.php              |    12 +-
 civicrm/CRM/Core/IDS.php                      |     2 +-
 civicrm/CRM/Core/Invoke.php                   |     4 +
 civicrm/CRM/Core/ManagedEntities.php          |     8 +-
 civicrm/CRM/Core/Menu.php                     |     6 +-
 civicrm/CRM/Core/Page.php                     |    22 +-
 civicrm/CRM/Core/Page/AJAX.php                |     4 +-
 civicrm/CRM/Core/Payment.php                  |    23 +-
 civicrm/CRM/Core/Payment/BaseIPN.php          |     2 +-
 civicrm/CRM/Core/Payment/Form.php             |     2 +-
 civicrm/CRM/Core/Payment/PayPalImpl.php       |     2 +-
 civicrm/CRM/Core/Permission.php               |    16 +-
 civicrm/CRM/Core/Reference/Basic.php          |    14 +-
 civicrm/CRM/Core/Report/Excel.php             |     4 +-
 civicrm/CRM/Core/Resources.php                |    19 +-
 civicrm/CRM/Core/Resources/Bundle.php         |     4 +-
 civicrm/CRM/Core/Resources/Common.php         |     2 +-
 civicrm/CRM/Core/SelectValues.php             |    20 +-
 civicrm/CRM/Core/Selector/Controller.php      |    13 +-
 civicrm/CRM/Core/ShowHideBlocks.php           |     4 +-
 civicrm/CRM/Core/Smarty.php                   |     9 -
 civicrm/CRM/Core/Smarty/Permissions.php       |     2 +-
 .../Smarty/plugins/modifier.print_array.php   |     4 +-
 civicrm/CRM/Core/Transaction.php              |     4 +-
 civicrm/CRM/Core/xml/Menu/Admin.xml           |    20 +
 civicrm/CRM/Custom/Form/DeleteField.php       |     2 +-
 civicrm/CRM/Custom/Form/DeleteGroup.php       |     2 +-
 civicrm/CRM/Custom/Form/Field.php             |    20 +-
 civicrm/CRM/Custom/Form/Group.php             |    62 +-
 civicrm/CRM/Custom/Form/MoveField.php         |     2 +-
 civicrm/CRM/Custom/Form/Preview.php           |    22 +-
 civicrm/CRM/Custom/Import/Parser/Api.php      |     2 +-
 civicrm/CRM/Custom/Page/Field.php             |   116 +-
 civicrm/CRM/Custom/Page/Group.php             |   112 +-
 civicrm/CRM/Cxn/DAO/Cxn.php                   |    46 +-
 civicrm/CRM/Dashlet/Page/Blog.php             |     2 +-
 civicrm/CRM/Dashlet/Page/GettingStarted.php   |     2 +-
 civicrm/CRM/Dedupe/DAO/DedupeException.php    |    14 +-
 civicrm/CRM/Dedupe/DAO/DedupeRule.php         |    22 +-
 civicrm/CRM/Dedupe/DAO/DedupeRuleGroup.php    |    28 +-
 civicrm/CRM/Dedupe/Merger.php                 |    10 +-
 civicrm/CRM/Event/BAO/Event.php               |    62 +-
 civicrm/CRM/Event/BAO/Participant.php         |     9 +-
 .../CRM/Event/BAO/ParticipantStatusType.php   |     6 +-
 civicrm/CRM/Event/Badge/Logo.php              |     2 +-
 civicrm/CRM/Event/Badge/Logo5395.php          |     2 +-
 civicrm/CRM/Event/Badge/NameTent.php          |     4 +-
 civicrm/CRM/Event/Badge/Simple.php            |     2 +-
 civicrm/CRM/Event/Cart/DAO/Cart.php           |    14 +-
 civicrm/CRM/Event/Cart/DAO/EventInCart.php    |    14 +-
 civicrm/CRM/Event/Controller/Registration.php |     2 +-
 civicrm/CRM/Event/DAO/Event.php               |   324 +-
 civicrm/CRM/Event/DAO/Participant.php         |    78 +-
 civicrm/CRM/Event/DAO/ParticipantPayment.php  |    14 +-
 .../CRM/Event/DAO/ParticipantStatusType.php   |    38 +-
 civicrm/CRM/Event/Form/ManageEvent.php        |     8 +-
 .../CRM/Event/Form/ManageEvent/EventInfo.php  |    17 +-
 civicrm/CRM/Event/Form/ManageEvent/Fee.php    |     2 +-
 .../Event/Form/ManageEvent/Registration.php   |    19 +
 civicrm/CRM/Event/Form/Participant.php        |     8 +-
 .../Event/Form/ParticipantFeeSelection.php    |     6 +-
 civicrm/CRM/Event/Form/Registration.php       |    12 +-
 .../Registration/AdditionalParticipant.php    |     4 +-
 .../CRM/Event/Form/Registration/Register.php  |    28 +-
 civicrm/CRM/Event/Form/SelfSvcTransfer.php    |     5 +-
 civicrm/CRM/Event/Form/SelfSvcUpdate.php      |     2 +-
 civicrm/CRM/Event/Form/Task/Print.php         |     2 +-
 civicrm/CRM/Event/ICalendar.php               |    10 +-
 civicrm/CRM/Event/Import/Controller.php       |     2 +-
 civicrm/CRM/Event/Import/Form/MapField.php    |     2 +-
 civicrm/CRM/Event/Import/Parser.php           |     2 +-
 .../CRM/Event/Import/Parser/Participant.php   |     4 +-
 civicrm/CRM/Event/Page/EventInfo.php          |     5 +
 civicrm/CRM/Event/Page/List.php               |    15 +
 civicrm/CRM/Event/Page/ManageEvent.php        |    13 +
 civicrm/CRM/Event/PseudoConstant.php          |    27 +-
 civicrm/CRM/Event/Tokens.php                  |     3 +
 civicrm/CRM/Export/BAO/ExportProcessor.php    |    10 +
 civicrm/CRM/Export/Form/Select.php            |     2 +-
 civicrm/CRM/Extension/Info.php                |     2 +-
 civicrm/CRM/Extension/Manager.php             |     6 +-
 civicrm/CRM/Extension/MixinScanner.php        |     4 +-
 civicrm/CRM/Financial/BAO/ExportFormat.php    |     2 +-
 .../CRM/Financial/BAO/ExportFormat/CSV.php    |     9 +-
 .../CRM/Financial/BAO/ExportFormat/IIF.php    |     4 +-
 .../CRM/Financial/BAO/FinancialAccount.php    |     9 +-
 civicrm/CRM/Financial/BAO/FinancialItem.php   |     7 -
 civicrm/CRM/Financial/BAO/FinancialType.php   |    49 +-
 .../Financial/BAO/FinancialTypeAccount.php    |    23 +-
 civicrm/CRM/Financial/BAO/Order.php           |     6 +-
 civicrm/CRM/Financial/BAO/Payment.php         |     5 +
 .../CRM/Financial/BAO/PaymentProcessor.php    |     6 +-
 .../Financial/BAO/PaymentProcessorType.php    |     9 +-
 civicrm/CRM/Financial/DAO/Currency.php        |    22 +-
 .../Financial/DAO/EntityFinancialAccount.php  |    20 +-
 .../CRM/Financial/DAO/EntityFinancialTrxn.php |    20 +-
 .../CRM/Financial/DAO/FinancialAccount.php    |    60 +-
 civicrm/CRM/Financial/DAO/FinancialItem.php   |    46 +-
 civicrm/CRM/Financial/DAO/FinancialTrxn.php   |    74 +-
 civicrm/CRM/Financial/DAO/FinancialType.php   |    24 +-
 .../CRM/Financial/DAO/PaymentProcessor.php    |    94 +-
 .../Financial/DAO/PaymentProcessorType.php    |    88 +-
 civicrm/CRM/Financial/DAO/PaymentToken.php    |    52 +-
 .../CRM/Financial/Form/FinancialAccount.php   |     2 +-
 civicrm/CRM/Financial/Form/FinancialBatch.php |     2 +-
 civicrm/CRM/Financial/Form/FinancialType.php  |     6 -
 .../Financial/Form/FinancialTypeAccount.php   |     2 +-
 .../Form/FrontEndPaymentFormTrait.php         |     2 +-
 civicrm/CRM/Financial/Form/Payment.php        |     4 +-
 civicrm/CRM/Financial/Form/PaymentEdit.php    |     2 +-
 civicrm/CRM/Financial/Page/AJAX.php           |   110 +-
 civicrm/CRM/Financial/Page/FinancialType.php  |     6 -
 civicrm/CRM/Friend/BAO/Friend.php             |     6 -
 civicrm/CRM/Friend/DAO/Friend.php             |    40 +-
 civicrm/CRM/Grant/Info.php                    |   152 -
 civicrm/CRM/Group/Controller.php              |     2 +-
 civicrm/CRM/Import/Parser.php                 |   343 +-
 civicrm/CRM/Logging/Schema.php                |     2 +-
 civicrm/CRM/Mailing/BAO/BouncePattern.php     |     9 +-
 civicrm/CRM/Mailing/BAO/Mailing.php           |    14 +-
 civicrm/CRM/Mailing/BAO/MailingAB.php         |     7 -
 civicrm/CRM/Mailing/BAO/MailingJob.php        |    16 +-
 civicrm/CRM/Mailing/BAO/Recipients.php        |     7 -
 civicrm/CRM/Mailing/BAO/Spool.php             |     7 -
 civicrm/CRM/Mailing/BAO/TrackableURL.php      |     7 -
 civicrm/CRM/Mailing/Controller/Send.php       |     2 +-
 civicrm/CRM/Mailing/DAO/BouncePattern.php     |    14 +-
 civicrm/CRM/Mailing/DAO/BounceType.php        |    16 +-
 civicrm/CRM/Mailing/DAO/Mailing.php           |   172 +-
 civicrm/CRM/Mailing/DAO/MailingAB.php         |    58 +-
 civicrm/CRM/Mailing/DAO/MailingComponent.php  |    34 +-
 civicrm/CRM/Mailing/DAO/MailingGroup.php      |    28 +-
 civicrm/CRM/Mailing/DAO/MailingJob.php        |    46 +-
 civicrm/CRM/Mailing/DAO/Recipients.php        |    22 +-
 civicrm/CRM/Mailing/DAO/Spool.php             |    30 +-
 civicrm/CRM/Mailing/DAO/TrackableURL.php      |    14 +-
 civicrm/CRM/Mailing/Event/BAO/Bounce.php      |     9 +-
 civicrm/CRM/Mailing/Event/BAO/Confirm.php     |     7 -
 civicrm/CRM/Mailing/Event/BAO/Delivered.php   |     7 -
 civicrm/CRM/Mailing/Event/BAO/Forward.php     |   187 +-
 civicrm/CRM/Mailing/Event/BAO/Opened.php      |     9 +-
 civicrm/CRM/Mailing/Event/BAO/Queue.php       |     9 +-
 civicrm/CRM/Mailing/Event/BAO/Reply.php       |     9 +-
 civicrm/CRM/Mailing/Event/BAO/Subscribe.php   |    11 +-
 .../Mailing/Event/BAO/TrackableURLOpen.php    |     9 +-
 civicrm/CRM/Mailing/Event/BAO/Unsubscribe.php |    11 +-
 civicrm/CRM/Mailing/Event/DAO/Bounce.php      |    22 +-
 civicrm/CRM/Mailing/Event/DAO/Confirm.php     |    14 +-
 civicrm/CRM/Mailing/Event/DAO/Delivered.php   |    14 +-
 civicrm/CRM/Mailing/Event/DAO/Forward.php     |    18 +-
 civicrm/CRM/Mailing/Event/DAO/Opened.php      |    14 +-
 civicrm/CRM/Mailing/Event/DAO/Queue.php       |    38 +-
 civicrm/CRM/Mailing/Event/DAO/Reply.php       |    14 +-
 civicrm/CRM/Mailing/Event/DAO/Subscribe.php   |    20 +-
 .../Mailing/Event/DAO/TrackableURLOpen.php    |    18 +-
 civicrm/CRM/Mailing/Event/DAO/Unsubscribe.php |    18 +-
 civicrm/CRM/Mailing/Form/Task/Print.php       |     2 +-
 civicrm/CRM/Mailing/Info.php                  |     3 +-
 civicrm/CRM/Mailing/Selector/Search.php       |     2 +-
 civicrm/CRM/Member/BAO/Membership.php         |     7 -
 civicrm/CRM/Member/BAO/MembershipBlock.php    |     7 -
 civicrm/CRM/Member/BAO/MembershipPayment.php  |     7 -
 civicrm/CRM/Member/BAO/MembershipType.php     |    17 +-
 civicrm/CRM/Member/DAO/Membership.php         |    66 +-
 civicrm/CRM/Member/DAO/MembershipBlock.php    |    54 +-
 civicrm/CRM/Member/DAO/MembershipLog.php      |    38 +-
 civicrm/CRM/Member/DAO/MembershipPayment.php  |    14 +-
 civicrm/CRM/Member/DAO/MembershipStatus.php   |    60 +-
 civicrm/CRM/Member/DAO/MembershipType.php     |    80 +-
 civicrm/CRM/Member/Form.php                   |     2 +-
 civicrm/CRM/Member/Form/Membership.php        |     2 +-
 civicrm/CRM/Member/Form/MembershipRenewal.php |     2 +-
 civicrm/CRM/Member/Form/Task/Print.php        |     2 +-
 civicrm/CRM/Member/Import/Form/MapField.php   |     2 +-
 civicrm/CRM/Member/Page/DashBoard.php         |    29 +
 civicrm/CRM/Member/Page/Tab.php               |    26 +-
 civicrm/CRM/Member/Selector/Search.php        |    28 +-
 civicrm/CRM/PCP/BAO/PCP.php                   |    29 +-
 civicrm/CRM/PCP/DAO/PCP.php                   |    66 +-
 civicrm/CRM/PCP/DAO/PCPBlock.php              |    52 +-
 civicrm/CRM/PCP/Form/Campaign.php             |     2 +-
 civicrm/CRM/PCP/Form/Contribute.php           |     2 +-
 civicrm/CRM/PCP/Form/Event.php                |     2 +-
 civicrm/CRM/PCP/Form/PCPAccount.php           |     2 +-
 civicrm/CRM/Pledge/BAO/Pledge.php             |    26 +-
 civicrm/CRM/Pledge/BAO/PledgeBlock.php        |     7 -
 civicrm/CRM/Pledge/BAO/PledgePayment.php      |    11 +-
 civicrm/CRM/Pledge/DAO/Pledge.php             |    92 +-
 civicrm/CRM/Pledge/DAO/PledgeBlock.php        |    46 +-
 civicrm/CRM/Pledge/DAO/PledgePayment.php      |    42 +-
 civicrm/CRM/Pledge/Form/Pledge.php            |     2 +-
 civicrm/CRM/Pledge/Form/Task/Print.php        |     2 +-
 civicrm/CRM/Price/BAO/PriceSet.php            |     7 -
 civicrm/CRM/Price/DAO/LineItem.php            |    60 +-
 civicrm/CRM/Price/DAO/PriceField.php          |    64 +-
 civicrm/CRM/Price/DAO/PriceFieldValue.php     |    74 +-
 civicrm/CRM/Price/DAO/PriceSet.php            |    48 +-
 civicrm/CRM/Price/DAO/PriceSetEntity.php      |    16 +-
 civicrm/CRM/Price/Form/Field.php              |    18 +-
 civicrm/CRM/Price/Page/Set.php                |     1 +
 civicrm/CRM/Profile/Form.php                  |     7 +-
 civicrm/CRM/Profile/Page/Dynamic.php          |    11 +-
 civicrm/CRM/Profile/Page/Listings.php         |    11 +-
 civicrm/CRM/Profile/Page/View.php             |     9 +-
 civicrm/CRM/Profile/Selector/Listings.php     |     2 +-
 civicrm/CRM/Queue/BAO/Queue.php               |    36 +
 civicrm/CRM/Queue/DAO/Queue.php               |   247 +
 civicrm/CRM/Queue/DAO/QueueItem.php           |    26 +-
 civicrm/CRM/Queue/Queue/Sql.php               |    94 +-
 civicrm/CRM/Queue/Queue/SqlParallel.php       |    96 +-
 civicrm/CRM/Queue/Queue/SqlTrait.php          |   112 +
 civicrm/CRM/Queue/Runner.php                  |    26 +-
 civicrm/CRM/Queue/Service.php                 |    49 +-
 civicrm/CRM/Queue/Task.php                    |     9 +-
 civicrm/CRM/Report/DAO/ReportInstance.php     |    84 +-
 civicrm/CRM/Report/Form.php                   |    30 +-
 civicrm/CRM/Report/Form/Activity.php          |     9 +-
 civicrm/CRM/Report/Form/ActivitySummary.php   |     4 +-
 .../Report/Form/Campaign/SurveyDetails.php    |     4 +-
 civicrm/CRM/Report/Form/Case/Demographics.php |     2 +-
 civicrm/CRM/Report/Form/Case/Detail.php       |     2 +-
 civicrm/CRM/Report/Form/Case/Summary.php      |     2 +-
 civicrm/CRM/Report/Form/Case/TimeSpent.php    |     2 +-
 civicrm/CRM/Report/Form/Contact/Detail.php    |     4 +-
 civicrm/CRM/Report/Form/Contact/Log.php       |     2 +-
 .../CRM/Report/Form/Contact/Relationship.php  |    14 +-
 civicrm/CRM/Report/Form/Contact/Summary.php   |     2 +-
 .../Report/Form/Contribute/Bookkeeping.php    |     2 +-
 civicrm/CRM/Report/Form/Contribute/Detail.php |     2 +-
 .../CRM/Report/Form/Contribute/History.php    |    12 +-
 .../Form/Contribute/HouseholdSummary.php      |    10 +-
 civicrm/CRM/Report/Form/Contribute/Lybunt.php |     7 +-
 .../Form/Contribute/OrganizationSummary.php   |    10 +-
 civicrm/CRM/Report/Form/Contribute/PCP.php    |     2 +-
 civicrm/CRM/Report/Form/Contribute/Repeat.php |    12 +-
 .../CRM/Report/Form/Contribute/SoftCredit.php |     2 +-
 civicrm/CRM/Report/Form/Contribute/Sybunt.php |    10 +-
 .../CRM/Report/Form/Contribute/TopDonor.php   |    10 +-
 civicrm/CRM/Report/Form/Event/Income.php      |     3 +-
 .../Report/Form/Event/IncomeCountSummary.php  |     2 +-
 .../Form/Event/ParticipantListCount.php       |     5 +-
 .../Report/Form/Event/ParticipantListing.php  |     2 +-
 civicrm/CRM/Report/Form/Mailing/Bounce.php    |     2 +-
 civicrm/CRM/Report/Form/Mailing/Clicks.php    |     2 +-
 civicrm/CRM/Report/Form/Mailing/Opened.php    |     2 +-
 civicrm/CRM/Report/Form/Mailing/Summary.php   |     2 +-
 .../Report/Form/Member/ContributionDetail.php |     2 +-
 civicrm/CRM/Report/Form/Member/Lapse.php      |     2 +-
 civicrm/CRM/Report/Form/Member/Summary.php    |     2 +-
 civicrm/CRM/Report/Form/Pledge/Detail.php     |     2 +-
 civicrm/CRM/Report/Form/Pledge/Summary.php    |     2 +-
 civicrm/CRM/Report/Form/Register.php          |     2 +-
 civicrm/CRM/Report/Page/InstanceList.php      |     3 +-
 civicrm/CRM/Report/Page/Options.php           |    32 +-
 civicrm/CRM/Report/Page/TemplateList.php      |     5 +-
 civicrm/CRM/SMS/BAO/Provider.php              |    11 +-
 civicrm/CRM/SMS/DAO/Provider.php              |    46 +-
 civicrm/CRM/SMS/Form/Schedule.php             |     2 +-
 civicrm/CRM/SMS/Form/Upload.php               |     2 +-
 civicrm/CRM/SMS/Provider.php                  |     2 +-
 civicrm/CRM/UF/Form/Field.php                 |    13 +-
 civicrm/CRM/UF/Form/Group.php                 |    11 +-
 civicrm/CRM/Upgrade/Controller.php            |     2 +-
 civicrm/CRM/Upgrade/Form.php                  |    50 +-
 civicrm/CRM/Upgrade/Incremental/Base.php      |    42 +
 .../Upgrade/Incremental/MessageTemplates.php  |    20 +
 .../Incremental/php/FiveFortySeven.php        |   361 +
 .../Incremental/php/FiveFortyThree.php        |     2 +-
 .../Upgrade/Incremental/php/FiveThirteen.php  |     4 +-
 .../Upgrade/Incremental/php/FiveTwenty.php    |    24 +-
 .../CRM/Upgrade/Incremental/php/Template.php  |     2 +-
 .../Incremental/sql/5.47.alpha1.mysql.tpl     |    31 +
 civicrm/CRM/Utils/Address.php                 |     4 +-
 civicrm/CRM/Utils/Array.php                   |     4 +-
 civicrm/CRM/Utils/Cache.php                   |     2 +-
 civicrm/CRM/Utils/Cache/SqlGroup.php          |     2 +-
 civicrm/CRM/Utils/Chart.php                   |    37 +-
 civicrm/CRM/Utils/Check.php                   |     2 +-
 civicrm/CRM/Utils/Check/Component/Env.php     |    26 +-
 civicrm/CRM/Utils/Check/Component/Event.php   |    54 +
 .../CRM/Utils/Check/Component/Security.php    |     2 +-
 civicrm/CRM/Utils/Check/Message.php           |     2 +-
 civicrm/CRM/Utils/Color.php                   |     4 +-
 civicrm/CRM/Utils/Date.php                    |   110 +-
 civicrm/CRM/Utils/DeprecatedUtils.php         |   344 -
 civicrm/CRM/Utils/File.php                    |     6 +-
 civicrm/CRM/Utils/Hook.php                    |    13 +-
 civicrm/CRM/Utils/HttpClient.php              |     3 +-
 civicrm/CRM/Utils/ICalendar.php               |     2 +-
 civicrm/CRM/Utils/JS.php                      |     2 +-
 civicrm/CRM/Utils/Mail.php                    |    21 +-
 civicrm/CRM/Utils/Mail/Incoming.php           |     7 +-
 civicrm/CRM/Utils/Mail/Logger.php             |     6 +-
 civicrm/CRM/Utils/Migrate/Export.php          |     4 +-
 civicrm/CRM/Utils/Migrate/ExportJSON.php      |    54 +-
 civicrm/CRM/Utils/Migrate/Import.php          |    38 +-
 civicrm/CRM/Utils/Migrate/ImportJSON.php      |     4 +-
 civicrm/CRM/Utils/Money.php                   |     6 +-
 civicrm/CRM/Utils/Network.php                 |     4 +-
 civicrm/CRM/Utils/OptionBag.php               |     2 +-
 civicrm/CRM/Utils/PDF/Document.php            |     6 +-
 civicrm/CRM/Utils/PDF/Utils.php               |    20 +-
 civicrm/CRM/Utils/QueryFormatter.php          |    16 +-
 civicrm/CRM/Utils/REST.php                    |    64 +-
 civicrm/CRM/Utils/Recent.php                  |    11 +-
 civicrm/CRM/Utils/Rule.php                    |   100 +-
 civicrm/CRM/Utils/SQL/BaseParamQuery.php      |     2 +-
 civicrm/CRM/Utils/SQL/Delete.php              |     6 +-
 civicrm/CRM/Utils/SQL/Insert.php              |     2 +-
 civicrm/CRM/Utils/SQL/Select.php              |     8 +-
 civicrm/CRM/Utils/SQL/TempTable.php           |     4 +-
 civicrm/CRM/Utils/SameSite.php                |    26 +-
 civicrm/CRM/Utils/Sort.php                    |    18 +-
 civicrm/CRM/Utils/String.php                  |    14 +-
 civicrm/CRM/Utils/System.php                  |    28 +-
 civicrm/CRM/Utils/System/Backdrop.php         |     3 +-
 civicrm/CRM/Utils/System/Base.php             |     2 +-
 civicrm/CRM/Utils/System/Drupal6.php          |     3 +-
 civicrm/CRM/Utils/System/Drupal8.php          |     2 +-
 civicrm/CRM/Utils/System/DrupalBase.php       |     3 +-
 civicrm/CRM/Utils/System/WordPress.php        |     8 +-
 civicrm/CRM/Utils/Token.php                   |     2 +-
 civicrm/CRM/Utils/VersionCheck.php            |    20 +-
 civicrm/CRM/Utils/Weight.php                  |    17 +-
 civicrm/CRM/Utils/XML.php                     |     2 +-
 civicrm/CRM/Utils/Zip.php                     |     2 +-
 civicrm/Civi.php                              |    49 +
 .../API/Exception/NotImplementedException.php |     2 +-
 .../API/Exception/UnauthorizedException.php   |     2 +-
 civicrm/Civi/API/Request.php                  |     2 +-
 .../API/Subscriber/DynamicFKAuthorization.php |     2 +-
 .../Api4/Action/Address/AddressSaveTrait.php  |    11 +-
 .../Action/CiviCase/CiviCaseSaveTrait.php     |    17 +-
 .../Api4/Action/Contact/ContactSaveTrait.php  |    46 +
 civicrm/Civi/Api4/Action/Contact/Create.php   |    21 +
 civicrm/Civi/Api4/Action/Contact/Delete.php   |     2 +-
 civicrm/Civi/Api4/Action/Contact/Save.php     |    21 +
 civicrm/Civi/Api4/Action/Contact/Update.php   |    21 +
 .../Contribution/ContributionSaveTrait.php}   |    25 +-
 .../Civi/Api4/Action/Contribution/Create.php  |    21 +
 .../Civi/Api4/Action/Contribution/Save.php    |    21 +
 .../Civi/Api4/Action/Contribution/Update.php  |    21 +
 .../Civi/Api4/Action/CustomField/Create.php   |    21 +
 .../CustomField/CustomFieldSaveTrait.php}     |    40 +-
 civicrm/Civi/Api4/Action/CustomField/Save.php |    21 +
 .../Civi/Api4/Action/CustomField/Update.php   |    21 +
 civicrm/Civi/Api4/Action/Entity/Get.php       |     2 +-
 civicrm/Civi/Api4/Action/EntityTag/Create.php |    21 +
 .../Action/EntityTag/EntityTagSaveTrait.php   |    34 +
 civicrm/Civi/Api4/Action/EntityTag/Save.php   |    21 +
 civicrm/Civi/Api4/Action/EntityTag/Update.php |    21 +
 .../GroupContact/GroupContactSaveTrait.php    |     4 +-
 civicrm/Civi/Api4/Contact.php                 |    27 +
 civicrm/Civi/Api4/Contribution.php            |    27 +
 civicrm/Civi/Api4/CustomField.php             |    28 +
 civicrm/Civi/Api4/Entity.php                  |     5 +
 civicrm/Civi/Api4/EntityTag.php               |    27 +
 .../Subscriber/ContactPreSaveSubscriber.php   |    38 -
 .../CustomGroupPreCreationSubscriber.php      |    35 -
 .../Subscriber/Generic/PreSaveSubscriber.php  |     4 +
 .../OptionValuePreCreationSubscriber.php      |    59 -
 .../Civi/Api4/Event/ValidateValuesEvent.php   |     2 +-
 .../Api4/Generic/BasicGetFieldsAction.php     |     7 +
 .../Generic/Traits/CustomValueActionTrait.php |     2 +-
 .../Api4/Generic/Traits/DAOActionTrait.php    |    90 +-
 .../{SoftDelete.php => SoftDeleteEntity.php}  |     2 +-
 civicrm/Civi/Api4/MembershipType.php          |     1 +
 civicrm/Civi/Api4/Navigation.php              |     1 +
 civicrm/Civi/Api4/OptionValue.php             |     1 +
 civicrm/Civi/Api4/Permission.php              |     8 +
 civicrm/Civi/Api4/PriceField.php              |     1 +
 civicrm/Civi/Api4/PriceFieldValue.php         |     1 +
 civicrm/Civi/Api4/Queue.php                   |    35 +
 civicrm/Civi/Api4/RelationshipCache.php       |     2 +-
 .../Api4/Service/Schema/Joinable/Joinable.php |     2 +-
 civicrm/Civi/Api4/Service/Spec/FieldSpec.php  |    27 +-
 .../Provider/ContactCreationSpecProvider.php  |     6 -
 .../Provider/EventCreationSpecProvider.php    |     2 +
 .../RelationshipCacheSpecProvider.php         |    99 +
 .../Civi/Api4/Service/Spec/SpecFormatter.php  |     4 +-
 .../Civi/Api4/Service/Spec/SpecGatherer.php   |     9 +-
 civicrm/Civi/Api4/SubscriptionHistory.php     |    22 +
 civicrm/Civi/Api4/UFField.php                 |     1 +
 civicrm/Civi/Api4/Utils/FormattingUtil.php    |     9 +-
 civicrm/Civi/Api4/Utils/ReflectionUtils.php   |     2 +-
 civicrm/Civi/Core/AssetBuilder.php            |     4 +-
 civicrm/Civi/Core/Container.php               |     5 +
 civicrm/Civi/Core/DAO/Event/PostDelete.php    |     6 +-
 civicrm/Civi/Core/Event/PreEvent.php          |     2 +-
 civicrm/Civi/Core/Format.php                  |    54 +-
 civicrm/Civi/Core/Paths.php                   |     2 +-
 .../Civi/Core/SqlTrigger/StaticTriggers.php   |     2 +-
 .../Core/SqlTrigger/TimestampTriggers.php     |     2 +-
 civicrm/Civi/Core/Transaction/Frame.php       |     6 +-
 civicrm/Civi/Crypto/CryptoRegistry.php        |     2 +-
 civicrm/Civi/Install/Requirements.php         |     2 +-
 civicrm/Civi/Payment/PropertyBag.php          |    40 +-
 civicrm/Civi/Pipe/BasicPipeClient.php         |   166 +
 civicrm/Civi/Pipe/JsonRpc.php                 |   125 +
 civicrm/Civi/Pipe/JsonRpcMethodException.php  |    27 +
 civicrm/Civi/Pipe/LineSessionTrait.php        |   193 +
 civicrm/Civi/Pipe/PipeSession.php             |   121 +
 civicrm/Civi/Pipe/PublicMethods.php           |   193 +
 civicrm/Civi/Report/OutputHandlerFactory.php  |     2 +-
 civicrm/Civi/Schema/Traits/GuiSpecTrait.php   |     4 +-
 civicrm/Civi/Test.php                         |     2 +-
 civicrm/Civi/Test/EventCheck.php              |     6 +-
 civicrm/Civi/Test/HttpTestTrait.php           |     6 +-
 .../Civi/Token/Event/TokenRegisterEvent.php   |     2 +-
 civicrm/Civi/Token/TokenCompatSubscriber.php  |    13 +-
 civicrm/Civi/Token/TokenProcessor.php         |    23 +-
 civicrm/Civi/WorkflowMessage/FieldSpec.php    |     2 +-
 civicrm/ang/crmAttachment.css                 |    14 +-
 civicrm/ang/crmCaseType.css                   |    28 +-
 civicrm/ang/crmDialog.md                      |     2 +-
 civicrm/ang/crmMailing.css                    |    18 +-
 civicrm/ang/crmMailing/EditMailingCtrl.js     |     7 +-
 civicrm/ang/crmMailing/RadioDate.js           |    23 +-
 civicrm/ang/crmMailing/Recipients.js          |     4 +-
 civicrm/ang/crmMailing/Templates.js           |     4 +-
 civicrm/ang/crmMailingAB.css                  |    15 +-
 civicrm/ang/crmMailingAB/services.js          |     9 +-
 civicrm/ang/crmMonaco.css                     |     4 +-
 civicrm/ang/crmStatusPage.css                 |     6 +-
 civicrm/ang/exportui.css                      |     6 +-
 civicrm/ang/ui.bootstrap.css                  |     7 +-
 civicrm/api/api.php                           |     5 +-
 civicrm/api/class.api.php                     |    14 +-
 civicrm/api/v3/Attachment.php                 |     2 +-
 civicrm/api/v3/Case.php                       |     8 +-
 civicrm/api/v3/Contribution.php               |     4 +-
 civicrm/api/v3/Event.php                      |    13 +
 civicrm/api/v3/Extension.php                  |    12 +-
 civicrm/api/v3/Generic.php                    |     4 +-
 civicrm/api/v3/Generic/Getlist.php            |     6 +-
 civicrm/api/v3/Job.php                        |     4 +-
 civicrm/api/v3/MailingContact.php             |    30 +-
 civicrm/api/v3/MailingEventQueue.php          |     2 +-
 civicrm/api/v3/Membership.php                 |     4 +-
 civicrm/api/v3/Navigation.php                 |     6 +-
 civicrm/api/v3/OptionGroup.php                |     7 +-
 civicrm/api/v3/Participant.php                |     2 +-
 civicrm/api/v3/Pledge.php                     |     2 +-
 civicrm/api/v3/Profile.php                    |     6 +-
 .../Activity/ContactRefCustomField.ex.php     |    49 +-
 .../Activity/ContactRefCustomFieldGet.ex.php  |    53 +-
 .../api/v3/examples/Activity/Create.ex.php    |    49 +-
 .../v3/examples/Activity/DateTimeHigh.ex.php  |    62 +-
 .../v3/examples/Activity/DateTimeLow.ex.php   |    62 +-
 .../api/v3/examples/Activity/Delete.ex.php    |    47 +-
 civicrm/api/v3/examples/Activity/Get.ex.php   |    74 +-
 .../api/v3/examples/Activity/GetFields.ex.php |   268 +-
 .../Activity/GetTargetandAssignee.ex.php      |    49 +-
 .../Activity/GetTargetandAssigneeName.ex.php  |    61 +-
 .../Activity/ReturnAssigneeContact.ex.php     |    76 +-
 .../v3/examples/ActivityContact/Create.ex.php |    47 +-
 .../v3/examples/ActivityContact/Delete.ex.php |    49 +-
 .../v3/examples/ActivityType/Create.ex.php    |    53 +-
 .../api/v3/examples/ActivityType/Get.ex.php   |    47 +-
 .../v3/examples/Address/AddressLike.ex.php    |    62 +-
 .../v3/examples/Address/AddressParse.ex.php   |    57 +-
 .../v3/examples/Address/AddressSort.ex.php    |    72 +-
 civicrm/api/v3/examples/Address/Create.ex.php |    57 +-
 civicrm/api/v3/examples/Address/Delete.ex.php |    49 +-
 civicrm/api/v3/examples/Address/Get.ex.php    |    68 +-
 .../api/v3/examples/Address/GetOptions.ex.php |    47 +-
 civicrm/api/v3/examples/Batch/Create.ex.php   |    55 +-
 civicrm/api/v3/examples/Batch/Delete.ex.php   |    49 +-
 civicrm/api/v3/examples/Batch/Get.ex.php      |    48 +-
 civicrm/api/v3/examples/Batch/Update.ex.php   |     9 +-
 .../api/v3/examples/Campaign/Create.ex.php    |    47 +-
 .../api/v3/examples/Campaign/Delete.ex.php    |    49 +-
 civicrm/api/v3/examples/Campaign/Get.ex.php   |    53 +-
 civicrm/api/v3/examples/Case/Create.ex.php    |    47 +-
 .../api/v3/examples/CaseContact/Create.ex.php |    47 +-
 .../api/v3/examples/CaseContact/Get.ex.php    |    47 +-
 civicrm/api/v3/examples/Constant/Get.ex.php   |    47 +-
 .../examples/Contact/APIChainedArray.ex.php   |    52 +-
 .../Contact/APIChainedArrayFormats.ex.php     |    53 +-
 .../APIChainedArrayMultipleCustom.ex.php      |    51 +-
 ...ainedArrayValuesFromSiblingFunction.ex.php |    47 +-
 .../examples/Contact/ChainTwoWebsites.ex.php  |    58 +-
 .../Contact/ChainTwoWebsitesSyntax2.ex.php    |    58 +-
 .../ContactIDOfLoggedInUserContactAPI.ex.php  |    57 +-
 civicrm/api/v3/examples/Contact/Create.ex.php |    47 +-
 .../Contact/CreateParticipantPayment.ex.php   |    57 +-
 .../v3/examples/Contact/CustomFieldGet.ex.php |    47 +-
 ...CustomFieldGetReturnSyntaxVariation.ex.php |    47 +-
 civicrm/api/v3/examples/Contact/Delete.ex.php |    47 +-
 .../Contact/FormatIsSuccess_Fail.ex.php       |    49 +-
 .../Contact/FormatIsSuccess_True.ex.php       |    49 +-
 .../v3/examples/Contact/FormatOnlyID.ex.php   |    49 +-
 .../examples/Contact/FormatSingleValue.ex.php |    49 +-
 civicrm/api/v3/examples/Contact/Get.ex.php    |    49 +-
 .../api/v3/examples/Contact/GetActions.ex.php |    47 +-
 .../examples/Contact/GetCountContact.ex.php   |    47 +-
 .../examples/Contact/GetFieldsOptions.ex.php  |   215 +-
 .../v3/examples/Contact/GetMergedfrom.ex.php  |    47 +-
 .../v3/examples/Contact/GetMergedto.ex.php    |    47 +-
 .../api/v3/examples/Contact/GetOptions.ex.php |    47 +-
 .../examples/Contact/GetSingleContact.ex.php  |    51 +-
 .../api/v3/examples/Contact/GetUnique.ex.php  |    47 +-
 .../Contact/GroupFilterUsingContactAPI.ex.php |    55 +-
 .../Contact/NestedReplaceEmail.ex.php         |    57 +-
 ...ontributionCreateWithHonoreeContact.ex.php |    55 +-
 .../ContributionCreateWithNote.ex.php         |    53 +-
 .../ContributionCreateWithSoftCredit.ex.php   |    55 +-
 ...ibutionCreateWithSoftCreditDefaults.ex.php |    55 +-
 .../v3/examples/Contribution/Create.ex.php    |    53 +-
 .../CreateWithNestedLineItems.ex.php          |    57 +-
 .../v3/examples/Contribution/Delete.ex.php    |    47 +-
 .../api/v3/examples/Contribution/Get.ex.php   |    92 +-
 .../v3/examples/Contribution/GetUnique.ex.php |    47 +-
 .../examples/ContributionPage/Create.ex.php   |    51 +-
 .../examples/ContributionPage/Delete.ex.php   |    47 +-
 .../v3/examples/ContributionPage/Get.ex.php   |    48 +-
 .../examples/ContributionPage/Submit.ex.php   |    51 +-
 .../examples/ContributionRecur/Create.ex.php  |    51 +-
 .../examples/ContributionRecur/Delete.ex.php  |    49 +-
 .../v3/examples/ContributionRecur/Get.ex.php  |    55 +-
 .../examples/ContributionSoft/Create.ex.php   |    47 +-
 .../examples/ContributionSoft/Delete.ex.php   |    47 +-
 .../v3/examples/ContributionSoft/Get.ex.php   |    47 +-
 civicrm/api/v3/examples/Country/Create.ex.php |    54 +-
 civicrm/api/v3/examples/Country/Delete.ex.php |    49 +-
 civicrm/api/v3/examples/Country/Get.ex.php    |    54 +-
 .../api/v3/examples/CustomField/Create.ex.php |    48 +-
 .../api/v3/examples/CustomField/Delete.ex.php |    47 +-
 .../api/v3/examples/CustomGroup/Create.ex.php |    48 +-
 .../api/v3/examples/CustomGroup/Delete.ex.php |    47 +-
 .../api/v3/examples/CustomGroup/Get.ex.php    |    47 +-
 .../api/v3/examples/CustomValue/Create.ex.php |    47 +-
 .../CustomValue/FormatFieldName.ex.php        |    49 +-
 .../api/v3/examples/CustomValue/Get.ex.php    |    47 +-
 civicrm/api/v3/examples/Domain/Create.ex.php  |    47 +-
 civicrm/api/v3/examples/Domain/Get.ex.php     |    57 +-
 civicrm/api/v3/examples/Email/Create.ex.php   |    55 +-
 civicrm/api/v3/examples/Email/Delete.ex.php   |    49 +-
 civicrm/api/v3/examples/Email/Replace.ex.php  |    67 +-
 .../api/v3/examples/EntityBatch/Create.ex.php |    49 +-
 .../api/v3/examples/EntityBatch/Delete.ex.php |    47 +-
 .../api/v3/examples/EntityBatch/Get.ex.php    |    51 +-
 .../api/v3/examples/EntityTag/Create.ex.php   |    47 +-
 .../api/v3/examples/EntityTag/Delete.ex.php   |    47 +-
 civicrm/api/v3/examples/EntityTag/Get.ex.php  |    53 +-
 .../Event/ContactRefCustomField.ex.php        |    51 +-
 civicrm/api/v3/examples/Event/Create.ex.php   |    48 +-
 civicrm/api/v3/examples/Event/Delete.ex.php   |    47 +-
 civicrm/api/v3/examples/Event/Get.ex.php      |    47 +-
 .../v3/examples/Event/IsCurrentOption.ex.php  |    47 +-
 .../api/v3/examples/Event/IsFullOption.ex.php |    49 +-
 civicrm/api/v3/examples/Grant/Create.ex.php   |    47 +-
 civicrm/api/v3/examples/Grant/Delete.ex.php   |    47 +-
 civicrm/api/v3/examples/Grant/Get.ex.php      |    47 +-
 civicrm/api/v3/examples/Group/Get.ex.php      |    50 +-
 .../api/v3/examples/Group/GetFields.ex.php    |   148 +-
 .../v3/examples/GroupContact/Create.ex.php    |    47 +-
 .../v3/examples/GroupContact/Delete.ex.php    |    47 +-
 .../api/v3/examples/GroupContact/Get.ex.php   |    47 +-
 .../GroupContact/GetWithGroupID.ex.php        |    50 +-
 .../v3/examples/GroupNesting/Create.ex.php    |    47 +-
 .../v3/examples/GroupNesting/Delete.ex.php    |    47 +-
 .../api/v3/examples/GroupNesting/Get.ex.php   |    47 +-
 .../examples/GroupOrganization/Create.ex.php  |    61 +-
 .../examples/GroupOrganization/Delete.ex.php  |    49 +-
 .../v3/examples/GroupOrganization/Get.ex.php  |    49 +-
 civicrm/api/v3/examples/Im/Create.ex.php      |    55 +-
 civicrm/api/v3/examples/Im/Delete.ex.php      |    49 +-
 civicrm/api/v3/examples/Im/Get.ex.php         |    55 +-
 civicrm/api/v3/examples/Job/Clone.ex.php      |    49 +-
 civicrm/api/v3/examples/Job/Create.ex.php     |    51 +-
 civicrm/api/v3/examples/Job/Delete.ex.php     |    47 +-
 .../api/v3/examples/LineItem/Create.ex.php    |    59 +-
 .../api/v3/examples/LineItem/Delete.ex.php    |    49 +-
 civicrm/api/v3/examples/LineItem/Get.ex.php   |    58 +-
 .../api/v3/examples/LocBlock/Create.ex.php    |    49 +-
 .../examples/LocBlock/CreateEntities.ex.php   |    47 +-
 civicrm/api/v3/examples/LocBlock/Get.ex.php   |    49 +-
 civicrm/api/v3/examples/Logging/Get.ex.php    |   111 +-
 civicrm/api/v3/examples/Logging/Revert.ex.php |    49 +-
 .../MailSettings/ChainedGetDelete.ex.php      |    55 +-
 .../v3/examples/MailSettings/Create.ex.php    |    55 +-
 .../v3/examples/MailSettings/Delete.ex.php    |    49 +-
 .../api/v3/examples/MailSettings/Get.ex.php   |    55 +-
 .../examples/MailSettings/GetOptions.ex.php   |    47 +-
 civicrm/api/v3/examples/Mailing/Clone.ex.php  |    59 +-
 civicrm/api/v3/examples/Mailing/Create.ex.php |    71 +-
 civicrm/api/v3/examples/Mailing/Delete.ex.php |    49 +-
 .../api/v3/examples/Mailing/GetTokens.ex.php  |   129 +-
 civicrm/api/v3/examples/Mailing/Submit.ex.php |    63 +-
 .../api/v3/examples/MailingAB/Create.ex.php   |    49 +-
 .../MailingEventSubscribe/Create.ex.php       |    47 +-
 .../v3/examples/MailingGroup/Subscribe.ex.php |    10 +-
 civicrm/api/v3/examples/Mapping/Create.ex.php |    47 +-
 civicrm/api/v3/examples/Mapping/Delete.ex.php |    47 +-
 civicrm/api/v3/examples/Mapping/Get.ex.php    |    47 +-
 .../v3/examples/MappingField/Create.ex.php    |    47 +-
 .../v3/examples/MappingField/Delete.ex.php    |    47 +-
 .../api/v3/examples/MappingField/Get.ex.php   |    47 +-
 .../api/v3/examples/Membership/Create.ex.php  |    51 +-
 .../Membership/CreateWithCustomData.ex.php    |    49 +-
 .../api/v3/examples/Membership/Delete.ex.php  |    47 +-
 .../Membership/FilterIsCurrent.ex.php         |    47 +-
 civicrm/api/v3/examples/Membership/Get.ex.php |    63 +-
 .../Membership/SearchWithCustomData.ex.php    |    49 +-
 .../Membership/UpdateCustomData.ex.php        |    53 +-
 .../examples/MembershipPayment/Create.ex.php  |    47 +-
 .../v3/examples/MembershipPayment/Get.ex.php  |    51 +-
 .../examples/MembershipStatus/Create.ex.php   |    47 +-
 .../v3/examples/MembershipStatus/Get.ex.php   |    47 +-
 .../v3/examples/MembershipType/Create.ex.php  |    57 +-
 .../v3/examples/MembershipType/Delete.ex.php  |    49 +-
 .../api/v3/examples/MembershipType/Get.ex.php |    49 +-
 .../v3/examples/MessageTemplate/Create.ex.php |    72 +-
 .../v3/examples/MessageTemplate/Delete.ex.php |    47 +-
 .../v3/examples/MessageTemplate/Get.ex.php    |    74 +-
 civicrm/api/v3/examples/Note/Create.ex.php    |    51 +-
 civicrm/api/v3/examples/Note/Delete.ex.php    |    49 +-
 civicrm/api/v3/examples/Note/Get.ex.php       |    47 +-
 civicrm/api/v3/examples/OpenID/Create.ex.php  |    56 +-
 civicrm/api/v3/examples/OpenID/Delete.ex.php  |    49 +-
 civicrm/api/v3/examples/OpenID/Get.ex.php     |    56 +-
 .../api/v3/examples/OptionGroup/Create.ex.php |    49 +-
 .../api/v3/examples/OptionGroup/Delete.ex.php |    47 +-
 .../api/v3/examples/OptionGroup/Get.ex.php    |    47 +-
 .../api/v3/examples/OptionValue/Get.ex.php    |    47 +-
 .../v3/examples/OptionValue/SortOption.ex.php |    47 +-
 civicrm/api/v3/examples/Order/Cancel.ex.php   |    53 +-
 civicrm/api/v3/examples/Order/Create.ex.php   |    71 +-
 .../Order/CreateOrderParticipant.ex.php       |    85 +-
 civicrm/api/v3/examples/Order/Delete.ex.php   |    47 +-
 civicrm/api/v3/examples/Order/Get.ex.php      |    48 +-
 .../api/v3/examples/Participant/Create.ex.php |    51 +-
 .../api/v3/examples/Participant/Get.ex.php    |    49 +-
 .../examples/Participant/NestedDelete.ex.php  |    57 +-
 .../Participant/NestedEventGet.ex.php         |    53 +-
 .../examples/ParticipantPayment/Create.ex.php |    51 +-
 .../examples/ParticipantPayment/Delete.ex.php |    47 +-
 .../v3/examples/ParticipantPayment/Get.ex.php |    51 +-
 .../ParticipantStatusType/Create.ex.php       |    47 +-
 .../ParticipantStatusType/Delete.ex.php       |    47 +-
 .../examples/ParticipantStatusType/Get.ex.php |    47 +-
 civicrm/api/v3/examples/Payment/Cancel.ex.php |    59 +-
 civicrm/api/v3/examples/Payment/Create.ex.php |    57 +-
 .../Payment/CreatePaymentWithLineItems.ex.php |    59 +-
 civicrm/api/v3/examples/Payment/Delete.ex.php |    49 +-
 civicrm/api/v3/examples/Payment/Get.ex.php    |    47 +-
 .../v3/examples/Payment/UpdatePayment.ex.php  |    61 +-
 .../examples/PaymentProcessor/Create.ex.php   |    49 +-
 .../examples/PaymentProcessor/Delete.ex.php   |    49 +-
 .../PaymentProcessorType/Create.ex.php        |    51 +-
 .../PaymentProcessorType/Delete.ex.php        |    49 +-
 .../v3/examples/PaymentToken/Create.ex.php    |    67 +-
 .../v3/examples/PaymentToken/Delete.ex.php    |    49 +-
 .../api/v3/examples/PaymentToken/Get.ex.php   |    65 +-
 .../v3/examples/Pcp/ChainedGetDelete.ex.php   |    47 +-
 civicrm/api/v3/examples/Pcp/Create.ex.php     |    47 +-
 civicrm/api/v3/examples/Pcp/Delete.ex.php     |    47 +-
 civicrm/api/v3/examples/Pcp/Get.ex.php        |    47 +-
 civicrm/api/v3/examples/Phone/Create.ex.php   |    55 +-
 civicrm/api/v3/examples/Phone/Delete.ex.php   |    49 +-
 civicrm/api/v3/examples/Phone/Get.ex.php      |    53 +-
 .../api/v3/examples/Phone/GetOptions.ex.php   |    47 +-
 civicrm/api/v3/examples/Pledge/Create.ex.php  |    53 +-
 civicrm/api/v3/examples/Pledge/Delete.ex.php  |    47 +-
 civicrm/api/v3/examples/Pledge/Get.ex.php     |    55 +-
 .../examples/Pledge/GetFilterHighDate.ex.php  |    57 +-
 .../v3/examples/PledgePayment/Create.ex.php   |    47 +-
 .../v3/examples/PledgePayment/Delete.ex.php   |    47 +-
 .../api/v3/examples/PledgePayment/Get.ex.php  |    47 +-
 .../v3/examples/PledgePayment/Update.ex.php   |    47 +-
 .../api/v3/examples/PriceField/Create.ex.php  |    47 +-
 .../api/v3/examples/PriceField/Delete.ex.php  |    49 +-
 civicrm/api/v3/examples/PriceField/Get.ex.php |    47 +-
 .../v3/examples/PriceFieldValue/Create.ex.php |    47 +-
 .../v3/examples/PriceFieldValue/Delete.ex.php |    47 +-
 .../v3/examples/PriceFieldValue/Get.ex.php    |    47 +-
 .../api/v3/examples/PriceSet/Create.ex.php    |    53 +-
 .../api/v3/examples/PriceSet/Delete.ex.php    |    49 +-
 civicrm/api/v3/examples/PriceSet/Get.ex.php   |    49 +-
 civicrm/api/v3/examples/Profile/Apply.ex.php  |    51 +-
 civicrm/api/v3/examples/Profile/Get.ex.php    |    51 +-
 .../api/v3/examples/Profile/GetFields.ex.php  |    68 +-
 civicrm/api/v3/examples/Profile/Submit.ex.php |    49 +-
 .../BetweenRelationshipType.ex.php            |    69 +-
 .../v3/examples/Relationship/Create.ex.php    |    59 +-
 .../v3/examples/Relationship/Delete.ex.php    |    47 +-
 .../api/v3/examples/Relationship/Get.ex.php   |    53 +-
 .../Relationship/INRelationshipType.ex.php    |    63 +-
 .../NotBetweenRelationshipType.ex.php         |    57 +-
 .../Relationship/NotInRelationshipType.ex.php |    63 +-
 .../Relationship/filterIsCurrent.ex.php       |    53 +-
 .../examples/RelationshipType/Create.ex.php   |    47 +-
 .../examples/RelationshipType/Delete.ex.php   |    47 +-
 .../v3/examples/ReportTemplate/Getrows.ex.php |    52 +-
 .../ReportTemplate/Getstatistics.ex.php       |    53 +-
 .../api/v3/examples/SavedSearch/Create.ex.php |    63 +-
 .../api/v3/examples/SavedSearch/Delete.ex.php |    49 +-
 .../api/v3/examples/SavedSearch/Get.ex.php    |    50 +-
 civicrm/api/v3/examples/Setting/Create.ex.php |    53 +-
 .../examples/Setting/CreateAllDomains.ex.php  |    58 +-
 .../Setting/CreateSettingCurrentDomain.ex.php |    47 +-
 .../Setting/CreateSpecifiedDomains.ex.php     |    51 +-
 civicrm/api/v3/examples/Setting/Get.ex.php    |    55 +-
 .../v3/examples/Setting/GetAllDomains.ex.php  |    58 +-
 .../v3/examples/Setting/GetDefaults.ex.php    |    47 +-
 .../api/v3/examples/Setting/GetFields.ex.php  |   736 +-
 .../Setting/GetSettingCurrentDomain.ex.php    |    47 +-
 .../Setting/GetSpecifiedDomains.ex.php        |    51 +-
 .../api/v3/examples/Setting/GetValue.ex.php   |    47 +-
 civicrm/api/v3/examples/Setting/Revert.ex.php |    47 +-
 .../v3/examples/StateProvince/Create.ex.php   |    54 +-
 .../v3/examples/StateProvince/Delete.ex.php   |    49 +-
 .../api/v3/examples/StateProvince/Get.ex.php  |    54 +-
 .../examples/StatusPreference/Create.ex.php   |    54 +-
 .../examples/StatusPreference/Delete.ex.php   |    49 +-
 .../v3/examples/StatusPreference/Get.ex.php   |    56 +-
 .../examples/Survey/ChainedGetDelete.ex.php   |    47 +-
 civicrm/api/v3/examples/Survey/Create.ex.php  |    47 +-
 civicrm/api/v3/examples/Survey/Delete.ex.php  |    47 +-
 civicrm/api/v3/examples/Survey/Get.ex.php     |    47 +-
 .../v3/examples/SurveyRespondant/Get.ex.php   |    47 +-
 civicrm/api/v3/examples/System/Flush.ex.php   |    49 +-
 civicrm/api/v3/examples/Tag/Create.ex.php     |    53 +-
 civicrm/api/v3/examples/Tag/Delete.ex.php     |    47 +-
 civicrm/api/v3/examples/Tag/Get.ex.php        |    47 +-
 civicrm/api/v3/examples/Tag/GetFields.ex.php  |    86 +-
 civicrm/api/v3/examples/Tag/GetList.ex.php    |    47 +-
 .../api/v3/examples/Tag/GetReturnArray.ex.php |    47 +-
 .../TaxContributionPage/Create.ex.php         |     9 +-
 .../CreateWithNestedLineItems.ex.php          |     9 +-
 .../TaxContributionPage/Delete.ex.php         |     9 +-
 civicrm/api/v3/examples/UFField/Create.ex.php |    47 +-
 civicrm/api/v3/examples/UFField/Delete.ex.php |    47 +-
 civicrm/api/v3/examples/UFField/Get.ex.php    |    47 +-
 .../api/v3/examples/UFField/Replace.ex.php    |    47 +-
 civicrm/api/v3/examples/UFGroup/Create.ex.php |    47 +-
 civicrm/api/v3/examples/UFGroup/Delete.ex.php |    47 +-
 civicrm/api/v3/examples/UFGroup/Get.ex.php    |    47 +-
 civicrm/api/v3/examples/UFJoin/Create.ex.php  |    47 +-
 civicrm/api/v3/examples/UFJoin/Get.ex.php     |    47 +-
 civicrm/api/v3/examples/UFMatch/Get.ex.php    |    47 +-
 civicrm/api/v3/examples/User/Get.ex.php       |    47 +-
 civicrm/api/v3/examples/User/GetFields.ex.php |    47 +-
 civicrm/api/v3/examples/Website/Create.ex.php |    47 +-
 civicrm/api/v3/examples/Website/Delete.ex.php |    49 +-
 civicrm/api/v3/examples/Website/Get.ex.php    |    53 +-
 .../api/v3/examples/Website/GetFields.ex.php  |    64 +-
 .../examples/Website/GetWithMetadata.ex.php   |    66 +-
 civicrm/api/v3/utils.php                      |    74 +-
 civicrm/civicrm-version.php                   |     2 +-
 civicrm/composer.json                         |     5 +
 civicrm/css/abtesting.css                     |     1 +
 civicrm/css/admin.css                         |    14 +-
 civicrm/css/backdrop.css                      |     6 +-
 civicrm/css/bluemarine.css                    |    64 +-
 civicrm/css/civicrm.css                       |   292 +-
 civicrm/css/contactSummary.css                |    20 +-
 civicrm/css/crm-menubar.css                   |    65 +-
 civicrm/css/crm.designer.css                  |    28 +-
 civicrm/css/dashboard.css                     |     2 +-
 civicrm/css/joomla.css                        |    85 +-
 civicrm/css/menubar-joomla.css                |     8 +-
 civicrm/css/print.css                         |   109 +-
 civicrm/css/searchForm.css                    |    12 +-
 .../ext/afform/admin/afform_admin.civix.php   |     4 +-
 civicrm/ext/afform/admin/ang/afGuiEditor.css  |     6 +-
 civicrm/ext/afform/admin/info.xml             |     2 +-
 .../core/CRM/Afform/DAO/AfformSubmission.php  |    22 +-
 civicrm/ext/afform/core/afform.civix.php      |     4 +-
 civicrm/ext/afform/core/ang/afCore.css        |    16 +-
 civicrm/ext/afform/core/info.xml              |     2 +-
 .../afform/contactSummary/AfformBlock.tpl     |     4 +-
 .../afform/contactSummary/AfformTab.tpl       |     4 +-
 .../ext/afform/docs/sandbox/planning-v0.2.md  |     1 -
 civicrm/ext/afform/html/afform_html.civix.php |     4 +-
 civicrm/ext/afform/html/info.xml              |     2 +-
 civicrm/ext/afform/mock/afform_mock.civix.php |     4 +-
 civicrm/ext/afform/mock/info.xml              |     2 +-
 .../Civi/Authx/LegacyRestAuthenticator.php    |    42 +
 civicrm/ext/authx/authx.civix.php             |     4 +-
 civicrm/ext/authx/authx.php                   |     8 +
 civicrm/ext/authx/info.xml                    |     2 +-
 civicrm/ext/authx/settings/authx.setting.php  |    41 +-
 .../tests/phpunit/Civi/Authx/AllFlowsTest.php |    43 +-
 civicrm/ext/authx/xml/Menu/authx.xml          |     8 +
 .../civigrant}/CRM/Grant/BAO/Grant.php        |    21 +-
 .../civigrant}/CRM/Grant/BAO/Query.php        |   116 +-
 .../CRM/Grant/Controller/Search.php           |     0
 .../civigrant}/CRM/Grant/DAO/Grant.php        |   164 +-
 .../civigrant}/CRM/Grant/Export/Form/Map.php  |     0
 .../CRM/Grant/Export/Form/Select.php          |     0
 .../civigrant}/CRM/Grant/Form/Grant.php       |     0
 .../civigrant}/CRM/Grant/Form/GrantView.php   |     0
 .../civigrant}/CRM/Grant/Form/Search.php      |     3 +-
 .../civigrant}/CRM/Grant/Form/Task.php        |     0
 .../civigrant}/CRM/Grant/Form/Task/Delete.php |     0
 .../civigrant}/CRM/Grant/Form/Task/Print.php  |     2 +-
 .../civigrant}/CRM/Grant/Form/Task/Result.php |     0
 .../civigrant}/CRM/Grant/Form/Task/Update.php |     0
 .../civigrant}/CRM/Grant/Page/DashBoard.php   |     0
 .../civigrant}/CRM/Grant/Page/Tab.php         |     2 +-
 .../civigrant}/CRM/Grant/Selector/Search.php  |     2 +-
 .../CRM/Grant/StateMachine/Search.php         |     0
 .../{ => ext/civigrant}/CRM/Grant/Task.php    |     0
 civicrm/ext/civigrant/CRM/Grant/Upgrader.php  |     9 +
 .../CRM/Report/Form/Grant/Detail.php          |     0
 .../CRM/Report/Form/Grant/Statistics.php      |     0
 .../{ => ext/civigrant}/Civi/Api4/Grant.php   |    17 +
 .../ext/civigrant/LICENSE.txt                 |    14 +-
 civicrm/ext/civigrant/README.md               |    10 +
 .../ext/civigrant/ang/afsearchGrants.aff.html |     9 +
 .../ext/civigrant/ang/afsearchGrants.aff.json |     7 +
 civicrm/{ => ext/civigrant}/api/v3/Grant.php  |     0
 civicrm/ext/civigrant/civigrant.civix.php     |   137 +
 civicrm/ext/civigrant/civigrant.php           |   105 +
 civicrm/ext/civigrant/info.xml                |    38 +
 .../managed/Navigation_Grants.mgd.php         |   175 +
 ...arch_options_OptionValue_CiviGrant.mgd.php |    31 +
 ...view_options_OptionValue_CiviGrant.mgd.php |    31 +
 .../managed/OptionGroup_grant_status.mgd.php  |   217 +
 .../managed/OptionGroup_grant_type.mgd.php    |   133 +
 ...up_mapping_type_OptionValue_Export.mgd.php |    31 +
 ...OptionValue_CRM_Report_Form_Grants.mgd.php |    59 +
 .../SavedSearch_CiviGrant_Summary.mgd.php     |   153 +
 civicrm/ext/civigrant/phpunit.xml.dist        |    18 +
 .../templates/CRM/Grant/Form/Grant.tpl        |     0
 .../templates/CRM/Grant/Form/GrantView.tpl    |     0
 .../templates/CRM/Grant/Form/Search.tpl       |     2 +-
 .../Grant/Form/Search/AdvancedSearchPane.tpl  |     0
 .../CRM/Grant/Form/Search/Common.tpl          |     0
 .../CRM/Grant/Form/Search/EmptyResults.tpl    |     0
 .../templates/CRM/Grant/Form/Selector.tpl     |     0
 .../templates/CRM/Grant/Form/Task.tpl         |     0
 .../templates/CRM/Grant/Form/Task/Delete.tpl  |     0
 .../templates/CRM/Grant/Form/Task/Print.tpl   |     0
 .../templates/CRM/Grant/Form/Task/Update.tpl  |     0
 .../templates/CRM/Grant/Page/DashBoard.tpl    |     0
 .../templates/CRM/Grant/Page/Tab.tpl          |     0
 .../CRM/Report/Form/Grant/Detail.tpl          |     0
 .../CRM/Report/Form/Grant/Statistics.tpl      |     0
 .../tests/phpunit/api/v3/GrantTest.php        |   186 +
 .../ext/civigrant/tests/phpunit/bootstrap.php |    64 +
 .../civigrant}/xml/Menu/Grant.xml             |     2 -
 .../xml/schema/CRM/Grant/Grant.entityType.php |    10 +
 .../civigrant/xml/schema/CRM}/Grant/Grant.xml |     1 -
 .../ext/ckeditor4/CRM/Ckeditor4/Upgrader.php  |     2 +-
 civicrm/ext/ckeditor4/ckeditor4.civix.php     |     4 +-
 civicrm/ext/ckeditor4/info.xml                |     2 +-
 .../ext/contributioncancelactions/README.md   |     1 -
 .../contributioncancelactions.civix.php       |     4 +-
 .../ext/contributioncancelactions/info.xml    |     2 +-
 .../CRM/Event/Cart/BAO/EventInCart.php        |     9 +-
 .../CRM/Event/Cart/BAO/MerParticipant.php     |     3 +-
 .../CRM/Event/Cart/Controller/Checkout.php    |     2 +-
 civicrm/ext/eventcart/eventcart.civix.php     |     4 +-
 civicrm/ext/eventcart/info.xml                |     2 +-
 civicrm/ext/ewaysingle/ewaysingle.civix.php   |     4 +-
 civicrm/ext/ewaysingle/info.xml               |     2 +-
 .../ext/financialacls/financialacls.civix.php |     4 +-
 civicrm/ext/financialacls/financialacls.php   |    13 +
 civicrm/ext/financialacls/info.xml            |     2 +-
 .../Civi/Financialacls/FinancialTypeTest.php  |    23 +-
 .../docs/develop/CheckSendableEvent.md        |     5 +-
 .../docs/develop/ComposeBatchEvent.md         |     9 +-
 .../ext/flexmailer/docs/develop/RunEvent.md   |     1 +
 .../flexmailer/docs/develop/SendBatchEvent.md |     6 +-
 .../docs/develop/WalkBatchesEvent.md          |     4 +-
 civicrm/ext/flexmailer/flexmailer.civix.php   |     4 +-
 civicrm/ext/flexmailer/info.xml               |     2 +-
 civicrm/ext/greenwich/greenwich.civix.php     |     4 +-
 civicrm/ext/greenwich/info.xml                |     2 +-
 .../Contact/Form/Search/Custom/FullText.php   |     2 +-
 .../Form/Search/Custom/FullText/Case.php      |     3 +-
 .../Search/Custom/FullText/Contribution.php   |     5 +-
 .../Search/Custom/FullText/Membership.php     |     5 +-
 .../Search/Custom/FullText/Participant.php    |     5 +-
 .../CRM/Contact/Form/Search/Custom/Sample.php |     4 +-
 civicrm/ext/legacycustomsearches/info.xml     |     2 +-
 .../legacycustomsearches.civix.php            |     4 +-
 .../Search/Custom/ContributionAggregate.tpl   |     2 +-
 .../Contact/Form/Search/Custom/FullText.tpl   |     4 +-
 civicrm/ext/message_admin/ang/crmMsgadm.css   |     2 +-
 civicrm/ext/message_admin/info.xml            |     2 +-
 .../ext/message_admin/message_admin.civix.php |     4 +-
 .../CRM/OAuth/DAO/OAuthClient.php             |    30 +-
 .../CRM/OAuth/DAO/OAuthContactToken.php       |    66 +-
 .../CRM/OAuth/DAO/OAuthSysToken.php           |    62 +-
 civicrm/ext/oauth-client/info.xml             |     2 +-
 .../ext/oauth-client/oauth_client.civix.php   |     4 +-
 civicrm/ext/payflowpro/info.xml               |     2 +-
 civicrm/ext/payflowpro/payflowpro.civix.php   |     5 +-
 civicrm/ext/recaptcha/info.xml                |     2 +-
 civicrm/ext/recaptcha/recaptcha.civix.php     |     4 +-
 .../CRM/Search/DAO/SearchDisplay.php          |    26 +-
 .../SearchDisplay/AbstractRunAction.php       |    97 +-
 .../Action/SearchDisplay/GetSearchTasks.php   |    16 +-
 civicrm/ext/search_kit/Civi/Search/Admin.php  |    76 +-
 .../search_kit/ang/crmSearchAdmin.module.js   |    18 +-
 .../crmSearchAdmin/crmSearchAdminImport.html  |     2 +-
 .../crmSearchAdminLinkGroup.component.js      |    50 +-
 .../crmSearchAdminLinkGroup.html              |    15 +
 .../crmSearchAdminTokenSelect.component.js    |     8 +-
 .../crmSearchClause.component.js              |    60 +-
 .../ang/crmSearchAdmin/crmSearchClause.html   |     3 +-
 .../crmSearchCondition.component.js           |   115 +
 .../crmSearchAdmin/crmSearchCondition.html    |     2 +
 .../common/searchAdminCssRules.component.js   |     7 +-
 .../displays/common/searchAdminCssRules.html  |     4 +-
 .../crmSearchAdmin/searchListing/buttons.html |     2 +-
 .../crmSearchAdminSearchListing.component.js  |    13 +-
 .../searchListing/searchList.html             |     6 +-
 .../crmSearchDisplayEditable.component.js     |     5 +-
 .../crmSearchDisplayEditable.html             |    20 +-
 .../crmSearchBatchRunner.component.js         |    18 +-
 .../crmSearchInput/boolean.html               |     4 +-
 .../crmSearchInput.component.js               |    10 -
 .../crmSearchInput/crmSearchInput.html        |     6 +-
 .../crmSearchInputVal.component.js            |    18 +-
 .../crmSearchTasks/crmSearchInput/date.html   |     6 +-
 .../crmSearchInput/entityRef.html             |     4 +-
 .../crmSearchTasks/crmSearchInput/float.html  |     8 +-
 .../crmSearchInput/integer.html               |     8 +-
 .../crmSearchTasks/crmSearchInput/select.html |     6 +-
 .../crmSearchTasks/crmSearchInput/text.html   |     8 +-
 .../crmSearchTasks/crmSearchTaskTag.ctrl.js   |    99 +
 .../ang/crmSearchTasks/crmSearchTaskTag.html  |    57 +
 .../crmSearchTaskUpdate.ctrl.js               |     2 +-
 .../crmSearchTasks/crmSearchTaskUpdate.html   |     4 +-
 .../crmSearchTasks.component.js               |     1 +
 civicrm/ext/search_kit/css/crmSearchAdmin.css |     6 +-
 .../ext/search_kit/css/crmSearchDisplay.css   |     8 +-
 civicrm/ext/search_kit/info.xml               |     2 +-
 civicrm/ext/search_kit/search_kit.civix.php   |     4 +-
 civicrm/ext/search_kit/search_kit.php         |     9 -
 .../tests/phpunit/Civi/Search/AdminTest.php   |    24 +
 .../v4/SearchDisplay/SearchDisplayTest.php    |    41 +
 .../api/v4/SearchDisplay/SearchRunTest.php    |    87 +-
 .../SearchRunWithCustomFieldTest.php          |     2 +-
 civicrm/ext/sequentialcreditnotes/info.xml    |     2 +-
 .../sequentialcreditnotes.civix.php           |     4 +-
 civicrm/install/index.php                     |     2 +-
 civicrm/install/template.css                  |     2 +-
 civicrm/js/Common.js                          |     4 +-
 civicrm/release-notes.md                      |    32 +-
 civicrm/release-notes/5.17.1.md               |     1 -
 civicrm/release-notes/5.17.2.md               |     1 -
 civicrm/release-notes/5.18.4.md               |     3 -
 civicrm/release-notes/5.19.2.md               |     2 +-
 civicrm/release-notes/5.3.1.md                |     1 -
 civicrm/release-notes/5.45.3.md               |    39 -
 civicrm/release-notes/5.46.0.md               |   346 +-
 civicrm/release-notes/5.46.1.md               |    37 -
 civicrm/release-notes/5.46.2.md               |    43 -
 civicrm/release-notes/5.47.0.md               |   949 ++
 civicrm/settings/Localization.setting.php     |    21 +
 civicrm/setup/res/template.css                |   136 +-
 civicrm/sql/civicrm.mysql                     |    67 +-
 civicrm/sql/civicrm_data.mysql                |   337 +-
 civicrm/sql/civicrm_drop.mysql                |     2 +-
 civicrm/sql/civicrm_generated.mysql           | 10571 ++++++++--------
 civicrm/sql/civicrm_navigation.mysql          |    26 -
 .../templates/CRM/Activity/Form/Search.tpl    |     2 +-
 .../CRM/Activity/Form/Search/Common.tpl       |     2 +-
 .../CRM/Activity/Selector/Selector.tpl        |     2 +-
 .../CRM/Admin/Form/Preferences/Contribute.tpl |     4 +-
 .../CRM/Admin/Form/Setting/Localization.tpl   |    13 +-
 .../CRM/Admin/Page/ExtensionDetails.tpl       |     5 -
 civicrm/templates/CRM/Campaign/Form/Gotv.tpl  |   366 +-
 .../CRM/Campaign/Form/Search/Common.tpl       |    24 +-
 civicrm/templates/CRM/Case/Form/Activity.tpl  |     6 +-
 civicrm/templates/CRM/Case/Form/Case.tpl      |     4 +-
 civicrm/templates/CRM/Case/Form/Search.tpl    |     2 +-
 .../templates/CRM/Case/Form/Search/Common.tpl |     4 +-
 .../templates/CRM/Contact/Form/DedupeFind.tpl |    10 +-
 .../CRM/Contact/Form/Relationship.tpl         |    59 -
 .../Form/Search/ContactSearchFields.tpl       |     2 +-
 .../Form/Search/Criteria/ChangeLog.tpl        |     4 +-
 .../Form/Search/Criteria/Demographics.tpl     |     4 +-
 .../Form/Search/Criteria/Relationship.tpl     |     6 +-
 .../CRM/Contact/Form/Search/ResultTasks.tpl   |     4 +-
 civicrm/templates/CRM/Contact/Form/Task.tpl   |     4 +-
 .../templates/CRM/Contact/Form/Task/Email.hlp |    37 -
 .../templates/CRM/Contact/Form/Task/Email.tpl |     6 +-
 .../CRM/Contact/Form/Task/EmailCommon.tpl     |     7 +-
 .../Form/Task/Help/Email/id-from_email.hlp    |    19 +
 .../CRM/Contact/Page/View/Relationship.tpl    |     4 +-
 .../Contact/Page/View/ViewRelationship.tpl    |    58 +
 .../CRM/Contribute/Form/AdditionalPayment.tpl |     4 +-
 .../CRM/Contribute/Form/Contribution.tpl      |     3 +-
 .../Form/ContributionPage/Settings.tpl        |    20 +-
 .../Contribute/Form/ContributionPage/Tab.tpl  |     2 +-
 .../CRM/Contribute/Form/Search/Common.tpl     |     4 +-
 .../Form/Search/ContributionRecur.tpl         |    12 +-
 .../CRM/Contribute/Form/Selector.tpl          |     7 +-
 .../CRM/Contribute/Form/Task/Invoice.hlp      |     3 -
 .../CRM/Contribute/Form/Task/Invoice.tpl      |     2 +-
 .../CRM/Contribute/Form/Task/PDF.tpl          |     2 +-
 .../CRM/Contribute/Form/Task/PDFLetter.tpl    |     2 +-
 .../CRM/Contribute/Page/PcpUserDashboard.tpl  |     6 +-
 civicrm/templates/CRM/Core/Calendar/ICal.tpl  |     8 +-
 .../CRM/Core/DatePickerRangeWrapper.tpl       |     1 -
 .../CRM/Custom/{Page => Form}/Group.hlp       |     6 +-
 civicrm/templates/CRM/Custom/Form/Search.tpl  |     2 +-
 civicrm/templates/CRM/Custom/Page/Field.tpl   |    14 +-
 civicrm/templates/CRM/Custom/Page/Group.tpl   |    16 +-
 .../templates/CRM/Event/Form/EventFees.tpl    |     4 +-
 .../CRM/Event/Form/ManageEvent/EventInfo.tpl  |     4 +
 .../Event/Form/ManageEvent/Registration.tpl   |     5 +
 .../CRM/Event/Form/ManageEvent/Tab.tpl        |     2 +-
 .../Event/Form/ParticipantFeeSelection.tpl    |     4 +-
 .../Form/Registration/EventInfoBlock.tpl      |    31 +-
 .../CRM/Event/Form/Registration/Register.tpl  |    25 +-
 .../CRM/Event/Form/Search/Common.tpl          |     4 +-
 .../templates/CRM/Event/Page/EventInfo.tpl    |    31 +-
 civicrm/templates/CRM/Event/Page/List.tpl     |    10 +-
 .../templates/CRM/Event/Page/ManageEvent.tpl  |     4 +-
 .../CRM/Financial/Form/BatchTransaction.tpl   |     2 +-
 .../CRM/Financial/Page/BatchTransaction.tpl   |    10 +-
 civicrm/templates/CRM/Friend/Form.tpl         |     6 +-
 civicrm/templates/CRM/Mailing/Form/Search.tpl |     2 +-
 .../CRM/Mailing/Form/Search/Common.tpl        |     2 +-
 .../templates/CRM/Member/Form/Membership.hlp  |     9 -
 .../templates/CRM/Member/Form/Membership.tpl  |     2 +-
 .../CRM/Member/Form/MembershipRenewal.tpl     |     2 +-
 .../CRM/Member/Form/Search/Common.tpl         |     6 +-
 civicrm/templates/CRM/Pledge/Form/Pledge.tpl  |     2 +-
 .../CRM/Pledge/Form/Search/Common.tpl         |     8 +-
 .../CRM/Report/Form/Tabs/Filters.tpl          |     2 +-
 civicrm/templates/CRM/Report/Page/Options.tpl |     6 +-
 civicrm/templates/CRM/UF/Page/Group.tpl       |   215 +-
 .../templates/CRM/common/contactFooter.tpl    |     8 +-
 civicrm/templates/CRM/common/footer.tpl       |     2 +-
 .../CRM/common/searchResultTasks.tpl          |     4 +-
 civicrm/templates/CRM/common/snippet.tpl      |     2 +-
 civicrm/vendor/autoload.php                   |     2 +-
 civicrm/vendor/composer/autoload_real.php     |    14 +-
 civicrm/vendor/composer/autoload_static.php   |    12 +-
 civicrm/xml/schema/Activity/Activity.xml      |     2 +
 civicrm/xml/schema/Case/Case.xml              |     1 +
 civicrm/xml/schema/Contact/Relationship.xml   |    18 +
 .../schema/Contribute/ContributionRecur.xml   |     2 +-
 civicrm/xml/schema/Core/CustomField.xml       |     4 +-
 civicrm/xml/schema/Core/CustomGroup.xml       |    13 +-
 civicrm/xml/schema/Core/Navigation.xml        |     4 +
 civicrm/xml/schema/Event/Event.xml            |    32 +-
 civicrm/xml/schema/Grant/files.xml            |     5 -
 civicrm/xml/schema/Mailing/Event/Queue.xml    |     1 +
 civicrm/xml/schema/Queue/Queue.xml            |    71 +
 civicrm/xml/schema/Queue/QueueItem.xml        |     3 +-
 civicrm/xml/schema/Queue/files.xml            |     1 +
 civicrm/xml/schema/Schema.xml                 |     1 -
 civicrm/xml/templates/civicrm_data.tpl        |    29 +-
 civicrm/xml/templates/civicrm_navigation.tpl  |    26 -
 civicrm/xml/templates/dao.tpl                 |     6 +-
 civicrm/xml/templates/listAll.tpl             |     2 +-
 .../message_templates/case_activity_html.tpl  |     2 +-
 .../message_templates/case_activity_text.tpl  |     4 +-
 .../contribution_invoice_receipt_html.tpl     |     4 +-
 .../contribution_offline_receipt_html.tpl     |    34 +-
 .../contribution_offline_receipt_text.tpl     |    32 +-
 .../contribution_online_receipt_html.tpl      |    10 +-
 .../contribution_online_receipt_text.tpl      |    10 +-
 .../event_offline_receipt_html.tpl            |     4 +-
 .../event_offline_receipt_text.tpl            |     4 +-
 .../event_online_receipt_html.tpl             |     4 +-
 .../event_online_receipt_text.tpl             |     4 +-
 .../membership_offline_receipt_html.tpl       |     2 +-
 .../membership_offline_receipt_text.tpl       |     2 +-
 .../membership_online_receipt_html.tpl        |     2 +-
 .../membership_online_receipt_text.tpl        |     2 +-
 .../participant_cancelled_html.tpl            |     2 +-
 .../participant_cancelled_text.tpl            |     2 +-
 .../participant_confirm_html.tpl              |     2 +-
 .../participant_confirm_text.tpl              |     2 +-
 .../participant_expired_html.tpl              |     2 +-
 .../participant_expired_text.tpl              |     2 +-
 .../participant_transferred_html.tpl          |     2 +-
 .../participant_transferred_text.tpl          |     2 +-
 .../payment_or_refund_notification_html.tpl   |     2 +-
 .../payment_or_refund_notification_text.tpl   |     2 +-
 civicrm/xml/version.xml                       |     2 +-
 .../civicrm.metabox.contact.add.php           |     4 +-
 includes/admin-pages/civicrm.page.error.php   |    11 +-
 .../admin-pages/civicrm.page.integration.php  |    11 +-
 includes/admin-pages/civicrm.page.options.php |    24 +-
 includes/civicrm.admin.php                    |    72 +-
 includes/civicrm.basepage.php                 |   176 +-
 includes/civicrm.compat.php                   |    10 +-
 includes/civicrm.shortcodes.modal.php         |     1 -
 includes/civicrm.shortcodes.php               |   138 +-
 includes/civicrm.users.php                    |    42 +-
 uninstall.php                                 |     5 +
 wp-cli/README.md                              |    90 +-
 wp-cli/civicrm.php                            |   423 +-
 wp-rest/Autoloader.php                        |    29 +-
 wp-rest/Civi/Mailing-Hooks.php                |    69 +-
 wp-rest/Controller/AuthorizeIPN.php           |    23 +-
 wp-rest/Controller/Base.php                   |    22 +-
 wp-rest/Controller/Cxn.php                    |    24 +-
 wp-rest/Controller/Open.php                   |    30 +-
 wp-rest/Controller/PayPalIPN.php              |    31 +-
 wp-rest/Controller/PxIPN.php                  |    29 +-
 wp-rest/Controller/Rest.php                   |   144 +-
 wp-rest/Controller/Soap.php                   |    24 +-
 wp-rest/Controller/Url.php                    |    47 +-
 wp-rest/Controller/Widget.php                 |    27 +-
 wp-rest/Endpoint/Endpoint-Interface.php       |    10 +-
 wp-rest/Plugin.php                            |   125 +-
 wp-rest/README.md                             |     6 +-
 1389 files changed, 33121 insertions(+), 21463 deletions(-)
 delete mode 100644 civicrm/CRM/Grant/Info.php
 create mode 100644 civicrm/CRM/Queue/BAO/Queue.php
 create mode 100644 civicrm/CRM/Queue/DAO/Queue.php
 create mode 100644 civicrm/CRM/Queue/Queue/SqlTrait.php
 create mode 100644 civicrm/CRM/Upgrade/Incremental/php/FiveFortySeven.php
 create mode 100644 civicrm/CRM/Upgrade/Incremental/sql/5.47.alpha1.mysql.tpl
 create mode 100644 civicrm/CRM/Utils/Check/Component/Event.php
 create mode 100644 civicrm/Civi/Api4/Action/Contact/ContactSaveTrait.php
 create mode 100644 civicrm/Civi/Api4/Action/Contact/Create.php
 create mode 100644 civicrm/Civi/Api4/Action/Contact/Save.php
 create mode 100644 civicrm/Civi/Api4/Action/Contact/Update.php
 rename civicrm/Civi/Api4/{Event/Subscriber/ContributionPreSaveSubscriber.php => Action/Contribution/ContributionSaveTrait.php} (56%)
 create mode 100644 civicrm/Civi/Api4/Action/Contribution/Create.php
 create mode 100644 civicrm/Civi/Api4/Action/Contribution/Save.php
 create mode 100644 civicrm/Civi/Api4/Action/Contribution/Update.php
 create mode 100644 civicrm/Civi/Api4/Action/CustomField/Create.php
 rename civicrm/Civi/Api4/{Event/Subscriber/CustomFieldPreSaveSubscriber.php => Action/CustomField/CustomFieldSaveTrait.php} (69%)
 create mode 100644 civicrm/Civi/Api4/Action/CustomField/Save.php
 create mode 100644 civicrm/Civi/Api4/Action/CustomField/Update.php
 create mode 100644 civicrm/Civi/Api4/Action/EntityTag/Create.php
 create mode 100644 civicrm/Civi/Api4/Action/EntityTag/EntityTagSaveTrait.php
 create mode 100644 civicrm/Civi/Api4/Action/EntityTag/Save.php
 create mode 100644 civicrm/Civi/Api4/Action/EntityTag/Update.php
 delete mode 100644 civicrm/Civi/Api4/Event/Subscriber/ContactPreSaveSubscriber.php
 delete mode 100644 civicrm/Civi/Api4/Event/Subscriber/CustomGroupPreCreationSubscriber.php
 delete mode 100644 civicrm/Civi/Api4/Event/Subscriber/OptionValuePreCreationSubscriber.php
 rename civicrm/Civi/Api4/Generic/Traits/{SoftDelete.php => SoftDeleteEntity.php} (97%)
 create mode 100644 civicrm/Civi/Api4/Queue.php
 create mode 100644 civicrm/Civi/Api4/Service/Spec/Provider/RelationshipCacheSpecProvider.php
 create mode 100644 civicrm/Civi/Api4/SubscriptionHistory.php
 create mode 100644 civicrm/Civi/Pipe/BasicPipeClient.php
 create mode 100644 civicrm/Civi/Pipe/JsonRpc.php
 create mode 100644 civicrm/Civi/Pipe/JsonRpcMethodException.php
 create mode 100644 civicrm/Civi/Pipe/LineSessionTrait.php
 create mode 100644 civicrm/Civi/Pipe/PipeSession.php
 create mode 100644 civicrm/Civi/Pipe/PublicMethods.php
 create mode 100644 civicrm/ext/authx/Civi/Authx/LegacyRestAuthenticator.php
 rename civicrm/{ => ext/civigrant}/CRM/Grant/BAO/Grant.php (93%)
 rename civicrm/{ => ext/civigrant}/CRM/Grant/BAO/Query.php (76%)
 rename civicrm/{ => ext/civigrant}/CRM/Grant/Controller/Search.php (100%)
 rename civicrm/{ => ext/civigrant}/CRM/Grant/DAO/Grant.php (74%)
 rename civicrm/{ => ext/civigrant}/CRM/Grant/Export/Form/Map.php (100%)
 rename civicrm/{ => ext/civigrant}/CRM/Grant/Export/Form/Select.php (100%)
 rename civicrm/{ => ext/civigrant}/CRM/Grant/Form/Grant.php (100%)
 rename civicrm/{ => ext/civigrant}/CRM/Grant/Form/GrantView.php (100%)
 rename civicrm/{ => ext/civigrant}/CRM/Grant/Form/Search.php (98%)
 rename civicrm/{ => ext/civigrant}/CRM/Grant/Form/Task.php (100%)
 rename civicrm/{ => ext/civigrant}/CRM/Grant/Form/Task/Delete.php (100%)
 rename civicrm/{ => ext/civigrant}/CRM/Grant/Form/Task/Print.php (97%)
 rename civicrm/{ => ext/civigrant}/CRM/Grant/Form/Task/Result.php (100%)
 rename civicrm/{ => ext/civigrant}/CRM/Grant/Form/Task/Update.php (100%)
 rename civicrm/{ => ext/civigrant}/CRM/Grant/Page/DashBoard.php (100%)
 rename civicrm/{ => ext/civigrant}/CRM/Grant/Page/Tab.php (98%)
 rename civicrm/{ => ext/civigrant}/CRM/Grant/Selector/Search.php (99%)
 rename civicrm/{ => ext/civigrant}/CRM/Grant/StateMachine/Search.php (100%)
 rename civicrm/{ => ext/civigrant}/CRM/Grant/Task.php (100%)
 create mode 100644 civicrm/ext/civigrant/CRM/Grant/Upgrader.php
 rename civicrm/{ => ext/civigrant}/CRM/Report/Form/Grant/Detail.php (100%)
 rename civicrm/{ => ext/civigrant}/CRM/Report/Form/Grant/Statistics.php (100%)
 rename civicrm/{ => ext/civigrant}/Civi/Api4/Grant.php (74%)
 rename wp-cli/LICENSE => civicrm/ext/civigrant/LICENSE.txt (98%)
 create mode 100644 civicrm/ext/civigrant/README.md
 create mode 100644 civicrm/ext/civigrant/ang/afsearchGrants.aff.html
 create mode 100644 civicrm/ext/civigrant/ang/afsearchGrants.aff.json
 rename civicrm/{ => ext/civigrant}/api/v3/Grant.php (100%)
 create mode 100644 civicrm/ext/civigrant/civigrant.civix.php
 create mode 100644 civicrm/ext/civigrant/civigrant.php
 create mode 100644 civicrm/ext/civigrant/info.xml
 create mode 100644 civicrm/ext/civigrant/managed/Navigation_Grants.mgd.php
 create mode 100644 civicrm/ext/civigrant/managed/OptionGroup_advanced_search_options_OptionValue_CiviGrant.mgd.php
 create mode 100644 civicrm/ext/civigrant/managed/OptionGroup_contact_view_options_OptionValue_CiviGrant.mgd.php
 create mode 100644 civicrm/ext/civigrant/managed/OptionGroup_grant_status.mgd.php
 create mode 100644 civicrm/ext/civigrant/managed/OptionGroup_grant_type.mgd.php
 create mode 100644 civicrm/ext/civigrant/managed/OptionGroup_mapping_type_OptionValue_Export.mgd.php
 create mode 100644 civicrm/ext/civigrant/managed/OptionGroup_report_template_OptionValue_CRM_Report_Form_Grants.mgd.php
 create mode 100644 civicrm/ext/civigrant/managed/SavedSearch_CiviGrant_Summary.mgd.php
 create mode 100644 civicrm/ext/civigrant/phpunit.xml.dist
 rename civicrm/{ => ext/civigrant}/templates/CRM/Grant/Form/Grant.tpl (100%)
 rename civicrm/{ => ext/civigrant}/templates/CRM/Grant/Form/GrantView.tpl (100%)
 rename civicrm/{ => ext/civigrant}/templates/CRM/Grant/Form/Search.tpl (97%)
 rename civicrm/{ => ext/civigrant}/templates/CRM/Grant/Form/Search/AdvancedSearchPane.tpl (100%)
 rename civicrm/{ => ext/civigrant}/templates/CRM/Grant/Form/Search/Common.tpl (100%)
 rename civicrm/{ => ext/civigrant}/templates/CRM/Grant/Form/Search/EmptyResults.tpl (100%)
 rename civicrm/{ => ext/civigrant}/templates/CRM/Grant/Form/Selector.tpl (100%)
 rename civicrm/{ => ext/civigrant}/templates/CRM/Grant/Form/Task.tpl (100%)
 rename civicrm/{ => ext/civigrant}/templates/CRM/Grant/Form/Task/Delete.tpl (100%)
 rename civicrm/{ => ext/civigrant}/templates/CRM/Grant/Form/Task/Print.tpl (100%)
 rename civicrm/{ => ext/civigrant}/templates/CRM/Grant/Form/Task/Update.tpl (100%)
 rename civicrm/{ => ext/civigrant}/templates/CRM/Grant/Page/DashBoard.tpl (100%)
 rename civicrm/{ => ext/civigrant}/templates/CRM/Grant/Page/Tab.tpl (100%)
 rename civicrm/{ => ext/civigrant}/templates/CRM/Report/Form/Grant/Detail.tpl (100%)
 rename civicrm/{ => ext/civigrant}/templates/CRM/Report/Form/Grant/Statistics.tpl (100%)
 create mode 100644 civicrm/ext/civigrant/tests/phpunit/api/v3/GrantTest.php
 create mode 100644 civicrm/ext/civigrant/tests/phpunit/bootstrap.php
 rename civicrm/{CRM/Grant => ext/civigrant}/xml/Menu/Grant.xml (94%)
 create mode 100644 civicrm/ext/civigrant/xml/schema/CRM/Grant/Grant.entityType.php
 rename civicrm/{xml/schema => ext/civigrant/xml/schema/CRM}/Grant/Grant.xml (99%)
 create mode 100644 civicrm/ext/search_kit/ang/crmSearchAdmin/crmSearchCondition.component.js
 create mode 100644 civicrm/ext/search_kit/ang/crmSearchAdmin/crmSearchCondition.html
 create mode 100644 civicrm/ext/search_kit/ang/crmSearchTasks/crmSearchTaskTag.ctrl.js
 create mode 100644 civicrm/ext/search_kit/ang/crmSearchTasks/crmSearchTaskTag.html
 delete mode 100644 civicrm/release-notes/5.45.3.md
 delete mode 100644 civicrm/release-notes/5.46.1.md
 delete mode 100644 civicrm/release-notes/5.46.2.md
 create mode 100644 civicrm/release-notes/5.47.0.md
 create mode 100644 civicrm/templates/CRM/Contact/Form/Task/Help/Email/id-from_email.hlp
 create mode 100644 civicrm/templates/CRM/Contact/Page/View/ViewRelationship.tpl
 rename civicrm/templates/CRM/Custom/{Page => Form}/Group.hlp (98%)
 delete mode 100644 civicrm/xml/schema/Grant/files.xml
 create mode 100644 civicrm/xml/schema/Queue/Queue.xml

diff --git a/README.md b/README.md
index b83a64fbd4..92afd1639e 100644
--- a/README.md
+++ b/README.md
@@ -5,7 +5,7 @@ This is the development repository for the *CiviCRM* plugin for *WordPress*. Wha
 
 [https://civicrm.org/download](https://civicrm.org/download)
 
-### Contribute ###
+### Contribute
 
 If you want to contribute to the development of this plugin, please bear the following in mind:
 
@@ -14,7 +14,17 @@ If you want to contribute to the development of this plugin, please bear the fol
 
 ----
 
-### About CiviCRM ###
+### WordPress REST API integration
+
+Please refer to the [REST API Documentation](/wp-rest/README.md) for details.
+
+### WP-CLI integration
+
+Please refer to the [WP-CLI Documentation](/wp-cli/README.md) for details.
+
+----
+
+### About CiviCRM
 
 CiviCRM is web-based, open source, Constituent Relationship Management (CRM) software geared toward meeting the needs of non-profit and other civic-sector organizations.
 
diff --git a/civicrm.php b/civicrm.php
index 4b8ec0b486..022c5132db 100644
--- a/civicrm.php
+++ b/civicrm.php
@@ -2,7 +2,7 @@
 /**
  * Plugin Name: CiviCRM
  * Description: CiviCRM - Growing and Sustaining Relationships
- * Version: 5.46.2
+ * Version: 5.47.0
  * Requires at least: 4.9
  * Requires PHP:      7.2
  * Author: CiviCRM LLC
@@ -30,31 +30,13 @@
  *
  */
 
-/*
- * -----------------------------------------------------------------------------
- * WordPress resources for developers
- * -----------------------------------------------------------------------------
- * Not that they're ever adhered to anywhere other than core, but people do their
- * best to comply...
- *
- * WordPress core coding standards:
- * https://developer.wordpress.org/coding-standards/wordpress-coding-standards/php/
- *
- * WordPress HTML standards:
- * https://make.wordpress.org/core/handbook/best-practices/coding-standards/html/
- *
- * WordPress JavaScript standards:
- * https://developer.wordpress.org/coding-standards/wordpress-coding-standards/javascript/
- * -----------------------------------------------------------------------------
- */
-
 // This file must not accessed directly.
 if (!defined('ABSPATH')) {
   exit;
 }
 
-// Set version here: when it changes, will force Javascript & CSS to reload.
-define('CIVICRM_PLUGIN_VERSION', '5.46.2');
+// Set version here: changing it forces Javascript and CSS to reload.
+define('CIVICRM_PLUGIN_VERSION', '5.47.0');
 
 // Store reference to this file.
 if (!defined('CIVICRM_PLUGIN_FILE')) {
@@ -71,24 +53,26 @@ if (!defined('CIVICRM_PLUGIN_DIR')) {
   define('CIVICRM_PLUGIN_DIR', plugin_dir_path(CIVICRM_PLUGIN_FILE));
 }
 
+/*
+ * Minimum required PHP.
+ *
+ * Note: This duplicates `CRM_Upgrade_Incremental_General::MIN_INSTALL_PHP_VER`.
+ * The duplication helps avoid dependency issues. (Reading
+ * `CRM_Upgrade_Incremental_General::MIN_INSTALL_PHP_VER` requires loading
+ * `civicrm.settings.php`, but that triggers a parse-error on PHP 5.x.)
+ *
+ * @see CRM_Upgrade_Incremental_General::MIN_INSTALL_PHP_VER
+ * @see CiviWP\PhpVersionTest::testConstantMatch()
+ */
 if (!defined('CIVICRM_WP_PHP_MINIMUM')) {
-  /**
-   * Minimum required PHP.
-   *
-   * Note: This duplicates `CRM_Upgrade_Incremental_General::MIN_INSTALL_PHP_VER`.
-   * The duplication helps avoid dependency issues. (Reading
-   * `CRM_Upgrade_Incremental_General::MIN_INSTALL_PHP_VER` requires loading
-   * `civicrm.settings.php`, but that triggers a parse-error on PHP 5.x.)
-   *
-   * @see CRM_Upgrade_Incremental_General::MIN_INSTALL_PHP_VER
-   * @see CiviWP\PhpVersionTest::testConstantMatch()
-   */
   define('CIVICRM_WP_PHP_MINIMUM', '7.2.0');
 }
 
 /*
  * The constant `CIVICRM_SETTINGS_PATH` is also defined in `civicrm.config.php`
  * and may already have been defined there - e.g. by cron or external scripts.
+ * These legacy routes should not be used because they try to bootstrap WordPress
+ * in unreliable ways. Use WP-CLI or WP-REST routes instead.
  */
 if (!defined('CIVICRM_SETTINGS_PATH')) {
 
@@ -98,14 +82,13 @@ if (!defined('CIVICRM_SETTINGS_PATH')) {
    * If the settings file is found in the 4.6 and prior location, use that as
    * `CIVICRM_SETTINGS_PATH`, otherwise use the new location.
    */
-  $upload_dir = wp_upload_dir();
-  $wp_civi_settings = $upload_dir['basedir'] . DIRECTORY_SEPARATOR . 'civicrm' . DIRECTORY_SEPARATOR . 'civicrm.settings.php';
-  $wp_civi_settings_deprectated = CIVICRM_PLUGIN_DIR . 'civicrm.settings.php';
-
-  if (file_exists($wp_civi_settings_deprectated)) {
-    define('CIVICRM_SETTINGS_PATH', $wp_civi_settings_deprectated);
+  $wp_civi_settings_deprecated = CIVICRM_PLUGIN_DIR . 'civicrm.settings.php';
+  if (file_exists($wp_civi_settings_deprecated)) {
+    define('CIVICRM_SETTINGS_PATH', $wp_civi_settings_deprecated);
   }
   else {
+    $upload_dir = wp_upload_dir();
+    $wp_civi_settings = implode(DIRECTORY_SEPARATOR, [$upload_dir['basedir'], 'civicrm', 'civicrm.settings.php']);
     define('CIVICRM_SETTINGS_PATH', $wp_civi_settings);
   }
 
@@ -184,7 +167,7 @@ class CiviCRM_For_WordPress {
 
   /**
    * @var object
-   * Basepage management object.
+   * Base Page management object.
    * @since 4.4
    * @access public
    */
@@ -234,6 +217,17 @@ class CiviCRM_For_WordPress {
       // Create instance.
       self::$instance = new CiviCRM_For_WordPress();
 
+      // Include legacy global scope functions.
+      include_once CIVICRM_PLUGIN_DIR . 'includes/civicrm.functions.php';
+
+      /*
+       * Incorporate WP-CLI Integration based on drush CiviCRM functionality.
+       * @see https://github.com/andy-walker/wp-cli-civicrm
+       */
+      if (defined('WP_CLI') && WP_CLI) {
+        include_once CIVICRM_PLUGIN_DIR . 'wp-cli/civicrm.php';
+      }
+
       // Delay setup until 'plugins_loaded' to allow other plugins to load as well.
       add_action('plugins_loaded', [self::$instance, 'setup_instance']);
 
@@ -272,9 +266,13 @@ class CiviCRM_For_WordPress {
   /**
    * Plugin activation.
    *
-   * This method is called only when CiviCRM plugin is activated. In order for
-   * other plugins to be able to interact with CiviCRM's activation, we wait until
-   * after the activation redirect to perform activation actions.
+   * This method is called only when CiviCRM plugin is activated. Other plugins
+   * are able to interact with CiviCRM's activation because "plugins_loaded" has
+   * already fired.
+   *
+   * Since CiviCRM has an Installer UI when activated via the WordPress Plugins
+   * screen, this method sets an option that can be read on the next page load
+   * allowing `self::activation()` to redirect to it when possible.
    *
    * @since 4.4
    */
@@ -283,10 +281,25 @@ class CiviCRM_For_WordPress {
     // Set a one-time-only option.
     add_option('civicrm_activation_in_progress', 'true');
 
+    // Include and init classes because "plugins_loaded" has already fired.
+    include_once CIVICRM_PLUGIN_DIR . 'includes/civicrm.users.php';
+    $this->users = new CiviCRM_For_WordPress_Users();
+
+    /**
+     * Broadcast that the CiviCRM plugin has been activated.
+     *
+     * Used internally by:
+     *
+     * - CiviCRM_For_WordPress_Users::activate()
+     *
+     * @since 5.44
+     */
+    do_action('civicrm_activate');
+
   }
 
   /**
-   * Run CiviCRM's plugin activation procedure.
+   * Runs the CiviCRM activation procedure when activated via the WordPress UI.
    *
    * @since 4.4
    */
@@ -303,7 +316,10 @@ class CiviCRM_For_WordPress {
     }
 
     /**
-     * Broadcast that activation actions need to happen now.
+     * Broadcast that activation via the WordPress UI has happened.
+     *
+     * This fires on the admin page load that happens directly after the CiviCRM
+     * plugin has been activated via the WordPress UI.
      *
      * @since 5.6
      */
@@ -312,11 +328,12 @@ class CiviCRM_For_WordPress {
     // Change option so this action never fires again.
     update_option('civicrm_activation_in_progress', 'false');
 
-    // Try and redirect to the Installer page.
+    // When installed via the WordPress UI, try and redirect to the Installer page.
     if (!is_multisite() && !isset($_GET['activate-multi']) && !CIVICRM_INSTALLED) {
       wp_redirect(admin_url('admin.php?page=civicrm-install'));
       exit;
     }
+
   }
 
   /**
@@ -336,6 +353,10 @@ class CiviCRM_For_WordPress {
     /**
      * Broadcast that deactivation actions need to happen now.
      *
+     * Used internally by:
+     *
+     * - CiviCRM_For_WordPress_Users::deactivate()
+     *
      * @since 5.6
      */
     do_action('civicrm_deactivation');
@@ -377,7 +398,7 @@ class CiviCRM_For_WordPress {
     $this->include_files();
     $this->setup_objects();
 
-    // Do plugin activation.
+    // Do plugin activation when activated via the WordPress UI.
     $this->activation();
 
     // Use translation files.
@@ -389,6 +410,10 @@ class CiviCRM_For_WordPress {
     /**
      * Broadcast that this plugin is now loaded.
      *
+     * Used internally by:
+     *
+     * - CiviCRM_For_WordPress_Basepage::maybe_create_basepage()
+     *
      * @since 4.4
      */
     do_action('civicrm_instance_loaded');
@@ -514,11 +539,11 @@ class CiviCRM_For_WordPress {
    * Setter for determining if CiviCRM is currently being displayed in WordPress.
    * This becomes true whe CiviCRM is called in the following contexts:
    *
-   * (a) in the WordPress back-end
-   * (b) when CiviCRM content is being displayed on the front-end via wpBasePage
-   * (c) when an AJAX request is made to CiviCRM
+   * (a) In the WordPress back-end.
+   * (b) When CiviCRM content is being displayed on the front-end via the Base Page.
+   * (c) When an AJAX request is made to CiviCRM.
    *
-   * It is NOT true when CiviCRM is called via a shortcode.
+   * It is NOT true when CiviCRM is called via a Shortcode.
    *
    * @since 4.4
    */
@@ -549,7 +574,6 @@ class CiviCRM_For_WordPress {
      * @since 4.4
      *
      * @param bool $in_wordpress True if CiviCRM is displayed in WordPress, false otherwise.
-     * @return bool $in_wordpress True if CiviCRM is displayed in WordPress, false otherwise.
      */
     return apply_filters('civicrm_in_wordpress', self::$in_wordpress);
 
@@ -561,10 +585,10 @@ class CiviCRM_For_WordPress {
    * Setter for determining how CiviCRM is currently being displayed in WordPress.
    * This can be one of the following contexts:
    *
-   * (a) in the WordPress back-end
-   * (b) when CiviCRM content is being displayed on the front-end via wpBasePage
-   * (c) when a "non-page" request is made to CiviCRM
-   * (d) when CiviCRM is called via a shortcode
+   * (a) In the WordPress back-end.
+   * (b) When CiviCRM content is being displayed on the front-end via the Base Page.
+   * (c) When a "non-page" request is made to CiviCRM.
+   * (d) When CiviCRM is called via a Shortcode.
    *
    * The following codes correspond to the different contexts:
    *
@@ -600,10 +624,13 @@ class CiviCRM_For_WordPress {
     /**
      * Allow specific context to be filtered.
      *
+     * Used internally by:
+     *
+     * - CiviCRM_For_WordPress_Shortcodes::get_context()
+     *
      * @since 4.4
      *
      * @param bool $context The existing context in which CiviCRM is displayed in WordPress.
-     * @return bool $context The modified context in which CiviCRM is displayed in WordPress.
      */
     return apply_filters('civicrm_context', self::$context);
 
@@ -632,7 +659,7 @@ class CiviCRM_For_WordPress {
       // Handle WordPress Admin context.
       $this->admin->register_hooks();
 
-      // Enable shortcode modal.
+      // Enable Shortcode modal.
       $this->modal->register_hooks();
 
       return;
@@ -813,7 +840,7 @@ class CiviCRM_For_WordPress {
     // Get config.
     $config = CRM_Core_Config::singleton();
 
-    // Get basepage object.
+    // Get Base Page object.
     $basepage = get_page_by_path($config->wpBasePage);
 
     // Sanity check.
@@ -821,7 +848,7 @@ class CiviCRM_For_WordPress {
       return;
     }
 
-    // Let's add rewrite rule when viewing the basepage.
+    // Let's add Rewrite Rule when viewing the Base Page.
     add_rewrite_rule(
       '^' . $config->wpBasePage . '/([^?]*)?',
       'index.php?page_id=' . $basepage->ID . '&civiwp=CiviCRM&q=civicrm%2F$matches[1]',
@@ -836,11 +863,15 @@ class CiviCRM_For_WordPress {
     /**
      * Broadcast the rewrite rules event.
      *
+     * Used internally by:
+     *
+     * - CiviCRM_For_WordPress_Compat::rewrite_rules_polylang()
+     *
      * @since 5.7
      * @since 5.24 Added $basepage parameter.
      *
      * @param bool $flush_rewrite_rules True if rules flushed, false otherwise.
-     * @param WP_Post $basepage The Basepage post object.
+     * @param WP_Post $basepage The Base Page post object.
      */
     do_action('civicrm_after_rewrite_rules', $flush_rewrite_rules, $basepage);
 
@@ -879,7 +910,6 @@ class CiviCRM_For_WordPress {
      * @since 5.7
      *
      * @param array $civicrm_query_vars The default set of query vars.
-     * @return array $civicrm_query_vars The modified set of query vars.
      */
     $civicrm_query_vars = apply_filters('civicrm_query_vars', $civicrm_query_vars);
 
@@ -1390,7 +1420,7 @@ class CiviCRM_For_WordPress {
    * Get base URL.
    *
    * Clone of CRM_Utils_System_WordPress::getBaseUrl() whose access is set to
-   * private. Until it is public, we cannot access the URL of the basepage since
+   * private. Until it is public, we cannot access the URL of the Base Page since
    * CRM_Utils_System_WordPress::url().
    *
    * 27-09-2016
@@ -1466,19 +1496,3 @@ register_deactivation_hook(CIVICRM_PLUGIN_FILE, [civi_wp(), 'deactivate']);
  *
  * @see https://developer.wordpress.org/reference/functions/register_uninstall_hook/
  */
-
-// Include legacy global scope functions.
-include_once CIVICRM_PLUGIN_DIR . 'includes/civicrm.functions.php';
-
-/**
- * Incorporate WP-CLI Integration.
- *
- * Based on drush CiviCRM functionality, work done by Andy Walker.
- * https://github.com/andy-walker/wp-cli-civicrm
- *
- * @since 4.5
- */
-if (defined('WP_CLI') && WP_CLI) {
-  // Changed from __DIR__ because of possible symlink issues.
-  include_once CIVICRM_PLUGIN_DIR . 'wp-cli/civicrm.php';
-}
diff --git a/civicrm/CRM/ACL/API.php b/civicrm/CRM/ACL/API.php
index a1ffab79e1..a02fb38a7c 100644
--- a/civicrm/CRM/ACL/API.php
+++ b/civicrm/CRM/ACL/API.php
@@ -33,7 +33,7 @@ class CRM_ACL_API {
    *
    * @param string $str
    *   The permission to check.
-   * @param int $contactID
+   * @param int|null $contactID
    *   The contactID for whom the check is made.
    *
    * @return bool
@@ -64,7 +64,7 @@ class CRM_ACL_API {
    *   (reference ) add the tables that are needed for the select clause.
    * @param array $whereTables
    *   (reference ) add the tables that are needed for the where clause.
-   * @param int $contactID
+   * @param int|null $contactID
    *   The contactID for whom the check is made.
    * @param bool $onlyDeleted
    *   Whether to include only deleted contacts.
@@ -135,12 +135,12 @@ class CRM_ACL_API {
    *
    * @param int $type
    *   The type of permission needed.
-   * @param int $contactID
+   * @param int|null $contactID
    *   The contactID for whom the check is made.
    *
    * @param string $tableName
-   * @param null $allGroups
-   * @param null $includedGroups
+   * @param array|null $allGroups
+   * @param array|null $includedGroups
    *
    * @return array
    *   the ids of the groups for which the user has permissions
@@ -165,11 +165,11 @@ class CRM_ACL_API {
    * @param int $type
    *   The type of permission needed.
    * @param int $groupID
-   * @param int $contactID
+   * @param int|null $contactID
    *   The contactID for whom the check is made.
    * @param string $tableName
-   * @param null $allGroups
-   * @param null $includedGroups
+   * @param array|null $allGroups
+   * @param array|null $includedGroups
    *
    * @return bool
    */
diff --git a/civicrm/CRM/ACL/BAO/ACL.php b/civicrm/CRM/ACL/BAO/ACL.php
index 82aaf8dabc..17d1f31383 100644
--- a/civicrm/CRM/ACL/BAO/ACL.php
+++ b/civicrm/CRM/ACL/BAO/ACL.php
@@ -83,7 +83,7 @@ class CRM_ACL_BAO_ACL extends CRM_ACL_DAO_ACL implements \Civi\Test\HookInterfac
   /**
    * Get all ACLs owned by a given contact, including domain and group-level.
    *
-   * @param int|null $contact_id
+   * @param int $contact_id
    *   The contact ID.
    *
    * @return array
@@ -185,7 +185,7 @@ SELECT acl.*
   }
 
   /**
-   * @param $str
+   * @param string $str
    * @param int $contactID
    *
    * @return bool
@@ -219,9 +219,9 @@ SELECT count( a.id )
   }
 
   /**
-   * @param $type
-   * @param $tables
-   * @param $whereTables
+   * @param int $type
+   * @param array $tables
+   * @param array $whereTables
    * @param int $contactID
    *
    * @return null|string
@@ -314,8 +314,8 @@ SELECT g.*
    * @param int $type
    * @param int $contactID
    * @param string $tableName
-   * @param null $allGroups
-   * @param null $includedGroups
+   * @param array|null $allGroups
+   * @param array|null $includedGroups
    *
    * @return array
    */
@@ -385,7 +385,7 @@ SELECT g.*
 
   /**
    * @param int $type
-   * @param $operation
+   * @param string $operation
    *
    * @return bool
    */
@@ -456,7 +456,7 @@ SELECT g.*
    * @param int $contactID
    * @param string $tableName
    * @param int $type
-   * @param $allGroups
+   * @param array $allGroups
    *
    * @return array
    */
diff --git a/civicrm/CRM/ACL/BAO/ACLEntityRole.php b/civicrm/CRM/ACL/BAO/ACLEntityRole.php
index fba736ac8a..9e35298b6f 100644
--- a/civicrm/CRM/ACL/BAO/ACLEntityRole.php
+++ b/civicrm/CRM/ACL/BAO/ACLEntityRole.php
@@ -35,7 +35,7 @@ class CRM_ACL_BAO_ACLEntityRole extends CRM_ACL_DAO_ACLEntityRole {
   /**
    * @param array $params
    *
-   * @return CRM_ACL_DAO_EntityRole
+   * @return CRM_ACL_BAO_ACLEntityRole
    */
   public static function create(&$params) {
     return self::writeRecord($params);
@@ -43,7 +43,7 @@ class CRM_ACL_BAO_ACLEntityRole extends CRM_ACL_DAO_ACLEntityRole {
 
   /**
    * @param array $params
-   * @param $defaults
+   * @param array $defaults
    */
   public static function retrieve(&$params, &$defaults) {
     CRM_Core_DAO::commonRetrieve(__CLASS__, $params, $defaults);
diff --git a/civicrm/CRM/ACL/DAO/ACL.php b/civicrm/CRM/ACL/DAO/ACL.php
index 4bddbd0eb7..2d72b764b7 100644
--- a/civicrm/CRM/ACL/DAO/ACL.php
+++ b/civicrm/CRM/ACL/DAO/ACL.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/ACL/ACL.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:709746b9e63da79d9ee75de3a0687db4)
+ * (GenCodeChecksum:5245f10c478c4187d1fb420e76f2fd76)
  */
 
 /**
@@ -33,21 +33,27 @@ class CRM_ACL_DAO_ACL extends CRM_Core_DAO {
   /**
    * Unique table ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * ACL Name.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $name;
 
   /**
    * Is this ACL entry Allow  (0) or Deny (1) ?
    *
-   * @var bool
+   * @var bool|string
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $deny;
 
@@ -55,13 +61,17 @@ class CRM_ACL_DAO_ACL extends CRM_Core_DAO {
    * Table of the object possessing this ACL entry (Contact, Group, or ACL Group)
    *
    * @var string
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $entity_table;
 
   /**
    * ID of the object possessing this ACL
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $entity_id;
 
@@ -69,41 +79,53 @@ class CRM_ACL_DAO_ACL extends CRM_Core_DAO {
    * What operation does this ACL entry control?
    *
    * @var string
+   *   (SQL type: varchar(8))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $operation;
 
   /**
    * The table of the object controlled by this ACL entry
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $object_table;
 
   /**
    * The ID of the object controlled by this ACL entry
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $object_id;
 
   /**
    * If this is a grant/revoke entry, what table are we granting?
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $acl_table;
 
   /**
    * ID of the ACL or ACL group being granted/revoked
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $acl_id;
 
   /**
    * Is this property active?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_active;
 
diff --git a/civicrm/CRM/ACL/DAO/ACLCache.php b/civicrm/CRM/ACL/DAO/ACLCache.php
index 7fbc4bfaa6..100d028f80 100644
--- a/civicrm/CRM/ACL/DAO/ACLCache.php
+++ b/civicrm/CRM/ACL/DAO/ACLCache.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/ACL/ACLCache.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:6593794a6e82670ad992cc331c22f33e)
+ * (GenCodeChecksum:329e9070bd70f3fb3d053eb731d1b266)
  */
 
 /**
@@ -33,28 +33,36 @@ class CRM_ACL_DAO_ACLCache extends CRM_Core_DAO {
   /**
    * Unique table ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * Foreign Key to Contact
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $contact_id;
 
   /**
    * Foreign Key to ACL
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $acl_id;
 
   /**
    * When was this cache entry last modified
    *
-   * @var timestamp
+   * @var string
+   *   (SQL type: timestamp)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $modified_date;
 
diff --git a/civicrm/CRM/ACL/DAO/ACLEntityRole.php b/civicrm/CRM/ACL/DAO/ACLEntityRole.php
index b085e2e640..c99c67b975 100644
--- a/civicrm/CRM/ACL/DAO/ACLEntityRole.php
+++ b/civicrm/CRM/ACL/DAO/ACLEntityRole.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/ACL/ACLEntityRole.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:fe3bd0baaffcc93590b3285c6cf96fc1)
+ * (GenCodeChecksum:22633176232bcef28b59ab0388720837)
  */
 
 /**
@@ -33,14 +33,18 @@ class CRM_ACL_DAO_ACLEntityRole extends CRM_Core_DAO {
   /**
    * Unique table ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * Foreign Key to ACL Role (which is an option value pair and hence an implicit FK)
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $acl_role_id;
 
@@ -48,20 +52,26 @@ class CRM_ACL_DAO_ACLEntityRole extends CRM_Core_DAO {
    * Table of the object joined to the ACL Role (Contact or Group)
    *
    * @var string
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $entity_table;
 
   /**
    * ID of the group/contact object being joined
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $entity_id;
 
   /**
    * Is this property active?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_active;
 
diff --git a/civicrm/CRM/Activity/BAO/Activity.php b/civicrm/CRM/Activity/BAO/Activity.php
index 84188d943d..d106c6f5cf 100644
--- a/civicrm/CRM/Activity/BAO/Activity.php
+++ b/civicrm/CRM/Activity/BAO/Activity.php
@@ -781,7 +781,7 @@ class CRM_Activity_BAO_Activity extends CRM_Activity_DAO_Activity {
    * Filter the activity types to only return the ones we actually asked for
    * Uses params['activity_type_id'] and params['activity_type_exclude_id']
    *
-   * @param $params
+   * @param array $params
    * @return array|null (Use in Activity.get API activity_type_id)
    */
   public static function filterActivityTypes($params) {
@@ -884,7 +884,7 @@ class CRM_Activity_BAO_Activity extends CRM_Activity_DAO_Activity {
       $includeComponent = !$excludeComponentHandledActivities || !empty($compObj->info['showActivitiesInCore']);
       if ($includeComponent) {
         if ($compObj->info['name'] == 'CiviCampaign') {
-          $componentPermission = "administer {$compObj->name}";
+          $componentPermission = "manage campaign";
         }
         else {
           $componentPermission = "access {$compObj->name}";
@@ -2067,8 +2067,7 @@ AND cl.modified_id  = c.id
       'is_current_revision',
       'activity_is_deleted',
     ];
-    $config = CRM_Core_Config::singleton();
-    if (!in_array('CiviCampaign', $config->enableComponents)) {
+    if (!CRM_Core_Component::isEnabled('CiviCampaign')) {
       $skipFields[] = 'activity_engagement_level';
     }
 
@@ -2288,7 +2287,7 @@ INNER JOIN  civicrm_option_group grp ON (grp.id = option_group_id AND grp.name =
   }
 
   /**
-   * @param $params
+   * @param array $params
    * @return array
    */
   protected static function getActivityParamsForDashboardFunctions($params) {
@@ -2556,19 +2555,22 @@ INNER JOIN  civicrm_option_group grp ON (grp.id = option_group_id AND grp.name =
 
   /**
    * Get the right links depending on the activity type and other factors.
+   *
    * @param array $values
    * @param int $activityId
-   * @param ?int $contactId
+   * @param int|null $contactId
    * @param bool $isViewOnly Is this a special type that shouldn't be edited
-   * @param ?string $context
-   * @param ?int $mask
-   * @param bool $dontBreakCaseActivities Originally this function was
+   * @param string|null $context
+   * @param int|null $mask
+   * @param bool $dontBreakCaseActivities
+   *   Originally this function was
    *   part of another function that was only used on the contact's activity
    *   tab and this parameter would only be false when you're not displaying
    *   case activities anyway and so was effectively never used. And I'm not
    *   sure why for the purposes of links you would ever want a case activity
    *   to link to the regular form, so I think this can be removed, but am
    *   leaving it as-is for now.
+   *
    * @return string HTML string
    */
   public static function getActionLinks(
diff --git a/civicrm/CRM/Activity/BAO/ActivityAssignment.php b/civicrm/CRM/Activity/BAO/ActivityAssignment.php
index 86c08bd202..95dde5bc0d 100644
--- a/civicrm/CRM/Activity/BAO/ActivityAssignment.php
+++ b/civicrm/CRM/Activity/BAO/ActivityAssignment.php
@@ -20,13 +20,6 @@
  */
 class CRM_Activity_BAO_ActivityAssignment extends CRM_Activity_DAO_ActivityContact {
 
-  /**
-   * Class constructor.
-   */
-  public function __construct() {
-    parent::__construct();
-  }
-
   /**
    * Add activity assignment.
    *
diff --git a/civicrm/CRM/Activity/BAO/ActivityTarget.php b/civicrm/CRM/Activity/BAO/ActivityTarget.php
index d88eafa87e..d20c3b581b 100644
--- a/civicrm/CRM/Activity/BAO/ActivityTarget.php
+++ b/civicrm/CRM/Activity/BAO/ActivityTarget.php
@@ -20,13 +20,6 @@
  */
 class CRM_Activity_BAO_ActivityTarget extends CRM_Activity_DAO_ActivityContact {
 
-  /**
-   * Class constructor.
-   */
-  public function __construct() {
-    parent::__construct();
-  }
-
   /**
    * Add activity target.
    *
diff --git a/civicrm/CRM/Activity/BAO/ActivityType.php b/civicrm/CRM/Activity/BAO/ActivityType.php
index 3a27f8275a..ba6f1ee3f2 100644
--- a/civicrm/CRM/Activity/BAO/ActivityType.php
+++ b/civicrm/CRM/Activity/BAO/ActivityType.php
@@ -37,7 +37,7 @@ class CRM_Activity_BAO_ActivityType {
   /**
    * Constructor
    *
-   * @param $activity_type_id int This matches up to the option_value 'value' column in the database.
+   * @param int $activity_type_id This matches up to the option_value 'value' column in the database.
    */
   public function __construct($activity_type_id) {
     $this->setActivityType($activity_type_id);
@@ -57,7 +57,7 @@ class CRM_Activity_BAO_ActivityType {
    * Look up the key/value pair representing this activity type from the id.
    * Generally called from constructor.
    *
-   * @param $activity_type_id int This matches up to the option_value 'value' column in the database.
+   * @param int $activity_type_id This matches up to the option_value 'value' column in the database.
    */
   public function setActivityType($activity_type_id) {
     if ($activity_type_id && is_numeric($activity_type_id)) {
diff --git a/civicrm/CRM/Activity/Controller/Search.php b/civicrm/CRM/Activity/Controller/Search.php
index 226305d169..e4938d0187 100644
--- a/civicrm/CRM/Activity/Controller/Search.php
+++ b/civicrm/CRM/Activity/Controller/Search.php
@@ -33,7 +33,7 @@ class CRM_Activity_Controller_Search extends CRM_Core_Controller {
   /**
    * Class constructor.
    *
-   * @param null $title
+   * @param string $title
    * @param bool $modal
    * @param int|mixed|null $action
    */
diff --git a/civicrm/CRM/Activity/DAO/Activity.php b/civicrm/CRM/Activity/DAO/Activity.php
index d42bda6d99..516386a36f 100644
--- a/civicrm/CRM/Activity/DAO/Activity.php
+++ b/civicrm/CRM/Activity/DAO/Activity.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Activity/Activity.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:3a511b57e91904eb91c445524853106a)
+ * (GenCodeChecksum:b37cf83d01ce6a8f72be6de97f00d7d3)
  */
 
 /**
@@ -59,179 +59,233 @@ class CRM_Activity_DAO_Activity extends CRM_Core_DAO {
   /**
    * Unique  Other Activity ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * Artificial FK to original transaction (e.g. contribution) IF it is not an Activity. Table can be figured out through activity_type_id, and further through component registry.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $source_record_id;
 
   /**
    * FK to civicrm_option_value.id, that has to be valid, registered activity type.
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $activity_type_id;
 
   /**
    * The subject/purpose/short description of the activity.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $subject;
 
   /**
    * Date and time this activity is scheduled to occur. Formerly named scheduled_date_time.
    *
-   * @var datetime
+   * @var string
+   *   (SQL type: datetime)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $activity_date_time;
 
   /**
    * Planned or actual duration of activity expressed in minutes. Conglomerate of former duration_hours and duration_minutes.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $duration;
 
   /**
    * Location of the activity (optional, open text).
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $location;
 
   /**
    * Phone ID of the number called (optional - used if an existing phone number is selected).
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $phone_id;
 
   /**
    * Phone number in case the number does not exist in the civicrm_phone table.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $phone_number;
 
   /**
    * Details about the activity (agenda, notes, etc).
    *
-   * @var longtext
+   * @var string|null
+   *   (SQL type: longtext)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $details;
 
   /**
    * ID of the status this activity is currently in. Foreign key to civicrm_option_value.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $status_id;
 
   /**
    * ID of the priority given to this activity. Foreign key to civicrm_option_value.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $priority_id;
 
   /**
    * Parent meeting ID (if this is a follow-up item). This is not currently implemented
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $parent_id;
 
   /**
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_test;
 
   /**
    * Activity Medium, Implicit FK to civicrm_option_value where option_group = encounter_medium.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $medium_id;
 
   /**
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_auto;
 
   /**
    * FK to Relationship ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $relationship_id;
 
   /**
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_current_revision;
 
   /**
    * Activity ID of the first activity record in versioning chain.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $original_id;
 
   /**
    * Currently being used to store result id for survey activity, FK to option value.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $result;
 
   /**
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_deleted;
 
   /**
    * The campaign for which this activity has been triggered.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $campaign_id;
 
   /**
    * Assign a specific level of engagement to this activity. Used for tracking constituents in ladder of engagement.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $engagement_level;
 
   /**
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $weight;
 
   /**
    * Activity marked as favorite.
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_star;
 
   /**
    * When was the activity was created.
    *
-   * @var timestamp
+   * @var string
+   *   (SQL type: timestamp)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $created_date;
 
   /**
    * When was the activity (or closely related entity) was created or modified or deleted.
    *
-   * @var timestamp
+   * @var string
+   *   (SQL type: timestamp)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $modified_date;
 
@@ -759,6 +813,7 @@ class CRM_Activity_DAO_Activity extends CRM_Core_DAO {
           'bao' => 'CRM_Activity_BAO_Activity',
           'localizable' => 0,
           'html' => [
+            'type' => 'Select Date',
             'label' => ts("Created Date"),
           ],
           'add' => '4.7',
@@ -777,6 +832,7 @@ class CRM_Activity_DAO_Activity extends CRM_Core_DAO {
           'bao' => 'CRM_Activity_BAO_Activity',
           'localizable' => 0,
           'html' => [
+            'type' => 'Select Date',
             'label' => ts("Modified Date"),
           ],
           'readonly' => TRUE,
diff --git a/civicrm/CRM/Activity/DAO/ActivityContact.php b/civicrm/CRM/Activity/DAO/ActivityContact.php
index cb434a9a45..426e978adf 100644
--- a/civicrm/CRM/Activity/DAO/ActivityContact.php
+++ b/civicrm/CRM/Activity/DAO/ActivityContact.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Activity/ActivityContact.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:9d55ecc09cc160c1cc41485bf7d026ef)
+ * (GenCodeChecksum:2e8b2b826a1e0f70d39ea967462796d4)
  */
 
 /**
@@ -33,28 +33,36 @@ class CRM_Activity_DAO_ActivityContact extends CRM_Core_DAO {
   /**
    * Activity contact id
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * Foreign key to the activity for this record.
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $activity_id;
 
   /**
    * Foreign key to the contact for this record.
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $contact_id;
 
   /**
    * Determines the contact's role in the activity (source, target, or assignee).
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $record_type_id;
 
diff --git a/civicrm/CRM/Activity/Form/Activity.php b/civicrm/CRM/Activity/Form/Activity.php
index 4f0d8b3a17..4845e864e1 100644
--- a/civicrm/CRM/Activity/Form/Activity.php
+++ b/civicrm/CRM/Activity/Form/Activity.php
@@ -364,13 +364,15 @@ class CRM_Activity_Form_Activity extends CRM_Contact_Form_Task {
       );
     }
 
+    $activityTypeDescription = NULL;
     if ($this->_activityTypeId) {
-      // Set activity type name and description to template.
       list($this->_activityTypeName, $activityTypeDescription) = CRM_Core_BAO_OptionValue::getActivityTypeDetails($this->_activityTypeId);
-      $this->assign('activityTypeName', $this->_activityTypeName);
-      $this->assign('activityTypeDescription', $activityTypeDescription);
     }
 
+    // Set activity type name and description to template.
+    $this->assign('activityTypeName', $this->_activityTypeName ?? FALSE);
+    $this->assign('activityTypeDescription', $activityTypeDescription ?? FALSE);
+
     // set user context
     $urlParams = $urlString = NULL;
     $qfKey = CRM_Utils_Request::retrieve('key', 'String', $this);
@@ -829,7 +831,7 @@ class CRM_Activity_Form_Activity extends CRM_Contact_Form_Task {
    *   The input form values.
    * @param array $files
    *   The uploaded files if any.
-   * @param $self
+   * @param self $self
    *
    * @return bool|array
    *   true if no errors, else array of errors
@@ -1235,6 +1237,9 @@ class CRM_Activity_Form_Activity extends CRM_Contact_Form_Task {
    * For the moment this is just pulled from preProcess
    */
   public function assignActivityType() {
+    // Default array with required key for Smarty template
+    $activityTypeNameAndLabel = ['machineName' => FALSE];
+
     if ($this->_activityTypeId) {
       $activityTypeDisplayLabels = $this->getActivityTypeDisplayLabels();
       if ($activityTypeDisplayLabels[$this->_activityTypeId]) {
@@ -1242,7 +1247,7 @@ class CRM_Activity_Form_Activity extends CRM_Contact_Form_Task {
 
         // At the moment this is duplicating other code in this section, but refactoring in small steps.
         $activityTypeObj = new CRM_Activity_BAO_ActivityType($this->_activityTypeId);
-        $this->assign('activityTypeNameAndLabel', $activityTypeObj->getActivityType());
+        $activityTypeNameAndLabel = $activityTypeObj->getActivityType();
       }
       // Set title.
       if (isset($activityTypeDisplayLabels)) {
@@ -1262,6 +1267,8 @@ class CRM_Activity_Form_Activity extends CRM_Contact_Form_Task {
         }
       }
     }
+
+    $this->assign('activityTypeNameAndLabel', $activityTypeNameAndLabel);
   }
 
 }
diff --git a/civicrm/CRM/Activity/Form/ActivityLinks.php b/civicrm/CRM/Activity/Form/ActivityLinks.php
index bc7ff22f08..ae43fc4dae 100644
--- a/civicrm/CRM/Activity/Form/ActivityLinks.php
+++ b/civicrm/CRM/Activity/Form/ActivityLinks.php
@@ -25,7 +25,7 @@ class CRM_Activity_Form_ActivityLinks extends CRM_Core_Form {
   }
 
   /**
-   * @param $self
+   * @param self $self
    */
   public static function commonBuildQuickForm($self) {
     $contactId = CRM_Utils_Request::retrieve('cid', 'Positive', $self);
diff --git a/civicrm/CRM/Activity/Form/Task/PDF.php b/civicrm/CRM/Activity/Form/Task/PDF.php
index e7a4441bad..69c1387a4e 100644
--- a/civicrm/CRM/Activity/Form/Task/PDF.php
+++ b/civicrm/CRM/Activity/Form/Task/PDF.php
@@ -94,7 +94,7 @@ class CRM_Activity_Form_Task_PDF extends CRM_Activity_Form_Task {
   /**
    * Render html from rows
    *
-   * @param $rows
+   * @param array $rows
    * @param string $msgPart
    *   The name registered with the TokenProcessor
    * @param array $formValues
diff --git a/civicrm/CRM/Activity/Form/Task/Print.php b/civicrm/CRM/Activity/Form/Task/Print.php
index 0a5e6025e4..8546c9b6aa 100644
--- a/civicrm/CRM/Activity/Form/Task/Print.php
+++ b/civicrm/CRM/Activity/Form/Task/Print.php
@@ -32,7 +32,7 @@ class CRM_Activity_Form_Task_Print extends CRM_Activity_Form_Task {
     parent::preprocess();
 
     // set print view, so that print templates are called
-    $this->controller->setPrint(1);
+    $this->controller->setPrint(CRM_Core_Smarty::PRINT_PAGE);
 
     // get the formatted params
     $queryParams = $this->get('queryParams');
diff --git a/civicrm/CRM/Activity/Selector/Search.php b/civicrm/CRM/Activity/Selector/Search.php
index 059da02763..bb56feaafc 100644
--- a/civicrm/CRM/Activity/Selector/Search.php
+++ b/civicrm/CRM/Activity/Selector/Search.php
@@ -113,7 +113,7 @@ class CRM_Activity_Selector_Search extends CRM_Core_Selector_Base implements CRM
   /**
    * The query object.
    *
-   * @var \CRM_Contact_BAO_Query
+   * @var CRM_Contact_BAO_Query
    */
   protected $_query;
 
@@ -395,7 +395,7 @@ class CRM_Activity_Selector_Search extends CRM_Core_Selector_Base implements CRM
   }
 
   /**
-   * @return \CRM_Contact_BAO_Query
+   * @return CRM_Contact_BAO_Query
    */
   public function &getQuery() {
     return $this->_query;
diff --git a/civicrm/CRM/Activity/Task.php b/civicrm/CRM/Activity/Task.php
index d1689bdb7f..c362893d57 100644
--- a/civicrm/CRM/Activity/Task.php
+++ b/civicrm/CRM/Activity/Task.php
@@ -90,8 +90,7 @@ class CRM_Activity_Task extends CRM_Core_Task {
         ],
       ];
 
-      $config = CRM_Core_Config::singleton();
-      if (in_array('CiviCase', $config->enableComponents)) {
+      if (CRM_Core_Component::isEnabled('CiviCase')) {
         if (CRM_Core_Permission::check('access all cases and activities') ||
           CRM_Core_Permission::check('access my cases and activities')
         ) {
diff --git a/civicrm/CRM/Activity/Tokens.php b/civicrm/CRM/Activity/Tokens.php
index 40b896e814..697a98f0d6 100644
--- a/civicrm/CRM/Activity/Tokens.php
+++ b/civicrm/CRM/Activity/Tokens.php
@@ -100,7 +100,7 @@ class CRM_Activity_Tokens extends CRM_Core_EntityTokens {
    */
   protected function getBespokeTokens(): array {
     $tokens = [];
-    if (array_key_exists('CiviCase', CRM_Core_Component::getEnabledComponents())) {
+    if (CRM_Core_Component::isEnabled('CiviCase')) {
       $tokens['case_id'] = ts('Activity Case ID');
       return [
         'case_id' => [
diff --git a/civicrm/CRM/Admin/Form.php b/civicrm/CRM/Admin/Form.php
index c7b5989c31..e7d06df668 100644
--- a/civicrm/CRM/Admin/Form.php
+++ b/civicrm/CRM/Admin/Form.php
@@ -30,7 +30,7 @@ class CRM_Admin_Form extends CRM_Core_Form {
   /**
    * The default values for form fields.
    *
-   * @var int
+   * @var array
    */
   protected $_values;
 
diff --git a/civicrm/CRM/Admin/Form/ContactType.php b/civicrm/CRM/Admin/Form/ContactType.php
index 661913613a..ac90dbeace 100644
--- a/civicrm/CRM/Admin/Form/ContactType.php
+++ b/civicrm/CRM/Admin/Form/ContactType.php
@@ -67,7 +67,7 @@ class CRM_Admin_Form_ContactType extends CRM_Admin_Form {
    *   The input form values.
    *
    * @param $files
-   * @param $self
+   * @param self $self
    *
    * @return bool|array
    *   true if no errors, else array of errors
diff --git a/civicrm/CRM/Admin/Form/Extensions.php b/civicrm/CRM/Admin/Form/Extensions.php
index 7ee7df2f91..83fba1bdcb 100644
--- a/civicrm/CRM/Admin/Form/Extensions.php
+++ b/civicrm/CRM/Admin/Form/Extensions.php
@@ -151,7 +151,7 @@ class CRM_Admin_Form_Extensions extends CRM_Admin_Form {
    *   The input form values.
    * @param array $files
    *   The uploaded files if any.
-   * @param array $self
+   * @param self $self
    *   This object.
    *
    * @return bool|array
diff --git a/civicrm/CRM/Admin/Form/Job.php b/civicrm/CRM/Admin/Form/Job.php
index f8e7afc4d8..b1fede1a23 100644
--- a/civicrm/CRM/Admin/Form/Job.php
+++ b/civicrm/CRM/Admin/Form/Job.php
@@ -116,7 +116,7 @@ class CRM_Admin_Form_Job extends CRM_Admin_Form {
   }
 
   /**
-   * @param $fields
+   * @param array $fields
    *
    * @return array|bool
    * @throws API_Exception
diff --git a/civicrm/CRM/Admin/Form/MessageTemplates.php b/civicrm/CRM/Admin/Form/MessageTemplates.php
index 076fcf3742..09c9f9e32c 100644
--- a/civicrm/CRM/Admin/Form/MessageTemplates.php
+++ b/civicrm/CRM/Admin/Form/MessageTemplates.php
@@ -244,7 +244,7 @@ class CRM_Admin_Form_MessageTemplates extends CRM_Core_Form {
    *   The input form values.
    * @param array $files
    *   The uploaded files if any.
-   * @param array $self
+   * @param self $self
    *
    * @return array
    *   array of errors
diff --git a/civicrm/CRM/Admin/Form/OptionGroup.php b/civicrm/CRM/Admin/Form/OptionGroup.php
index 8cb2a62f5e..6de152bb9e 100644
--- a/civicrm/CRM/Admin/Form/OptionGroup.php
+++ b/civicrm/CRM/Admin/Form/OptionGroup.php
@@ -94,7 +94,7 @@ class CRM_Admin_Form_OptionGroup extends CRM_Admin_Form {
    *   The input form values.
    *
    * @param $files
-   * @param $self
+   * @param self $self
    *
    * @return bool|array
    *   true if no errors, else array of errors
diff --git a/civicrm/CRM/Admin/Form/Options.php b/civicrm/CRM/Admin/Form/Options.php
index dc9fe05768..b5002a575e 100644
--- a/civicrm/CRM/Admin/Form/Options.php
+++ b/civicrm/CRM/Admin/Form/Options.php
@@ -269,8 +269,7 @@ class CRM_Admin_Form_Options extends CRM_Admin_Form {
 
     // If CiviCase enabled AND "Add" mode OR "edit" mode for non-reserved activities, only allow user to pick Core or CiviCase component.
     // FIXME: Each component should define whether adding new activity types is allowed.
-    $config = CRM_Core_Config::singleton();
-    if ($this->_gName == 'activity_type' && in_array("CiviCase", $config->enableComponents) &&
+    if ($this->_gName == 'activity_type' && CRM_Core_Component::isEnabled("CiviCase") &&
       (($this->_action & CRM_Core_Action::ADD) || !$isReserved)
     ) {
       $caseID = CRM_Core_Component::getComponentID('CiviCase');
@@ -342,7 +341,7 @@ class CRM_Admin_Form_Options extends CRM_Admin_Form {
    *   The input form values.
    * @param array $files
    *   The uploaded files if any.
-   * @param array $self
+   * @param self $self
    *   Current form object.
    *
    * @return array
diff --git a/civicrm/CRM/Admin/Form/PaymentProcessor.php b/civicrm/CRM/Admin/Form/PaymentProcessor.php
index c0e40ceb1f..83ddd79bc9 100644
--- a/civicrm/CRM/Admin/Form/PaymentProcessor.php
+++ b/civicrm/CRM/Admin/Form/PaymentProcessor.php
@@ -28,7 +28,7 @@ class CRM_Admin_Form_PaymentProcessor extends CRM_Admin_Form {
   protected $_testID;
 
   /**
-   * @var \CRM_Core_DAO_PaymentProcessor
+   * @var \CRM_Financial_DAO_PaymentProcessorType
    * Payment Processor DAO Object
    */
   protected $_paymentProcessorDAO;
@@ -269,7 +269,7 @@ class CRM_Admin_Form_PaymentProcessor extends CRM_Admin_Form {
   }
 
   /**
-   * @param $fields
+   * @param array $fields
    *
    * @return array|bool
    */
@@ -295,9 +295,9 @@ class CRM_Admin_Form_PaymentProcessor extends CRM_Admin_Form {
   }
 
   /**
-   * @param $fields
-   * @param $errors
-   * @param null $section
+   * @param array $fields
+   * @param array $errors
+   * @param string|null $section
    *
    * @return bool
    */
diff --git a/civicrm/CRM/Admin/Form/Preferences/Address.php b/civicrm/CRM/Admin/Form/Preferences/Address.php
index 3b56db2adb..160c4f4436 100644
--- a/civicrm/CRM/Admin/Form/Preferences/Address.php
+++ b/civicrm/CRM/Admin/Form/Preferences/Address.php
@@ -46,7 +46,7 @@ class CRM_Admin_Form_Preferences_Address extends CRM_Admin_Form_Preferences {
   }
 
   /**
-   * @param $fields
+   * @param array $fields
    *
    * @return bool
    */
diff --git a/civicrm/CRM/Admin/Form/Preferences/Contribute.php b/civicrm/CRM/Admin/Form/Preferences/Contribute.php
index e835e335e8..0072d060be 100644
--- a/civicrm/CRM/Admin/Form/Preferences/Contribute.php
+++ b/civicrm/CRM/Admin/Form/Preferences/Contribute.php
@@ -54,6 +54,7 @@ class CRM_Admin_Form_Preferences_Contribute extends CRM_Admin_Form_Preferences {
         'html_type' => 'text',
         'title' => ts('Due Date'),
         'weight' => 3,
+        'description' => '',
       ],
       'due_date_period' => [
         'html_type' => 'select',
@@ -84,11 +85,13 @@ class CRM_Admin_Form_Preferences_Contribute extends CRM_Admin_Form_Preferences {
         'html_type' => 'text',
         'title' => ts('Tax Term'),
         'weight' => 7,
+        'description' => '',
       ],
       'tax_display_settings' => [
         'html_type' => 'select',
         'title' => ts('Tax Display Settings'),
         'weight' => 8,
+        'description' => '',
         'option_values' => [
           'Do_not_show' => ts('Do not show breakdown, only show total - i.e %1', [
             1 => CRM_Utils_Money::format(120),
diff --git a/civicrm/CRM/Admin/Form/Setting/Localization.php b/civicrm/CRM/Admin/Form/Setting/Localization.php
index 5cd32ae551..d18e75ab71 100644
--- a/civicrm/CRM/Admin/Form/Setting/Localization.php
+++ b/civicrm/CRM/Admin/Form/Setting/Localization.php
@@ -32,6 +32,7 @@ class CRM_Admin_Form_Setting_Localization extends CRM_Admin_Form_Setting {
     'inheritLocale' => CRM_Core_BAO_Setting::LOCALIZATION_PREFERENCES_NAME,
     'lcMessages' => CRM_Core_BAO_Setting::LOCALIZATION_PREFERENCES_NAME,
     'legacyEncoding' => CRM_Core_BAO_Setting::LOCALIZATION_PREFERENCES_NAME,
+    'format_locale' => CRM_Core_BAO_Setting::LOCALIZATION_PREFERENCES_NAME,
     'monetaryThousandSeparator' => CRM_Core_BAO_Setting::LOCALIZATION_PREFERENCES_NAME,
     'monetaryDecimalPoint' => CRM_Core_BAO_Setting::LOCALIZATION_PREFERENCES_NAME,
     'moneyformat' => CRM_Core_BAO_Setting::LOCALIZATION_PREFERENCES_NAME,
@@ -43,11 +44,9 @@ class CRM_Admin_Form_Setting_Localization extends CRM_Admin_Form_Setting {
    * Build the form object.
    */
   public function buildQuickForm() {
-    $config = CRM_Core_Config::singleton();
-
     $this->setTitle(ts('Settings - Localization'));
 
-    $warningTitle = json_encode(ts("Warning"));
+    $warningTitle = json_encode(ts('Warning'));
     $defaultLocaleOptions = CRM_Admin_Form_Setting_Localization::getDefaultLocaleOptions();
 
     if (CRM_Core_I18n::isMultiLingual()) {
@@ -98,7 +97,7 @@ class CRM_Admin_Form_Setting_Localization extends CRM_Admin_Form_Setting {
   }
 
   /**
-   * @param $fields
+   * @param array $fields
    *
    * @return array|bool
    */
@@ -230,8 +229,8 @@ class CRM_Admin_Form_Setting_Localization extends CRM_Admin_Form_Setting {
   /**
    * Replace available currencies by the ones provided
    *
-   * @param $currencies array of currencies ['USD', 'CAD']
-   * @param $default default currency
+   * @param string[] $currencies array of currencies ['USD', 'CAD']
+   * @param string $default default currency
    */
   public static function updateEnabledCurrencies($currencies, $default) {
 
@@ -339,7 +338,7 @@ class CRM_Admin_Form_Setting_Localization extends CRM_Admin_Form_Setting {
     $currencies = array_keys(CRM_Core_OptionGroup::values('currencies_enabled'));
     if (!in_array($newCurrency, $currencies)) {
       if (empty($currencies)) {
-        $currencies = [$values['defaultCurrency']];
+        $currencies = [$newCurrency];
       }
       else {
         $currencies[] = $newCurrency;
diff --git a/civicrm/CRM/Admin/Form/Setting/Mail.php b/civicrm/CRM/Admin/Form/Setting/Mail.php
index 4bfe45d35a..4b49514c34 100644
--- a/civicrm/CRM/Admin/Form/Setting/Mail.php
+++ b/civicrm/CRM/Admin/Form/Setting/Mail.php
@@ -41,7 +41,7 @@ class CRM_Admin_Form_Setting_Mail extends CRM_Admin_Form_Setting {
   }
 
   /**
-   * @param $fields
+   * @param array $fields
    *
    * @return array|bool
    */
diff --git a/civicrm/CRM/Admin/Form/Setting/Url.php b/civicrm/CRM/Admin/Form/Setting/Url.php
index ae9aa93084..85151cbe76 100644
--- a/civicrm/CRM/Admin/Form/Setting/Url.php
+++ b/civicrm/CRM/Admin/Form/Setting/Url.php
@@ -48,7 +48,7 @@ class CRM_Admin_Form_Setting_Url extends CRM_Admin_Form_Setting {
   }
 
   /**
-   * @param $fields
+   * @param array $fields
    *
    * @return array|bool
    */
diff --git a/civicrm/CRM/Admin/Page/EventTemplate.php b/civicrm/CRM/Admin/Page/EventTemplate.php
index bee768e086..c373135e63 100644
--- a/civicrm/CRM/Admin/Page/EventTemplate.php
+++ b/civicrm/CRM/Admin/Page/EventTemplate.php
@@ -85,16 +85,19 @@ class CRM_Admin_Page_EventTemplate extends CRM_Core_Page_Basic {
       CRM_Core_DAO::storeValues($eventTemplate, $allEventTemplates[$eventTemplate->id]);
 
       //get listing types.
+      $allEventTemplates[$eventTemplate->id]['participant_listing'] = ts('Disabled');
       if ($eventTemplate->participant_listing_id) {
         $allEventTemplates[$eventTemplate->id]['participant_listing'] = $participantListings[$eventTemplate->participant_listing_id];
       }
 
       //get participant role
+      $allEventTemplates[$eventTemplate->id]['participant_role'] = '';
       if ($eventTemplate->default_role_id) {
         $allEventTemplates[$eventTemplate->id]['participant_role'] = $participantRoles[$eventTemplate->default_role_id];
       }
 
       //get event type.
+      $allEventTemplates[$eventTemplate->id]['event_type'] = '';
       if (isset($eventTypes[$eventTemplate->event_type_id])) {
         $allEventTemplates[$eventTemplate->id]['event_type'] = $eventTypes[$eventTemplate->event_type_id];
       }
diff --git a/civicrm/CRM/Admin/Page/MessageTemplates.php b/civicrm/CRM/Admin/Page/MessageTemplates.php
index 58f154abda..a2af7ea9ab 100644
--- a/civicrm/CRM/Admin/Page/MessageTemplates.php
+++ b/civicrm/CRM/Admin/Page/MessageTemplates.php
@@ -40,8 +40,8 @@ class CRM_Admin_Page_MessageTemplates extends CRM_Core_Page_Basic {
   protected $_revertedId;
 
   /**
-   * @param null $title
-   * @param null $mode
+   * @param string $title
+   * @param int $mode
    */
   public function __construct($title = NULL, $mode = NULL) {
     parent::__construct($title, $mode);
diff --git a/civicrm/CRM/Api4/Page/AJAX.php b/civicrm/CRM/Api4/Page/AJAX.php
index a368b20c4c..64edf46f44 100644
--- a/civicrm/CRM/Api4/Page/AJAX.php
+++ b/civicrm/CRM/Api4/Page/AJAX.php
@@ -22,10 +22,7 @@ class CRM_Api4_Page_AJAX extends CRM_Core_Page {
    */
   public function run() {
     $config = CRM_Core_Config::singleton();
-    if (!$config->debug && (!array_key_exists('HTTP_X_REQUESTED_WITH', $_SERVER) ||
-        $_SERVER['HTTP_X_REQUESTED_WITH'] != "XMLHttpRequest"
-      )
-    ) {
+    if (!$config->debug && !CRM_Utils_REST::isWebServiceRequest()) {
       $response = [
         'error_code' => 401,
         'error_message' => "SECURITY ALERT: Ajax requests can only be issued by javascript clients, eg. CRM.api4().",
diff --git a/civicrm/CRM/Api4/Services.php b/civicrm/CRM/Api4/Services.php
index 18bab2f7ad..f5581efd0f 100644
--- a/civicrm/CRM/Api4/Services.php
+++ b/civicrm/CRM/Api4/Services.php
@@ -57,12 +57,6 @@ class CRM_Api4_Services {
         [new Reference($provider)]
       );
     }
-
-    if (defined('CIVICRM_UF') && CIVICRM_UF === 'UnitTests'
-      && file_exists('tests/phpunit/api/v4/services.xml')
-    ) {
-      $loader->load('tests/phpunit/api/v4/services.xml');
-    }
   }
 
   /**
diff --git a/civicrm/CRM/Badge/BAO/Badge.php b/civicrm/CRM/Badge/BAO/Badge.php
index 9d2c61339f..5d1bdcfffd 100644
--- a/civicrm/CRM/Badge/BAO/Badge.php
+++ b/civicrm/CRM/Badge/BAO/Badge.php
@@ -147,7 +147,7 @@ class CRM_Badge_BAO_Badge {
   }
 
   /**
-   * @param $formattedRow
+   * @param array $formattedRow
    */
   public function generateLabel($formattedRow) {
     switch ($formattedRow['labelFormat']) {
@@ -164,7 +164,7 @@ class CRM_Badge_BAO_Badge {
   }
 
   /**
-   * @param $formattedRow
+   * @param array $formattedRow
    * @param int $cellspacing
    */
   public function labelCreator(&$formattedRow, $cellspacing = 0) {
@@ -349,13 +349,12 @@ class CRM_Badge_BAO_Badge {
    *
    * @param string $img
    *   Image url.
-   *
-   * @param string $x
-   * @param string $y
-   * @param null $w
-   * @param null $h
+   * @param string|null $x
+   * @param string|null $y
+   * @param int|null $w
+   * @param int|null $h
    */
-  public function printImage($img, $x = '', $y = '', $w = NULL, $h = NULL) {
+  public function printImage($img, $x = NULL, $y = NULL, $w = NULL, $h = NULL) {
     if (!$x) {
       $x = $this->pdf->GetAbsX();
     }
@@ -375,12 +374,14 @@ class CRM_Badge_BAO_Badge {
   }
 
   /**
-   * @param $img
+   * @param string $img
+   *   Filename
    * @param int $imgRes
-   * @param null $w
-   * @param null $h
+   * @param int|null $w
+   * @param int|null $h
    *
-   * @return array
+   * @return int[]
+   *   [width, height]
    */
   public static function getImageProperties($img, $imgRes = 300, $w = NULL, $h = NULL) {
     $imgsize = getimagesize($img);
diff --git a/civicrm/CRM/Badge/BAO/Layout.php b/civicrm/CRM/Badge/BAO/Layout.php
index e631eb0ae3..2c0780e89e 100644
--- a/civicrm/CRM/Badge/BAO/Layout.php
+++ b/civicrm/CRM/Badge/BAO/Layout.php
@@ -16,13 +16,6 @@
  */
 class CRM_Badge_BAO_Layout extends CRM_Core_DAO_PrintLabel {
 
-  /**
-   * Class constructor.
-   */
-  public function __construct() {
-    parent::__construct();
-  }
-
   /**
    * Retrieve DB object based on input parameters.
    *
@@ -152,7 +145,7 @@ class CRM_Badge_BAO_Layout extends CRM_Core_DAO_PrintLabel {
   /**
    * Decode encoded data and return as an array.
    *
-   * @param json $jsonData
+   * @param string $jsonData
    *   Json object.
    *
    * @return array
diff --git a/civicrm/CRM/Batch/BAO/Batch.php b/civicrm/CRM/Batch/BAO/Batch.php
index fffd67e0db..d3bcba1467 100644
--- a/civicrm/CRM/Batch/BAO/Batch.php
+++ b/civicrm/CRM/Batch/BAO/Batch.php
@@ -50,24 +50,21 @@ class CRM_Batch_BAO_Batch extends CRM_Batch_DAO_Batch {
   }
 
   /**
-   * Retrieve the information about the batch.
+   * Retrieve DB object and copy to defaults array.
    *
    * @param array $params
-   *   (reference ) an assoc array of name/value pairs.
-   * @param array $defaults
-   *   (reference ) an assoc array to hold the flattened values.
+   *   Array of criteria values.
+   * @param array|null $defaults
+   *   Array to be populated with found values.
    *
-   * @return CRM_Batch_BAO_Batch|null
-   *   CRM_Batch_BAO_Batch object on success, null otherwise
+   * @return self|null
+   *   The DAO object, if found.
+   *
+   * @deprecated
    */
-  public static function retrieve(&$params, &$defaults) {
-    $batch = new CRM_Batch_DAO_Batch();
-    $batch->copyValues($params);
-    if ($batch->find(TRUE)) {
-      CRM_Core_DAO::storeValues($batch, $defaults);
-      return $batch;
-    }
-    return NULL;
+  public static function retrieve(array $params, ?array &$defaults = NULL) {
+    $defaults = $defaults ?? [];
+    return self::commonRetrieve(self::class, $params, $defaults);
   }
 
   /**
@@ -329,16 +326,7 @@ class CRM_Batch_BAO_Batch extends CRM_Batch_DAO_Batch {
         $values['id']
       );
       // CRM-21205
-      $values['currency'] = CRM_Core_DAO::singleValueQuery("
-        SELECT GROUP_CONCAT(DISTINCT ft.currency)
-        FROM  civicrm_batch batch
-        JOIN civicrm_entity_batch eb
-          ON batch.id = eb.batch_id
-        JOIN civicrm_financial_trxn ft
-          ON eb.entity_id = ft.id
-        WHERE batch.id = %1
-        GROUP BY batch.id
-      ", [1 => [$values['id'], 'Positive']]);
+      $values['currency'] = CRM_Batch_BAO_EntityBatch::getBatchCurrency($values['id']);
       $results[$values['id']] = $values;
     }
 
@@ -551,7 +539,7 @@ class CRM_Batch_BAO_Batch extends CRM_Batch_DAO_Batch {
    *   calculated total
    * @param $expected
    *   user-entered total
-   * @return array
+   * @return string
    */
   public static function displayTotals($actual, $expected) {
     $class = 'actual-value';
diff --git a/civicrm/CRM/Batch/BAO/EntityBatch.php b/civicrm/CRM/Batch/BAO/EntityBatch.php
index 025a877b8e..f4c1e55a70 100644
--- a/civicrm/CRM/Batch/BAO/EntityBatch.php
+++ b/civicrm/CRM/Batch/BAO/EntityBatch.php
@@ -23,6 +23,35 @@ class CRM_Batch_BAO_EntityBatch extends CRM_Batch_DAO_EntityBatch {
    * @return CRM_Batch_DAO_EntityBatch
    */
   public static function create($params) {
+    // Only write the EntityBatch record if the financial trxn and batch match on currency and payment instrument.
+    $batchId = $params['batch_id'] ?? NULL;
+    $entityId = $params['entity_id'] ?? NULL;
+    // Not having a batch ID and entity ID is only acceptable on an update.
+    if (!$batchId) {
+      $existingEntityBatch = \Civi\Api4\EntityBatch::get(FALSE)
+        ->addSelect('id', '=', $params['id'])
+        ->execute()
+        ->first();
+      $batchId = $existingEntityBatch['batch_id'] ?? NULL;
+      $entityId = $existingEntityBatch['entity_id'] ?? NULL;
+    }
+    // There should never be a legitimate case where a record has an ID but no batch ID but SyntaxConformanceTest says otherwise.
+    if ($batchId) {
+      $batchCurrency = self::getBatchCurrency($batchId);
+      $batchPID = (int) CRM_Core_DAO::getFieldValue('CRM_Batch_DAO_Batch', $batchId, 'payment_instrument_id');
+      $trxn = \Civi\Api4\FinancialTrxn::get(FALSE)
+        ->addSelect('currency', 'payment_instrument_id')
+        ->addWhere('id', '=', $entityId)
+        ->execute()
+        ->first();
+      if ($batchCurrency && $batchCurrency !== $trxn['currency']) {
+        throw new \CRM_Core_Exception(ts('You can not add items of two different currencies to a single contribution batch.'));
+      }
+      if ($batchPID && $trxn && $batchPID !== $trxn['payment_instrument_id']) {
+        $paymentInstrument = CRM_Core_PseudoConstant::getLabel('CRM_Batch_BAO_Batch', 'payment_instrument_id', $batchPID);
+        throw new \CRM_Core_Exception(ts('This batch is configured to include only transactions using %1 payment method. If you want to include other transactions, please edit the batch first and modify the Payment Method.', [1 => $paymentInstrument]));
+      }
+    }
     return self::writeRecord($params);
   }
 
@@ -39,4 +68,28 @@ class CRM_Batch_BAO_EntityBatch extends CRM_Batch_DAO_EntityBatch {
     return self::deleteRecord($params);
   }
 
+  /**
+   * Get the currency associated with a batch (if any).
+   *
+   * @param int $batchId
+   *
+   */
+  public static function getBatchCurrency($batchId) : ?string {
+    $sql = "SELECT DISTINCT ft.currency
+      FROM  civicrm_batch batch
+      JOIN civicrm_entity_batch eb
+        ON batch.id = eb.batch_id
+      JOIN civicrm_financial_trxn ft
+        ON eb.entity_id = ft.id
+      WHERE batch.id = %1";
+    $dao = CRM_Core_DAO::executeQuery($sql, [1 => [$batchId, 'Positive']]);
+    if ($dao->N === 0) {
+      return NULL;
+    }
+    else {
+      $dao->fetch();
+      return $dao->currency;
+    }
+  }
+
 }
diff --git a/civicrm/CRM/Batch/DAO/Batch.php b/civicrm/CRM/Batch/DAO/Batch.php
index 4b303f0866..1175aa77ec 100644
--- a/civicrm/CRM/Batch/DAO/Batch.php
+++ b/civicrm/CRM/Batch/DAO/Batch.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Batch/Batch.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:965795e9c5cb8876ff6198abee5ffc71)
+ * (GenCodeChecksum:d7bcbc183569fc9cc52260eef81e84ad)
  */
 
 /**
@@ -33,117 +33,151 @@ class CRM_Batch_DAO_Batch extends CRM_Core_DAO {
   /**
    * Unique Address ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * Variable name/programmatic handle for this batch.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $name;
 
   /**
    * Friendly Name.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $title;
 
   /**
    * Description of this batch set.
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $description;
 
   /**
    * FK to Contact ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $created_id;
 
   /**
    * When was this item created
    *
-   * @var datetime
+   * @var string|null
+   *   (SQL type: datetime)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $created_date;
 
   /**
    * FK to Contact ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $modified_id;
 
   /**
    * When was this item modified
    *
-   * @var datetime
+   * @var string|null
+   *   (SQL type: datetime)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $modified_date;
 
   /**
    * FK to Saved Search ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $saved_search_id;
 
   /**
    * fk to Batch Status options in civicrm_option_values
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $status_id;
 
   /**
    * fk to Batch Type options in civicrm_option_values
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $type_id;
 
   /**
    * fk to Batch mode options in civicrm_option_values
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $mode_id;
 
   /**
    * Total amount for this batch.
    *
-   * @var float
+   * @var float|string|null
+   *   (SQL type: decimal(20,2))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $total;
 
   /**
    * Number of items in a batch.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $item_count;
 
   /**
    * fk to Payment Instrument options in civicrm_option_values
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $payment_instrument_id;
 
   /**
-   * @var datetime
+   * @var string|null
+   *   (SQL type: datetime)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $exported_date;
 
   /**
    * cache entered data
    *
-   * @var longtext
+   * @var string|null
+   *   (SQL type: longtext)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $data;
 
diff --git a/civicrm/CRM/Batch/DAO/EntityBatch.php b/civicrm/CRM/Batch/DAO/EntityBatch.php
index 3a14e16132..4d851f0ad1 100644
--- a/civicrm/CRM/Batch/DAO/EntityBatch.php
+++ b/civicrm/CRM/Batch/DAO/EntityBatch.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Batch/EntityBatch.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:916ca7535e5e9d344f17456a973fdad6)
+ * (GenCodeChecksum:98d4fc139c4903eb67dadd5a5ea72f5e)
  */
 
 /**
@@ -33,28 +33,36 @@ class CRM_Batch_DAO_EntityBatch extends CRM_Core_DAO {
   /**
    * primary key
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * physical tablename for entity being joined to file, e.g. civicrm_contact
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $entity_table;
 
   /**
    * FK to entity table specified in entity_table column.
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $entity_id;
 
   /**
    * FK to civicrm_batch
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $batch_id;
 
diff --git a/civicrm/CRM/Batch/Form/Entry.php b/civicrm/CRM/Batch/Form/Entry.php
index 0a395b52af..2818626e95 100644
--- a/civicrm/CRM/Batch/Form/Entry.php
+++ b/civicrm/CRM/Batch/Form/Entry.php
@@ -301,7 +301,7 @@ class CRM_Batch_Form_Entry extends CRM_Core_Form {
       'household_name',
     ];
 
-    $contactTypes = ['Contact', 'Individual', 'Household', 'Organization'];
+    $contactTypes = array_merge(['Contact'], CRM_Contact_BAO_ContactType::basicTypes(TRUE));
     $contactReturnProperties = [];
 
     for ($rowNumber = 1; $rowNumber <= $this->_batchInfo['item_count']; $rowNumber++) {
diff --git a/civicrm/CRM/Bridge/OG/Utils.php b/civicrm/CRM/Bridge/OG/Utils.php
index 5fb44c7d81..a7a5fa1e16 100644
--- a/civicrm/CRM/Bridge/OG/Utils.php
+++ b/civicrm/CRM/Bridge/OG/Utils.php
@@ -99,8 +99,8 @@ class CRM_Bridge_OG_Utils {
   }
 
   /**
-   * @param $source
-   * @param null $title
+   * @param string $source
+   * @param string|null $title
    * @param bool $abort
    *
    * @return null|string
diff --git a/civicrm/CRM/Campaign/BAO/Campaign.php b/civicrm/CRM/Campaign/BAO/Campaign.php
index cff5bcaa07..02fbacc0f4 100644
--- a/civicrm/CRM/Campaign/BAO/Campaign.php
+++ b/civicrm/CRM/Campaign/BAO/Campaign.php
@@ -65,11 +65,6 @@ class CRM_Campaign_BAO_Campaign extends CRM_Campaign_DAO_Campaign {
       }
     }
 
-    //store custom data
-    if (!empty($params['custom']) && is_array($params['custom'])) {
-      CRM_Core_BAO_CustomValueTable::store($params['custom'], 'civicrm_campaign', $campaign->id);
-    }
-
     return $campaign;
   }
 
@@ -299,7 +294,7 @@ Order By  camp.title";
    * @return bool
    */
   public static function isCampaignEnable(): bool {
-    return in_array('CiviCampaign', CRM_Core_Config::singleton()->enableComponents, TRUE);
+    return CRM_Core_Component::isEnabled('CiviCampaign');
   }
 
   /**
diff --git a/civicrm/CRM/Campaign/BAO/Query.php b/civicrm/CRM/Campaign/BAO/Query.php
index e70340cffb..50fb3e5890 100644
--- a/civicrm/CRM/Campaign/BAO/Query.php
+++ b/civicrm/CRM/Campaign/BAO/Query.php
@@ -347,7 +347,7 @@ civicrm_activity_assignment.record_type_id = $assigneeID ) ";
     );
 
     $showInterviewer = FALSE;
-    if (CRM_Core_Permission::check('administer CiviCampaign')) {
+    if (CRM_Core_Permission::check('manage campaign')) {
       $showInterviewer = TRUE;
     }
     $form->assign('showInterviewer', $showInterviewer);
diff --git a/civicrm/CRM/Campaign/BAO/Survey.php b/civicrm/CRM/Campaign/BAO/Survey.php
index b37e6b9bce..b05fce5c96 100644
--- a/civicrm/CRM/Campaign/BAO/Survey.php
+++ b/civicrm/CRM/Campaign/BAO/Survey.php
@@ -74,9 +74,6 @@ class CRM_Campaign_BAO_Survey extends CRM_Campaign_DAO_Survey implements Civi\Te
 
     $dao = self::writeRecord($params);
 
-    if (!empty($params['custom']) && is_array($params['custom'])) {
-      CRM_Core_BAO_CustomValueTable::store($params['custom'], 'civicrm_survey', $dao->id);
-    }
     return $dao;
   }
 
@@ -552,8 +549,8 @@ INNER JOIN  civicrm_activity_contact activityAssignment
    * @param array $voterIds
    * @param bool $onlyCount
    *
-   * @return array
-   *   An array of survey activity.
+   * @return array|int
+   *   An array of survey activity, or an int if $onlyCount is set to TRUE
    */
   public static function getSurveyActivities(
     $surveyId,
diff --git a/civicrm/CRM/Campaign/Controller/Search.php b/civicrm/CRM/Campaign/Controller/Search.php
index 520c3f9442..9f3e6bf26a 100644
--- a/civicrm/CRM/Campaign/Controller/Search.php
+++ b/civicrm/CRM/Campaign/Controller/Search.php
@@ -33,7 +33,7 @@ class CRM_Campaign_Controller_Search extends CRM_Core_Controller {
   /**
    * Class constructor.
    *
-   * @param null $title
+   * @param string $title
    * @param bool|int $action
    * @param bool $modal
    */
diff --git a/civicrm/CRM/Campaign/DAO/Campaign.php b/civicrm/CRM/Campaign/DAO/Campaign.php
index a82c6fb444..99b8489ede 100644
--- a/civicrm/CRM/Campaign/DAO/Campaign.php
+++ b/civicrm/CRM/Campaign/DAO/Campaign.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Campaign/Campaign.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:9d4da1f7966af86e8426aa449826f41c)
+ * (GenCodeChecksum:dab6fdaa9d622daab580b32ae1172bc7)
  */
 
 /**
@@ -59,7 +59,9 @@ class CRM_Campaign_DAO_Campaign extends CRM_Core_DAO {
   /**
    * Unique Campaign ID.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
@@ -67,111 +69,143 @@ class CRM_Campaign_DAO_Campaign extends CRM_Core_DAO {
    * Name of the Campaign.
    *
    * @var string
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $name;
 
   /**
    * Title of the Campaign.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $title;
 
   /**
    * Full description of Campaign.
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $description;
 
   /**
    * Date and time that Campaign starts.
    *
-   * @var datetime
+   * @var string|null
+   *   (SQL type: datetime)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $start_date;
 
   /**
    * Date and time that Campaign ends.
    *
-   * @var datetime
+   * @var string|null
+   *   (SQL type: datetime)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $end_date;
 
   /**
    * Campaign Type ID.Implicit FK to civicrm_option_value where option_group = campaign_type
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $campaign_type_id;
 
   /**
    * Campaign status ID.Implicit FK to civicrm_option_value where option_group = campaign_status
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $status_id;
 
   /**
    * Unique trusted external ID (generally from a legacy app/datasource). Particularly useful for deduping operations.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(32))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $external_identifier;
 
   /**
    * Optional parent id for this Campaign.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $parent_id;
 
   /**
    * Is this Campaign enabled or disabled/cancelled?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_active;
 
   /**
    * FK to civicrm_contact, who created this Campaign.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $created_id;
 
   /**
    * Date and time that Campaign was created.
    *
-   * @var datetime
+   * @var string|null
+   *   (SQL type: datetime)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $created_date;
 
   /**
    * FK to civicrm_contact, who recently edited this Campaign.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $last_modified_id;
 
   /**
    * Date and time that Campaign was edited last time.
    *
-   * @var datetime
+   * @var string|null
+   *   (SQL type: datetime)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $last_modified_date;
 
   /**
    * General goals for Campaign.
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $goal_general;
 
   /**
    * The target revenue for this campaign.
    *
-   * @var float
+   * @var float|string|null
+   *   (SQL type: decimal(20,2))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $goal_revenue;
 
diff --git a/civicrm/CRM/Campaign/DAO/CampaignGroup.php b/civicrm/CRM/Campaign/DAO/CampaignGroup.php
index cc967826b4..48351d8be0 100644
--- a/civicrm/CRM/Campaign/DAO/CampaignGroup.php
+++ b/civicrm/CRM/Campaign/DAO/CampaignGroup.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Campaign/CampaignGroup.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:978c5e6110b6905764ed276943711ac4)
+ * (GenCodeChecksum:2f82c00377ac107ef95474e340b596d7)
  */
 
 /**
@@ -34,35 +34,45 @@ class CRM_Campaign_DAO_CampaignGroup extends CRM_Core_DAO {
   /**
    * Campaign Group id.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * Foreign key to the activity Campaign.
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $campaign_id;
 
   /**
    * Type of Group.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(8))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $group_type;
 
   /**
    * Name of table where item being referenced is stored.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $entity_table;
 
   /**
    * Entity id of referenced table.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $entity_id;
 
diff --git a/civicrm/CRM/Campaign/DAO/Survey.php b/civicrm/CRM/Campaign/DAO/Survey.php
index 83573a7148..410b6ea812 100644
--- a/civicrm/CRM/Campaign/DAO/Survey.php
+++ b/civicrm/CRM/Campaign/DAO/Survey.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Campaign/Survey.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:8fec5a0ffb4667af4f00820de74aa577)
+ * (GenCodeChecksum:d0bc187a5dd2297f5c81a7a84460fc17)
  */
 
 /**
@@ -48,7 +48,9 @@ class CRM_Campaign_DAO_Survey extends CRM_Core_DAO {
   /**
    * Survey id.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
@@ -56,132 +58,170 @@ class CRM_Campaign_DAO_Survey extends CRM_Core_DAO {
    * Title of the Survey.
    *
    * @var string
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $title;
 
   /**
    * Foreign key to the Campaign.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $campaign_id;
 
   /**
    * Implicit FK to civicrm_option_value where option_group = activity_type
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $activity_type_id;
 
   /**
    * Recontact intervals for each status.
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $recontact_interval;
 
   /**
    * Script instructions for volunteers to use for the survey.
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $instructions;
 
   /**
    * Number of days for recurrence of release.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $release_frequency;
 
   /**
    * Maximum number of contacts to allow for survey.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $max_number_of_contacts;
 
   /**
    * Default number of contacts to allow for survey.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $default_number_of_contacts;
 
   /**
    * Is this survey enabled or disabled/cancelled?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_active;
 
   /**
    * Is this default survey?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_default;
 
   /**
    * FK to civicrm_contact, who created this Survey.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $created_id;
 
   /**
    * Date and time that Survey was created.
    *
-   * @var datetime
+   * @var string|null
+   *   (SQL type: datetime)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $created_date;
 
   /**
    * FK to civicrm_contact, who recently edited this Survey.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $last_modified_id;
 
   /**
    * Date and time that Survey was edited last time.
    *
-   * @var datetime
+   * @var string|null
+   *   (SQL type: datetime)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $last_modified_date;
 
   /**
    * Used to store option group id.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $result_id;
 
   /**
    * Bypass the email verification.
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $bypass_confirm;
 
   /**
    * Title for Thank-you page (header title tag, and display at the top of the page).
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $thankyou_title;
 
   /**
    * text and html allowed. displayed above result on success page
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $thankyou_text;
 
   /**
    * Can people share the petition through social media?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_share;
 
diff --git a/civicrm/CRM/Campaign/Form/Survey/Questions.php b/civicrm/CRM/Campaign/Form/Survey/Questions.php
index 1879f022c5..3dae1e4917 100644
--- a/civicrm/CRM/Campaign/Form/Survey/Questions.php
+++ b/civicrm/CRM/Campaign/Form/Survey/Questions.php
@@ -58,7 +58,7 @@ class CRM_Campaign_Form_Survey_Questions extends CRM_Campaign_Form_Survey {
           'There are no custom data sets for activity type "%1". To create one, <a href="%2" target="%3">click here</a>.',
           [
             1 => $activityTypes[$subTypeId],
-            2 => CRM_Utils_System::url('civicrm/admin/custom/group', 'action=add&reset=1'),
+            2 => CRM_Utils_System::url('civicrm/admin/custom/group/edit', 'action=add&reset=1'),
             3 => '_blank',
           ]
         )
diff --git a/civicrm/CRM/Campaign/Form/Survey/Results.php b/civicrm/CRM/Campaign/Form/Survey/Results.php
index 224172f457..7f5b935419 100644
--- a/civicrm/CRM/Campaign/Form/Survey/Results.php
+++ b/civicrm/CRM/Campaign/Form/Survey/Results.php
@@ -124,7 +124,7 @@ class CRM_Campaign_Form_Survey_Results extends CRM_Campaign_Form_Survey {
 
     // form fields of Custom Option rows
     $defaultOptionValues = [];
-    $_showHide = new CRM_Core_ShowHideBlocks('', '');
+    $_showHide = new CRM_Core_ShowHideBlocks();
 
     $optionAttributes = CRM_Core_DAO::getAttribute('CRM_Core_DAO_OptionValue');
     $optionAttributes['label']['size'] = $optionAttributes['value']['size'] = 25;
@@ -214,7 +214,7 @@ class CRM_Campaign_Form_Survey_Results extends CRM_Campaign_Form_Survey {
     }
 
     $_flagOption = $_rowError = 0;
-    $_showHide = new CRM_Core_ShowHideBlocks('', '');
+    $_showHide = new CRM_Core_ShowHideBlocks();
 
     //capture duplicate Custom option values
     if (!empty($fields['option_value'])) {
diff --git a/civicrm/CRM/Campaign/Form/Survey/TabHeader.php b/civicrm/CRM/Campaign/Form/Survey/TabHeader.php
index 1f924f5ec4..e7bfd2fa56 100644
--- a/civicrm/CRM/Campaign/Form/Survey/TabHeader.php
+++ b/civicrm/CRM/Campaign/Form/Survey/TabHeader.php
@@ -117,7 +117,7 @@ class CRM_Campaign_Form_Survey_TabHeader {
   }
 
   /**
-   * @param $tabs
+   * @param array $tabs
    *
    * @return int|string
    */
@@ -142,7 +142,7 @@ class CRM_Campaign_Form_Survey_TabHeader {
   }
 
   /**
-   * @param $form
+   * @param CRM_Core_Form $form
    *
    * @return int|string
    */
diff --git a/civicrm/CRM/Campaign/Form/Task/Print.php b/civicrm/CRM/Campaign/Form/Task/Print.php
index 96d0171622..fb7af99b94 100644
--- a/civicrm/CRM/Campaign/Form/Task/Print.php
+++ b/civicrm/CRM/Campaign/Form/Task/Print.php
@@ -27,7 +27,7 @@ class CRM_Campaign_Form_Task_Print extends CRM_Campaign_Form_Task {
     parent::preprocess();
 
     // set print view, so that print templates are called
-    $this->controller->setPrint(1);
+    $this->controller->setPrint(CRM_Core_Smarty::PRINT_PAGE);
 
     // get the formatted params
     $queryParams = $this->get('queryParams');
diff --git a/civicrm/CRM/Campaign/Form/Task/Reserve.php b/civicrm/CRM/Campaign/Form/Task/Reserve.php
index 97c1b72d06..a1988f6e6e 100644
--- a/civicrm/CRM/Campaign/Form/Task/Reserve.php
+++ b/civicrm/CRM/Campaign/Form/Task/Reserve.php
@@ -187,7 +187,7 @@ class CRM_Campaign_Form_Task_Reserve extends CRM_Campaign_Form_Task {
    *   Posted values of the form.
    *
    * @param $files
-   * @param $self
+   * @param self $self
    *
    * @return array
    *   list of errors to be posted back to the form
diff --git a/civicrm/CRM/Campaign/Selector/Search.php b/civicrm/CRM/Campaign/Selector/Search.php
index 3f8c035ec4..2c3cdd4856 100644
--- a/civicrm/CRM/Campaign/Selector/Search.php
+++ b/civicrm/CRM/Campaign/Selector/Search.php
@@ -103,7 +103,7 @@ class CRM_Campaign_Selector_Search extends CRM_Core_Selector_Base implements CRM
   /**
    * The query object.
    *
-   * @var string
+   * @var CRM_Contact_BAO_Query
    */
   protected $_query;
 
@@ -348,7 +348,7 @@ class CRM_Campaign_Selector_Search extends CRM_Core_Selector_Base implements CRM
   }
 
   /**
-   * @return string
+   * @return CRM_Contact_BAO_Query
    */
   public function &getQuery() {
     return $this->_query;
diff --git a/civicrm/CRM/Case/BAO/Case.php b/civicrm/CRM/Case/BAO/Case.php
index f28721991b..7dc6181318 100644
--- a/civicrm/CRM/Case/BAO/Case.php
+++ b/civicrm/CRM/Case/BAO/Case.php
@@ -28,21 +28,13 @@ class CRM_Case_BAO_Case extends CRM_Case_DAO_Case {
    */
   public static $_exportableFields = NULL;
 
-  /**
-   * Class constructor.
-   */
-  public function __construct() {
-    parent::__construct();
-  }
-
   /**
    * Is CiviCase enabled?
    *
    * @return bool
    */
   public static function enabled() {
-    $config = CRM_Core_Config::singleton();
-    return in_array('CiviCase', $config->enableComponents);
+    return CRM_Core_Component::isEnabled('CiviCase');
   }
 
   /**
@@ -55,7 +47,7 @@ class CRM_Case_BAO_Case extends CRM_Case_DAO_Case {
    * @param array $params
    *   (reference ) an assoc array of name/value pairs.
    *
-   * @return CRM_Case_BAO_Case
+   * @return CRM_Case_DAO_Case
    */
   public static function add(&$params) {
     $caseDAO = new CRM_Case_DAO_Case();
@@ -72,7 +64,7 @@ class CRM_Case_BAO_Case extends CRM_Case_DAO_Case {
    * @param array $params
    *   (reference) an assoc array of name/value pairs.
    *
-   * @return CRM_Case_BAO_Case
+   * @return CRM_Case_DAO_Case
    */
   public static function &create(&$params) {
     // CRM-20958 - These fields are managed by MySQL triggers. Watch out for clients resaving stale timestamps.
@@ -224,7 +216,7 @@ WHERE civicrm_case.id = %1";
   }
 
   /**
-   * @param $id
+   * @param int $id
    * @return bool
    */
   public static function del($id) {
@@ -1125,8 +1117,8 @@ SELECT civicrm_case.id, case_status.label AS case_status, status_id, civicrm_cas
   /**
    * Helper function to generate a formatted contact link/name for display in the Case activities tab
    *
-   * @param $contactId
-   * @param $contactName
+   * @param int $contactId
+   * @param string $contactName
    *
    * @return string
    */
@@ -1522,16 +1514,16 @@ HERESQL;
   }
 
   /**
-   * @param $groupInfo
+   * @param array $groupInfo
    * @param null $sort
-   * @param null $showLinks
+   * @param bool $showLinks
    * @param bool $returnOnlyCount
    * @param int $offset
    * @param int $rowCount
    *
    * @return array
    */
-  public static function getGlobalContacts(&$groupInfo, $sort = NULL, $showLinks = NULL, $returnOnlyCount = FALSE, $offset = 0, $rowCount = 25) {
+  public static function getGlobalContacts(&$groupInfo, $sort = NULL, $showLinks = FALSE, $returnOnlyCount = FALSE, $offset = 0, $rowCount = 25) {
     $globalContacts = [];
 
     $settingsProcessor = new CRM_Case_XMLProcessor_Settings();
diff --git a/civicrm/CRM/Case/DAO/Case.php b/civicrm/CRM/Case/DAO/Case.php
index f787bdd65d..49e5ba5611 100644
--- a/civicrm/CRM/Case/DAO/Case.php
+++ b/civicrm/CRM/Case/DAO/Case.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Case/Case.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:1ae35a7a60938212678c1585defc3506)
+ * (GenCodeChecksum:9255efc8fc0b791899a006e23eb55341)
  */
 
 /**
@@ -48,68 +48,88 @@ class CRM_Case_DAO_Case extends CRM_Core_DAO {
   /**
    * Unique Case ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * FK to civicrm_case_type.id
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $case_type_id;
 
   /**
    * Short name of the case.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(128))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $subject;
 
   /**
    * Date on which given case starts.
    *
-   * @var date
+   * @var string|null
+   *   (SQL type: date)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $start_date;
 
   /**
    * Date on which given case ends.
    *
-   * @var date
+   * @var string|null
+   *   (SQL type: date)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $end_date;
 
   /**
    * Details populated from Open Case. Only used in the CiviCase extension.
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $details;
 
   /**
    * ID of case status.
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $status_id;
 
   /**
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_deleted;
 
   /**
    * When was the case was created.
    *
-   * @var timestamp
+   * @var string
+   *   (SQL type: timestamp)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $created_date;
 
   /**
    * When was the case (or closely related entity) was created or modified or deleted.
    *
-   * @var timestamp
+   * @var string
+   *   (SQL type: timestamp)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $modified_date;
 
@@ -335,6 +355,7 @@ class CRM_Case_DAO_Case extends CRM_Core_DAO {
           'html' => [
             'label' => ts("Created Date"),
           ],
+          'readonly' => TRUE,
           'add' => '4.7',
         ],
         'case_modified_date' => [
diff --git a/civicrm/CRM/Case/DAO/CaseActivity.php b/civicrm/CRM/Case/DAO/CaseActivity.php
index d887ef82de..bfb3a04997 100644
--- a/civicrm/CRM/Case/DAO/CaseActivity.php
+++ b/civicrm/CRM/Case/DAO/CaseActivity.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Case/CaseActivity.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:e5c1c45fc5dc666a02a3c1e872ba9a2b)
+ * (GenCodeChecksum:473d4047af6f44f1082795d38ef3ff4d)
  */
 
 /**
@@ -34,21 +34,27 @@ class CRM_Case_DAO_CaseActivity extends CRM_Core_DAO {
   /**
    * Unique case-activity association id
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * Case ID of case-activity association.
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $case_id;
 
   /**
    * Activity ID of case-activity association.
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $activity_id;
 
diff --git a/civicrm/CRM/Case/DAO/CaseContact.php b/civicrm/CRM/Case/DAO/CaseContact.php
index 5cafa972a8..b7950e90c8 100644
--- a/civicrm/CRM/Case/DAO/CaseContact.php
+++ b/civicrm/CRM/Case/DAO/CaseContact.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Case/CaseContact.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:e7ecd6e1648086f8925bad0dda6bec31)
+ * (GenCodeChecksum:92ba2cdb76569cdd69d488e73c495374)
  */
 
 /**
@@ -34,21 +34,27 @@ class CRM_Case_DAO_CaseContact extends CRM_Core_DAO {
   /**
    * Unique case-contact association id
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * Case ID of case-contact association.
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $case_id;
 
   /**
    * Contact ID of contact record given case belongs to.
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $contact_id;
 
diff --git a/civicrm/CRM/Case/DAO/CaseType.php b/civicrm/CRM/Case/DAO/CaseType.php
index ec47d3d698..8b5f4651a4 100644
--- a/civicrm/CRM/Case/DAO/CaseType.php
+++ b/civicrm/CRM/Case/DAO/CaseType.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Case/CaseType.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:9080f32e76695319d1e6110372c0900c)
+ * (GenCodeChecksum:1102802dc49a9899f93c16fce57fa141)
  */
 
 /**
@@ -34,7 +34,9 @@ class CRM_Case_DAO_CaseType extends CRM_Core_DAO {
   /**
    * Autoincremented type id
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
@@ -42,6 +44,8 @@ class CRM_Case_DAO_CaseType extends CRM_Core_DAO {
    * Machine name for Case Type
    *
    * @var string
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $name;
 
@@ -49,41 +53,53 @@ class CRM_Case_DAO_CaseType extends CRM_Core_DAO {
    * Natural language name for Case Type
    *
    * @var string
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $title;
 
   /**
    * Description of the Case Type
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $description;
 
   /**
    * Is this case type enabled?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_active;
 
   /**
    * Is this case type a predefined system type?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_reserved;
 
   /**
    * Ordering of the case types
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $weight;
 
   /**
    * xml definition of case type
    *
-   * @var blob
+   * @var string|null
+   *   (SQL type: blob)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $definition;
 
diff --git a/civicrm/CRM/Case/Form/Activity.php b/civicrm/CRM/Case/Form/Activity.php
index 0415212fd8..7b04c4a14b 100644
--- a/civicrm/CRM/Case/Form/Activity.php
+++ b/civicrm/CRM/Case/Form/Activity.php
@@ -329,7 +329,7 @@ class CRM_Case_Form_Activity extends CRM_Activity_Form_Activity {
    *   The input form values.
    * @param array $files
    *   The uploaded files if any.
-   * @param $self
+   * @param self $self
    *
    * @return bool|array
    *   true if no errors, else array of errors
diff --git a/civicrm/CRM/Case/Form/Task/Print.php b/civicrm/CRM/Case/Form/Task/Print.php
index 0c129c2c45..0fa3e68607 100644
--- a/civicrm/CRM/Case/Form/Task/Print.php
+++ b/civicrm/CRM/Case/Form/Task/Print.php
@@ -28,7 +28,7 @@ class CRM_Case_Form_Task_Print extends CRM_Case_Form_Task {
     parent::preProcess();
 
     // set print view, so that print templates are called
-    $this->controller->setPrint(1);
+    $this->controller->setPrint(CRM_Core_Smarty::PRINT_PAGE);
 
     // get the formatted params
     $queryParams = $this->get('queryParams');
diff --git a/civicrm/CRM/Case/PseudoConstant.php b/civicrm/CRM/Case/PseudoConstant.php
index 43661793d1..f480d04f11 100644
--- a/civicrm/CRM/Case/PseudoConstant.php
+++ b/civicrm/CRM/Case/PseudoConstant.php
@@ -26,7 +26,7 @@ class CRM_Case_PseudoConstant extends CRM_Core_PseudoConstant {
    *
    * @param string $column
    * @param bool $onlyActive
-   * @param null $condition
+   * @param string|null $condition
    * @param bool $fresh
    *
    * @return array
@@ -47,8 +47,7 @@ class CRM_Case_PseudoConstant extends CRM_Core_PseudoConstant {
   /**
    * Get all the redaction rules.
    *
-   *
-   * @param null $filter
+   * @param int $filter
    *
    * @return array
    *   array reference of all redaction rules
diff --git a/civicrm/CRM/Case/Selector/Search.php b/civicrm/CRM/Case/Selector/Search.php
index 0f0864e208..a0aabae81c 100644
--- a/civicrm/CRM/Case/Selector/Search.php
+++ b/civicrm/CRM/Case/Selector/Search.php
@@ -106,7 +106,7 @@ class CRM_Case_Selector_Search extends CRM_Core_Selector_Base {
   /**
    * The query object
    *
-   * @var string
+   * @var CRM_Contact_BAO_Query
    */
   protected $_query;
 
@@ -167,7 +167,7 @@ class CRM_Case_Selector_Search extends CRM_Core_Selector_Base {
    * - Edit
    *
    * @param bool $isDeleted
-   * @param null $key
+   * @param string|null $key
    *
    * @return array
    */
@@ -451,7 +451,7 @@ class CRM_Case_Selector_Search extends CRM_Core_Selector_Base {
   }
 
   /**
-   * @return string
+   * @return CRM_Contact_BAO_Query
    */
   public function &getQuery() {
     return $this->_query;
diff --git a/civicrm/CRM/Case/XMLProcessor/Report.php b/civicrm/CRM/Case/XMLProcessor/Report.php
index 4f4b7c6c20..a0cd56a33f 100644
--- a/civicrm/CRM/Case/XMLProcessor/Report.php
+++ b/civicrm/CRM/Case/XMLProcessor/Report.php
@@ -556,7 +556,7 @@ WHERE      a.id = %1
 
   /**
    * @param int $activityTypeID
-   * @param null $dateFormat
+   * @param string|null $dateFormat
    * @param bool $onlyActive
    *
    * @return mixed
diff --git a/civicrm/CRM/Contact/BAO/Contact.php b/civicrm/CRM/Contact/BAO/Contact.php
index 5f63159d4f..9667903c3e 100644
--- a/civicrm/CRM/Contact/BAO/Contact.php
+++ b/civicrm/CRM/Contact/BAO/Contact.php
@@ -81,13 +81,6 @@ class CRM_Contact_BAO_Contact extends CRM_Contact_DAO_Contact implements Civi\Te
    */
   public static $_exportableFields = NULL;
 
-  /**
-   * Class constructor.
-   */
-  public function __construct() {
-    parent::__construct();
-  }
-
   /**
    * Takes an associative array and creates a contact object.
    *
@@ -206,7 +199,7 @@ class CRM_Contact_BAO_Contact extends CRM_Contact_DAO_Contact implements Civi\Te
       $newEmployer = !empty($params['employer_id']) ? $params['employer_id'] : $params['current_employer'] ?? NULL;
 
       $newContact = empty($params['contact_id']);
-      if ($newEmployer) {
+      if (!CRM_Utils_System::isNull($newEmployer)) {
         CRM_Contact_BAO_Contact_Utils::createCurrentEmployerRelationship($contact->id, $newEmployer, $employerId, $newContact);
       }
       elseif ($employerId) {
@@ -240,7 +233,7 @@ class CRM_Contact_BAO_Contact extends CRM_Contact_DAO_Contact implements Civi\Te
    * @param bool $skipDelete
    *   Unclear parameter, passed to website create
    *
-   * @return CRM_Contact_BAO_Contact|CRM_Core_Error
+   * @return CRM_Contact_BAO_Contact|CRM_Core_Error|NULL
    *   Created or updated contribution object. We are deprecating returning an error in
    *   favour of exceptions
    *
@@ -510,6 +503,10 @@ class CRM_Contact_BAO_Contact extends CRM_Contact_DAO_Contact implements Civi\Te
     $missingGreetingParams = [];
 
     foreach ($allGreetingParams as $greetingIndex => $greetingParam) {
+      // An empty string means NULL
+      if (($params[$greetingParam] ?? NULL) === '') {
+        $params[$greetingParam] = 'null';
+      }
       if (empty($params[$greetingParam])) {
         $missingGreetingParams[$greetingIndex] = $greetingParam;
       }
@@ -557,7 +554,7 @@ class CRM_Contact_BAO_Contact extends CRM_Contact_DAO_Contact implements Civi\Te
    * @param bool $includeTypeInReturnParameters
    *   Should type be part of the returned array?
    *
-   * @return array
+   * @return array|null
    *   the displayName and contactImage for this contact
    */
   public static function getDisplayAndImage($id, $includeTypeInReturnParameters = FALSE) {
@@ -1774,7 +1771,7 @@ WHERE     civicrm_contact.id = " . CRM_Utils_Type::escape($id, 'Integer');
    *
    * This is for the query to use, create the right sql.
    *
-   * @param $fields
+   * @param array $fields
    * @param int $contactId
    *   Contact id.
    *
@@ -1847,16 +1844,16 @@ WHERE     civicrm_contact.id = " . CRM_Utils_Type::escape($id, 'Integer');
    *
    * $params int     $contactId contact_id
    * $params boolean $isPrimaryExist if true, return primary contact location type otherwise null
-   * $params boolean $skipDefaultPriamry if true, return primary contact location type otherwise null
+   * $params boolean $skipDefaultPrimary if true, return primary contact location type otherwise null
    *
    * @param int $contactId
-   * @param bool $skipDefaultPriamry
-   * @param null $block
+   * @param bool $skipDefaultPrimary
+   * @param string|null $block
    *
-   * @return int
+   * @return int|NULL
    *   $locationType location_type_id
    */
-  public static function getPrimaryLocationType($contactId, $skipDefaultPriamry = FALSE, $block = NULL) {
+  public static function getPrimaryLocationType($contactId, $skipDefaultPrimary = FALSE, $block = NULL) {
     if ($block) {
       $entityBlock = ['contact_id' => $contactId];
       $blocks = CRM_Core_BAO_Location::getValues($entityBlock);
@@ -1898,7 +1895,7 @@ WHERE  civicrm_contact.id = %1 ";
     if (isset($locationType)) {
       return $locationType;
     }
-    elseif ($skipDefaultPriamry) {
+    elseif ($skipDefaultPrimary) {
       // if there is no primary contact location then return null
       return NULL;
     }
@@ -2113,10 +2110,10 @@ ORDER BY civicrm_email.is_primary DESC";
    * Format profile contact parameters.
    *
    * @param array $params
-   * @param $fields
-   * @param int $contactID
-   * @param int $ufGroupId
-   * @param null $ctype
+   * @param array $fields
+   * @param int|null $contactID
+   * @param int|null $ufGroupId
+   * @param string|null $ctype
    * @param bool $skipCustom
    *
    * @return array
@@ -2694,21 +2691,24 @@ LEFT JOIN civicrm_email    ON ( civicrm_contact.id = civicrm_email.contact_id )
   }
 
   /**
-   * Given the component name and returns the count of participation of contact.
+   * Provides counts for the contact summary tabs.
    *
-   * @param string $component
-   *   Input component name.
+   * @param string $type
+   *   Type of record to count.
    * @param int $contactId
    *   Input contact id.
-   * @param string $tableName
-   *   Optional tableName if component is custom group.
+   * @param string|null $tableName
+   *   Deprecated - do not use
    *
-   * @return int
+   * @return int|false
    *   total number in database
    */
-  public static function getCountComponent($component, $contactId, $tableName = NULL) {
-    $object = NULL;
-    switch ($component) {
+  public static function getCountComponent(string $type, int $contactId, ?string $tableName = NULL) {
+    if ($tableName) {
+      // TODO: Fix LineItemEditor extension to not use this function, then enable warning
+      // CRM_Core_Error::deprecatedWarning('Deprecated argument $tableName passed to ' . __CLASS__ . '::' . __FUNCTION__);
+    }
+    switch ($type) {
       case 'tag':
         return CRM_Core_BAO_EntityTag::getContactTags($contactId, TRUE);
 
@@ -2722,7 +2722,6 @@ LEFT JOIN civicrm_email    ON ( civicrm_contact.id = civicrm_email.contact_id )
         return $result;
 
       case 'group':
-
         return CRM_Contact_BAO_GroupContact::getContactGroup($contactId, "Added", NULL, TRUE, FALSE, FALSE, TRUE, NULL, TRUE);
 
       case 'log':
@@ -2735,13 +2734,13 @@ LEFT JOIN civicrm_email    ON ( civicrm_contact.id = civicrm_email.contact_id )
         return CRM_Core_BAO_Note::getContactNoteCount($contactId);
 
       case 'contribution':
-        if (array_key_exists('CiviContribute', CRM_Core_Component::getEnabledComponents())) {
+        if (CRM_Core_Component::isEnabled('CiviContribute')) {
           return CRM_Contribute_BAO_Contribution::contributionCount($contactId);
         }
         return FALSE;
 
       case 'membership':
-        if (array_key_exists('CiviMember', CRM_Core_Component::getEnabledComponents())) {
+        if (CRM_Core_Component::isEnabled('CiviMember')) {
           return CRM_Member_BAO_Membership::getContactMembershipCount((int) $contactId, TRUE);
         }
         return FALSE;
@@ -2755,9 +2754,6 @@ LEFT JOIN civicrm_email    ON ( civicrm_contact.id = civicrm_email.contact_id )
       case 'case':
         return CRM_Case_BAO_Case::caseCount($contactId);
 
-      case 'grant':
-        return CRM_Grant_BAO_Grant::getContactGrantCount($contactId);
-
       case 'activity':
         $input = [
           'contact_id' => $contactId,
@@ -2772,14 +2768,12 @@ LEFT JOIN civicrm_email    ON ( civicrm_contact.id = civicrm_email.contact_id )
         return CRM_Mailing_BAO_Mailing::getContactMailingsCount($params);
 
       default:
-        $custom = explode('_', $component);
-        if ($custom['0'] = 'custom') {
-          if (!$tableName) {
-            $tableName = CRM_Core_DAO::getFieldValue('CRM_Core_DAO_CustomGroup', $custom['1'], 'table_name');
-          }
-          $queryString = "SELECT count(id) FROM {$tableName} WHERE entity_id = {$contactId}";
-          return CRM_Core_DAO::singleValueQuery($queryString);
+        if (!$tableName) {
+          $custom = explode('_', $type);
+          $tableName = CRM_Core_DAO::getFieldValue('CRM_Core_DAO_CustomGroup', $custom[1], 'table_name');
         }
+        $queryString = "SELECT count(id) FROM $tableName WHERE entity_id = $contactId";
+        return (int) CRM_Core_DAO::singleValueQuery($queryString);
     }
   }
 
@@ -2846,7 +2840,7 @@ LEFT JOIN civicrm_email    ON ( civicrm_contact.id = civicrm_email.contact_id )
         'CRM_Contact_BAO_Contact'
       );
       $emailGreetingString = CRM_Core_DAO::escapeString(CRM_Utils_String::stripSpaces($emailGreetingString));
-      $updateQueryString[] = " email_greeting_display = '{$emailGreetingString}'";
+      $updateQueryString[] = " email_greeting_display = '$emailGreetingString'";
     }
 
     if ($postalGreetingString) {
@@ -2856,7 +2850,7 @@ LEFT JOIN civicrm_email    ON ( civicrm_contact.id = civicrm_email.contact_id )
         'CRM_Contact_BAO_Contact'
       );
       $postalGreetingString = CRM_Core_DAO::escapeString(CRM_Utils_String::stripSpaces($postalGreetingString));
-      $updateQueryString[] = " postal_greeting_display = '{$postalGreetingString}'";
+      $updateQueryString[] = " postal_greeting_display = '$postalGreetingString'";
     }
 
     if ($addresseeString) {
@@ -2866,12 +2860,12 @@ LEFT JOIN civicrm_email    ON ( civicrm_contact.id = civicrm_email.contact_id )
         'CRM_Contact_BAO_Contact'
       );
       $addresseeString = CRM_Core_DAO::escapeString(CRM_Utils_String::stripSpaces($addresseeString));
-      $updateQueryString[] = " addressee_display = '{$addresseeString}'";
+      $updateQueryString[] = " addressee_display = '$addresseeString'";
     }
 
     if (!empty($updateQueryString)) {
       $updateQueryString = implode(',', $updateQueryString);
-      $queryString = "UPDATE civicrm_contact SET {$updateQueryString} WHERE id = {$contact->id}";
+      $queryString = "UPDATE civicrm_contact SET $updateQueryString WHERE id = {$contact->id}";
       CRM_Core_DAO::executeQuery($queryString);
     }
   }
@@ -3138,7 +3132,7 @@ LEFT JOIN civicrm_email    ON ( civicrm_contact.id = civicrm_email.contact_id )
         'class' => 'dashboard',
         // NOTE: As an alternative you can also build url on CMS specific way
         //  as CRM_Core_Config::singleton()->userSystem->getUserRecordUrl($contactId)
-        'href' => CRM_Utils_System::url('civicrm/user', "reset=1&id={$contactId}"),
+        'href' => CRM_Utils_System::url('civicrm/user', "reset=1&id=$contactId"),
         'icon' => 'crm-i fa-tachometer',
       ];
     }
@@ -3274,7 +3268,7 @@ LEFT JOIN civicrm_email    ON ( civicrm_contact.id = civicrm_email.contact_id )
     $componentName = $menuOptions['component'] ?? NULL;
 
     // if component action - make sure component is enable.
-    if ($componentName && !in_array($componentName, CRM_Core_Config::singleton()->enableComponents)) {
+    if ($componentName && !CRM_Core_Component::isEnabled($componentName)) {
       return FALSE;
     }
 
@@ -3377,8 +3371,8 @@ LEFT JOIN civicrm_address ON ( civicrm_address.contact_id = civicrm_contact.id )
   /**
    * Get a list of triggers for the contact table.
    *
-   * @param $info
-   * @param null $tableName
+   * @param array $info
+   * @param string|null $tableName
    *
    * @see http://issues.civicrm.org/jira/browse/CRM-10554
    *
@@ -3532,18 +3526,18 @@ LEFT JOIN civicrm_address ON ( civicrm_address.contact_id = civicrm_contact.id )
    */
   private static function getTemplateForGreeting(string $greetingType, CRM_Contact_DAO_Contact $contact): string {
     $customFieldName = $greetingType . '_custom';
-    if (!CRM_Utils_System::isNull($contact->{$customFieldName})) {
-      return $contact->{$customFieldName};
+    if (!CRM_Utils_System::isNull($contact->$customFieldName)) {
+      return $contact->$customFieldName;
     }
     $idField = $greetingType . '_id';
-    if (!is_numeric($contact->{$idField})) {
+    if (!is_numeric($contact->$idField)) {
       return '';
     }
     $filter = [
       'contact_type' => $contact->contact_type,
       'greeting_type' => $greetingType,
     ];
-    return CRM_Core_PseudoConstant::greeting($filter)[$contact->{$idField}] ?? '';
+    return CRM_Core_PseudoConstant::greeting($filter)[$contact->$idField] ?? '';
   }
 
   /**
@@ -3646,7 +3640,7 @@ LEFT JOIN civicrm_address ON ( civicrm_address.contact_id = civicrm_contact.id )
    * @param array $appendProfiles
    *   Name of profile(s) to append to each link.
    *
-   * @return array
+   * @return array|false
    */
   public static function getEntityRefCreateLinks($appendProfiles = []) {
     // You'd think that "create contacts" would be the permission to check,
diff --git a/civicrm/CRM/Contact/BAO/Contact/Location.php b/civicrm/CRM/Contact/BAO/Contact/Location.php
index 497cf97768..2e3a0fdb99 100644
--- a/civicrm/CRM/Contact/BAO/Contact/Location.php
+++ b/civicrm/CRM/Contact/BAO/Contact/Location.php
@@ -65,8 +65,7 @@ class CRM_Contact_BAO_Contact_Location {
    *
    * @param int $id
    *   Id of the contact.
-   *
-   * @param null $type
+   * @param string|null $type
    *
    * @return array
    *   tuple of display_name and sms if found, or (null,null)
diff --git a/civicrm/CRM/Contact/BAO/Contact/Permission.php b/civicrm/CRM/Contact/BAO/Contact/Permission.php
index 5143831b6c..4c39541e5a 100644
--- a/civicrm/CRM/Contact/BAO/Contact/Permission.php
+++ b/civicrm/CRM/Contact/BAO/Contact/Permission.php
@@ -298,7 +298,7 @@ AND    $operationClause
   }
 
   /**
-   * @param string $contactAlias
+   * @param string[]|string $contactAlias
    *
    * @return array
    */
@@ -504,7 +504,7 @@ SELECT second_degree_relationship.contact_id_{$second_direction['to']} AS contac
 
   /**
    * @param bool $checkSumValidationResult
-   * @param null $form
+   * @param CRM_Core_Form|null $form
    */
   public static function initChecksumAuthSrc($checkSumValidationResult = FALSE, $form = NULL) {
     $session = CRM_Core_Session::singleton();
diff --git a/civicrm/CRM/Contact/BAO/Contact/Utils.php b/civicrm/CRM/Contact/BAO/Contact/Utils.php
index 267c811b45..16ffcc0cd1 100644
--- a/civicrm/CRM/Contact/BAO/Contact/Utils.php
+++ b/civicrm/CRM/Contact/BAO/Contact/Utils.php
@@ -9,6 +9,8 @@
  +--------------------------------------------------------------------+
  */
 
+use Civi\Api4\Contact;
+
 /**
  *
  * @package CRM
@@ -133,12 +135,11 @@ WHERE  id IN ( $idString )
    *   Life of this checksum in hours/ 'inf' for infinite.
    * @param string $hash
    *   Contact hash, if sent, prevents a query in inner loop.
-   *
    * @param string $entityType
-   * @param null $hashSize
+   * @param int|null $hashSize
    *
-   * @return array
-   *   ( $cs, $ts, $live )
+   * @return string
+   *   (Underscore separated: $cs, $ts, $live )
    * @throws \CRM_Core_Exception
    */
   public static function generateChecksum($entityId, $ts = NULL, $live = NULL, $hash = NULL, $entityType = 'contact', $hashSize = NULL) {
@@ -243,70 +244,81 @@ WHERE  id IN ( $idString )
    *
    * @param int $contactID
    *   Contact id of the individual.
-   * @param $organization
+   * @param int|string $employerID
    *   (id or name).
-   * @param int $previousEmployerID
+   * @param int|null $previousEmployerID
    * @param bool $newContact
    *
+   * @throws \API_Exception
    * @throws \CRM_Core_Exception
    * @throws \CiviCRM_API3_Exception
    */
-  public static function createCurrentEmployerRelationship($contactID, $organization, $previousEmployerID = NULL, $newContact = FALSE) {
-    //if organization name is passed. CRM-15368,CRM-15547
-    if (!CRM_Utils_System::isNull($organization) && !is_numeric($organization)) {
-      $dupeIDs = CRM_Contact_BAO_Contact::getDuplicateContacts(['organization_name' => $organization], 'Organization', 'Unsupervised', [], FALSE);
-
-      if (is_array($dupeIDs) && !empty($dupeIDs)) {
-        // we should create relationship only w/ first org CRM-4193
-        foreach ($dupeIDs as $orgId) {
-          $organization = $orgId;
-          break;
-        }
-      }
-      else {
-        //create new organization
-        $newOrg = [
+  public static function createCurrentEmployerRelationship($contactID, $employerID, $previousEmployerID = NULL, $newContact = FALSE) {
+    if (!$employerID) {
+      // This function is not called in core with no organization & should not be
+      // Refs CRM-15368,CRM-15547
+      CRM_Core_Error::deprecatedWarning('calling this function with no organization is deprecated');
+      return;
+    }
+    if (!is_numeric($employerID)) {
+      $dupeIDs = CRM_Contact_BAO_Contact::getDuplicateContacts(['organization_name' => $employerID], 'Organization', 'Unsupervised', [], FALSE);
+      $employerID = reset($dupeIDs) ?: Contact::create(FALSE)
+        ->setValues([
           'contact_type' => 'Organization',
-          'organization_name' => $organization,
-        ];
-        $org = CRM_Contact_BAO_Contact::create($newOrg);
-        $organization = $org->id;
-      }
+          'organization_name' => $employerID,
+        ])->execute()->first()['id'];
     }
 
-    if ($organization && is_numeric($organization)) {
+    $relationshipTypeID = CRM_Contact_BAO_RelationshipType::getEmployeeRelationshipTypeID();
+    if (!CRM_Contact_BAO_Contact::getContactType($contactID) || !CRM_Contact_BAO_Contact::getContactType($employerID)) {
+      // There doesn't seem to be any reason to think this would ever be true but there
+      // was a previous more complicated check.
+      CRM_Core_Error::deprecatedWarning('attempting to create an employer with invalid contact types is deprecated');
+      return;
+    }
+    // create employee of relationship
+    [$duplicate, $relationshipIds]
+      = self::legacyCreateMultiple($relationshipTypeID, $employerID, $contactID);
 
-      // get the relationship type id of "Employee of"
-      $relTypeId = CRM_Core_DAO::getFieldValue('CRM_Contact_DAO_RelationshipType', 'Employee of', 'id', 'name_a_b');
-      if (!$relTypeId) {
-        throw new CRM_Core_Exception(ts("You seem to have deleted the relationship type 'Employee of'"));
-      }
+    // In case we change employer, clean previous employer related records.
+    if (!$previousEmployerID && !$newContact) {
+      $previousEmployerID = CRM_Core_DAO::getFieldValue('CRM_Contact_DAO_Contact', $contactID, 'employer_id');
+    }
+    if ($previousEmployerID &&
+      $previousEmployerID != $employerID
+    ) {
+      self::clearCurrentEmployer($contactID, $previousEmployerID);
+    }
 
-      // create employee of relationship
-      $relationshipParams = [
-        'is_active' => TRUE,
-        'relationship_type_id' => $relTypeId . '_a_b',
-        'contact_check' => [$organization => TRUE],
-      ];
-      [$valid, $invalid, $duplicate, $saved, $relationshipIds]
-        = self::legacyCreateMultiple($relationshipParams, $contactID);
-
-      // In case we change employer, clean previous employer related records.
-      if (!$previousEmployerID && !$newContact) {
-        $previousEmployerID = CRM_Core_DAO::getFieldValue('CRM_Contact_DAO_Contact', $contactID, 'employer_id');
-      }
-      if ($previousEmployerID &&
-        $previousEmployerID != $organization
-      ) {
-        self::clearCurrentEmployer($contactID, $previousEmployerID);
-      }
+    // set current employer
+    self::setCurrentEmployer([$contactID => $employerID]);
 
-      // set current employer
-      self::setCurrentEmployer([$contactID => $organization]);
+    $ids = [];
+    $action = CRM_Core_Action::ADD;
+
+    //we do not know that triggered relationship record is active.
+    if ($duplicate) {
+      $relationship = new CRM_Contact_DAO_Relationship();
+      $relationship->contact_id_a = $contactID;
+      $relationship->contact_id_b = $employerID;
+      $relationship->relationship_type_id = $relationshipTypeID;
+      if ($relationship->find(TRUE)) {
+        $action = CRM_Core_Action::UPDATE;
+        $ids['contact'] = $contactID;
+        $ids['contactTarget'] = $employerID;
+        $ids['relationship'] = $relationship->id;
+        CRM_Contact_BAO_Relationship::setIsActive($relationship->id, TRUE);
+      }
+    }
 
-      $relationshipParams['relationship_ids'] = $relationshipIds;
-      // Handle related memberships. CRM-3792
-      self::currentEmployerRelatedMembership($contactID, $organization, $relationshipParams, $duplicate, $previousEmployerID);
+    //need to handle related memberships. CRM-3792
+    if ($previousEmployerID != $employerID) {
+      CRM_Contact_BAO_Relationship::relatedMemberships($contactID, [
+        'relationship_ids' => $relationshipIds,
+        'is_active' => 1,
+        'contact_check' => [$employerID => TRUE],
+        'relationship_type_id' => $relationshipTypeID . '_a_b',
+      ], $ids, $action);
     }
   }
 
@@ -319,78 +331,53 @@ WHERE  id IN ( $idString )
    * For multiple a new variant of this function needs to be written and migrated to as this is a bit
    * nasty
    *
-   * @param array $params
-   *   (reference ) an assoc array of name/value pairs.
+   * @param int $relationshipTypeID
+   * @param int $organizationID
    * @param int $contactID
    *
    * @return array
    * @throws \CRM_Core_Exception
    * @throws \CiviCRM_API3_Exception
    */
-  private static function legacyCreateMultiple(&$params, int $contactID) {
-    $valid = $invalid = $duplicate = $saved = 0;
-    $relationships = $relationshipIds = [];
+  private static function legacyCreateMultiple(int $relationshipTypeID, int $organizationID, int $contactID): array {
+    $params = [
+      'is_active' => TRUE,
+      'relationship_type_id' => $relationshipTypeID . '_a_b',
+      'contact_check' => [$organizationID => TRUE],
+    ];
     $ids = ['contact' => $contactID];
-    $relationshipId = NULL;
-
-    //CRM-9015 - the hooks are called here & in add (since add doesn't call create)
-    // but in future should be tidied per ticket
-    $hook = 'create';
-    // @todo pre hook is called from add - remove it from here
-    CRM_Utils_Hook::pre($hook, 'Relationship', $relationshipId, $params);
-
-    if (!$relationshipId) {
-      // creating a new relationship
-      $dataExists = CRM_Contact_BAO_Relationship::dataExists($params);
-      if (!$dataExists) {
-        return [FALSE, TRUE, FALSE, FALSE, NULL];
-      }
-      $relationshipIds = [];
-      foreach ($params['contact_check'] as $key => $value) {
-        // check if the relationship is valid between contacts.
-        // step 1: check if the relationship is valid if not valid skip and keep the count
-        // step 2: check the if two contacts already have a relationship if yes skip and keep the count
-        // step 3: if valid relationship then add the relation and keep the count
-
-        // step 1
-        $contactFields = CRM_Contact_BAO_Relationship::setContactABFromIDs($params, $ids, $key);
-        $errors = CRM_Contact_BAO_Relationship::checkValidRelationship($contactFields, $ids, $key);
-        if ($errors) {
-          $invalid++;
-          continue;
-        }
 
-        //CRM-16978:check duplicate relationship as per case id.
-        if ($caseId = CRM_Utils_Array::value('case_id', $params)) {
-          $contactFields['case_id'] = $caseId;
-        }
-        if (
-          CRM_Contact_BAO_Relationship::checkDuplicateRelationship(
-            $contactFields,
-            CRM_Utils_Array::value('contact', $ids),
-            // step 2
-            $key
-          )
-        ) {
-          $duplicate++;
-          continue;
-        }
+    $relationshipIds = [];
+    // check if the relationship is valid between contacts.
+    // step 1: check if the relationship is valid if not valid skip and keep the count
+    // step 2: check the if two contacts already have a relationship if yes skip and keep the count
+    // step 3: if valid relationship then add the relation and keep the count
+
+    // step 1
+    $contactFields = [
+      'contact_id_a' => $contactID,
+      'contact_id_b' => $organizationID,
+      'relationship_type_id' => $relationshipTypeID,
+    ];
 
-        $singleInstanceParams = array_merge($params, $contactFields);
-        $relationship = CRM_Contact_BAO_Relationship::add($singleInstanceParams);
-        $relationshipIds[] = $relationship->id;
-        $relationships[$relationship->id] = $relationship;
-        $valid++;
-      }
-      // editing the relationship
+    if (
+      CRM_Contact_BAO_Relationship::checkDuplicateRelationship(
+        $contactFields,
+        $contactID,
+        // step 2
+        $organizationID
+      )
+    ) {
+      return [1, []];
     }
 
-    // do not add to recent items for import, CRM-4399
-    if (!(!empty($params['skipRecentView']) || $invalid || $duplicate)) {
-      CRM_Contact_BAO_Relationship::addRecent($params, $relationship);
-    }
+    $singleInstanceParams = array_merge($params, $contactFields);
+    $relationship = CRM_Contact_BAO_Relationship::add($singleInstanceParams);
+    $relationshipIds[] = $relationship->id;
+
+    CRM_Contact_BAO_Relationship::addRecent($params, $relationship);
 
-    return [$valid, $invalid, $duplicate, $saved, $relationshipIds, $relationships];
+    return [0, $relationshipIds];
   }
 
   /**
@@ -405,34 +392,13 @@ WHERE  id IN ( $idString )
    * @param bool $duplicate
    *   Are we triggered existing relationship.
    *
-   * @param int $previousEmpID
+   * @param int $previousEmployerID
    *
    * @throws CiviCRM_API3_Exception
    * @throws \CRM_Core_Exception
    */
-  private static function currentEmployerRelatedMembership($contactID, $employerID, $relationshipParams, $duplicate = FALSE, $previousEmpID = NULL) {
-    $ids = [];
-    $action = CRM_Core_Action::ADD;
-
-    //we do not know that triggered relationship record is active.
-    if ($duplicate) {
-      $relationship = new CRM_Contact_DAO_Relationship();
-      $relationship->contact_id_a = $contactID;
-      $relationship->contact_id_b = $employerID;
-      $relationship->relationship_type_id = $relationshipParams['relationship_type_id'];
-      if ($relationship->find(TRUE)) {
-        $action = CRM_Core_Action::UPDATE;
-        $ids['contact'] = $contactID;
-        $ids['contactTarget'] = $employerID;
-        $ids['relationship'] = $relationship->id;
-        CRM_Contact_BAO_Relationship::setIsActive($relationship->id, TRUE);
-      }
-    }
+  private static function currentEmployerRelatedMembership($contactID, $employerID, $relationshipParams, $duplicate = FALSE, $previousEmployerID = NULL) {
 
-    //need to handle related meberships. CRM-3792
-    if ($previousEmpID != $employerID) {
-      CRM_Contact_BAO_Relationship::relatedMemberships($contactID, $relationshipParams, $ids, $action);
-    }
   }
 
   /**
@@ -482,16 +448,13 @@ WHERE id={$contactId}; ";
 
     $dao = CRM_Core_DAO::executeQuery($query);
 
-    // need to handle related meberships. CRM-3792
+    // need to handle related memberships. CRM-3792
     if ($employerId) {
       //1. disable corresponding relationship.
       //2. delete related membership.
 
       //get the relationship type id of "Employee of"
-      $relTypeId = CRM_Core_DAO::getFieldValue('CRM_Contact_DAO_RelationshipType', 'Employee of', 'id', 'name_a_b');
-      if (!$relTypeId) {
-        throw new CRM_Core_Exception(ts("You seem to have deleted the relationship type 'Employee of'"));
-      }
+      $relTypeId = CRM_Contact_BAO_RelationshipType::getEmployeeRelationshipTypeID();
       $relMembershipParams['relationship_type_id'] = $relTypeId . '_a_b';
       $relMembershipParams['contact_check'][$employerId] = 1;
 
@@ -1061,17 +1024,12 @@ INNER JOIN civicrm_contact contact_target ON ( contact_target.id = act.contact_i
     }
 
     if (empty($filterContactFldIds)) {
-      $greetingDetails = [];
-      $filterContactFldIds[] = 0;
-    }
-    else {
-      // we do token replacement in the replaceGreetingTokens hook
-      [$greetingDetails] = CRM_Utils_Token::getTokenDetails(array_keys($filterContactFldIds), $greetingsReturnProperties, FALSE, FALSE);
+      return;
     }
     // perform token replacement and build update SQL
     $contactIds = [];
     $cacheFieldQuery = "UPDATE civicrm_contact SET {$greeting}_display = CASE id ";
-    foreach ($greetingDetails as $contactID => $contactDetails) {
+    foreach (array_keys($filterContactFldIds) as $contactID) {
       if (!$processAll &&
         !array_key_exists($contactID, $filterContactFldIds)
       ) {
@@ -1092,7 +1050,7 @@ INNER JOIN civicrm_contact contact_target ON ( contact_target.id = act.contact_i
         }
       }
 
-      self::processGreetingTemplate($greetingString, $contactDetails, $contactID, 'CRM_UpdateGreeting');
+      self::processGreetingTemplate($greetingString, [], $contactID, 'CRM_UpdateGreeting');
       $greetingString = CRM_Core_DAO::escapeString($greetingString);
       $cacheFieldQuery .= " WHEN {$contactID} THEN '{$greetingString}' ";
 
diff --git a/civicrm/CRM/Contact/BAO/ContactType.php b/civicrm/CRM/Contact/BAO/ContactType.php
index f47c901ba3..39d769660d 100644
--- a/civicrm/CRM/Contact/BAO/ContactType.php
+++ b/civicrm/CRM/Contact/BAO/ContactType.php
@@ -105,7 +105,7 @@ class CRM_Contact_BAO_ContactType extends CRM_Contact_DAO_ContactType implements
   /**
    * Retrieve all subtypes Information.
    *
-   * @param array $contactType
+   * @param string|null $contactType
    * @param bool $all
    *
    * @return array
@@ -130,8 +130,7 @@ class CRM_Contact_BAO_ContactType extends CRM_Contact_DAO_ContactType implements
    *
    *   retrieve all subtypes
    *
-   * @param array $contactType
-   *   ..
+   * @param string|null $contactType
    * @param bool $all
    * @param string $columnName
    * @param bool $ignoreCache
@@ -143,7 +142,7 @@ class CRM_Contact_BAO_ContactType extends CRM_Contact_DAO_ContactType implements
    */
   public static function subTypes($contactType = NULL, $all = FALSE, $columnName = 'name', $ignoreCache = FALSE) {
     if ($columnName === 'name') {
-      return array_keys(self::subTypeInfo($contactType, $all, $ignoreCache));
+      return array_keys(self::subTypeInfo($contactType, $all));
     }
     else {
       return array_values(self::subTypePairs($contactType, FALSE, NULL, $ignoreCache));
@@ -156,14 +155,14 @@ class CRM_Contact_BAO_ContactType extends CRM_Contact_DAO_ContactType implements
    *
    * @param array $contactType
    * @param bool $all
-   * @param string $labelPrefix
+   * @param string|null $labelPrefix
    * @param bool $ignoreCache
    *
    * @return array
    *   list of subtypes with name as 'subtype-name' and 'label' as value
    */
   public static function subTypePairs($contactType = NULL, $all = FALSE, $labelPrefix = '- ', $ignoreCache = FALSE) {
-    $subtypes = self::subTypeInfo($contactType, $all, $ignoreCache);
+    $subtypes = self::subTypeInfo($contactType, $all);
 
     $pairs = [];
     foreach ($subtypes as $name => $info) {
@@ -212,8 +211,8 @@ class CRM_Contact_BAO_ContactType extends CRM_Contact_DAO_ContactType implements
    * Retrieve basic type pairs with name as 'built-in name' and 'label' as value.
    *
    * @param bool $all
-   * @param null $typeName
-   * @param null $delimiter
+   * @param array|string|null $typeName
+   * @param string|null $delimiter
    *
    * @return array|string
    *   Array of basictypes with name as 'built-in name' and 'label' as value
diff --git a/civicrm/CRM/Contact/BAO/Group.php b/civicrm/CRM/Contact/BAO/Group.php
index 9a096e1ec1..0342416cff 100644
--- a/civicrm/CRM/Contact/BAO/Group.php
+++ b/civicrm/CRM/Contact/BAO/Group.php
@@ -18,13 +18,6 @@ use Civi\Api4\Group;
  */
 class CRM_Contact_BAO_Group extends CRM_Contact_DAO_Group {
 
-  /**
-   * Class constructor.
-   */
-  public function __construct() {
-    parent::__construct();
-  }
-
   /**
    * Retrieve DB object based on input parameters.
    *
@@ -1117,12 +1110,12 @@ WHERE  id IN $groupIdString
    *
    * This is a recursive function filling the $hierarchy parameter.
    *
-   * @param $hierarchy
-   * @param $group
-   * @param $tree
-   * @param $titleOnly
-   * @param $spacer
-   * @param $level
+   * @param array $hierarchy
+   * @param array $group
+   * @param array $tree
+   * @param bool $titleOnly
+   * @param string $spacer
+   * @param int $level
    */
   private static function buildGroupHierarchy(&$hierarchy, $group, $tree, $titleOnly, $spacer, $level) {
     $spaces = str_repeat($spacer, $level);
@@ -1142,7 +1135,7 @@ WHERE  id IN $groupIdString
     // For performance reasons we use a for loop rather than a foreach.
     // Metrics for performance in an installation with 2867 groups a foreach
     // caused the function getGroupsHierarchy with a foreach execution takes
-    // around 2.2 seoonds (2,200 ms).
+    // around 2.2 seconds (2,200 ms).
     // Changing to a for loop execustion takes around 0.02 seconds (20 ms).
     if (isset($tree[$group['id']]) && is_array($tree[$group['id']])) {
       for ($i = 0; $i < count($tree[$group['id']]); $i++) {
diff --git a/civicrm/CRM/Contact/BAO/GroupContact.php b/civicrm/CRM/Contact/BAO/GroupContact.php
index b6219c0bad..c6891ebd3d 100644
--- a/civicrm/CRM/Contact/BAO/GroupContact.php
+++ b/civicrm/CRM/Contact/BAO/GroupContact.php
@@ -16,13 +16,6 @@
  */
 class CRM_Contact_BAO_GroupContact extends CRM_Contact_DAO_GroupContact {
 
-  /**
-   * Class constructor.
-   */
-  public function __construct() {
-    parent::__construct();
-  }
-
   /**
    * Takes an associative array and creates a groupContact object.
    *
@@ -487,61 +480,20 @@ SELECT    *
   }
 
   /**
-   * Creates / removes contacts from the groups
+   * Deprecated create function.
+   *
+   * @deprecated
    *
    * @param array $params
-   *   Name/value pairs.
-   * @param int $contactId
-   *   Contact id.
-   * @param bool $ignorePermission
-   *   if ignorePermission is true we are coming in via profile mean $method = 'Web'
-   * @param string $method
    *
-   * @return CRM_Contact_BAO_GroupContact|void
+   * @return CRM_Contact_BAO_GroupContact
    */
-  public static function create($params, $contactId, $ignorePermission = FALSE, $method = 'Admin') {
-    if (empty($contactId)) {
-      return self::add($params);
-    }
-
+  public static function create(array $params) {
     // @fixme create was only called from CRM_Contact_BAO_Contact::createProfileContact
-    //   Now it's not called from anywhere so we can remove the below code after some time
-    CRM_Core_Error::deprecatedFunctionWarning('Use the GroupContact API');
+    // As of Aug 2020 it's not called from anywhere so we can remove the below code after some time
 
-    $contactIds = [$contactId];
-    $contactGroup = [];
-
-    if ($contactId) {
-      $contactGroupList = CRM_Contact_BAO_GroupContact::getContactGroup($contactId, 'Added',
-        NULL, FALSE, $ignorePermission
-      );
-      if (is_array($contactGroupList)) {
-        foreach ($contactGroupList as $key) {
-          $groupId = $key['group_id'];
-          $contactGroup[$groupId] = $groupId;
-        }
-      }
-    }
-
-    // get the list of all the groups
-    $allGroup = CRM_Contact_BAO_GroupContact::getGroupList(0, $ignorePermission);
-
-    // this fix is done to prevent warning generated by array_key_exits incase of empty array is given as input
-    if (!is_array($params)) {
-      $params = [];
-    }
-
-    // check which values has to be add/remove contact from group
-    foreach ($allGroup as $key => $varValue) {
-      if (!empty($params[$key]) && !array_key_exists($key, $contactGroup)) {
-        // add contact to group
-        CRM_Contact_BAO_GroupContact::addContactsToGroup($contactIds, $key, $method);
-      }
-      elseif (empty($params[$key]) && array_key_exists($key, $contactGroup)) {
-        // remove contact from group
-        CRM_Contact_BAO_GroupContact::removeContactsFromGroup($contactIds, $key, $method);
-      }
-    }
+    CRM_Core_Error::deprecatedFunctionWarning('Use the GroupContact API');
+    return self::add($params);
   }
 
   /**
diff --git a/civicrm/CRM/Contact/BAO/GroupContactCache.php b/civicrm/CRM/Contact/BAO/GroupContactCache.php
index a393da2d45..e32acb047c 100644
--- a/civicrm/CRM/Contact/BAO/GroupContactCache.php
+++ b/civicrm/CRM/Contact/BAO/GroupContactCache.php
@@ -309,7 +309,7 @@ WHERE  id IN ( $groupIDs )
    * Remove one or more contacts from the smart group cache.
    *
    * @param int|array $cid
-   * @param null $groupId
+   * @param int|null $groupId
    *
    * @return bool
    *   TRUE if successful.
diff --git a/civicrm/CRM/Contact/BAO/GroupOrganization.php b/civicrm/CRM/Contact/BAO/GroupOrganization.php
index 371c51bf73..87c45ab196 100644
--- a/civicrm/CRM/Contact/BAO/GroupOrganization.php
+++ b/civicrm/CRM/Contact/BAO/GroupOrganization.php
@@ -16,13 +16,6 @@
  */
 class CRM_Contact_BAO_GroupOrganization extends CRM_Contact_DAO_GroupOrganization {
 
-  /**
-   * Class constructor.
-   */
-  public function __construct() {
-    parent::__construct();
-  }
-
   /**
    * Takes an associative array and creates a groupOrganization object.
    *
@@ -68,7 +61,7 @@ class CRM_Contact_BAO_GroupOrganization extends CRM_Contact_DAO_GroupOrganizatio
 
   /**
    * @param int $groupID
-   * @param $defaults
+   * @param array $defaults
    */
   public static function retrieve($groupID, &$defaults) {
     $dao = new CRM_Contact_DAO_GroupOrganization();
diff --git a/civicrm/CRM/Contact/BAO/Household.php b/civicrm/CRM/Contact/BAO/Household.php
index c3683d4b32..217db2ad8e 100644
--- a/civicrm/CRM/Contact/BAO/Household.php
+++ b/civicrm/CRM/Contact/BAO/Household.php
@@ -16,13 +16,6 @@
  */
 class CRM_Contact_BAO_Household extends CRM_Contact_DAO_Contact {
 
-  /**
-   * Class constructor.
-   */
-  public function __construct() {
-    parent::__construct();
-  }
-
   /**
    * Update the household with primary contact id.
    *
diff --git a/civicrm/CRM/Contact/BAO/ProximityQuery.php b/civicrm/CRM/Contact/BAO/ProximityQuery.php
index 8119557cd0..b864f1eae0 100644
--- a/civicrm/CRM/Contact/BAO/ProximityQuery.php
+++ b/civicrm/CRM/Contact/BAO/ProximityQuery.php
@@ -35,11 +35,23 @@ class CRM_Contact_BAO_ProximityQuery {
    */
 
   /**
-   * @var string
+   * @var float
    */
   static protected $_earthFlattening;
+
+  /**
+   * @var float
+   */
   static protected $_earthRadiusSemiMinor;
+
+  /**
+   * @var float
+   */
   static protected $_earthRadiusSemiMajor;
+
+  /**
+   * @var float
+   */
   static protected $_earthEccentricitySQ;
 
   public static function initialize() {
@@ -353,9 +365,8 @@ ACOS(
 
   /**
    * @param array $input
-   * retun void
    *
-   * @return null
+   * @return void
    */
   public static function fixInputParams(&$input) {
     foreach ($input as $param) {
@@ -378,7 +389,6 @@ ACOS(
             }
           }
         }
-        return NULL;
       }
     }
   }
diff --git a/civicrm/CRM/Contact/BAO/Query.php b/civicrm/CRM/Contact/BAO/Query.php
index 09281671fc..e9fda0f665 100644
--- a/civicrm/CRM/Contact/BAO/Query.php
+++ b/civicrm/CRM/Contact/BAO/Query.php
@@ -581,7 +581,11 @@ class CRM_Contact_BAO_Query {
     }
     if (isset($component) && !$this->_skipPermission) {
       // Unit test coverage in api_v3_FinancialTypeACLTest::testGetACLContribution.
-      CRM_Financial_BAO_FinancialType::buildPermissionedClause($this->_whereClause, $component);
+      $clauses = CRM_Financial_BAO_FinancialType::buildPermissionedClause($component);
+      if (!empty($this->_whereClause) && !empty($clauses)) {
+        $this->_whereClause .= ' AND ';
+      }
+      $this->_whereClause .= $clauses;
     }
 
     $this->_fromClause = self::fromClause($this->_tables, NULL, NULL, $this->_primaryLocation, $this->_mode, $apiEntity);
@@ -2038,7 +2042,7 @@ class CRM_Contact_BAO_Query {
    * @return string
    * @throws \CRM_Core_Exception
    */
-  public function whereClause($isForcePrimaryEmailOnly = NULL) {
+  public function whereClause($isForcePrimaryEmailOnly = NULL): string {
     $this->_where[0] = [];
     $this->_qill[0] = [];
 
@@ -2539,7 +2543,7 @@ class CRM_Contact_BAO_Query {
    *   Search on primary location. See note below.
    * @param int $mode
    *   Determines search mode based on bitwise MODE_* constants.
-   * @param string|NULL $apiEntity
+   * @param string|null $apiEntity
    *   Determines search mode based on entity by string.
    *
    * The $primaryLocation flag only seems to be used when
@@ -4869,16 +4873,15 @@ civicrm_relationship.start_date > {$today}
   }
 
   /**
-   * Include Select columns in groupBy clause.
+   * Include select columns in groupBy clause.
    *
    * @param array $selectClauses
-   * @param array $groupBy - Columns already included in GROUP By clause.
+   * @param array|string|null $groupBy - Columns already included in GROUP By clause.
    *
    * @return string
    */
   public static function getGroupByFromSelectColumns($selectClauses, $groupBy = NULL) {
     $groupBy = (array) $groupBy;
-    $mysqlVersion = CRM_Core_DAO::singleValueQuery('SELECT VERSION()');
     $sqlMode = CRM_Core_DAO::singleValueQuery('SELECT @@sql_mode');
 
     //return if ONLY_FULL_GROUP_BY is not enabled.
@@ -4948,7 +4951,7 @@ civicrm_relationship.start_date > {$today}
    *
    * @param bool $skipOrderAndLimit
    *
-   * @return CRM_Core_DAO
+   * @return string|null|CRM_Core_DAO
    */
   public function searchQuery(
     $offset = 0, $rowCount = 0, $sort = NULL,
@@ -5700,7 +5703,6 @@ civicrm_relationship.start_date > {$today}
       ts('Activities') => 'civicrm_activity',
       ts('Pledges') => 'civicrm_pledge',
       ts('Cases') => 'civicrm_case',
-      ts('Grants') => 'civicrm_grant',
       ts('Address Fields') => 'civicrm_address',
       ts('Notes') => 'civicrm_note',
       ts('Change Log') => 'civicrm_log',
diff --git a/civicrm/CRM/Contact/BAO/Query/Hook.php b/civicrm/CRM/Contact/BAO/Query/Hook.php
index 9b9493c782..ae6ee974a3 100644
--- a/civicrm/CRM/Contact/BAO/Query/Hook.php
+++ b/civicrm/CRM/Contact/BAO/Query/Hook.php
@@ -43,8 +43,7 @@ class CRM_Contact_BAO_Query_Hook {
   /**
    * Get or build the list of search objects (via hook).
    *
-   * @return array
-   *   Array of CRM_Contact_BAO_Query_Interface objects
+   * @return CRM_Contact_BAO_Query_Interface[]
    */
   public function getSearchQueryObjects() {
     if ($this->_queryObjects === NULL) {
@@ -150,4 +149,18 @@ class CRM_Contact_BAO_Query_Hook {
     }
   }
 
+  /**
+   * @param $mode
+   * @return array|null
+   */
+  public function getDefaultReturnProperties($mode) {
+    foreach (self::getSearchQueryObjects() as $obj) {
+      $properties = $obj::defaultReturnProperties($mode);
+      if ($properties) {
+        return $properties;
+      }
+    }
+    return NULL;
+  }
+
 }
diff --git a/civicrm/CRM/Contact/BAO/Query/Interface.php b/civicrm/CRM/Contact/BAO/Query/Interface.php
index 4e34cdd449..2aa1ba29e8 100644
--- a/civicrm/CRM/Contact/BAO/Query/Interface.php
+++ b/civicrm/CRM/Contact/BAO/Query/Interface.php
@@ -29,42 +29,30 @@ abstract class CRM_Contact_BAO_Query_Interface {
    *
    * @return mixed
    */
-  abstract public function from($fieldName, $mode, $side);
+  abstract public static function from($fieldName, $mode, $side);
 
   /**
    * @param $query
-   *
-   * @return null
    */
-  public function select(&$query) {
-    return NULL;
+  public static function select(&$query) {
   }
 
   /**
    * @param $query
-   *
-   * @return null
    */
-  public function where(&$query) {
-    return NULL;
+  public static function where(&$query) {
   }
 
   /**
    * @param $tables
-   *
-   * @return null
    */
   public function setTableDependency(&$tables) {
-    return NULL;
   }
 
   /**
    * @param $panes
-   *
-   * @return null
    */
   public function registerAdvancedSearchPane(&$panes) {
-    return NULL;
   }
 
   /**
@@ -105,4 +93,13 @@ abstract class CRM_Contact_BAO_Query_Interface {
   public function alterSearchBuilderOptions(&$apiEntities, &$fieldOptions) {
   }
 
+  /**
+   * @param $mode
+   * @param $includeCustomFields
+   * @return array|null
+   */
+  public static function defaultReturnProperties($mode) {
+    return NULL;
+  }
+
 }
diff --git a/civicrm/CRM/Contact/BAO/Relationship.php b/civicrm/CRM/Contact/BAO/Relationship.php
index 226d0c0940..3294f08471 100644
--- a/civicrm/CRM/Contact/BAO/Relationship.php
+++ b/civicrm/CRM/Contact/BAO/Relationship.php
@@ -55,7 +55,8 @@ class CRM_Contact_BAO_Relationship extends CRM_Contact_DAO_Relationship {
       throw new CRM_Core_Exception('Duplicate Relationship');
     }
     $params = $extendedParams;
-    if (self::checkValidRelationship($params, $params, 0)) {
+    if (!CRM_Contact_BAO_Relationship::checkRelationshipType($params['contact_id_a'], $params['contact_id_b'],
+      $params['relationship_type_id'])) {
       throw new CRM_Core_Exception('Invalid Relationship');
     }
     $relationship = self::add($params);
@@ -162,112 +163,61 @@ class CRM_Contact_BAO_Relationship extends CRM_Contact_DAO_Relationship {
    * @return array
    * @throws \CRM_Core_Exception
    */
-  public static function legacyCreateMultiple(&$params, $ids = []) {
-    $valid = $invalid = $duplicate = $saved = 0;
-    $relationships = $relationshipIds = [];
-    $relationshipId = CRM_Utils_Array::value('relationship', $ids, CRM_Utils_Array::value('id', $params));
-
-    //CRM-9015 - the hooks are called here & in add (since add doesn't call create)
-    // but in future should be tidied per ticket
-    if (empty($relationshipId)) {
-      $hook = 'create';
-    }
-    else {
-      $hook = 'edit';
-    }
-
-    // @todo pre hook is called from add - remove it from here
-    CRM_Utils_Hook::pre($hook, 'Relationship', $relationshipId, $params);
-
-    if (!$relationshipId) {
-      // creating a new relationship
-      $dataExists = self::dataExists($params);
-      if (!$dataExists) {
-        return [FALSE, TRUE, FALSE, FALSE, NULL];
-      }
-      $relationshipIds = [];
-      foreach ($params['contact_check'] as $key => $value) {
-        // check if the relationship is valid between contacts.
-        // step 1: check if the relationship is valid if not valid skip and keep the count
-        // step 2: check the if two contacts already have a relationship if yes skip and keep the count
-        // step 3: if valid relationship then add the relation and keep the count
-
-        // step 1
-        $contactFields = self::setContactABFromIDs($params, $ids, $key);
-        $errors = self::checkValidRelationship($contactFields, $ids, $key);
-        if ($errors) {
-          $invalid++;
-          continue;
-        }
-
-        //CRM-16978:check duplicate relationship as per case id.
-        if ($caseId = CRM_Utils_Array::value('case_id', $params)) {
-          $contactFields['case_id'] = $caseId;
-        }
-        if (
-        self::checkDuplicateRelationship(
-          $contactFields,
-          CRM_Utils_Array::value('contact', $ids),
-          // step 2
-          $key
-        )
-        ) {
-          $duplicate++;
-          continue;
-        }
-
-        $singleInstanceParams = array_merge($params, $contactFields);
-        $relationship = self::add($singleInstanceParams);
-        $relationshipIds[] = $relationship->id;
-        $relationships[$relationship->id] = $relationship;
-        $valid++;
-      }
-      // editing the relationship
+  public static function legacyCreateMultiple($params, $ids = []) {
+    CRM_Core_Error::deprecatedFunctionWarning('api v4');
+    // clarify that the only key ever pass in the ids array is 'contact'
+    // There is legacy handling for other keys but a universe search on
+    // calls to this function (not supported to be called from outside core)
+    // only returns 2 calls - one in CRM_Contact_Import_Parser_Contact
+    // and the other in jma grant applications (CRM_Grant_Form_Grant_Confirm)
+    // both only pass in contact as a key here.
+    $contactID = $ids['contact'];
+    unset($ids);
+    // There is only ever one value passed in from the 2 places above that call
+    // this - by clarifying here like this we can cleanup within this
+    // function without having to do more universe searches.
+    $relatedContactID = key($params['contact_check']);
+
+    // check if the relationship is valid between contacts.
+    // step 1: check if the relationship is valid if not valid skip and keep the count
+    // step 2: check the if two contacts already have a relationship if yes skip and keep the count
+    // step 3: if valid relationship then add the relation and keep the count
+
+    // step 1
+    [$contactFields['relationship_type_id'], $firstLetter, $secondLetter] = explode('_', $params['relationship_type_id']);
+    $contactFields['contact_id_' . $firstLetter] = $contactID;
+    $contactFields['contact_id_' . $secondLetter] = $relatedContactID;
+    if (!CRM_Contact_BAO_Relationship::checkRelationshipType($contactFields['contact_id_a'], $contactFields['contact_id_b'],
+      $contactFields['relationship_type_id'])) {
+      return [0, 0];
+    }
+
+    //CRM-16978:check duplicate relationship as per case id.
+    // https://issues.civicrm.org/jira/browse/CRM-16978
+    if ($caseId = CRM_Utils_Array::value('case_id', $params)) {
+      CRM_Core_Error::deprecatedWarning('this code is believed to be unreachable');
+      $contactFields['case_id'] = $caseId;
+    }
+    if (
+    self::checkDuplicateRelationship(
+      $contactFields,
+      $contactID,
+      // step 2
+      $relatedContactID
+    )
+    ) {
+      return [0, 1];
     }
-    else {
-      // check for duplicate relationship
-      // @todo this code doesn't cope well with updates - causes e-Notices.
-      // API has a lot of code to work around
-      // this but should review this code & remove the extra handling from the api
-      // it seems doubtful any of this is relevant if the contact fields & relationship
-      // type fields are not set
-      if (
-      self::checkDuplicateRelationship(
-        $params,
-        CRM_Utils_Array::value('contact', $ids),
-        $ids['contactTarget'],
-        $relationshipId
-      )
-      ) {
-        $duplicate++;
-        return [$valid, $invalid, $duplicate, $saved, NULL];
-      }
 
-      $validContacts = TRUE;
-      //validate contacts in update mode also.
-      $contactFields = self::setContactABFromIDs($params, $ids, $ids['contactTarget']);
-      if (!empty($ids['contact']) && !empty($ids['contactTarget'])) {
-        if (self::checkValidRelationship($contactFields, $ids, $ids['contactTarget'])) {
-          $validContacts = FALSE;
-          $invalid++;
-        }
-      }
-      if ($validContacts) {
-        // editing an existing relationship
-        $singleInstanceParams = array_merge($params, $contactFields);
-        $relationship = self::add($singleInstanceParams, $ids, $ids['contactTarget']);
-        $relationshipIds[] = $relationship->id;
-        $relationships[$relationship->id] = $relationship;
-        $saved++;
-      }
-    }
+    $singleInstanceParams = array_merge($params, $contactFields);
+    $relationship = self::add($singleInstanceParams);
 
     // do not add to recent items for import, CRM-4399
-    if (!(!empty($params['skipRecentView']) || $invalid || $duplicate)) {
+    if (empty($params['skipRecentView'])) {
       self::addRecent($params, $relationship);
     }
 
-    return [$valid, $invalid, $duplicate, $saved, $relationshipIds, $relationships];
+    return [1, 0];
   }
 
   /**
@@ -277,14 +227,12 @@ class CRM_Contact_BAO_Relationship extends CRM_Contact_DAO_Relationship {
    *   Array of name/value pairs.
    * @param array $ids
    *   The array that holds all the db ids.
-   * @param int $contactId
-   *   This is contact id for adding relationship.
    *
    * @return CRM_Contact_BAO_Relationship
    *
    * @throws \CiviCRM_API3_Exception
    */
-  public static function add($params, $ids = [], $contactId = NULL) {
+  public static function add($params, $ids = []) {
     $params['id'] = CRM_Utils_Array::value('relationship', $ids, CRM_Utils_Array::value('id', $params));
 
     $hook = 'create';
@@ -459,46 +407,6 @@ class CRM_Contact_BAO_Relationship extends CRM_Contact_DAO_Relationship {
     return $params;
   }
 
-  /**
-   * Resolve passed in contact IDs to contact_id_a & contact_id_b.
-   *
-   * @param array $params
-   * @param array $ids
-   * @param null $contactID
-   *
-   * @return array
-   * @throws \CRM_Core_Exception
-   */
-  public static function setContactABFromIDs($params, $ids = [], $contactID = NULL) {
-    $returnFields = [];
-
-    // $ids['contact'] is deprecated but comes from legacyCreateMultiple function.
-    if (empty($ids['contact'])) {
-      if (!empty($params['id'])) {
-        return self::loadExistingRelationshipDetails($params);
-      }
-      throw new CRM_Core_Exception('Cannot create relationship, insufficient contact IDs provided');
-    }
-    if (isset($params['relationship_type_id']) && !is_numeric($params['relationship_type_id'])) {
-      $relationshipTypes = $params['relationship_type_id'] ?? NULL;
-      list($relationshipTypeID, $first) = explode('_', $relationshipTypes);
-      $returnFields['relationship_type_id'] = $relationshipTypeID;
-
-      foreach (['a', 'b'] as $contactLetter) {
-        if (empty($params['contact_' . $contactLetter])) {
-          if ($first == $contactLetter) {
-            $returnFields['contact_id_' . $contactLetter] = $ids['contact'] ?? NULL;
-          }
-          else {
-            $returnFields['contact_id_' . $contactLetter] = $contactID;
-          }
-        }
-      }
-    }
-
-    return $returnFields;
-  }
-
   /**
    * Specify defaults for creating a relationship.
    *
@@ -522,9 +430,11 @@ class CRM_Contact_BAO_Relationship extends CRM_Contact_DAO_Relationship {
    *
    * @param array $params
    *
+   * @deprecated
    * @return bool
    */
   public static function dataExists($params) {
+    CRM_Core_Error::deprecatedFunctionWarning('obsolete');
     return (isset($params['contact_check']) && is_array($params['contact_check']));
   }
 
@@ -694,12 +604,7 @@ class CRM_Contact_BAO_Relationship extends CRM_Contact_DAO_Relationship {
         $sharedContact->id = $relationship->contact_id_a;
         $sharedContact->find(TRUE);
 
-        // CRM-15881 UPDATES
-        // changed FROM "...relationship->relationship_type_id == 4..." TO "...relationship->relationship_type_id == 5..."
-        // As the system should be looking for type "employer of" (id 5) and not "sibling of" (id 4)
-        // As suggested by @davecivicrm, the employee relationship type id is fetched using the CRM_Core_DAO::getFieldValue() class and method, since these ids differ from system to system.
-        $employerRelTypeId = CRM_Core_DAO::getFieldValue('CRM_Contact_DAO_RelationshipType', 'Employee of', 'id', 'name_a_b');
-
+        $employerRelTypeId = CRM_Contact_BAO_RelationshipType::getEmployeeRelationshipTypeID();
         if ($relationship->relationship_type_id == $employerRelTypeId && $relationship->contact_id_b == $sharedContact->employer_id) {
           CRM_Contact_BAO_Contact_Utils::clearCurrentEmployer($relationship->contact_id_a);
         }
@@ -895,10 +800,13 @@ class CRM_Contact_BAO_Relationship extends CRM_Contact_DAO_Relationship {
    * @param int $contactId
    *   This is contact id for adding relationship.
    *
+   * @deprecated
+   *
    * @return string
    */
   public static function checkValidRelationship($params, $ids, $contactId) {
     $errors = '';
+    CRM_Core_Error::deprecatedFunctionWarning('no alternative');
     // function to check if the relationship selected is correct
     // i.e. employer relationship can exit between Individual and Organization (not between Individual and Individual)
     if (!CRM_Contact_BAO_Relationship::checkRelationshipType($params['contact_id_a'], $params['contact_id_b'],
@@ -912,7 +820,7 @@ class CRM_Contact_BAO_Relationship extends CRM_Contact_DAO_Relationship {
    * This function checks for duplicate relationship.
    *
    * @param array $params
-   *   (reference ) an assoc array of name/value pairs.
+   *   An assoc array of name/value pairs.
    * @param int $id
    *   This the id of the contact whom we are adding relationship.
    * @param int $contactId
@@ -923,7 +831,7 @@ class CRM_Contact_BAO_Relationship extends CRM_Contact_DAO_Relationship {
    * @return bool
    *   true if record exists else false
    */
-  public static function checkDuplicateRelationship(&$params, $id, $contactId = 0, $relationshipId = 0) {
+  public static function checkDuplicateRelationship($params, $id, $contactId = 0, $relationshipId = 0) {
     $relationshipTypeId = $params['relationship_type_id'] ?? NULL;
     list($type) = explode('_', $relationshipTypeId);
 
@@ -967,18 +875,18 @@ WHERE  relationship_type_id = " . CRM_Utils_Type::escape($type, 'Integer');
     }
 
     $queryString .=
-      " AND ( ( contact_id_a = " . CRM_Utils_Type::escape($id, 'Integer') .
-      " AND contact_id_b = " . CRM_Utils_Type::escape($contactId, 'Integer') .
-      " ) OR ( contact_id_a = " . CRM_Utils_Type::escape($contactId, 'Integer') .
-      " AND contact_id_b = " . CRM_Utils_Type::escape($id, 'Integer') . " ) ) ";
+      ' AND ( ( contact_id_a = ' . CRM_Utils_Type::escape($id, 'Integer') .
+      ' AND contact_id_b = ' . CRM_Utils_Type::escape($contactId, 'Integer') .
+      ' ) OR ( contact_id_a = ' . CRM_Utils_Type::escape($contactId, 'Integer') .
+      ' AND contact_id_b = ' . CRM_Utils_Type::escape($id, 'Integer') . " ) ) ";
 
     //if caseId is provided, include it duplicate checking.
     if ($caseId = CRM_Utils_Array::value('case_id', $params)) {
-      $queryString .= " AND case_id = " . CRM_Utils_Type::escape($caseId, 'Integer');
+      $queryString .= ' AND case_id = ' . CRM_Utils_Type::escape($caseId, 'Integer');
     }
 
     if ($relationshipId) {
-      $queryString .= " AND id !=" . CRM_Utils_Type::escape($relationshipId, 'Integer');
+      $queryString .= ' AND id !=' . CRM_Utils_Type::escape($relationshipId, 'Integer');
     }
 
     $relationship = CRM_Core_DAO::executeQuery($queryString);
@@ -1794,7 +1702,7 @@ contact_id_a IN ( %1 ) OR contact_id_b IN ( %1 ) AND id IN (" . implode(',', $re
   /**
    * Get Current Employer for Contact.
    *
-   * @param $contactIds
+   * @param array $contactIds
    *   Contact Ids.
    *
    * @return array
@@ -1954,7 +1862,7 @@ AND cc.sort_name LIKE '%$name%'";
    *
    * @param array $params
    *   Api input array.
-   * @param null $direction
+   * @param string $direction
    *
    * @return array|void
    * @throws \CiviCRM_API3_Exception
@@ -2279,7 +2187,7 @@ AND cc.sort_name LIKE '%$name%'";
   /**
    * Is the inherited relationship invalidated by this relationship change.
    *
-   * @param $membershipValues
+   * @param array $membershipValues
    * @param array $values
    * @param int $cid
    *
diff --git a/civicrm/CRM/Contact/BAO/RelationshipType.php b/civicrm/CRM/Contact/BAO/RelationshipType.php
index 8a12e55bb4..17e38025c0 100644
--- a/civicrm/CRM/Contact/BAO/RelationshipType.php
+++ b/civicrm/CRM/Contact/BAO/RelationshipType.php
@@ -9,6 +9,10 @@
  +--------------------------------------------------------------------+
  */
 
+use Civi\Api4\Relationship;
+use Civi\Api4\RelationshipType;
+use Civi\Core\Event\PreEvent;
+
 /**
  *
  * @package CRM
@@ -16,13 +20,6 @@
  */
 class CRM_Contact_BAO_RelationshipType extends CRM_Contact_DAO_RelationshipType implements \Civi\Test\HookInterface {
 
-  /**
-   * Class constructor.
-   */
-  public function __construct() {
-    parent::__construct();
-  }
-
   /**
    * Fetch object based on array of properties.
    *
@@ -115,16 +112,46 @@ class CRM_Contact_BAO_RelationshipType extends CRM_Contact_DAO_RelationshipType
 
   /**
    * Callback for hook_civicrm_pre().
+   *
    * @param \Civi\Core\Event\PreEvent $event
-   * @throws CRM_Core_Exception
+   *
+   * @throws \API_Exception
+   * @throws \Civi\API\Exception\UnauthorizedException
    */
-  public static function self_hook_civicrm_pre(\Civi\Core\Event\PreEvent $event) {
+  public static function self_hook_civicrm_pre(PreEvent $event): void {
     if ($event->action === 'delete') {
       // need to delete all option value field before deleting group
-      \Civi\Api4\Relationship::delete(FALSE)
+      Relationship::delete(FALSE)
         ->addWhere('relationship_type_id', '=', $event->id)
         ->execute();
     }
   }
 
+  /**
+   * Get the id of the employee relationship, checking it is valid.
+   *
+   * @return int|string
+   *
+   * @throws \CRM_Core_Exception
+   */
+  public static function getEmployeeRelationshipTypeID(): int {
+    try {
+      if (!Civi::cache('metadata')->has(__CLASS__ . __FUNCTION__)) {
+        $relationship = RelationshipType::get(FALSE)
+          ->addWhere('name_a_b', '=', 'Employee of')
+          ->addWhere('contact_type_a', '=', 'Individual')
+          ->addWhere('contact_type_b', '=', 'Organization')
+          ->addSelect('id')->execute()->first();
+        if (empty($relationship)) {
+          throw new API_Exception('no valid relationship');
+        }
+        Civi::cache('metadata')->set(__CLASS__ . __FUNCTION__, $relationship['id']);
+      }
+    }
+    catch (API_Exception $e) {
+      throw new CRM_Core_Exception(ts("You seem to have deleted the relationship type 'Employee of'"));
+    }
+    return Civi::cache('metadata')->get(__CLASS__ . __FUNCTION__);
+  }
+
 }
diff --git a/civicrm/CRM/Contact/BAO/SavedSearch.php b/civicrm/CRM/Contact/BAO/SavedSearch.php
index f430ccc84f..cd45672464 100644
--- a/civicrm/CRM/Contact/BAO/SavedSearch.php
+++ b/civicrm/CRM/Contact/BAO/SavedSearch.php
@@ -20,30 +20,6 @@
  */
 class CRM_Contact_BAO_SavedSearch extends CRM_Contact_DAO_SavedSearch {
 
-  /**
-   * Class constructor.
-   */
-  public function __construct() {
-    parent::__construct();
-  }
-
-  /**
-   * Query the db for all saved searches.
-   *
-   * @return array
-   *   contains the search name as value and and id as key
-   */
-  public function getAll() {
-    $savedSearch = new CRM_Contact_DAO_SavedSearch();
-    $savedSearch->selectAdd();
-    $savedSearch->selectAdd('id, name');
-    $savedSearch->find();
-    while ($savedSearch->fetch()) {
-      $aSavedSearch[$savedSearch->id] = $savedSearch->name;
-    }
-    return $aSavedSearch;
-  }
-
   /**
    * Retrieve DB object based on input parameters.
    *
@@ -281,57 +257,16 @@ WHERE  $where";
   }
 
   /**
-   * Get from where email (whatever that means!).
+   * Deprecated function, gets a value from Group entity
    *
+   * @deprecated
    * @param int $id
-   *
-   * @return array
-   */
-  public static function fromWhereEmail($id) {
-    $params = self::getSearchParams($id);
-
-    if ($params) {
-      if (!empty($params['customSearchID'])) {
-        return CRM_Contact_BAO_SearchCustom::fromWhereEmail(NULL, $id);
-      }
-      else {
-        $tables = $whereTables = ['civicrm_contact' => 1, 'civicrm_email' => 1];
-        $where = CRM_Contact_BAO_SavedSearch::whereClause($id, $tables, $whereTables);
-        $from = CRM_Contact_BAO_Query::fromClause($whereTables);
-        return [$from, $where];
-      }
-    }
-    else {
-      // fix for CRM-7240
-      $from = "
-FROM      civicrm_contact contact_a
-LEFT JOIN civicrm_email ON (contact_a.id = civicrm_email.contact_id AND civicrm_email.is_primary = 1)
-";
-      $where = " ( 1 ) ";
-      $tables['civicrm_contact'] = $whereTables['civicrm_contact'] = 1;
-      $tables['civicrm_email'] = $whereTables['civicrm_email'] = 1;
-      return [$from, $where];
-    }
-  }
-
-  /**
-   * Given an id, get the name of the saved search.
-   *
-   * @param int $id
-   *   The id of the saved search.
-   *
    * @param string $value
    *
-   * @return string
-   *   the name of the saved search
+   * @return string|null
    */
   public static function getName($id, $value = 'name') {
-    $group = new CRM_Contact_DAO_Group();
-    $group->saved_search_id = $id;
-    if ($group->find(TRUE)) {
-      return $group->$value;
-    }
-    return NULL;
+    return parent::getFieldValue('CRM_Contact_DAO_Group', $id, $value, 'saved_search_id');
   }
 
   /**
@@ -342,19 +277,6 @@ LEFT JOIN civicrm_email ON (contact_a.id = civicrm_email.contact_id AND civicrm_
    * @return \CRM_Contact_DAO_SavedSearch
    */
   public static function create(&$params) {
-    // Auto-create unique name from label if supplied
-    if (empty($params['id']) && empty($params['name']) && !empty($params['label'])) {
-      $name = CRM_Utils_String::munge($params['label']);
-      $existing = Civi\Api4\SavedSearch::get(FALSE)
-        ->addWhere('name', 'LIKE', $name . '%')
-        ->addSelect('name')
-        ->execute()->column('name');
-      $suffix = '';
-      while (in_array($name . $suffix, $existing)) {
-        $suffix = '_' . (1 + str_replace('_', '', $suffix));
-      }
-      $params['name'] = $name . $suffix;
-    }
     $loggedInContactID = CRM_Core_Session::getLoggedInContactID();
     if ($loggedInContactID) {
       if (empty($params['id'])) {
diff --git a/civicrm/CRM/Contact/BAO/SearchCustom.php b/civicrm/CRM/Contact/BAO/SearchCustom.php
index 5e4ea3174b..8d913e4eac 100644
--- a/civicrm/CRM/Contact/BAO/SearchCustom.php
+++ b/civicrm/CRM/Contact/BAO/SearchCustom.php
@@ -114,7 +114,7 @@ class CRM_Contact_BAO_SearchCustom {
   }
 
   /**
-   * @param $args
+   * @param string $args
    *
    * @return array
    */
@@ -132,19 +132,4 @@ class CRM_Contact_BAO_SearchCustom {
     return $formValues;
   }
 
-  /**
-   * @param int $csID
-   * @param int $ssID
-   *
-   * @return array
-   */
-  public static function fromWhereEmail($csID, $ssID) {
-    $customClass = self::customClass($csID, $ssID);
-
-    $from = $customClass->from();
-    $where = $customClass->where();
-
-    return [$from, $where];
-  }
-
 }
diff --git a/civicrm/CRM/Contact/BAO/SubscriptionHistory.php b/civicrm/CRM/Contact/BAO/SubscriptionHistory.php
index 5c3485a39e..ec8a74cde3 100644
--- a/civicrm/CRM/Contact/BAO/SubscriptionHistory.php
+++ b/civicrm/CRM/Contact/BAO/SubscriptionHistory.php
@@ -20,13 +20,6 @@
  */
 class CRM_Contact_BAO_SubscriptionHistory extends CRM_Contact_DAO_SubscriptionHistory {
 
-  /**
-   * Class constructor.
-   */
-  public function __construct() {
-    parent::__construct();
-  }
-
   /**
    * Create a new subscription history record.
    *
diff --git a/civicrm/CRM/Contact/DAO/ACLContactCache.php b/civicrm/CRM/Contact/DAO/ACLContactCache.php
index 50bdac46fb..f477d8fe35 100644
--- a/civicrm/CRM/Contact/DAO/ACLContactCache.php
+++ b/civicrm/CRM/Contact/DAO/ACLContactCache.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Contact/ACLContactCache.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:912d65e10ee9243dfa3cbe089e2a4ae3)
+ * (GenCodeChecksum:b9913f6181f2b09c71b99f8c41d65c1b)
  */
 
 /**
@@ -33,21 +33,27 @@ class CRM_Contact_DAO_ACLContactCache extends CRM_Core_DAO {
   /**
    * primary key
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * FK to civicrm_contact (could be null for anon user)
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $user_id;
 
   /**
    * FK to civicrm_contact
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $contact_id;
 
@@ -55,6 +61,8 @@ class CRM_Contact_DAO_ACLContactCache extends CRM_Core_DAO {
    * What operation does this user have permission on?
    *
    * @var string
+   *   (SQL type: varchar(8))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $operation;
 
diff --git a/civicrm/CRM/Contact/DAO/Contact.php b/civicrm/CRM/Contact/DAO/Contact.php
index a6bb970eea..3270f8789b 100644
--- a/civicrm/CRM/Contact/DAO/Contact.php
+++ b/civicrm/CRM/Contact/DAO/Contact.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Contact/Contact.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:5a410e3dd35c4d4b66fdeeacf1cfd971)
+ * (GenCodeChecksum:1ed20aff22fc1effbd05ea8411e48139)
  */
 
 /**
@@ -59,350 +59,454 @@ class CRM_Contact_DAO_Contact extends CRM_Core_DAO {
   /**
    * Unique Contact ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * Type of Contact.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $contact_type;
 
   /**
    * May be used to over-ride contact view and edit templates.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $contact_sub_type;
 
   /**
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $do_not_email;
 
   /**
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $do_not_phone;
 
   /**
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $do_not_mail;
 
   /**
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $do_not_sms;
 
   /**
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $do_not_trade;
 
   /**
    * Has the contact opted out from receiving all bulk email from the organization or site domain?
    *
-   * @var bool
+   * @var bool|string
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_opt_out;
 
   /**
    * May be used for SSN, EIN/TIN, Household ID (census) or other applicable unique legal/government ID.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(32))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $legal_identifier;
 
   /**
    * Unique trusted external ID (generally from a legacy app/datasource). Particularly useful for deduping operations.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $external_identifier;
 
   /**
    * Name used for sorting different contact types
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(128))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $sort_name;
 
   /**
    * Formatted name representing preferred format for display/print/other output.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(128))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $display_name;
 
   /**
    * Nickname.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(128))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $nick_name;
 
   /**
    * Legal Name.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(128))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $legal_name;
 
   /**
    * optional URL for preferred image (photo, logo, etc.) to display for this contact.
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $image_URL;
 
   /**
    * What is the preferred mode of communication.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $preferred_communication_method;
 
   /**
    * Which language is preferred for communication. FK to languages in civicrm_option_value.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(5))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $preferred_language;
 
   /**
    * What is the preferred mode of sending an email.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(8))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $preferred_mail_format;
 
   /**
    * Key for validating requests related to this contact.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(32))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $hash;
 
   /**
    * API Key for validating requests related to this contact.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(32))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $api_key;
 
   /**
    * where contact come from, e.g. import, donate module insert...
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $source;
 
   /**
    * First Name.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $first_name;
 
   /**
    * Middle Name.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $middle_name;
 
   /**
    * Last Name.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $last_name;
 
   /**
    * Prefix or Title for name (Ms, Mr...). FK to prefix ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $prefix_id;
 
   /**
    * Suffix for name (Jr, Sr...). FK to suffix ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $suffix_id;
 
   /**
    * Formal (academic or similar) title in front of name. (Prof., Dr. etc.)
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $formal_title;
 
   /**
    * Communication style (e.g. formal vs. familiar) to use with this contact. FK to communication styles in civicrm_option_value.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $communication_style_id;
 
   /**
    * FK to civicrm_option_value.id, that has to be valid registered Email Greeting.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $email_greeting_id;
 
   /**
    * Custom Email Greeting.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(128))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $email_greeting_custom;
 
   /**
    * Cache Email Greeting.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $email_greeting_display;
 
   /**
    * FK to civicrm_option_value.id, that has to be valid registered Postal Greeting.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $postal_greeting_id;
 
   /**
    * Custom Postal greeting.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(128))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $postal_greeting_custom;
 
   /**
    * Cache Postal greeting.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $postal_greeting_display;
 
   /**
    * FK to civicrm_option_value.id, that has to be valid registered Addressee.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $addressee_id;
 
   /**
    * Custom Addressee.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(128))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $addressee_custom;
 
   /**
    * Cache Addressee.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $addressee_display;
 
   /**
    * Job Title
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $job_title;
 
   /**
    * FK to gender ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $gender_id;
 
   /**
    * Date of birth
    *
-   * @var date
+   * @var string|null
+   *   (SQL type: date)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $birth_date;
 
   /**
-   * @var bool
+   * @var bool|string
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_deceased;
 
   /**
    * Date of deceased
    *
-   * @var date
+   * @var string|null
+   *   (SQL type: date)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $deceased_date;
 
   /**
    * Household Name.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(128))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $household_name;
 
   /**
    * Optional FK to Primary Contact for this household.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $primary_contact_id;
 
   /**
    * Organization Name.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(128))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $organization_name;
 
   /**
    * Standard Industry Classification Code.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(8))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $sic_code;
 
   /**
    * the OpenID (or OpenID-style http://username.domain/) unique identifier for this contact mainly used for logging in to CiviCRM
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $user_unique_id;
 
   /**
    * OPTIONAL FK to civicrm_contact record.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $employer_id;
 
   /**
-   * @var bool
+   * @var bool|string
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_deleted;
 
   /**
    * When was the contact was created.
    *
-   * @var timestamp
+   * @var string
+   *   (SQL type: timestamp)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $created_date;
 
   /**
    * When was the contact (or closely related entity) was created or modified or deleted.
    *
-   * @var timestamp
+   * @var string
+   *   (SQL type: timestamp)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $modified_date;
 
diff --git a/civicrm/CRM/Contact/DAO/ContactType.php b/civicrm/CRM/Contact/DAO/ContactType.php
index 26db28868a..c97ef494e9 100644
--- a/civicrm/CRM/Contact/DAO/ContactType.php
+++ b/civicrm/CRM/Contact/DAO/ContactType.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Contact/ContactType.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:f1913952f114c2ac041dfba5fef49d5d)
+ * (GenCodeChecksum:cc7d1501964e3a55b30e3df24aad8cf0)
  */
 
 /**
@@ -33,7 +33,9 @@ class CRM_Contact_DAO_ContactType extends CRM_Core_DAO {
   /**
    * Contact Type ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
@@ -41,48 +43,62 @@ class CRM_Contact_DAO_ContactType extends CRM_Core_DAO {
    * Internal name of Contact Type (or Subtype).
    *
    * @var string
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $name;
 
   /**
    * localized Name of Contact Type.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $label;
 
   /**
    * localized Optional verbose description of the type.
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $description;
 
   /**
    * URL of image if any.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $image_URL;
 
   /**
    * Optional FK to parent contact type.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $parent_id;
 
   /**
    * Is this entry active?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_active;
 
   /**
    * Is this contact type a predefined system type
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_reserved;
 
diff --git a/civicrm/CRM/Contact/DAO/DashboardContact.php b/civicrm/CRM/Contact/DAO/DashboardContact.php
index 8cf85d6ef7..b8881db880 100644
--- a/civicrm/CRM/Contact/DAO/DashboardContact.php
+++ b/civicrm/CRM/Contact/DAO/DashboardContact.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Contact/DashboardContact.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:a2eac9e772485e4a551738ad107dc209)
+ * (GenCodeChecksum:fd3f7ea02b93c0dd3ecd46fb757bc2a3)
  */
 
 /**
@@ -31,42 +31,54 @@ class CRM_Contact_DAO_DashboardContact extends CRM_Core_DAO {
   public static $_log = FALSE;
 
   /**
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * Dashboard ID
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $dashboard_id;
 
   /**
    * Contact ID
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $contact_id;
 
   /**
    * column no for this widget
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $column_no;
 
   /**
    * Is this widget active?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_active;
 
   /**
    * Ordering of the widgets.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $weight;
 
diff --git a/civicrm/CRM/Contact/DAO/Group.php b/civicrm/CRM/Contact/DAO/Group.php
index 197127e341..b5cb1640a7 100644
--- a/civicrm/CRM/Contact/DAO/Group.php
+++ b/civicrm/CRM/Contact/DAO/Group.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Contact/Group.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:29b3646b12fccdf8a2d561dc483c8980)
+ * (GenCodeChecksum:f5efc579d0d67d8922a405a208cf83c3)
  */
 
 /**
@@ -56,152 +56,196 @@ class CRM_Contact_DAO_Group extends CRM_Core_DAO {
   /**
    * Group ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * Internal name of Group.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $name;
 
   /**
    * Name of Group.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $title;
 
   /**
    * Optional verbose description of the group.
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $description;
 
   /**
    * Module or process which created this group.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $source;
 
   /**
    * FK to saved search table.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $saved_search_id;
 
   /**
    * Is this entry active?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_active;
 
   /**
    * In what context(s) is this field visible.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(24))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $visibility;
 
   /**
    * the sql where clause if a saved search acl
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $where_clause;
 
   /**
    * the tables to be included in a select data
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $select_tables;
 
   /**
    * the tables to be included in the count statement
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $where_tables;
 
   /**
    * FK to group type
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(128))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $group_type;
 
   /**
    * Date when we created the cache for a smart group
    *
-   * @var timestamp
+   * @var string
+   *   (SQL type: timestamp)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $cache_date;
 
   /**
    * Date and time when we need to refresh the cache next.
    *
-   * @var timestamp
+   * @var string
+   *   (SQL type: timestamp)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $refresh_date;
 
   /**
    * IDs of the parent(s)
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $parents;
 
   /**
    * IDs of the child(ren)
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $children;
 
   /**
    * Is this group hidden?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_hidden;
 
   /**
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_reserved;
 
   /**
    * FK to contact table.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $created_id;
 
   /**
    * FK to contact table.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $modified_id;
 
   /**
    * Alternative public title for this Group.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $frontend_title;
 
   /**
    * Alternative public description of the group.
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $frontend_description;
 
diff --git a/civicrm/CRM/Contact/DAO/GroupContact.php b/civicrm/CRM/Contact/DAO/GroupContact.php
index a00fcd6728..316309dc7f 100644
--- a/civicrm/CRM/Contact/DAO/GroupContact.php
+++ b/civicrm/CRM/Contact/DAO/GroupContact.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Contact/GroupContact.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:53a34c1b6c96fe915f0ab57b93994b72)
+ * (GenCodeChecksum:f7c8513020809cc974eec784b983a75d)
  */
 
 /**
@@ -33,42 +33,54 @@ class CRM_Contact_DAO_GroupContact extends CRM_Core_DAO {
   /**
    * primary key
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * FK to civicrm_group
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $group_id;
 
   /**
    * FK to civicrm_contact
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $contact_id;
 
   /**
    * status of contact relative to membership in group
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(8))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $status;
 
   /**
    * Optional location to associate with this membership
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $location_id;
 
   /**
    * Optional email to associate with this membership
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $email_id;
 
diff --git a/civicrm/CRM/Contact/DAO/GroupContactCache.php b/civicrm/CRM/Contact/DAO/GroupContactCache.php
index 5b5e5bfa96..f07f6f1d34 100644
--- a/civicrm/CRM/Contact/DAO/GroupContactCache.php
+++ b/civicrm/CRM/Contact/DAO/GroupContactCache.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Contact/GroupContactCache.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:26ac45cd1045e34353ef787013eeb84c)
+ * (GenCodeChecksum:06473218afb38f81fefca8e3e1a351e1)
  */
 
 /**
@@ -33,21 +33,27 @@ class CRM_Contact_DAO_GroupContactCache extends CRM_Core_DAO {
   /**
    * primary key
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * FK to civicrm_group
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $group_id;
 
   /**
    * FK to civicrm_contact
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $contact_id;
 
diff --git a/civicrm/CRM/Contact/DAO/GroupNesting.php b/civicrm/CRM/Contact/DAO/GroupNesting.php
index 80d27a44d7..bdb20df7e6 100644
--- a/civicrm/CRM/Contact/DAO/GroupNesting.php
+++ b/civicrm/CRM/Contact/DAO/GroupNesting.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Contact/GroupNesting.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:a2d08c11cd6a0aedbcdf816fdb772839)
+ * (GenCodeChecksum:f93c2699304caa24bcb30d71891621ad)
  */
 
 /**
@@ -33,21 +33,27 @@ class CRM_Contact_DAO_GroupNesting extends CRM_Core_DAO {
   /**
    * Relationship ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * ID of the child group
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $child_group_id;
 
   /**
    * ID of the parent group
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $parent_group_id;
 
diff --git a/civicrm/CRM/Contact/DAO/GroupOrganization.php b/civicrm/CRM/Contact/DAO/GroupOrganization.php
index 807465028f..9415570b03 100644
--- a/civicrm/CRM/Contact/DAO/GroupOrganization.php
+++ b/civicrm/CRM/Contact/DAO/GroupOrganization.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Contact/GroupOrganization.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:406b553dbbfbfbf54fa3d32bc1e9fecc)
+ * (GenCodeChecksum:0058d88ce8ce0b5a017cfd91b1adc430)
  */
 
 /**
@@ -33,21 +33,27 @@ class CRM_Contact_DAO_GroupOrganization extends CRM_Core_DAO {
   /**
    * Relationship ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * ID of the group
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $group_id;
 
   /**
    * ID of the Organization Contact
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $organization_id;
 
diff --git a/civicrm/CRM/Contact/DAO/Relationship.php b/civicrm/CRM/Contact/DAO/Relationship.php
index 0e00c29446..0ecfdcf999 100644
--- a/civicrm/CRM/Contact/DAO/Relationship.php
+++ b/civicrm/CRM/Contact/DAO/Relationship.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Contact/Relationship.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:4d689d3ccc5aa155c858aac2f24ddfab)
+ * (GenCodeChecksum:9857c3a39c853ba7abfeb246af8a70ec)
  */
 
 /**
@@ -50,80 +50,120 @@ class CRM_Contact_DAO_Relationship extends CRM_Core_DAO {
   /**
    * Relationship ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * id of the first contact
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $contact_id_a;
 
   /**
    * id of the second contact
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $contact_id_b;
 
   /**
    * Type of relationship
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $relationship_type_id;
 
   /**
    * date when the relationship started
    *
-   * @var date
+   * @var string|null
+   *   (SQL type: date)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $start_date;
 
   /**
    * date when the relationship ended
    *
-   * @var date
+   * @var string|null
+   *   (SQL type: date)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $end_date;
 
   /**
    * is the relationship active ?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_active;
 
   /**
    * Optional verbose description for the relationship.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $description;
 
   /**
    * Permission that Contact A has to view/update Contact B
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_permission_a_b;
 
   /**
    * Permission that Contact B has to view/update Contact A
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_permission_b_a;
 
   /**
    * FK to civicrm_case
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $case_id;
 
+  /**
+   * Relationship created date.
+   *
+   * @var string
+   *   (SQL type: timestamp)
+   *   Note that values will be retrieved from the database as a string.
+   */
+  public $created_date;
+
+  /**
+   * Relationship last modified.
+   *
+   * @var string
+   *   (SQL type: timestamp)
+   *   Note that values will be retrieved from the database as a string.
+   */
+  public $modified_date;
+
   /**
    * Class constructor.
    */
@@ -367,6 +407,35 @@ class CRM_Contact_DAO_Relationship extends CRM_Core_DAO {
           ],
           'add' => '2.2',
         ],
+        'created_date' => [
+          'name' => 'created_date',
+          'type' => CRM_Utils_Type::T_TIMESTAMP,
+          'title' => ts('Created Date'),
+          'description' => ts('Relationship created date.'),
+          'required' => TRUE,
+          'where' => 'civicrm_relationship.created_date',
+          'default' => 'CURRENT_TIMESTAMP',
+          'table_name' => 'civicrm_relationship',
+          'entity' => 'Relationship',
+          'bao' => 'CRM_Contact_BAO_Relationship',
+          'localizable' => 0,
+          'add' => '5.47',
+        ],
+        'modified_date' => [
+          'name' => 'modified_date',
+          'type' => CRM_Utils_Type::T_TIMESTAMP,
+          'title' => ts('Relationship Modified Date'),
+          'description' => ts('Relationship last modified.'),
+          'required' => TRUE,
+          'where' => 'civicrm_relationship.modified_date',
+          'default' => 'CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP',
+          'table_name' => 'civicrm_relationship',
+          'entity' => 'Relationship',
+          'bao' => 'CRM_Contact_BAO_Relationship',
+          'localizable' => 0,
+          'readonly' => TRUE,
+          'add' => '5.47',
+        ],
       ];
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'fields_callback', Civi::$statics[__CLASS__]['fields']);
     }
diff --git a/civicrm/CRM/Contact/DAO/RelationshipCache.php b/civicrm/CRM/Contact/DAO/RelationshipCache.php
index 669646c3f6..41044bfeed 100644
--- a/civicrm/CRM/Contact/DAO/RelationshipCache.php
+++ b/civicrm/CRM/Contact/DAO/RelationshipCache.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Contact/RelationshipCache.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:f70f357cd7e45be254350f45ef41aee2)
+ * (GenCodeChecksum:1bc7c47a01326782645f1cfac11c6d14)
  */
 
 /**
@@ -51,21 +51,27 @@ class CRM_Contact_DAO_RelationshipCache extends CRM_Core_DAO {
   /**
    * Relationship Cache ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * id of the relationship (FK to civicrm_relationship.id)
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $relationship_id;
 
   /**
    * id of the relationship type
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $relationship_type_id;
 
@@ -73,62 +79,80 @@ class CRM_Contact_DAO_RelationshipCache extends CRM_Core_DAO {
    * The cache record is a permutation of the original relationship record. The orientation indicates whether it is forward (a_b) or reverse (b_a) relationship.
    *
    * @var string
+   *   (SQL type: char(3))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $orientation;
 
   /**
    * id of the first contact
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $near_contact_id;
 
   /**
    * name for relationship of near_contact to far_contact.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $near_relation;
 
   /**
    * id of the second contact
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $far_contact_id;
 
   /**
    * name for relationship of far_contact to near_contact.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $far_relation;
 
   /**
    * is the relationship active ?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_active;
 
   /**
    * date when the relationship started
    *
-   * @var date
+   * @var string|null
+   *   (SQL type: date)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $start_date;
 
   /**
    * date when the relationship ended
    *
-   * @var date
+   * @var string|null
+   *   (SQL type: date)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $end_date;
 
   /**
    * FK to civicrm_case
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $case_id;
 
diff --git a/civicrm/CRM/Contact/DAO/RelationshipType.php b/civicrm/CRM/Contact/DAO/RelationshipType.php
index 7b8d02c91c..3bd1a0d80c 100644
--- a/civicrm/CRM/Contact/DAO/RelationshipType.php
+++ b/civicrm/CRM/Contact/DAO/RelationshipType.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Contact/RelationshipType.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:59f2be616e7324c1a2b34e840b24beb2)
+ * (GenCodeChecksum:b020221ec1e27cbaf4eba0b9457a8448)
  */
 
 /**
@@ -33,84 +33,108 @@ class CRM_Contact_DAO_RelationshipType extends CRM_Core_DAO {
   /**
    * Primary key
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * name for relationship of contact_a to contact_b.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $name_a_b;
 
   /**
    * label for relationship of contact_a to contact_b.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $label_a_b;
 
   /**
    * Optional name for relationship of contact_b to contact_a.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $name_b_a;
 
   /**
    * Optional label for relationship of contact_b to contact_a.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $label_b_a;
 
   /**
    * Optional verbose description of the relationship type.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $description;
 
   /**
    * If defined, contact_a in a relationship of this type must be a specific contact_type.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(12))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $contact_type_a;
 
   /**
    * If defined, contact_b in a relationship of this type must be a specific contact_type.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(12))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $contact_type_b;
 
   /**
    * If defined, contact_sub_type_a in a relationship of this type must be a specific contact_sub_type.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $contact_sub_type_a;
 
   /**
    * If defined, contact_sub_type_b in a relationship of this type must be a specific contact_sub_type.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $contact_sub_type_b;
 
   /**
    * Is this relationship type a predefined system type (can not be changed or de-activated)?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_reserved;
 
   /**
    * Is this relationship type currently active (i.e. can be used when creating or editing relationships)?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_active;
 
diff --git a/civicrm/CRM/Contact/DAO/SavedSearch.php b/civicrm/CRM/Contact/DAO/SavedSearch.php
index 41fda3afb0..4666188af3 100644
--- a/civicrm/CRM/Contact/DAO/SavedSearch.php
+++ b/civicrm/CRM/Contact/DAO/SavedSearch.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Contact/SavedSearch.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:bca384578ea59c0cf4f0a80617c788fe)
+ * (GenCodeChecksum:935938d45a416234d369d2db97a08311)
  */
 
 /**
@@ -33,96 +33,124 @@ class CRM_Contact_DAO_SavedSearch extends CRM_Core_DAO {
   /**
    * Saved Search ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * Unique name of saved search
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $name;
 
   /**
    * Administrative label for search
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $label;
 
   /**
    * Submitted form values for this search
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $form_values;
 
   /**
    * Foreign key to civicrm_mapping used for saved search-builder searches.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $mapping_id;
 
   /**
    * Foreign key to civicrm_option value table used for saved custom searches.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $search_custom_id;
 
   /**
    * Entity name for API based search
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $api_entity;
 
   /**
    * Parameters for API based search
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $api_params;
 
   /**
    * FK to contact table.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $created_id;
 
   /**
    * FK to contact table.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $modified_id;
 
   /**
    * Optional date after which the search is not needed
    *
-   * @var timestamp
+   * @var string
+   *   (SQL type: timestamp)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $expires_date;
 
   /**
    * When the search was created.
    *
-   * @var timestamp
+   * @var string
+   *   (SQL type: timestamp)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $created_date;
 
   /**
    * When the search was last modified.
    *
-   * @var timestamp
+   * @var string
+   *   (SQL type: timestamp)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $modified_date;
 
   /**
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $description;
 
diff --git a/civicrm/CRM/Contact/DAO/SubscriptionHistory.php b/civicrm/CRM/Contact/DAO/SubscriptionHistory.php
index 9aa23278b5..712ff23181 100644
--- a/civicrm/CRM/Contact/DAO/SubscriptionHistory.php
+++ b/civicrm/CRM/Contact/DAO/SubscriptionHistory.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Contact/SubscriptionHistory.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:f5eb6517b054998df7a07e5a81874a1b)
+ * (GenCodeChecksum:fd8cbc2ef621cc092f3f91c1f0f749d4)
  */
 
 /**
@@ -33,49 +33,63 @@ class CRM_Contact_DAO_SubscriptionHistory extends CRM_Core_DAO {
   /**
    * Internal ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * Contact ID
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $contact_id;
 
   /**
    * Group ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $group_id;
 
   /**
    * Date of the (un)subscription
    *
-   * @var timestamp
+   * @var string
+   *   (SQL type: timestamp)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $date;
 
   /**
    * How the (un)subscription was triggered
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(8))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $method;
 
   /**
    * The state of the contact within the group
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(8))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $status;
 
   /**
    * IP address or other tracking info
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $tracking;
 
diff --git a/civicrm/CRM/Contact/Form/Contact.php b/civicrm/CRM/Contact/Form/Contact.php
index 0da2759780..090aafaa4f 100644
--- a/civicrm/CRM/Contact/Form/Contact.php
+++ b/civicrm/CRM/Contact/Form/Contact.php
@@ -1143,7 +1143,7 @@ class CRM_Contact_Form_Contact extends CRM_Core_Form {
    *
    * @param array $fields
    *   Fields array which are submitted.
-   * @param $errors
+   * @param array $errors
    * @param int $contactID
    *   Contact id.
    * @param string $contactType
diff --git a/civicrm/CRM/Contact/Form/DedupeFind.php b/civicrm/CRM/Contact/Form/DedupeFind.php
index 13e2a4035f..04a5351161 100644
--- a/civicrm/CRM/Contact/Form/DedupeFind.php
+++ b/civicrm/CRM/Contact/Form/DedupeFind.php
@@ -41,9 +41,11 @@ class CRM_Contact_Form_DedupeFind extends CRM_Admin_Form {
     $groupList = ['' => ts('- All Contacts -')] + CRM_Core_PseudoConstant::nestedGroup();
 
     $this->add('select', 'group_id', ts('Select Group'), $groupList, FALSE, ['class' => 'crm-select2 huge']);
-    if (Civi::settings()->get('dedupe_default_limit')) {
-      $this->add('text', 'limit', ts('No of contacts to find matches for '));
-    }
+    $this->add('text', 'limit', ts('No of contacts to find matches for '));
+
+    // To improve usability for smaller sites, we don't show the limit field unless a default limit has been set.
+    $this->assign('limitShown', (bool) Civi::settings()->get('dedupe_default_limit'));
+
     $this->addButtons([
       [
         'type' => 'next',
diff --git a/civicrm/CRM/Contact/Form/DedupeRules.php b/civicrm/CRM/Contact/Form/DedupeRules.php
index beef61afbf..6539126565 100644
--- a/civicrm/CRM/Contact/Form/DedupeRules.php
+++ b/civicrm/CRM/Contact/Form/DedupeRules.php
@@ -128,7 +128,7 @@ class CRM_Contact_Form_DedupeRules extends CRM_Admin_Form {
    *   Posted values of the form.
    *
    * @param $files
-   * @param $self
+   * @param self $self
    *
    * @return array
    *   list of errors to be posted back to the form
diff --git a/civicrm/CRM/Contact/Form/Merge.php b/civicrm/CRM/Contact/Form/Merge.php
index 4ccd00c0b5..45fff4c56b 100644
--- a/civicrm/CRM/Contact/Form/Merge.php
+++ b/civicrm/CRM/Contact/Form/Merge.php
@@ -292,7 +292,7 @@ class CRM_Contact_Form_Merge extends CRM_Core_Form {
   /**
    * @param $fields
    * @param $files
-   * @param $self
+   * @param self $self
    *
    * @return array
    */
diff --git a/civicrm/CRM/Contact/Form/Relationship.php b/civicrm/CRM/Contact/Form/Relationship.php
index 06d6d09ba1..fae9c92d43 100644
--- a/civicrm/CRM/Contact/Form/Relationship.php
+++ b/civicrm/CRM/Contact/Form/Relationship.php
@@ -473,7 +473,7 @@ class CRM_Contact_Form_Relationship extends CRM_Core_Form {
   }
 
   /**
-   * @param $relationshipList
+   * @param array $relationshipList
    *
    * @return array
    */
diff --git a/civicrm/CRM/Contact/Form/Search.php b/civicrm/CRM/Contact/Form/Search.php
index 1345c23309..a87415b5ee 100644
--- a/civicrm/CRM/Contact/Form/Search.php
+++ b/civicrm/CRM/Contact/Form/Search.php
@@ -148,6 +148,14 @@ class CRM_Contact_Form_Search extends CRM_Core_Form_Search {
 
   protected $_openedPanes = [];
 
+  public function __construct($state = NULL, $action = CRM_Core_Action::NONE, $method = 'post', $name = NULL) {
+    parent::__construct($state, $action, $method, $name);
+    // Because this is a static variable, reset it in case it got changed elsewhere.
+    // Should only come up during unit tests.
+    // Note the only subclass that seems to set this does it in preprocess (custom searches)
+    self::$_selectorName = 'CRM_Contact_Selector';
+  }
+
   /**
    * Explicitly declare the entity api name.
    */
diff --git a/civicrm/CRM/Contact/Form/Search/Advanced.php b/civicrm/CRM/Contact/Form/Search/Advanced.php
index 73ddd7dfc8..fb00ab8809 100644
--- a/civicrm/CRM/Contact/Form/Search/Advanced.php
+++ b/civicrm/CRM/Contact/Form/Search/Advanced.php
@@ -63,7 +63,8 @@ class CRM_Contact_Form_Search_Advanced extends CRM_Contact_Form_Search {
     ];
 
     //check if there are any custom data searchable fields
-    $extends = array_merge(['Contact', 'Individual', 'Household', 'Organization'],
+    $extends = array_merge(['Contact'],
+      CRM_Contact_BAO_ContactType::basicTypes(),
       CRM_Contact_BAO_ContactType::subTypes()
     );
     $groupDetails = CRM_Core_BAO_CustomGroup::getGroupDetail(NULL, TRUE,
@@ -130,6 +131,7 @@ class CRM_Contact_Form_Search_Advanced extends CRM_Contact_Form_Search {
           $this->_paneTemplatePath[$type] = $c->getAdvancedSearchPaneTemplatePath();
         }
         elseif (in_array($type, $hookPanes)) {
+          $this->add('hidden', "hidden_$type", 1);
           CRM_Contact_BAO_Query_Hook::singleton()->buildAdvancedSearchPaneForm($this, $type);
           CRM_Contact_BAO_Query_Hook::singleton()->setAdvancedSearchPaneTemplatePath($this->_paneTemplatePath, $type);
         }
diff --git a/civicrm/CRM/Contact/Form/Search/Builder.php b/civicrm/CRM/Contact/Form/Search/Builder.php
index 1eef8b3633..312a01b41e 100644
--- a/civicrm/CRM/Contact/Form/Search/Builder.php
+++ b/civicrm/CRM/Contact/Form/Search/Builder.php
@@ -449,7 +449,6 @@ class CRM_Contact_Form_Search_Builder extends CRM_Contact_Form_Search {
       'member',
       'contribution',
       'case',
-      'grant',
     ];
     CRM_Contact_BAO_Query_Hook::singleton()->alterSearchBuilderOptions($entities, $options);
     $fkEntities = [];
diff --git a/civicrm/CRM/Contact/Form/Search/Criteria.php b/civicrm/CRM/Contact/Form/Search/Criteria.php
index 38bd2cc156..bbebe40d73 100644
--- a/civicrm/CRM/Contact/Form/Search/Criteria.php
+++ b/civicrm/CRM/Contact/Form/Search/Criteria.php
@@ -599,7 +599,8 @@ class CRM_Contact_Form_Search_Criteria {
    */
   public static function custom(&$form) {
     $form->add('hidden', 'hidden_custom', 1);
-    $extends = array_merge(['Contact', 'Individual', 'Household', 'Organization'],
+    $extends = array_merge(['Contact'],
+      CRM_Contact_BAO_ContactType::basicTypes(),
       CRM_Contact_BAO_ContactType::subTypes()
     );
     $groupDetails = CRM_Core_BAO_CustomGroup::getGroupDetail(NULL, TRUE,
diff --git a/civicrm/CRM/Contact/Form/Task.php b/civicrm/CRM/Contact/Form/Task.php
index 2a2ad62c63..134379f81c 100644
--- a/civicrm/CRM/Contact/Form/Task.php
+++ b/civicrm/CRM/Contact/Form/Task.php
@@ -130,6 +130,8 @@ class CRM_Contact_Form_Task extends CRM_Core_Form_Task {
 
     $form->_task = self::$_searchFormValues['task'] ?? NULL;
 
+    $isSelectedContacts = (self::$_searchFormValues['radio_ts'] ?? NULL) === 'ts_sel';
+    $form->assign('isSelectedContacts', $isSelectedContacts);
     // all contacts or action = save a search
     if ((CRM_Utils_Array::value('radio_ts', self::$_searchFormValues) == 'ts_all') ||
       ($form->_task == CRM_Contact_Task::SAVE_SEARCH)
@@ -152,7 +154,7 @@ class CRM_Contact_Form_Task extends CRM_Core_Form_Task {
         }
       }
     }
-    elseif (CRM_Utils_Array::value('radio_ts', self::$_searchFormValues) == 'ts_sel') {
+    elseif ($isSelectedContacts) {
       // selected contacts only
       // need to perform action on only selected contacts
       $insertString = [];
@@ -199,13 +201,11 @@ class CRM_Contact_Form_Task extends CRM_Core_Form_Task {
       }
     }
 
-    if (CRM_Utils_Array::value('radio_ts', self::$_searchFormValues) == 'ts_sel'
+    if ($isSelectedContacts
       && ($form->_action != CRM_Core_Action::COPY)
     ) {
-      $sel = self::$_searchFormValues['radio_ts'] ?? NULL;
-      $form->assign('searchtype', $sel);
       $result = self::getSelectedContactNames();
-      $form->assign("value", $result);
+      $form->assign('value', $result);
     }
 
     if (!empty($form->_contactIds)) {
@@ -227,7 +227,7 @@ class CRM_Contact_Form_Task extends CRM_Core_Form_Task {
    * to use a trait based approach. For now this is renamed to
    * permit the use of a non-static function with this name
    *
-   * @param $form CRM_Core_Form
+   * @param CRM_Core_Form_Task $form
    *
    * @return array $contactIds
    */
diff --git a/civicrm/CRM/Contact/Form/Task/Delete.php b/civicrm/CRM/Contact/Form/Task/Delete.php
index 3f12db8140..c2c9b7b8e3 100644
--- a/civicrm/CRM/Contact/Form/Task/Delete.php
+++ b/civicrm/CRM/Contact/Form/Task/Delete.php
@@ -163,7 +163,7 @@ class CRM_Contact_Form_Task_Delete extends CRM_Contact_Form_Task {
    *   The input form values.
    * @param array $files
    *   The uploaded files if any.
-   * @param object $self
+   * @param self $self
    *   Form object.
    *
    * @return bool|array
diff --git a/civicrm/CRM/Contact/Form/Task/EmailTrait.php b/civicrm/CRM/Contact/Form/Task/EmailTrait.php
index b62a8c5163..1727bbd927 100644
--- a/civicrm/CRM/Contact/Form/Task/EmailTrait.php
+++ b/civicrm/CRM/Contact/Form/Task/EmailTrait.php
@@ -123,6 +123,10 @@ trait CRM_Contact_Form_Task_EmailTrait {
       // Currently only the contact email form is callable outside search context.
       parent::preProcess();
     }
+    else {
+      // E-notice prevention in Task.tpl
+      $this->assign('isSelectedContacts', FALSE);
+    }
     $this->setContactIDs();
     $this->assign('single', $this->_single);
     $this->assign('isAdmin', CRM_Core_Permission::check('administer CiviCRM'));
diff --git a/civicrm/CRM/Contact/Form/Task/Label.php b/civicrm/CRM/Contact/Form/Task/Label.php
index ac1effae17..a8905fa444 100644
--- a/civicrm/CRM/Contact/Form/Task/Label.php
+++ b/civicrm/CRM/Contact/Form/Task/Label.php
@@ -92,7 +92,7 @@ class CRM_Contact_Form_Task_Label extends CRM_Contact_Form_Task {
   /**
    * Process the form after the input has been submitted and validated.
    *
-   * @param array|NULL $params
+   * @param array|null $params
    */
   public function postProcess($params = NULL) {
     $fv = $params ?: $this->controller->exportValues($this->_name);
@@ -300,7 +300,6 @@ class CRM_Contact_Form_Task_Label extends CRM_Contact_Form_Task {
 
     if (isset($fv['merge_same_address'])) {
       CRM_Core_BAO_Address::mergeSameAddress($rows);
-      $individualFormat = TRUE;
     }
 
     // format the addresses according to CIVICRM_ADDRESS_FORMAT (CRM-1327)
@@ -316,18 +315,6 @@ class CRM_Contact_Form_Task_Label extends CRM_Contact_Form_Task {
       }
       $row['id'] = $id;
       $formatted = CRM_Utils_Address::format($row, 'mailing_format', FALSE, TRUE, $tokenFields);
-
-      // CRM-2211: UFPDF doesn't have bidi support; use the PECL fribidi package to fix it.
-      // On Ubuntu (possibly Debian?) be aware of http://pecl.php.net/bugs/bug.php?id=12366
-      // Due to FriBidi peculiarities, this can't be called on
-      // a multi-line string, hence the explode+implode approach.
-      if (function_exists('fribidi_log2vis')) {
-        $lines = explode("\n", $formatted);
-        foreach ($lines as $i => $line) {
-          $lines[$i] = fribidi_log2vis($line, FRIBIDI_AUTO, FRIBIDI_CHARSET_UTF8);
-        }
-        $formatted = implode("\n", $lines);
-      }
       $rows[$id] = [$formatted];
     }
 
@@ -336,7 +323,7 @@ class CRM_Contact_Form_Task_Label extends CRM_Contact_Form_Task {
     }
 
     //call function to create labels
-    self::createLabel($rows, $fv['label_name']);
+    $this->createLabel($rows, $fv['label_name']);
     CRM_Utils_System::civiExit();
   }
 
@@ -369,15 +356,15 @@ class CRM_Contact_Form_Task_Label extends CRM_Contact_Form_Task {
    * @param string $fileName
    *   The name of the file to save the label in.
    */
-  public function createLabel(&$contactRows, &$format, $fileName = 'MailingLabels_CiviCRM.pdf') {
+  private function createLabel($contactRows, $format, $fileName = 'MailingLabels_CiviCRM.pdf') {
     $pdf = new CRM_Utils_PDF_Label($format, 'mm');
     $pdf->Open();
     $pdf->AddPage();
 
     //build contact string that needs to be printed
     $val = NULL;
-    foreach ($contactRows as $row => $value) {
-      foreach ($value as $k => $v) {
+    foreach ($contactRows as $value) {
+      foreach ($value as $v) {
         $val .= "$v\n";
       }
 
diff --git a/civicrm/CRM/Contact/Form/Task/LabelCommon.php b/civicrm/CRM/Contact/Form/Task/LabelCommon.php
index 5b7a295e87..c71be6f54d 100644
--- a/civicrm/CRM/Contact/Form/Task/LabelCommon.php
+++ b/civicrm/CRM/Contact/Form/Task/LabelCommon.php
@@ -54,10 +54,10 @@ class CRM_Contact_Form_Task_LabelCommon {
   /**
    * Get the rows for the labels.
    *
-   * @param $contactIDs
+   * @param array $contactIDs
    * @param int $locationTypeID
    * @param bool $respectDoNotMail
-   * @param $mergeSameAddress
+   * @param bool $mergeSameAddress
    * @param bool $mergeSameHousehold
    *   UNUSED.
    *
diff --git a/civicrm/CRM/Contact/Form/Task/Map.php b/civicrm/CRM/Contact/Form/Task/Map.php
index 9cb5e97719..31c04508f7 100644
--- a/civicrm/CRM/Contact/Form/Task/Map.php
+++ b/civicrm/CRM/Contact/Form/Task/Map.php
@@ -118,7 +118,7 @@ class CRM_Contact_Form_Task_Map extends CRM_Contact_Form_Task {
    * @param array $ids
    * @param int $locationId
    *   Location_id.
-   * @param CRM_Core_Page $page
+   * @param CRM_Core_Form $page
    * @param bool $addBreadCrumb
    * @param string $type
    */
@@ -209,12 +209,12 @@ class CRM_Contact_Form_Task_Map extends CRM_Contact_Form_Task {
     }
 
     $center = [
-      'lat' => (float ) $sumLat / count($locations),
-      'lng' => (float ) $sumLng / count($locations),
+      'lat' => (float) $sumLat / count($locations),
+      'lng' => (float) $sumLng / count($locations),
     ];
     $span = [
-      'lat' => (float ) ($maxLat - $minLat),
-      'lng' => (float ) ($maxLng - $minLng),
+      'lat' => (float) ($maxLat - $minLat),
+      'lng' => (float) ($maxLng - $minLng),
     ];
     $page->assign_by_ref('center', $center);
     $page->assign_by_ref('span', $span);
diff --git a/civicrm/CRM/Contact/Form/Task/Print.php b/civicrm/CRM/Contact/Form/Task/Print.php
index 2869f520a1..4c7bfd7af0 100644
--- a/civicrm/CRM/Contact/Form/Task/Print.php
+++ b/civicrm/CRM/Contact/Form/Task/Print.php
@@ -28,7 +28,7 @@ class CRM_Contact_Form_Task_Print extends CRM_Contact_Form_Task {
     parent::preprocess();
 
     // set print view, so that print templates are called
-    $this->controller->setPrint(1);
+    $this->controller->setPrint(CRM_Core_Smarty::PRINT_PAGE);
     $this->assign('id', $this->get('id'));
     $this->assign('pageTitle', ts('CiviCRM Contact Listing'));
 
diff --git a/civicrm/CRM/Contact/Form/Task/SMSCommon.php b/civicrm/CRM/Contact/Form/Task/SMSCommon.php
index e4604aa6d9..5c9b2b90dc 100644
--- a/civicrm/CRM/Contact/Form/Task/SMSCommon.php
+++ b/civicrm/CRM/Contact/Form/Task/SMSCommon.php
@@ -274,7 +274,7 @@ class CRM_Contact_Form_Task_SMSCommon {
    * @param array $fields
    *   The input form values.
    * @param array $dontCare
-   * @param array $self
+   * @param self $self
    *   Additional values form 'this'.
    *
    * @return bool|array
diff --git a/civicrm/CRM/Contact/Import/Controller.php b/civicrm/CRM/Contact/Import/Controller.php
index da72132b1b..7aa08c4aee 100644
--- a/civicrm/CRM/Contact/Import/Controller.php
+++ b/civicrm/CRM/Contact/Import/Controller.php
@@ -19,7 +19,7 @@ class CRM_Contact_Import_Controller extends CRM_Core_Controller {
   /**
    * Class constructor.
    *
-   * @param null $title
+   * @param string $title
    * @param bool|int $action
    * @param bool $modal
    */
diff --git a/civicrm/CRM/Contact/Import/Form/Preview.php b/civicrm/CRM/Contact/Import/Form/Preview.php
index d25cd4f58e..48f484eb00 100644
--- a/civicrm/CRM/Contact/Import/Form/Preview.php
+++ b/civicrm/CRM/Contact/Import/Form/Preview.php
@@ -163,7 +163,7 @@ class CRM_Contact_Import_Form_Preview extends CRM_Import_Form_Preview {
    *   Posted values of the form.
    *
    * @param $files
-   * @param $self
+   * @param self $self
    *
    * @return array
    *   list of errors to be posted back to the form
diff --git a/civicrm/CRM/Contact/Import/ImportJob.php b/civicrm/CRM/Contact/Import/ImportJob.php
index 249bedc76a..7e0bd84c6a 100644
--- a/civicrm/CRM/Contact/Import/ImportJob.php
+++ b/civicrm/CRM/Contact/Import/ImportJob.php
@@ -46,8 +46,8 @@ class CRM_Contact_Import_ImportJob {
   protected $_parser;
 
   /**
-   * @param null $tableName
-   * @param null $createSql
+   * @param string|null $tableName
+   * @param string|null $createSql
    * @param bool $createTable
    *
    * @throws \CRM_Core_Exception
diff --git a/civicrm/CRM/Contact/Import/Parser.php b/civicrm/CRM/Contact/Import/Parser.php
index 99932d242a..cc354036cb 100644
--- a/civicrm/CRM/Contact/Import/Parser.php
+++ b/civicrm/CRM/Contact/Import/Parser.php
@@ -726,230 +726,6 @@ abstract class CRM_Contact_Import_Parser extends CRM_Import_Parser {
     }
   }
 
-  /**
-   * Format common params data to proper format to store.
-   *
-   * @param array $params
-   *   Contain record values.
-   * @param array $formatted
-   *   Array of formatted data.
-   * @param array $contactFields
-   *   Contact DAO fields.
-   */
-  public function formatCommonData($params, &$formatted, &$contactFields) {
-    $csType = [
-      CRM_Utils_Array::value('contact_type', $formatted),
-    ];
-
-    //CRM-5125
-    //add custom fields for contact sub type
-    if (!empty($this->_contactSubType)) {
-      $csType = $this->_contactSubType;
-    }
-
-    if ($relCsType = CRM_Utils_Array::value('contact_sub_type', $formatted)) {
-      $csType = $relCsType;
-    }
-
-    $customFields = CRM_Core_BAO_CustomField::getFields($formatted['contact_type'], FALSE, FALSE, $csType);
-
-    $addressCustomFields = CRM_Core_BAO_CustomField::getFields('Address');
-    $customFields = $customFields + $addressCustomFields;
-
-    //if a Custom Email Greeting, Custom Postal Greeting or Custom Addressee is mapped, and no "Greeting / Addressee Type ID" is provided, then automatically set the type = Customized, CRM-4575
-    $elements = [
-      'email_greeting_custom' => 'email_greeting',
-      'postal_greeting_custom' => 'postal_greeting',
-      'addressee_custom' => 'addressee',
-    ];
-    foreach ($elements as $k => $v) {
-      if (array_key_exists($k, $params) && !(array_key_exists($v, $params))) {
-        $label = key(CRM_Core_OptionGroup::values($v, TRUE, NULL, NULL, 'AND v.name = "Customized"'));
-        $params[$v] = $label;
-      }
-    }
-
-    //format date first
-    $session = CRM_Core_Session::singleton();
-    $dateType = $session->get("dateTypes");
-    foreach ($params as $key => $val) {
-      $customFieldID = CRM_Core_BAO_CustomField::getKeyID($key);
-      if ($customFieldID &&
-        !array_key_exists($customFieldID, $addressCustomFields)
-      ) {
-        //we should not update Date to null, CRM-4062
-        if ($val && ($customFields[$customFieldID]['data_type'] == 'Date')) {
-          //CRM-21267
-          CRM_Contact_Import_Parser_Contact::formatCustomDate($params, $formatted, $dateType, $key);
-        }
-        elseif ($customFields[$customFieldID]['data_type'] == 'Boolean') {
-          if (empty($val) && !is_numeric($val) && $this->_onDuplicate == CRM_Import_Parser::DUPLICATE_FILL) {
-            //retain earlier value when Import mode is `Fill`
-            unset($params[$key]);
-          }
-          else {
-            $params[$key] = CRM_Utils_String::strtoboolstr($val);
-          }
-        }
-      }
-
-      if ($key == 'birth_date' && $val) {
-        CRM_Utils_Date::convertToDefaultDate($params, $dateType, $key);
-      }
-      elseif ($key == 'deceased_date' && $val) {
-        CRM_Utils_Date::convertToDefaultDate($params, $dateType, $key);
-        $params['is_deceased'] = 1;
-      }
-      elseif ($key == 'is_deceased' && $val) {
-        $params[$key] = CRM_Utils_String::strtoboolstr($val);
-      }
-    }
-
-    //now format custom data.
-    foreach ($params as $key => $field) {
-      if (is_array($field)) {
-        $isAddressCustomField = FALSE;
-        foreach ($field as $value) {
-          $break = FALSE;
-          if (is_array($value)) {
-            foreach ($value as $name => $testForEmpty) {
-              if ($addressCustomFieldID = CRM_Core_BAO_CustomField::getKeyID($name)) {
-                $isAddressCustomField = TRUE;
-                break;
-              }
-              // check if $value does not contain IM provider or phoneType
-              if (($name !== 'phone_type_id' || $name !== 'provider_id') && ($testForEmpty === '' || $testForEmpty == NULL)) {
-                $break = TRUE;
-                break;
-              }
-            }
-          }
-          else {
-            $break = TRUE;
-          }
-
-          if (!$break) {
-            if (!empty($value['location_type_id'])) {
-              $this->formatLocationBlock($value, $formatted);
-            }
-            else {
-              // @todo - this is still reachable - e.g. import with related contact info like firstname,lastname,spouse-first-name,spouse-last-name,spouse-home-phone
-              CRM_Core_Error::deprecatedFunctionWarning('this is not expected to be reachable now');
-              $this->formatContactParameters($value, $formatted);
-            }
-          }
-        }
-        if (!$isAddressCustomField) {
-          continue;
-        }
-      }
-
-      $formatValues = [
-        $key => $field,
-      ];
-
-      if (($key !== 'preferred_communication_method') && (array_key_exists($key, $contactFields))) {
-        // due to merging of individual table and
-        // contact table, we need to avoid
-        // preferred_communication_method forcefully
-        $formatValues['contact_type'] = $formatted['contact_type'];
-      }
-
-      if ($key == 'id' && isset($field)) {
-        $formatted[$key] = $field;
-      }
-      $this->formatContactParameters($formatValues, $formatted);
-
-      //Handling Custom Data
-      // note: Address custom fields will be handled separately inside formatContactParameters
-      if (($customFieldID = CRM_Core_BAO_CustomField::getKeyID($key)) &&
-        array_key_exists($customFieldID, $customFields) &&
-        !array_key_exists($customFieldID, $addressCustomFields)
-      ) {
-
-        $extends = $customFields[$customFieldID]['extends'] ?? NULL;
-        $htmlType = $customFields[$customFieldID]['html_type'] ?? NULL;
-        $dataType = $customFields[$customFieldID]['data_type'] ?? NULL;
-        $serialized = CRM_Core_BAO_CustomField::isSerialized($customFields[$customFieldID]);
-
-        if (!$serialized && in_array($htmlType, ['Select', 'Radio', 'Autocomplete-Select']) && in_array($dataType, ['String', 'Int'])) {
-          $customOption = CRM_Core_BAO_CustomOption::getCustomOption($customFieldID, TRUE);
-          foreach ($customOption as $customValue) {
-            $val = $customValue['value'] ?? NULL;
-            $label = strtolower($customValue['label'] ?? '');
-            $value = strtolower(trim($formatted[$key]));
-            if (($value == $label) || ($value == strtolower($val))) {
-              $params[$key] = $formatted[$key] = $val;
-            }
-          }
-        }
-        elseif ($serialized && !empty($formatted[$key]) && !empty($params[$key])) {
-          $mulValues = explode(',', $formatted[$key]);
-          $customOption = CRM_Core_BAO_CustomOption::getCustomOption($customFieldID, TRUE);
-          $formatted[$key] = [];
-          $params[$key] = [];
-          foreach ($mulValues as $v1) {
-            foreach ($customOption as $v2) {
-              if ((strtolower($v2['label']) == strtolower(trim($v1))) ||
-                (strtolower($v2['value']) == strtolower(trim($v1)))
-              ) {
-                if ($htmlType == 'CheckBox') {
-                  $params[$key][$v2['value']] = $formatted[$key][$v2['value']] = 1;
-                }
-                else {
-                  $params[$key][] = $formatted[$key][] = $v2['value'];
-                }
-              }
-            }
-          }
-        }
-      }
-    }
-
-    if (!empty($key) && ($customFieldID = CRM_Core_BAO_CustomField::getKeyID($key)) && array_key_exists($customFieldID, $customFields) &&
-      !array_key_exists($customFieldID, $addressCustomFields)
-    ) {
-      // @todo calling api functions directly is not supported
-      _civicrm_api3_custom_format_params($params, $formatted, $extends);
-    }
-
-    // to check if not update mode and unset the fields with empty value.
-    if (!$this->_updateWithId && array_key_exists('custom', $formatted)) {
-      foreach ($formatted['custom'] as $customKey => $customvalue) {
-        if (empty($formatted['custom'][$customKey][-1]['is_required'])) {
-          $formatted['custom'][$customKey][-1]['is_required'] = $customFields[$customKey]['is_required'];
-        }
-        $emptyValue = $customvalue[-1]['value'] ?? NULL;
-        if (!isset($emptyValue)) {
-          unset($formatted['custom'][$customKey]);
-        }
-      }
-    }
-
-    // parse street address, CRM-5450
-    if ($this->_parseStreetAddress) {
-      if (array_key_exists('address', $formatted) && is_array($formatted['address'])) {
-        foreach ($formatted['address'] as $instance => & $address) {
-          $streetAddress = $address['street_address'] ?? NULL;
-          if (empty($streetAddress)) {
-            continue;
-          }
-          // parse address field.
-          $parsedFields = CRM_Core_BAO_Address::parseStreetAddress($streetAddress);
-
-          //street address consider to be parsed properly,
-          //If we get street_name and street_number.
-          if (empty($parsedFields['street_name']) || empty($parsedFields['street_number'])) {
-            $parsedFields = array_fill_keys(array_keys($parsedFields), '');
-          }
-
-          // merge parse address w/ main address block.
-          $address = array_merge($address, $parsedFields);
-        }
-      }
-    }
-  }
-
   /**
    * Format contact parameters.
    *
diff --git a/civicrm/CRM/Contact/Import/Parser/Contact.php b/civicrm/CRM/Contact/Import/Parser/Contact.php
index 36d581f43e..c46a60338f 100644
--- a/civicrm/CRM/Contact/Import/Parser/Contact.php
+++ b/civicrm/CRM/Contact/Import/Parser/Contact.php
@@ -877,7 +877,6 @@ class CRM_Contact_Import_Parser_Contact extends CRM_Contact_Import_Parser {
               //if more than one duplicate contact
               //found, create relationship with first contact
               // now create the relationship record
-              $relationParams = [];
               $relationParams = [
                 'relationship_type_id' => $key,
                 'contact_check' => [
@@ -893,7 +892,7 @@ class CRM_Contact_Import_Parser_Contact extends CRM_Contact_Import_Parser {
                 'contact' => $primaryContactId,
               ];
 
-              [$valid, $invalid, $duplicate, $saved, $relationshipIds] = CRM_Contact_BAO_Relationship::legacyCreateMultiple($relationParams, $relationIds);
+              [$valid, $duplicate] = self::legacyCreateMultiple($relationParams, $relationIds);
 
               if ($valid || $duplicate) {
                 $relationIds['contactTarget'] = $relContactId;
@@ -957,6 +956,296 @@ class CRM_Contact_Import_Parser_Contact extends CRM_Contact_Import_Parser {
     return $this->processMessage($values, $statusFieldName, CRM_Import_Parser::VALID);
   }
 
+  /**
+   * Only called from import now... plus one place outside of core & tests.
+   *
+   * @todo - deprecate more aggressively - will involve copying to the import
+   * class, adding a deprecation notice here & removing from tests.
+   *
+   * Takes an associative array and creates a relationship object.
+   *
+   * @deprecated For single creates use the api instead (it's tested).
+   * For multiple a new variant of this function needs to be written and migrated to as this is a bit
+   * nasty
+   *
+   * @param array $params
+   *   (reference ) an assoc array of name/value pairs.
+   * @param array $ids
+   *   The array that holds all the db ids.
+   *   per http://wiki.civicrm.org/confluence/display/CRM/Database+layer
+   *  "we are moving away from the $ids param "
+   *
+   * @return array
+   * @throws \CRM_Core_Exception
+   */
+  private static function legacyCreateMultiple($params, $ids = []) {
+    // clarify that the only key ever pass in the ids array is 'contact'
+    // There is legacy handling for other keys but a universe search on
+    // calls to this function (not supported to be called from outside core)
+    // only returns 2 calls - one in CRM_Contact_Import_Parser_Contact
+    // and the other in jma grant applications (CRM_Grant_Form_Grant_Confirm)
+    // both only pass in contact as a key here.
+    $contactID = $ids['contact'];
+    unset($ids);
+    // There is only ever one value passed in from the 2 places above that call
+    // this - by clarifying here like this we can cleanup within this
+    // function without having to do more universe searches.
+    $relatedContactID = key($params['contact_check']);
+
+    // check if the relationship is valid between contacts.
+    // step 1: check if the relationship is valid if not valid skip and keep the count
+    // step 2: check the if two contacts already have a relationship if yes skip and keep the count
+    // step 3: if valid relationship then add the relation and keep the count
+
+    // step 1
+    [$contactFields['relationship_type_id'], $firstLetter, $secondLetter] = explode('_', $params['relationship_type_id']);
+    $contactFields['contact_id_' . $firstLetter] = $contactID;
+    $contactFields['contact_id_' . $secondLetter] = $relatedContactID;
+    if (!CRM_Contact_BAO_Relationship::checkRelationshipType($contactFields['contact_id_a'], $contactFields['contact_id_b'],
+      $contactFields['relationship_type_id'])) {
+      return [0, 0];
+    }
+
+    if (
+      CRM_Contact_BAO_Relationship::checkDuplicateRelationship(
+        $contactFields,
+        $contactID,
+        // step 2
+        $relatedContactID
+      )
+    ) {
+      return [0, 1];
+    }
+
+    $singleInstanceParams = array_merge($params, $contactFields);
+    CRM_Contact_BAO_Relationship::add($singleInstanceParams);
+    return [1, 0];
+  }
+
+  /**
+   * Format common params data to proper format to store.
+   *
+   * @param array $params
+   *   Contain record values.
+   * @param array $formatted
+   *   Array of formatted data.
+   * @param array $contactFields
+   *   Contact DAO fields.
+   */
+  private function formatCommonData($params, &$formatted, $contactFields) {
+    $csType = [
+      CRM_Utils_Array::value('contact_type', $formatted),
+    ];
+
+    //CRM-5125
+    //add custom fields for contact sub type
+    if (!empty($this->_contactSubType)) {
+      $csType = $this->_contactSubType;
+    }
+
+    if ($relCsType = CRM_Utils_Array::value('contact_sub_type', $formatted)) {
+      $csType = $relCsType;
+    }
+
+    $customFields = CRM_Core_BAO_CustomField::getFields($formatted['contact_type'], FALSE, FALSE, $csType);
+
+    $addressCustomFields = CRM_Core_BAO_CustomField::getFields('Address');
+    $customFields = $customFields + $addressCustomFields;
+
+    //if a Custom Email Greeting, Custom Postal Greeting or Custom Addressee is mapped, and no "Greeting / Addressee Type ID" is provided, then automatically set the type = Customized, CRM-4575
+    $elements = [
+      'email_greeting_custom' => 'email_greeting',
+      'postal_greeting_custom' => 'postal_greeting',
+      'addressee_custom' => 'addressee',
+    ];
+    foreach ($elements as $k => $v) {
+      if (array_key_exists($k, $params) && !(array_key_exists($v, $params))) {
+        $label = key(CRM_Core_OptionGroup::values($v, TRUE, NULL, NULL, 'AND v.name = "Customized"'));
+        $params[$v] = $label;
+      }
+    }
+
+    //format date first
+    $session = CRM_Core_Session::singleton();
+    $dateType = $session->get("dateTypes");
+    foreach ($params as $key => $val) {
+      $customFieldID = CRM_Core_BAO_CustomField::getKeyID($key);
+      if ($customFieldID &&
+        !array_key_exists($customFieldID, $addressCustomFields)
+      ) {
+        //we should not update Date to null, CRM-4062
+        if ($val && ($customFields[$customFieldID]['data_type'] == 'Date')) {
+          //CRM-21267
+          CRM_Contact_Import_Parser_Contact::formatCustomDate($params, $formatted, $dateType, $key);
+        }
+        elseif ($customFields[$customFieldID]['data_type'] == 'Boolean') {
+          if (empty($val) && !is_numeric($val) && $this->_onDuplicate == CRM_Import_Parser::DUPLICATE_FILL) {
+            //retain earlier value when Import mode is `Fill`
+            unset($params[$key]);
+          }
+          else {
+            $params[$key] = CRM_Utils_String::strtoboolstr($val);
+          }
+        }
+      }
+
+      if ($key == 'birth_date' && $val) {
+        CRM_Utils_Date::convertToDefaultDate($params, $dateType, $key);
+      }
+      elseif ($key == 'deceased_date' && $val) {
+        CRM_Utils_Date::convertToDefaultDate($params, $dateType, $key);
+        $params['is_deceased'] = 1;
+      }
+      elseif ($key == 'is_deceased' && $val) {
+        $params[$key] = CRM_Utils_String::strtoboolstr($val);
+      }
+    }
+
+    //now format custom data.
+    foreach ($params as $key => $field) {
+      if (is_array($field)) {
+        $isAddressCustomField = FALSE;
+        foreach ($field as $value) {
+          $break = FALSE;
+          if (is_array($value)) {
+            foreach ($value as $name => $testForEmpty) {
+              if ($addressCustomFieldID = CRM_Core_BAO_CustomField::getKeyID($name)) {
+                $isAddressCustomField = TRUE;
+                break;
+              }
+              // check if $value does not contain IM provider or phoneType
+              if (($name !== 'phone_type_id' || $name !== 'provider_id') && ($testForEmpty === '' || $testForEmpty == NULL)) {
+                $break = TRUE;
+                break;
+              }
+            }
+          }
+          else {
+            $break = TRUE;
+          }
+
+          if (!$break) {
+            if (!empty($value['location_type_id'])) {
+              $this->formatLocationBlock($value, $formatted);
+            }
+            else {
+              // @todo - this is still reachable - e.g. import with related contact info like firstname,lastname,spouse-first-name,spouse-last-name,spouse-home-phone
+              CRM_Core_Error::deprecatedFunctionWarning('this is not expected to be reachable now');
+              $this->formatContactParameters($value, $formatted);
+            }
+          }
+        }
+        if (!$isAddressCustomField) {
+          continue;
+        }
+      }
+
+      $formatValues = [
+        $key => $field,
+      ];
+
+      if (($key !== 'preferred_communication_method') && (array_key_exists($key, $contactFields))) {
+        // due to merging of individual table and
+        // contact table, we need to avoid
+        // preferred_communication_method forcefully
+        $formatValues['contact_type'] = $formatted['contact_type'];
+      }
+
+      if ($key == 'id' && isset($field)) {
+        $formatted[$key] = $field;
+      }
+      $this->formatContactParameters($formatValues, $formatted);
+
+      //Handling Custom Data
+      // note: Address custom fields will be handled separately inside formatContactParameters
+      if (($customFieldID = CRM_Core_BAO_CustomField::getKeyID($key)) &&
+        array_key_exists($customFieldID, $customFields) &&
+        !array_key_exists($customFieldID, $addressCustomFields)
+      ) {
+
+        $extends = $customFields[$customFieldID]['extends'] ?? NULL;
+        $htmlType = $customFields[$customFieldID]['html_type'] ?? NULL;
+        $dataType = $customFields[$customFieldID]['data_type'] ?? NULL;
+        $serialized = CRM_Core_BAO_CustomField::isSerialized($customFields[$customFieldID]);
+
+        if (!$serialized && in_array($htmlType, ['Select', 'Radio', 'Autocomplete-Select']) && in_array($dataType, ['String', 'Int'])) {
+          $customOption = CRM_Core_BAO_CustomOption::getCustomOption($customFieldID, TRUE);
+          foreach ($customOption as $customValue) {
+            $val = $customValue['value'] ?? NULL;
+            $label = strtolower($customValue['label'] ?? '');
+            $value = strtolower(trim($formatted[$key]));
+            if (($value == $label) || ($value == strtolower($val))) {
+              $params[$key] = $formatted[$key] = $val;
+            }
+          }
+        }
+        elseif ($serialized && !empty($formatted[$key]) && !empty($params[$key])) {
+          $mulValues = explode(',', $formatted[$key]);
+          $customOption = CRM_Core_BAO_CustomOption::getCustomOption($customFieldID, TRUE);
+          $formatted[$key] = [];
+          $params[$key] = [];
+          foreach ($mulValues as $v1) {
+            foreach ($customOption as $v2) {
+              if ((strtolower($v2['label']) == strtolower(trim($v1))) ||
+                (strtolower($v2['value']) == strtolower(trim($v1)))
+              ) {
+                if ($htmlType == 'CheckBox') {
+                  $params[$key][$v2['value']] = $formatted[$key][$v2['value']] = 1;
+                }
+                else {
+                  $params[$key][] = $formatted[$key][] = $v2['value'];
+                }
+              }
+            }
+          }
+        }
+      }
+    }
+
+    if (!empty($key) && ($customFieldID = CRM_Core_BAO_CustomField::getKeyID($key)) && array_key_exists($customFieldID, $customFields) &&
+      !array_key_exists($customFieldID, $addressCustomFields)
+    ) {
+      // @todo calling api functions directly is not supported
+      _civicrm_api3_custom_format_params($params, $formatted, $extends);
+    }
+
+    // to check if not update mode and unset the fields with empty value.
+    if (!$this->_updateWithId && array_key_exists('custom', $formatted)) {
+      foreach ($formatted['custom'] as $customKey => $customvalue) {
+        if (empty($formatted['custom'][$customKey][-1]['is_required'])) {
+          $formatted['custom'][$customKey][-1]['is_required'] = $customFields[$customKey]['is_required'];
+        }
+        $emptyValue = $customvalue[-1]['value'] ?? NULL;
+        if (!isset($emptyValue)) {
+          unset($formatted['custom'][$customKey]);
+        }
+      }
+    }
+
+    // parse street address, CRM-5450
+    if ($this->_parseStreetAddress) {
+      if (array_key_exists('address', $formatted) && is_array($formatted['address'])) {
+        foreach ($formatted['address'] as $instance => & $address) {
+          $streetAddress = $address['street_address'] ?? NULL;
+          if (empty($streetAddress)) {
+            continue;
+          }
+          // parse address field.
+          $parsedFields = CRM_Core_BAO_Address::parseStreetAddress($streetAddress);
+
+          //street address consider to be parsed properly,
+          //If we get street_name and street_number.
+          if (empty($parsedFields['street_name']) || empty($parsedFields['street_number'])) {
+            $parsedFields = array_fill_keys(array_keys($parsedFields), '');
+          }
+
+          // merge parse address w/ main address block.
+          $address = array_merge($address, $parsedFields);
+        }
+      }
+    }
+  }
+
   /**
    * Get the array of successfully imported contact id's
    *
diff --git a/civicrm/CRM/Contact/Page/AJAX.php b/civicrm/CRM/Contact/Page/AJAX.php
index 86dd300d90..0b4531f1e1 100644
--- a/civicrm/CRM/Contact/Page/AJAX.php
+++ b/civicrm/CRM/Contact/Page/AJAX.php
@@ -815,12 +815,13 @@ LIMIT {$offset}, {$rowCount}
    *
    * @param int $cid
    * @param int $oid
-   * @param "dupe-nondupe|nondupe-dupe" $oper
+   * @param string $oper
+   *   'nondupe-dupe' or 'dupe-nondupe'
    *
    * @return \CRM_Core_DAO|mixed|null
    */
   public static function markNonDuplicates($cid, $oid, $oper) {
-    if ($oper == 'dupe-nondupe') {
+    if ($oper === 'dupe-nondupe') {
       try {
         civicrm_api3('Exception', 'create', ['contact_id1' => $cid, 'contact_id2' => $oid]);
         return TRUE;
@@ -841,7 +842,7 @@ LIMIT {$offset}, {$rowCount}
     $exception->find(TRUE);
     $status = NULL;
 
-    if ($oper == 'nondupe-dupe') {
+    if ($oper === 'nondupe-dupe') {
       $status = $exception->delete();
     }
     return $status;
diff --git a/civicrm/CRM/Contact/Page/View.php b/civicrm/CRM/Contact/Page/View.php
index f891c0d6ac..bbbc950dde 100644
--- a/civicrm/CRM/Contact/Page/View.php
+++ b/civicrm/CRM/Contact/Page/View.php
@@ -231,7 +231,7 @@ class CRM_Contact_Page_View extends CRM_Core_Page {
   }
 
   /**
-   * @param $page
+   * @param CRM_Core_Page $page
    * @param int $contactID
    */
   public static function checkUserPermission($page, $contactID = NULL) {
@@ -242,7 +242,7 @@ class CRM_Contact_Page_View extends CRM_Core_Page {
       $contactID = $page->_contactId;
     }
 
-    // automatically grant permissin for users on their own record. makes
+    // automatically grant permission for users on their own record. makes
     // things easier in dashboard
     $session = CRM_Core_Session::singleton();
 
diff --git a/civicrm/CRM/Contact/Page/View/CustomData.php b/civicrm/CRM/Contact/Page/View/CustomData.php
index 3000627b0b..8d8a5e9fef 100644
--- a/civicrm/CRM/Contact/Page/View/CustomData.php
+++ b/civicrm/CRM/Contact/Page/View/CustomData.php
@@ -27,15 +27,6 @@ class CRM_Contact_Page_View_CustomData extends CRM_Core_Page {
    */
   public $_groupId;
 
-  /**
-   * Class constructor.
-   *
-   * @return CRM_Contact_Page_View_CustomData
-   */
-  public function __construct() {
-    parent::__construct();
-  }
-
   /**
    * Add a few specific things to view contact.
    */
@@ -96,8 +87,7 @@ class CRM_Contact_Page_View_CustomData extends CRM_Core_Page {
 
       if ($this->_multiRecordDisplay != 'single') {
         $id = "custom_{$this->_groupId}";
-        $tableName = CRM_Core_DAO::getFieldValue('CRM_Core_DAO_CustomGroup', $this->_groupId, 'table_name');
-        $this->ajaxResponse['tabCount'] = CRM_Contact_BAO_Contact::getCountComponent($id, $this->_contactId, $tableName);
+        $this->ajaxResponse['tabCount'] = CRM_Contact_BAO_Contact::getCountComponent($id, $this->_contactId);
       }
 
       if ($displayStyle === 'Tab with table' && $this->_multiRecordDisplay != 'single') {
diff --git a/civicrm/CRM/Contribute/BAO/Contribution.php b/civicrm/CRM/Contribute/BAO/Contribution.php
index 8f1c8b07f0..8851522c74 100644
--- a/civicrm/CRM/Contribute/BAO/Contribution.php
+++ b/civicrm/CRM/Contribute/BAO/Contribution.php
@@ -76,13 +76,6 @@ class CRM_Contribute_BAO_Contribution extends CRM_Contribute_DAO_Contribution {
    */
   public $trxn_result_code;
 
-  /**
-   * Class constructor.
-   */
-  public function __construct() {
-    parent::__construct();
-  }
-
   /**
    * Takes an associative array and creates a contribution object.
    *
@@ -512,6 +505,7 @@ class CRM_Contribute_BAO_Contribution extends CRM_Contribute_DAO_Contribution {
     CRM_Contribute_BAO_ContributionSoft::processSoftContribution($params, $contribution);
 
     if (!empty($params['id']) && !empty($params['contribution_status_id'])
+      && CRM_Core_Component::isEnabled('CiviPledge')
     ) {
       self::disconnectPledgePaymentsIfCancelled((int) $params['id'], CRM_Core_PseudoConstant::getName('CRM_Contribute_BAO_Contribution', 'contribution_status_id', $params['contribution_status_id']));
     }
@@ -1164,34 +1158,7 @@ class CRM_Contribute_BAO_Contribution extends CRM_Contribute_DAO_Contribution {
   }
 
   /**
-   * @inheritDoc
-   */
-  public function addSelectWhereClause() {
-    $whereClauses = parent::addSelectWhereClause();
-    if ($whereClauses !== []) {
-      // In this case permisssions have been applied & we assume the
-      // financialaclreport is applying these
-      // https://github.com/JMAConsulting/biz.jmaconsulting.financialaclreport/blob/master/financialaclreport.php#L107
-      return $whereClauses;
-    }
-
-    if (!CRM_Financial_BAO_FinancialType::isACLFinancialTypeStatus()) {
-      return $whereClauses;
-    }
-    $types = CRM_Financial_BAO_FinancialType::getAllEnabledAvailableFinancialTypes();
-    if (empty($types)) {
-      $whereClauses['financial_type_id'] = 'IN (0)';
-    }
-    else {
-      $whereClauses['financial_type_id'] = [
-        'IN (' . implode(',', array_keys($types)) . ')',
-      ];
-    }
-    return $whereClauses;
-  }
-
-  /**
-   * @param null $status
+   * @param string $status
    * @param null $startDate
    * @param null $endDate
    *
@@ -2595,6 +2562,8 @@ INNER JOIN civicrm_activity ON civicrm_activity_contact.activity_id = civicrm_ac
 
       CRM_Event_BAO_Event::retrieve($eventParams, $values['event']);
 
+      CRM_Event_BAO_Event::setOutputTimeZone($values['event']);
+
       //get location details
       $locationParams = [
         'entity_id' => $this->_relatedObjects['participant']->event_id,
@@ -4757,6 +4726,9 @@ LIMIT 1;";
     $values = ['event' => []];
 
     CRM_Event_BAO_Event::retrieve($eventParams, $values['event']);
+
+    CRM_Event_BAO_Event::setOutputTimeZone($values['event']);
+
     // add custom fields for event
     $eventGroupTree = CRM_Core_BAO_CustomGroup::getTree('Event', NULL, $eventID);
 
diff --git a/civicrm/CRM/Contribute/BAO/ContributionPage.php b/civicrm/CRM/Contribute/BAO/ContributionPage.php
index a523e252a3..f184d19116 100644
--- a/civicrm/CRM/Contribute/BAO/ContributionPage.php
+++ b/civicrm/CRM/Contribute/BAO/ContributionPage.php
@@ -415,10 +415,10 @@ class CRM_Contribute_BAO_ContributionPage extends CRM_Contribute_DAO_Contributio
 
       // use either the contribution or membership receipt, based on whether it’s a membership-related contrib or not
       $sendTemplateParams = [
-        'groupName' => !empty($values['isMembership']) ? 'msg_tpl_workflow_membership' : 'msg_tpl_workflow_contribution',
-        'valueName' => !empty($values['isMembership']) ? 'membership_online_receipt' : 'contribution_online_receipt',
+        'workflow' => !empty($values['isMembership']) ? 'membership_online_receipt' : 'contribution_online_receipt',
         'contactId' => $contactID,
         'tplParams' => $tplParams,
+        'tokenContext' => $tplParams['contributionID'] ? ['contributionId' => (int) $tplParams['contributionID'], 'contactId' => $contactID] : ['contactId' => $contactID],
         'isTest' => $isTest,
         'PDFFilename' => 'receipt.pdf',
       ];
@@ -820,7 +820,7 @@ LEFT JOIN  civicrm_premiums            ON ( civicrm_premiums.entity_id = civicrm
         // @todo - the component is enabled check should be done within getIncomeFinancialType
         // It looks to me like test cover was NOT added to cover the change
         // that added this so we need to assume there is no test cover
-        if (array_key_exists('CiviContribute', CRM_Core_Component::getEnabledComponents())) {
+        if (CRM_Core_Component::isEnabled('CiviContribute')) {
           // if check_permission has been passed in (not Null) then restrict.
           return CRM_Financial_BAO_FinancialType::getIncomeFinancialType($props['check_permissions'] ?? TRUE);
         }
diff --git a/civicrm/CRM/Contribute/BAO/ContributionRecur.php b/civicrm/CRM/Contribute/BAO/ContributionRecur.php
index 980782b6a0..3ce962e062 100644
--- a/civicrm/CRM/Contribute/BAO/ContributionRecur.php
+++ b/civicrm/CRM/Contribute/BAO/ContributionRecur.php
@@ -1037,8 +1037,8 @@ INNER JOIN civicrm_contribution       con ON ( con.id = mp.contribution_id )
     $params = [];
     switch ($fieldName) {
       case 'payment_processor_id':
-        if (isset(\Civi::$statics[__CLASS__]['buildoptions_payment_processor_id'])) {
-          return \Civi::$statics[__CLASS__]['buildoptions_payment_processor_id'];
+        if (isset(\Civi::$statics[__CLASS__]['buildoptions_payment_processor_id'][$context])) {
+          return \Civi::$statics[__CLASS__]['buildoptions_payment_processor_id'][$context];
         }
         $baoName = 'CRM_Contribute_BAO_ContributionRecur';
         $params['condition']['test'] = "is_test = 0";
@@ -1057,7 +1057,7 @@ INNER JOIN civicrm_contribution       con ON ( con.id = mp.contribution_id )
         }
         $allProcessors = $liveProcessors + $testProcessors;
         ksort($allProcessors);
-        \Civi::$statics[__CLASS__]['buildoptions_payment_processor_id'] = $allProcessors;
+        \Civi::$statics[__CLASS__]['buildoptions_payment_processor_id'][$context] = $allProcessors;
         return $allProcessors;
     }
     return CRM_Core_PseudoConstant::get(__CLASS__, $fieldName, $params, $context);
diff --git a/civicrm/CRM/Contribute/BAO/ContributionSoft.php b/civicrm/CRM/Contribute/BAO/ContributionSoft.php
index 655f112cd9..7d93a9250a 100644
--- a/civicrm/CRM/Contribute/BAO/ContributionSoft.php
+++ b/civicrm/CRM/Contribute/BAO/ContributionSoft.php
@@ -18,13 +18,6 @@ use Civi\Api4\Contribution;
  */
 class CRM_Contribute_BAO_ContributionSoft extends CRM_Contribute_DAO_ContributionSoft {
 
-  /**
-   * Construct method.
-   */
-  public function __construct() {
-    parent::__construct();
-  }
-
   /**
    * Add contribution soft credit record.
    *
diff --git a/civicrm/CRM/Contribute/BAO/Premium.php b/civicrm/CRM/Contribute/BAO/Premium.php
index b89c6ca158..8440521b99 100644
--- a/civicrm/CRM/Contribute/BAO/Premium.php
+++ b/civicrm/CRM/Contribute/BAO/Premium.php
@@ -23,13 +23,6 @@ class CRM_Contribute_BAO_Premium extends CRM_Contribute_DAO_Premium {
    */
   private static $productInfo;
 
-  /**
-   * Class constructor.
-   */
-  public function __construct() {
-    parent::__construct();
-  }
-
   /**
    * Fetch object based on array of properties.
    *
@@ -151,22 +144,19 @@ class CRM_Contribute_BAO_Premium extends CRM_Contribute_DAO_Premium {
   }
 
   /**
-   * Build Premium B im Contribution Pages.
+   * Build Premium Preview block for Contribution Pages.
    *
    * @param CRM_Core_Form $form
-   * @param int $productID
-   * @param int $premiumProductID
+   * @param int|null $productID
+   *
+   * @return void
    */
-  public function buildPremiumPreviewBlock($form, $productID, $premiumProductID = NULL) {
-    if ($premiumProductID) {
-      $dao = new CRM_Contribute_DAO_PremiumsProduct();
-      $dao->id = $premiumProductID;
-      $dao->find(TRUE);
-      $productID = $dao->product_id;
-    }
+  public static function buildPremiumPreviewBlock($form, $productID) {
     $productDAO = new CRM_Contribute_DAO_Product();
     $productDAO->id = $productID;
     $productDAO->is_active = 1;
+    $products = [];
+
     if ($productDAO->find(TRUE)) {
       CRM_Core_DAO::storeValues($productDAO, $products[$productDAO->id]);
     }
diff --git a/civicrm/CRM/Contribute/BAO/Product.php b/civicrm/CRM/Contribute/BAO/Product.php
index f39e4e124f..7c7f9ff164 100644
--- a/civicrm/CRM/Contribute/BAO/Product.php
+++ b/civicrm/CRM/Contribute/BAO/Product.php
@@ -22,13 +22,6 @@ class CRM_Contribute_BAO_Product extends CRM_Contribute_DAO_Product {
    */
   public static $_defaultContributionType = NULL;
 
-  /**
-   * Class constructor.
-   */
-  public function __construct() {
-    parent::__construct();
-  }
-
   /**
    * Fetch object based on array of properties.
    *
diff --git a/civicrm/CRM/Contribute/BAO/Query.php b/civicrm/CRM/Contribute/BAO/Query.php
index e5aabe2a97..5a762d3f44 100644
--- a/civicrm/CRM/Contribute/BAO/Query.php
+++ b/civicrm/CRM/Contribute/BAO/Query.php
@@ -1088,7 +1088,7 @@ class CRM_Contribute_BAO_Query extends CRM_Core_BAO_Query {
    *
    * Extracted into separate function to improve readability of main select function.
    *
-   * @param $query
+   * @param CRM_Contact_BAO_Query $query
    */
   private static function addSoftCreditFields(&$query) {
     $includeSoftCredits = self::isSoftCreditOptionEnabled($query->_params);
diff --git a/civicrm/CRM/Contribute/DAO/Contribution.php b/civicrm/CRM/Contribute/DAO/Contribution.php
index b9093b4986..a53aeea42a 100644
--- a/civicrm/CRM/Contribute/DAO/Contribution.php
+++ b/civicrm/CRM/Contribute/DAO/Contribution.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Contribute/Contribution.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:b14fa847767daf3723033f41dbca9612)
+ * (GenCodeChecksum:204947e70942c2db4fb9b84398818aa1)
  */
 
 /**
@@ -53,205 +53,267 @@ class CRM_Contribute_DAO_Contribution extends CRM_Core_DAO {
   /**
    * Contribution ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * FK to Contact ID
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $contact_id;
 
   /**
    * FK to Financial Type for (total_amount - non_deductible_amount).
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $financial_type_id;
 
   /**
    * The Contribution Page which triggered this contribution
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $contribution_page_id;
 
   /**
    * FK to Payment Instrument
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $payment_instrument_id;
 
   /**
    * Date contribution was received - not necessarily the creation date of the record
    *
-   * @var datetime
+   * @var string|null
+   *   (SQL type: datetime)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $receive_date;
 
   /**
    * Portion of total amount which is NOT tax deductible. Equal to total_amount for non-deductible financial types.
    *
-   * @var float
+   * @var float|string|null
+   *   (SQL type: decimal(20,2))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $non_deductible_amount;
 
   /**
    * Total amount of this contribution. Use market value for non-monetary gifts.
    *
-   * @var float
+   * @var float|string
+   *   (SQL type: decimal(20,2))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $total_amount;
 
   /**
    * actual processor fee if known - may be 0.
    *
-   * @var float
+   * @var float|string|null
+   *   (SQL type: decimal(20,2))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $fee_amount;
 
   /**
    * actual funds transfer amount. total less fees. if processor does not report actual fee during transaction, this is set to total_amount.
    *
-   * @var float
+   * @var float|string|null
+   *   (SQL type: decimal(20,2))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $net_amount;
 
   /**
    * unique transaction id. may be processor id, bank id + trans id, or account number + check number... depending on payment_method
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $trxn_id;
 
   /**
    * unique invoice id, system generated or passed in
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $invoice_id;
 
   /**
    * Human readable invoice number
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $invoice_number;
 
   /**
    * 3 character string, value from config setting or input via user.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(3))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $currency;
 
   /**
    * when was gift cancelled
    *
-   * @var datetime
+   * @var string|null
+   *   (SQL type: datetime)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $cancel_date;
 
   /**
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $cancel_reason;
 
   /**
    * when (if) receipt was sent. populated automatically for online donations w/ automatic receipting
    *
-   * @var datetime
+   * @var string|null
+   *   (SQL type: datetime)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $receipt_date;
 
   /**
    * when (if) was donor thanked
    *
-   * @var datetime
+   * @var string|null
+   *   (SQL type: datetime)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $thankyou_date;
 
   /**
    * Origin of this Contribution.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $source;
 
   /**
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $amount_level;
 
   /**
    * Conditional foreign key to civicrm_contribution_recur id. Each contribution made in connection with a recurring contribution carries a foreign key to the recurring contribution record. This assumes we can track these processor initiated events.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $contribution_recur_id;
 
   /**
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_test;
 
   /**
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_pay_later;
 
   /**
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $contribution_status_id;
 
   /**
    * Conditional foreign key to civicrm_address.id. We insert an address record for each contribution when we have associated billing name and address data.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $address_id;
 
   /**
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $check_number;
 
   /**
    * The campaign for which this contribution has been triggered.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $campaign_id;
 
   /**
    * unique credit note id, system generated or passed in
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $creditnote_id;
 
   /**
    * Total tax amount of this contribution.
    *
-   * @var float
+   * @var float|string|null
+   *   (SQL type: decimal(20,2))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $tax_amount;
 
   /**
    * Stores the date when revenue should be recognized.
    *
-   * @var datetime
+   * @var string|null
+   *   (SQL type: datetime)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $revenue_recognition_date;
 
   /**
    * Shows this is a template for recurring contributions.
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_template;
 
diff --git a/civicrm/CRM/Contribute/DAO/ContributionPage.php b/civicrm/CRM/Contribute/DAO/ContributionPage.php
index 6af62986b0..1efbad0a12 100644
--- a/civicrm/CRM/Contribute/DAO/ContributionPage.php
+++ b/civicrm/CRM/Contribute/DAO/ContributionPage.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Contribute/ContributionPage.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:5f0160b47f79e1eeb1f920b4e221953d)
+ * (GenCodeChecksum:e33f9a31d9be56f20e20c753313478d1)
  */
 
 /**
@@ -41,322 +41,414 @@ class CRM_Contribute_DAO_ContributionPage extends CRM_Core_DAO {
   /**
    * Contribution ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * Contribution Page title. For top of page display
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $title;
 
   /**
    * Text and html allowed. Displayed below title.
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $intro_text;
 
   /**
    * default financial type assigned to contributions submitted via this page, e.g. Contribution, Campaign Contribution
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $financial_type_id;
 
   /**
    * Payment Processors configured for this contribution Page
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(128))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $payment_processor;
 
   /**
    * if true - processing logic must reject transaction at confirmation stage if pay method != credit card
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_credit_card_only;
 
   /**
    * if true - allows real-time monetary transactions otherwise non-monetary transactions
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_monetary;
 
   /**
    * if true - allows recurring contributions, valid only for PayPal_Standard
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_recur;
 
   /**
    * if false, the confirm page in contribution pages gets skipped
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_confirm_enabled;
 
   /**
    * Supported recurring frequency units.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(128))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $recur_frequency_unit;
 
   /**
    * if true - supports recurring intervals
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_recur_interval;
 
   /**
    * if true - asks user for recurring installments
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_recur_installments;
 
   /**
    * if true - user is able to adjust payment start date
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $adjust_recur_start_date;
 
   /**
    * if true - allows the user to send payment directly to the org later
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_pay_later;
 
   /**
    * The text displayed to the user in the main form
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $pay_later_text;
 
   /**
    * The receipt sent to the user instead of the normal receipt text
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $pay_later_receipt;
 
   /**
    * is partial payment enabled for this online contribution page
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_partial_payment;
 
   /**
    * Initial amount label for partial payment
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $initial_amount_label;
 
   /**
    * Initial amount help text for partial payment
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $initial_amount_help_text;
 
   /**
    * Minimum initial amount for partial payment
    *
-   * @var float
+   * @var float|string|null
+   *   (SQL type: decimal(20,2))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $min_initial_amount;
 
   /**
    * if true, page will include an input text field where user can enter their own amount
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_allow_other_amount;
 
   /**
    * FK to civicrm_option_value.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $default_amount_id;
 
   /**
    * if other amounts allowed, user can configure minimum allowed.
    *
-   * @var float
+   * @var float|string|null
+   *   (SQL type: decimal(20,2))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $min_amount;
 
   /**
    * if other amounts allowed, user can configure maximum allowed.
    *
-   * @var float
+   * @var float|string|null
+   *   (SQL type: decimal(20,2))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $max_amount;
 
   /**
    * The target goal for this page, allows people to build a goal meter
    *
-   * @var float
+   * @var float|string|null
+   *   (SQL type: decimal(20,2))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $goal_amount;
 
   /**
    * Title for Thank-you page (header title tag, and display at the top of the page).
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $thankyou_title;
 
   /**
    * text and html allowed. displayed above result on success page
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $thankyou_text;
 
   /**
    * Text and html allowed. displayed at the bottom of the success page. Common usage is to include link(s) to other pages such as tell-a-friend, etc.
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $thankyou_footer;
 
   /**
    * if true, receipt is automatically emailed to contact on success
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_email_receipt;
 
   /**
    * FROM email name used for receipts generated by contributions to this contribution page.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $receipt_from_name;
 
   /**
    * FROM email address used for receipts generated by contributions to this contribution page.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $receipt_from_email;
 
   /**
    * comma-separated list of email addresses to cc each time a receipt is sent
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $cc_receipt;
 
   /**
    * comma-separated list of email addresses to bcc each time a receipt is sent
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $bcc_receipt;
 
   /**
    * text to include above standard receipt info on receipt email. emails are text-only, so do not allow html for now
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $receipt_text;
 
   /**
    * Is this property active?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_active;
 
   /**
    * Text and html allowed. Displayed at the bottom of the first page of the contribution wizard.
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $footer_text;
 
   /**
    * Is this property active?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $amount_block_is_active;
 
   /**
    * Date and time that this page starts.
    *
-   * @var datetime
+   * @var string|null
+   *   (SQL type: datetime)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $start_date;
 
   /**
    * Date and time that this page ends. May be NULL if no defined end date/time
    *
-   * @var datetime
+   * @var string|null
+   *   (SQL type: datetime)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $end_date;
 
   /**
    * FK to civicrm_contact, who created this contribution page
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $created_id;
 
   /**
    * Date and time that contribution page was created.
    *
-   * @var datetime
+   * @var string|null
+   *   (SQL type: datetime)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $created_date;
 
   /**
    * 3 character string, value from config setting or input via user.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(3))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $currency;
 
   /**
    * The campaign for which we are collecting contributions with this page.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $campaign_id;
 
   /**
    * Can people share the contribution page through social media?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_share;
 
   /**
    * if true - billing block is required for online contribution page
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_billing_required;
 
   /**
    * Contribution Page Public title
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $frontend_title;
 
diff --git a/civicrm/CRM/Contribute/DAO/ContributionProduct.php b/civicrm/CRM/Contribute/DAO/ContributionProduct.php
index 6b90bff589..562d28f386 100644
--- a/civicrm/CRM/Contribute/DAO/ContributionProduct.php
+++ b/civicrm/CRM/Contribute/DAO/ContributionProduct.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Contribute/ContributionProduct.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:b8b2fd54470db337ec6285ac53bc51b1)
+ * (GenCodeChecksum:55d9ad3d7acb1129577589352f6010cd)
  */
 
 /**
@@ -32,62 +32,82 @@ class CRM_Contribute_DAO_ContributionProduct extends CRM_Core_DAO {
   public static $_log = TRUE;
 
   /**
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $product_id;
 
   /**
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $contribution_id;
 
   /**
    * Option value selected if applicable - e.g. color, size etc.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $product_option;
 
   /**
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $quantity;
 
   /**
    * Optional. Can be used to record the date this product was fulfilled or shipped.
    *
-   * @var date
+   * @var string|null
+   *   (SQL type: date)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $fulfilled_date;
 
   /**
    * Actual start date for a time-delimited premium (subscription, service or membership)
    *
-   * @var date
+   * @var string|null
+   *   (SQL type: date)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $start_date;
 
   /**
    * Actual end date for a time-delimited premium (subscription, service or membership)
    *
-   * @var date
+   * @var string|null
+   *   (SQL type: date)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $end_date;
 
   /**
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $comment;
 
   /**
    * FK to Financial Type(for membership price sets only).
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $financial_type_id;
 
diff --git a/civicrm/CRM/Contribute/DAO/ContributionRecur.php b/civicrm/CRM/Contribute/DAO/ContributionRecur.php
index 822ce923cc..830712e5f3 100644
--- a/civicrm/CRM/Contribute/DAO/ContributionRecur.php
+++ b/civicrm/CRM/Contribute/DAO/ContributionRecur.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Contribute/ContributionRecur.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:5f08744178821ce074d21fe4cdddbdaa)
+ * (GenCodeChecksum:6d77881ddf63ce2b56752b87c0d37ee8)
  */
 
 /**
@@ -34,199 +34,257 @@ class CRM_Contribute_DAO_ContributionRecur extends CRM_Core_DAO {
   /**
    * Contribution Recur ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * Foreign key to civicrm_contact.id.
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $contact_id;
 
   /**
    * Amount to be collected (including any sales tax) by payment processor each recurrence.
    *
-   * @var float
+   * @var float|string
+   *   (SQL type: decimal(20,2))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $amount;
 
   /**
    * 3 character string, value from config setting or input via user.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(3))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $currency;
 
   /**
    * Time units for recurrence of payment.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(8))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $frequency_unit;
 
   /**
    * Number of time units for recurrence of payment.
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $frequency_interval;
 
   /**
    * Total number of payments to be made. Set this to 0 if this is an open-ended commitment i.e. no set end date.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $installments;
 
   /**
    * The date the first scheduled recurring contribution occurs.
    *
-   * @var datetime
+   * @var string
+   *   (SQL type: datetime)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $start_date;
 
   /**
    * When this recurring contribution record was created.
    *
-   * @var datetime
+   * @var string
+   *   (SQL type: datetime)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $create_date;
 
   /**
    * Last updated date for this record. mostly the last time a payment was received
    *
-   * @var timestamp
+   * @var string|null
+   *   (SQL type: timestamp)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $modified_date;
 
   /**
    * Date this recurring contribution was cancelled by contributor- if we can get access to it
    *
-   * @var datetime
+   * @var string|null
+   *   (SQL type: datetime)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $cancel_date;
 
   /**
    * Free text field for a reason for cancelling
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $cancel_reason;
 
   /**
    * Date this recurring contribution finished successfully
    *
-   * @var datetime
+   * @var string|null
+   *   (SQL type: datetime)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $end_date;
 
   /**
    * Possibly needed to store a unique identifier for this recurring payment order - if this is available from the processor??
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $processor_id;
 
   /**
    * Optionally used to store a link to a payment token used for this recurring contribution.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $payment_token_id;
 
   /**
    * unique transaction id. may be processor id, bank id + trans id, or account number + check number... depending on payment_method
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $trxn_id;
 
   /**
    * unique invoice id, system generated or passed in
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $invoice_id;
 
   /**
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $contribution_status_id;
 
   /**
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_test;
 
   /**
    * Day in the period when the payment should be charged e.g. 1st of month, 15th etc.
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $cycle_day;
 
   /**
    * Next scheduled date
    *
-   * @var datetime
+   * @var string|null
+   *   (SQL type: datetime)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $next_sched_contribution_date;
 
   /**
    * Number of failed charge attempts since last success. Business rule could be set to deactivate on more than x failures.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $failure_count;
 
   /**
    * Date to retry failed attempt
    *
-   * @var datetime
+   * @var string|null
+   *   (SQL type: datetime)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $failure_retry_date;
 
   /**
    * Some systems allow contributor to set a number of installments - but then auto-renew the subscription or commitment if they do not cancel.
    *
-   * @var bool
+   * @var bool|string
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $auto_renew;
 
   /**
    * Foreign key to civicrm_payment_processor.id
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $payment_processor_id;
 
   /**
    * FK to Financial Type
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $financial_type_id;
 
   /**
    * FK to Payment Instrument
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $payment_instrument_id;
 
   /**
    * The campaign for which this contribution has been triggered.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $campaign_id;
 
   /**
    * if true, receipt is automatically emailed to contact on each successful payment
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_email_receipt;
 
@@ -724,7 +782,7 @@ class CRM_Contribute_DAO_ContributionRecur extends CRM_Core_DAO {
           'pseudoconstant' => [
             'table' => 'civicrm_payment_processor',
             'keyColumn' => 'id',
-            'labelColumn' => 'name',
+            'labelColumn' => 'title',
           ],
           'add' => '3.3',
         ],
diff --git a/civicrm/CRM/Contribute/DAO/ContributionSoft.php b/civicrm/CRM/Contribute/DAO/ContributionSoft.php
index d41e62bb5e..5db113938a 100644
--- a/civicrm/CRM/Contribute/DAO/ContributionSoft.php
+++ b/civicrm/CRM/Contribute/DAO/ContributionSoft.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Contribute/ContributionSoft.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:48d432f2fe34f212c110e21cbd229fc5)
+ * (GenCodeChecksum:78899ec4310e1facc05fdb11cfac1432)
  */
 
 /**
@@ -34,64 +34,84 @@ class CRM_Contribute_DAO_ContributionSoft extends CRM_Core_DAO {
   /**
    * Soft Credit ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * FK to contribution table.
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $contribution_id;
 
   /**
    * FK to Contact ID
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $contact_id;
 
   /**
    * Amount of this soft credit.
    *
-   * @var float
+   * @var float|string
+   *   (SQL type: decimal(20,2))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $amount;
 
   /**
    * 3 character string, value from config setting or input via user.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(3))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $currency;
 
   /**
    * FK to civicrm_pcp.id
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $pcp_id;
 
   /**
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $pcp_display_in_roll;
 
   /**
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $pcp_roll_nickname;
 
   /**
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $pcp_personal_note;
 
   /**
    * Soft Credit Type ID.Implicit FK to civicrm_option_value where option_group = soft_credit_type.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $soft_credit_type_id;
 
diff --git a/civicrm/CRM/Contribute/DAO/Premium.php b/civicrm/CRM/Contribute/DAO/Premium.php
index 6c9603b22d..803ac3598f 100644
--- a/civicrm/CRM/Contribute/DAO/Premium.php
+++ b/civicrm/CRM/Contribute/DAO/Premium.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Contribute/Premium.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:7ea059e7d6ccfe258964ab274089ac60)
+ * (GenCodeChecksum:a458d7c03a26386d799d9d69db691051)
  */
 
 /**
@@ -32,7 +32,9 @@ class CRM_Contribute_DAO_Premium extends CRM_Core_DAO {
   public static $_log = TRUE;
 
   /**
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
@@ -40,65 +42,85 @@ class CRM_Contribute_DAO_Premium extends CRM_Core_DAO {
    * Joins these premium settings to another object. Always civicrm_contribution_page for now.
    *
    * @var string
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $entity_table;
 
   /**
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $entity_id;
 
   /**
    * Is the Premiums feature enabled for this page?
    *
-   * @var bool
+   * @var bool|string
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $premiums_active;
 
   /**
    * Title for Premiums section.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $premiums_intro_title;
 
   /**
    * Displayed in <div> at top of Premiums section of page. Text and HTML allowed.
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $premiums_intro_text;
 
   /**
    * This email address is included in receipts if it is populated and a premium has been selected.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(100))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $premiums_contact_email;
 
   /**
    * This phone number is included in receipts if it is populated and a premium has been selected.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(50))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $premiums_contact_phone;
 
   /**
    * Boolean. Should we automatically display minimum contribution amount text after the premium descriptions.
    *
-   * @var bool
+   * @var bool|string
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $premiums_display_min_contribution;
 
   /**
    * Label displayed for No Thank-you option in premiums block (e.g. No thank you)
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $premiums_nothankyou_label;
 
   /**
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $premiums_nothankyou_position;
 
diff --git a/civicrm/CRM/Contribute/DAO/PremiumsProduct.php b/civicrm/CRM/Contribute/DAO/PremiumsProduct.php
index 29c595b380..7e68aed245 100644
--- a/civicrm/CRM/Contribute/DAO/PremiumsProduct.php
+++ b/civicrm/CRM/Contribute/DAO/PremiumsProduct.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Contribute/PremiumsProduct.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:41745812fcc812419159f6a93b52a715)
+ * (GenCodeChecksum:46c21503a7dd4e0e8dc4b2221ae8bd0a)
  */
 
 /**
@@ -34,33 +34,43 @@ class CRM_Contribute_DAO_PremiumsProduct extends CRM_Core_DAO {
   /**
    * Contribution ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * Foreign key to premiums settings record.
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $premiums_id;
 
   /**
    * Foreign key to each product object.
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $product_id;
 
   /**
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $weight;
 
   /**
    * FK to Financial Type.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $financial_type_id;
 
diff --git a/civicrm/CRM/Contribute/DAO/Product.php b/civicrm/CRM/Contribute/DAO/Product.php
index 81b1ef81b2..70b7ddee7c 100644
--- a/civicrm/CRM/Contribute/DAO/Product.php
+++ b/civicrm/CRM/Contribute/DAO/Product.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Contribute/Product.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:b70d9c858ea4a663872931e6028b0ead)
+ * (GenCodeChecksum:91d2e693a0c58cadf111686646d057d6)
  */
 
 /**
@@ -39,7 +39,9 @@ class CRM_Contribute_DAO_Product extends CRM_Core_DAO {
   public static $_log = TRUE;
 
   /**
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
@@ -47,83 +49,107 @@ class CRM_Contribute_DAO_Product extends CRM_Core_DAO {
    * Required product/premium name
    *
    * @var string
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $name;
 
   /**
    * Optional description of the product/premium.
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $description;
 
   /**
    * Optional product sku or code.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(50))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $sku;
 
   /**
    * Store comma-delimited list of color, size, etc. options for the product.
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $options;
 
   /**
    * Full or relative URL to uploaded image - fullsize.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $image;
 
   /**
    * Full or relative URL to image thumbnail.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $thumbnail;
 
   /**
    * Sell price or market value for premiums. For tax-deductible contributions, this will be stored as non_deductible_amount in the contribution record.
    *
-   * @var float
+   * @var float|string|null
+   *   (SQL type: decimal(20,2))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $price;
 
   /**
    * 3 character string, value from config setting or input via user.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(3))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $currency;
 
   /**
    * FK to Financial Type.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $financial_type_id;
 
   /**
    * Minimum contribution required to be eligible to select this premium.
    *
-   * @var float
+   * @var float|string|null
+   *   (SQL type: decimal(20,2))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $min_contribution;
 
   /**
    * Actual cost of this product. Useful to determine net return from sale or using this as an incentive.
    *
-   * @var float
+   * @var float|string|null
+   *   (SQL type: decimal(20,2))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $cost;
 
   /**
    * Disabling premium removes it from the premiums_premium join table below.
    *
-   * @var bool
+   * @var bool|string
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_active;
 
@@ -131,40 +157,52 @@ class CRM_Contribute_DAO_Product extends CRM_Core_DAO {
    * Rolling means we set start/end based on current day, fixed means we set start/end for current year or month
    * (e.g. 1 year + fixed -> we would set start/end for 1/1/06 thru 12/31/06 for any premium chosen in 2006)
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(8))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $period_type;
 
   /**
    * Month and day (MMDD) that fixed period type subscription or membership starts.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $fixed_period_start_day;
 
   /**
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(8))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $duration_unit;
 
   /**
    * Number of units for total duration of subscription, service, membership (e.g. 12 Months).
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $duration_interval;
 
   /**
    * Frequency unit and interval allow option to store actual delivery frequency for a subscription or service.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(8))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $frequency_unit;
 
   /**
    * Number of units for delivery frequency of subscription, service, membership (e.g. every 3 Months).
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $frequency_interval;
 
diff --git a/civicrm/CRM/Contribute/DAO/Widget.php b/civicrm/CRM/Contribute/DAO/Widget.php
index 9891471e38..c2d381e35c 100644
--- a/civicrm/CRM/Contribute/DAO/Widget.php
+++ b/civicrm/CRM/Contribute/DAO/Widget.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Contribute/Widget.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:b27e8be28af42d6dfa9a76589ed05d7b)
+ * (GenCodeChecksum:4148353263bb1ae6e21aff61b94cc701)
  */
 
 /**
@@ -34,101 +34,135 @@ class CRM_Contribute_DAO_Widget extends CRM_Core_DAO {
   /**
    * Contribution ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * The Contribution Page which triggered this contribution
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $contribution_page_id;
 
   /**
    * Is this property active?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_active;
 
   /**
    * Widget title.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $title;
 
   /**
    * URL to Widget logo
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $url_logo;
 
   /**
    * Button title.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $button_title;
 
   /**
    * About description.
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $about;
 
   /**
    * URL to Homepage.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $url_homepage;
 
   /**
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(10))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $color_title;
 
   /**
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(10))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $color_button;
 
   /**
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(10))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $color_bar;
 
   /**
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(10))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $color_main_text;
 
   /**
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(10))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $color_main;
 
   /**
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(10))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $color_main_bg;
 
   /**
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(10))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $color_bg;
 
   /**
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(10))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $color_about_link;
 
   /**
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(10))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $color_homepage_link;
 
diff --git a/civicrm/CRM/Contribute/Form/AdditionalInfo.php b/civicrm/CRM/Contribute/Form/AdditionalInfo.php
index 442bc286c4..ca6ab6cfc2 100644
--- a/civicrm/CRM/Contribute/Form/AdditionalInfo.php
+++ b/civicrm/CRM/Contribute/Form/AdditionalInfo.php
@@ -435,14 +435,14 @@ class CRM_Contribute_Form_AdditionalInfo {
 
     [$sendReceipt] = CRM_Core_BAO_MessageTemplate::sendTemplate(
       [
-        'groupName' => 'msg_tpl_workflow_contribution',
-        'valueName' => 'contribution_offline_receipt',
+        'workflow' => 'contribution_offline_receipt',
         'contactId' => $params['contact_id'],
         'contributionId' => $params['contribution_id'],
+        'tokenContext' => ['contributionId' => (int) $params['contribution_id'], 'contactId' => $params['contact_id']],
         'from' => $params['from_email_address'],
         'toName' => $contributorDisplayName,
         'toEmail' => $contributorEmail,
-        'isTest' => $form->_mode == 'test',
+        'isTest' => $form->_mode === 'test',
         'PDFFilename' => ts('receipt') . '.pdf',
         'isEmailPdf' => Civi::settings()->get('invoice_is_email_pdf'),
       ]
diff --git a/civicrm/CRM/Contribute/Form/AdditionalPayment.php b/civicrm/CRM/Contribute/Form/AdditionalPayment.php
index eed602b382..35cd1fb601 100644
--- a/civicrm/CRM/Contribute/Form/AdditionalPayment.php
+++ b/civicrm/CRM/Contribute/Form/AdditionalPayment.php
@@ -264,7 +264,7 @@ class CRM_Contribute_Form_AdditionalPayment extends CRM_Contribute_Form_Abstract
   /**
    * @param $fields
    * @param $files
-   * @param $self
+   * @param self $self
    *
    * @return array
    */
diff --git a/civicrm/CRM/Contribute/Form/Contribution.php b/civicrm/CRM/Contribute/Form/Contribution.php
index 03db05596d..7a58a71eb2 100644
--- a/civicrm/CRM/Contribute/Form/Contribution.php
+++ b/civicrm/CRM/Contribute/Form/Contribution.php
@@ -266,7 +266,7 @@ class CRM_Contribute_Form_Contribution extends CRM_Contribute_Form_AbstractEditP
 
     $this->_fromEmails = CRM_Core_BAO_Email::getFromEmail();
 
-    if (in_array('CiviPledge', CRM_Core_Config::singleton()->enableComponents) && !$this->_formType) {
+    if (CRM_Core_Component::isEnabled('CiviPledge') && !$this->_formType) {
       $this->preProcessPledge();
     }
 
@@ -516,11 +516,6 @@ class CRM_Contribute_Form_Contribution extends CRM_Contribute_Form_AbstractEditP
     $this->assign('payNow', FALSE);
     $buildRecurBlock = FALSE;
 
-    // display tax amount on edit contribution page
-    if ($invoicing && $this->_action & CRM_Core_Action::UPDATE && isset($this->_values['tax_amount'])) {
-      $this->assign('totalTaxAmount', $this->_values['tax_amount']);
-    }
-
     if (empty($this->_lineItems) &&
       ($this->_priceSetId || !empty($_POST['price_set_id']))
     ) {
@@ -855,7 +850,7 @@ class CRM_Contribute_Form_Contribution extends CRM_Contribute_Form_AbstractEditP
    *   The input form values.
    * @param array $files
    *   The uploaded files if any.
-   * @param $self
+   * @param self $self
    *
    * @return bool|array
    *   true if no errors, else array of errors
diff --git a/civicrm/CRM/Contribute/Form/Contribution/Confirm.php b/civicrm/CRM/Contribute/Form/Contribution/Confirm.php
index 7f4e62aec0..bc9ec89272 100644
--- a/civicrm/CRM/Contribute/Form/Contribution/Confirm.php
+++ b/civicrm/CRM/Contribute/Form/Contribution/Confirm.php
@@ -520,8 +520,7 @@ class CRM_Contribute_Form_Contribution_Confirm extends CRM_Contribute_Form_Contr
       $this->set('productID', $productID);
       $this->set('option', $option);
     }
-    $config = CRM_Core_Config::singleton();
-    if (in_array('CiviMember', $config->enableComponents) && empty($this->_ccid)) {
+    if (CRM_Core_Component::isEnabled('CiviMember') && empty($this->_ccid)) {
       if (isset($params['selectMembership']) &&
         $params['selectMembership'] !== 'no_thanks'
       ) {
@@ -1324,7 +1323,7 @@ class CRM_Contribute_Form_Contribution_Confirm extends CRM_Contribute_Form_Contr
         \Civi\Api4\Relationship::create(FALSE)
           ->addValue('contact_id_a', $contactID)
           ->addValue('contact_id_b', $orgID)
-          ->addValue('relationship_type_id', CRM_Core_DAO::getFieldValue('CRM_Contact_DAO_RelationshipType', 'Employee of', 'id', 'name_a_b'))
+          ->addValue('relationship_type_id', $relTypeId = CRM_Contact_BAO_RelationshipType::getEmployeeRelationshipTypeID())
           ->addValue('is_permission_a_b:name', 'View and update')
           ->execute();
       }
diff --git a/civicrm/CRM/Contribute/Form/Contribution/Main.php b/civicrm/CRM/Contribute/Form/Contribution/Main.php
index b2734ff205..17db610f09 100644
--- a/civicrm/CRM/Contribute/Form/Contribution/Main.php
+++ b/civicrm/CRM/Contribute/Form/Contribution/Main.php
@@ -372,7 +372,7 @@ class CRM_Contribute_Form_Contribution_Main extends CRM_Contribute_Form_Contribu
     //don't build membership block when pledge_id is passed
     if (empty($this->_values['pledge_id']) && empty($this->_ccid)) {
       $this->_separateMembershipPayment = FALSE;
-      if (in_array('CiviMember', $config->enableComponents)) {
+      if (CRM_Core_Component::isEnabled('CiviMember')) {
         $isTest = 0;
         if ($this->_action & CRM_Core_Action::PREVIEW) {
           $isTest = 1;
@@ -426,8 +426,7 @@ class CRM_Contribute_Form_Contribution_Main extends CRM_Contribute_Form_Contribu
 
     //don't build pledge block when mid is passed
     if (!$this->_mid && empty($this->_ccid)) {
-      $config = CRM_Core_Config::singleton();
-      if (in_array('CiviPledge', $config->enableComponents) && !empty($this->_values['pledge_block_id'])) {
+      if (CRM_Core_Component::isEnabled('CiviPledge') && !empty($this->_values['pledge_block_id'])) {
         CRM_Pledge_BAO_PledgeBlock::buildPledgeBlock($this);
       }
     }
diff --git a/civicrm/CRM/Contribute/Form/ContributionBase.php b/civicrm/CRM/Contribute/Form/ContributionBase.php
index 22eb615be8..f9bd0a3677 100644
--- a/civicrm/CRM/Contribute/Form/ContributionBase.php
+++ b/civicrm/CRM/Contribute/Form/ContributionBase.php
@@ -526,7 +526,6 @@ class CRM_Contribute_Form_ContributionBase extends CRM_Core_Form {
       'amount_level',
     ];
 
-    $config = CRM_Core_Config::singleton();
     if (isset($this->_values['is_recur']) && !empty($this->_paymentProcessor['is_recur'])) {
       $this->assign('is_recur_enabled', 1);
       $vars = array_merge($vars, [
@@ -537,9 +536,10 @@ class CRM_Contribute_Form_ContributionBase extends CRM_Core_Form {
       ]);
     }
 
-    if (in_array('CiviPledge', $config->enableComponents) &&
-      CRM_Utils_Array::value('is_pledge', $this->_params) == 1
+    if (CRM_Core_Component::isEnabled('CiviPledge') &&
+      !empty($this->_params['is_pledge'])
     ) {
+      // TODO: Assigned variable appears to be unused
       $this->assign('pledge_enabled', 1);
 
       $vars = array_merge($vars, [
@@ -1011,9 +1011,10 @@ class CRM_Contribute_Form_ContributionBase extends CRM_Core_Form {
   /**
    * Check template file exists.
    *
-   * @param string $suffix
+   * @param string|null $suffix
    *
-   * @return null|string
+   * @return string|null
+   *   Template file path, else null
    */
   public function checkTemplateFileExists($suffix = NULL) {
     if ($this->_id) {
diff --git a/civicrm/CRM/Contribute/Form/ContributionPage.php b/civicrm/CRM/Contribute/Form/ContributionPage.php
index 96ac569ddd..4694ee13c5 100644
--- a/civicrm/CRM/Contribute/Form/ContributionPage.php
+++ b/civicrm/CRM/Contribute/Form/ContributionPage.php
@@ -142,7 +142,7 @@ class CRM_Contribute_Form_ContributionPage extends CRM_Core_Form {
 
     // Preload libraries required by the "Profiles" tab
     $schemas = ['IndividualModel', 'OrganizationModel', 'ContributionModel'];
-    if (in_array('CiviMember', CRM_Core_Config::singleton()->enableComponents)) {
+    if (CRM_Core_Component::isEnabled('CiviMember')) {
       $schemas[] = 'MembershipModel';
     }
     CRM_UF_Page_ProfileEditor::registerProfileScripts();
@@ -219,14 +219,6 @@ class CRM_Contribute_Form_ContributionPage extends CRM_Core_Form {
     }
 
     $session->replaceUserContext($this->_cancelURL);
-    // views are implemented as frozen form
-    if ($this->_action & CRM_Core_Action::VIEW) {
-      $this->freeze();
-      $this->addElement('xbutton', 'done', ts('Done'), [
-        'type' => 'button',
-        'onclick' => "location.href='civicrm/admin/custom/group?reset=1&action=browse'",
-      ]);
-    }
 
     // don't show option for contribution amounts section if membership price set
     // this flag is sent to template
diff --git a/civicrm/CRM/Contribute/Form/ContributionPage/AddProduct.php b/civicrm/CRM/Contribute/Form/ContributionPage/AddProduct.php
index f108ab141b..ca0a6f9b4a 100644
--- a/civicrm/CRM/Contribute/Form/ContributionPage/AddProduct.php
+++ b/civicrm/CRM/Contribute/Form/ContributionPage/AddProduct.php
@@ -123,7 +123,12 @@ class CRM_Contribute_Form_ContributionPage_AddProduct extends CRM_Contribute_For
     }
 
     if ($this->_action & CRM_Core_Action::PREVIEW) {
-      CRM_Contribute_BAO_Premium::buildPremiumPreviewBlock($this, NULL, $this->_pid);
+      $dao = new CRM_Contribute_DAO_PremiumsProduct();
+      $dao->id = $this->_pid;
+      $dao->find(TRUE);
+      $productID = $dao->product_id;
+
+      CRM_Contribute_BAO_Premium::buildPremiumPreviewBlock($this, $productID);
       $this->addButtons([
         [
           'type' => 'next',
diff --git a/civicrm/CRM/Contribute/Form/ContributionPage/Amount.php b/civicrm/CRM/Contribute/Form/ContributionPage/Amount.php
index cbf3d45046..2a2a43546d 100644
--- a/civicrm/CRM/Contribute/Form/ContributionPage/Amount.php
+++ b/civicrm/CRM/Contribute/Form/ContributionPage/Amount.php
@@ -152,8 +152,7 @@ class CRM_Contribute_Form_ContributionPage_Amount extends CRM_Contribute_Form_Co
     ]);
 
     //CiviPledge fields.
-    $config = CRM_Core_Config::singleton();
-    if (in_array('CiviPledge', $config->enableComponents)) {
+    if (CRM_Core_Component::isEnabled('CiviPledge')) {
       $this->assign('civiPledge', TRUE);
       $this->addElement('checkbox', 'is_pledge_active', ts('Pledges'),
         NULL, ['onclick' => "showHideAmountBlock( this, 'is_pledge_active' ); return showHideByValue('is_pledge_active',true,'pledgeFields','table-row','radio',false);"]
@@ -290,7 +289,7 @@ class CRM_Contribute_Form_ContributionPage_Amount extends CRM_Contribute_Form_Co
    *   The input form values.
    * @param array $files
    *   The uploaded files if any.
-   * @param $self
+   * @param self $self
    *
    *
    * @return bool|array
diff --git a/civicrm/CRM/Contribute/Form/ContributionPage/Settings.php b/civicrm/CRM/Contribute/Form/ContributionPage/Settings.php
index f9adcb47c9..6e0341dcb8 100644
--- a/civicrm/CRM/Contribute/Form/ContributionPage/Settings.php
+++ b/civicrm/CRM/Contribute/Form/ContributionPage/Settings.php
@@ -226,7 +226,7 @@ class CRM_Contribute_Form_ContributionPage_Settings extends CRM_Contribute_Form_
    *   Posted values of the form.
    *
    * @param $files
-   * @param $self
+   * @param self $self
    *
    * @return array
    *   list of errors to be posted back to the form
diff --git a/civicrm/CRM/Contribute/Form/ContributionPage/TabHeader.php b/civicrm/CRM/Contribute/Form/ContributionPage/TabHeader.php
index 94c7dc01d5..c103759321 100644
--- a/civicrm/CRM/Contribute/Form/ContributionPage/TabHeader.php
+++ b/civicrm/CRM/Contribute/Form/ContributionPage/TabHeader.php
@@ -45,7 +45,7 @@ class CRM_Contribute_Form_ContributionPage_TabHeader {
   /**
    * @param CRM_Core_Form $form
    *
-   * @return array
+   * @return array|null
    */
   public static function process(&$form) {
     if ($form->getVar('_id') <= 0) {
diff --git a/civicrm/CRM/Contribute/Form/ContributionPage/Widget.php b/civicrm/CRM/Contribute/Form/ContributionPage/Widget.php
index f962551188..937d7457c3 100644
--- a/civicrm/CRM/Contribute/Form/ContributionPage/Widget.php
+++ b/civicrm/CRM/Contribute/Form/ContributionPage/Widget.php
@@ -204,7 +204,7 @@ class CRM_Contribute_Form_ContributionPage_Widget extends CRM_Contribute_Form_Co
    *   (ref.) an assoc array of name/value pairs.
    *
    * @param $files
-   * @param $self
+   * @param self $self
    *
    * @return bool|array
    *   mixed true or array of errors
diff --git a/civicrm/CRM/Contribute/Form/SoftCredit.php b/civicrm/CRM/Contribute/Form/SoftCredit.php
index eb8e75014b..648235a5d7 100644
--- a/civicrm/CRM/Contribute/Form/SoftCredit.php
+++ b/civicrm/CRM/Contribute/Form/SoftCredit.php
@@ -169,7 +169,7 @@ class CRM_Contribute_Form_SoftCredit {
    *   The input form values.
    *
    * @param $errors
-   * @param $self
+   * @param self $self
    *
    * @return array
    *   Array of errors
diff --git a/civicrm/CRM/Contribute/Form/Task/PDFLetter.php b/civicrm/CRM/Contribute/Form/Task/PDFLetter.php
index 32f3ccb21c..a01c6fc8d1 100644
--- a/civicrm/CRM/Contribute/Form/Task/PDFLetter.php
+++ b/civicrm/CRM/Contribute/Form/Task/PDFLetter.php
@@ -465,6 +465,7 @@ class CRM_Contribute_Form_Task_PDFLetter extends CRM_Contribute_Form_Task {
       }
 
       $defaults = [
+        'contactId' => $contact['id'],
         'toName' => $contact['display_name'],
         'toEmail' => $contact['email'],
         'text' => '',
@@ -488,8 +489,7 @@ class CRM_Contribute_Form_Task_PDFLetter extends CRM_Contribute_Form_Task {
         $defaults['html'] = ts('Please see attached');
         $defaults['attachments'] = [CRM_Utils_Mail::appendPDF('ThankYou.pdf', $html, $format)];
       }
-      $params = array_merge($defaults);
-      return CRM_Utils_Mail::send($params);
+      return CRM_Utils_Mail::send($defaults);
     }
     catch (CRM_Core_Exception $e) {
       return FALSE;
diff --git a/civicrm/CRM/Contribute/Form/Task/Print.php b/civicrm/CRM/Contribute/Form/Task/Print.php
index b1dc6b658f..4a24fd9bde 100644
--- a/civicrm/CRM/Contribute/Form/Task/Print.php
+++ b/civicrm/CRM/Contribute/Form/Task/Print.php
@@ -27,7 +27,7 @@ class CRM_Contribute_Form_Task_Print extends CRM_Contribute_Form_Task {
     parent::preprocess();
 
     // set print view, so that print templates are called
-    $this->controller->setPrint(1);
+    $this->controller->setPrint(CRM_Core_Smarty::PRINT_PAGE);
 
     // get the formatted params
     $queryParams = $this->get('queryParams');
diff --git a/civicrm/CRM/Contribute/Form/Task/TaskTrait.php b/civicrm/CRM/Contribute/Form/Task/TaskTrait.php
index 04e64a349b..69bcf25b64 100644
--- a/civicrm/CRM/Contribute/Form/Task/TaskTrait.php
+++ b/civicrm/CRM/Contribute/Form/Task/TaskTrait.php
@@ -143,7 +143,7 @@ trait CRM_Contribute_Form_Task_TaskTrait {
   /**
    * Is only one entity being processed?
    *
-   * @return false
+   * @return bool
    */
   public function isSingle() {
     return count($this->getIDs()) === 1;
diff --git a/civicrm/CRM/Contribute/Import/Form/MapField.php b/civicrm/CRM/Contribute/Import/Form/MapField.php
index 65a8733440..8b20bb9793 100644
--- a/civicrm/CRM/Contribute/Import/Form/MapField.php
+++ b/civicrm/CRM/Contribute/Import/Form/MapField.php
@@ -315,7 +315,7 @@ class CRM_Contribute_Import_Form_MapField extends CRM_Import_Form_MapField {
    *   Posted values of the form.
    *
    * @param $files
-   * @param $self
+   * @param self $self
    *
    * @return array
    *   list of errors to be posted back to the form
diff --git a/civicrm/CRM/Contribute/Import/Parser/Contribution.php b/civicrm/CRM/Contribute/Import/Parser/Contribution.php
index 2f1e78d81c..3845ce2e5b 100644
--- a/civicrm/CRM/Contribute/Import/Parser/Contribution.php
+++ b/civicrm/CRM/Contribute/Import/Parser/Contribution.php
@@ -607,14 +607,12 @@ class CRM_Contribute_Import_Parser_Contribution extends CRM_Contribute_Import_Pa
    * convert it into the same format that we use in QF and BAO object
    *
    * @param array $params
-   *   Associative array of property name/value.
-   *                             pairs to insert in new contact.
+   *   Associative array of property name/value
+   *   pairs to insert in new contact.
    * @param array $values
    *   The reformatted properties that we can use internally.
-   *                            '
-   *
    * @param bool $create
-   * @param null $onDuplicate
+   * @param int $onDuplicate
    *
    * @return array|CRM_Error
    */
@@ -958,6 +956,13 @@ class CRM_Contribute_Import_Parser_Contribution extends CRM_Contribute_Import_Pa
           }
           break;
 
+        case 'contribution_campaign_id':
+          if (empty(CRM_Core_DAO::getFieldValue('CRM_Campaign_DAO_Campaign', $params['contribution_campaign_id']))) {
+            return civicrm_api3_create_error('Invalid Campaign ID provided. Contribution row was skipped.');
+          }
+          $values['contribution_campaign_id'] = $params['contribution_campaign_id'];
+          break;
+
         default:
           // Hande name or label for fields with options.
           if (isset($fields[$key]) &&
diff --git a/civicrm/CRM/Contribute/Page/ContributionPage.php b/civicrm/CRM/Contribute/Page/ContributionPage.php
index ebb64417a5..9f96923ec3 100644
--- a/civicrm/CRM/Contribute/Page/ContributionPage.php
+++ b/civicrm/CRM/Contribute/Page/ContributionPage.php
@@ -299,15 +299,11 @@ class CRM_Contribute_Page_ContributionPage extends CRM_Core_Page {
       return $controller->run();
     }
     elseif ($action & CRM_Core_Action::UPDATE) {
-      $config = CRM_Core_Config::singleton();
-
       // assign vars to templates
       $this->assign('id', $id);
       $this->assign('title', CRM_Core_DAO::getFieldValue('CRM_Contribute_DAO_ContributionPage', $id, 'title'));
       $this->assign('is_active', CRM_Core_DAO::getFieldValue('CRM_Contribute_DAO_ContributionPage', $id, 'is_active'));
-      if (in_array('CiviMember', $config->enableComponents)) {
-        $this->assign('CiviMember', TRUE);
-      }
+      $this->assign('CiviMember', CRM_Core_Component::isEnabled('CiviMember'));
     }
     elseif ($action & CRM_Core_Action::COPY) {
       // @todo Unused local variable can be safely removed.
@@ -456,9 +452,10 @@ ORDER BY is_active desc, title asc
     //get configure actions links.
     $configureActionLinks = self::configureActionLinks();
 
+    $contributions = [];
     while ($dao->fetch()) {
-      $contribution[$dao->id] = [];
-      CRM_Core_DAO::storeValues($dao, $contribution[$dao->id]);
+      $contributions[$dao->id] = [];
+      CRM_Core_DAO::storeValues($dao, $contributions[$dao->id]);
 
       // form all action links
       $action = array_sum(array_keys(self::actionLinks()));
@@ -486,7 +483,7 @@ ORDER BY is_active desc, title asc
 
       //build the configure links.
       $sectionsInfo = CRM_Utils_Array::value($dao->id, $contriPageSectionInfo, []);
-      $contribution[$dao->id]['configureActionLinks'] = CRM_Core_Action::formLink(self::formatConfigureLinks($sectionsInfo),
+      $contributions[$dao->id]['configureActionLinks'] = CRM_Core_Action::formLink(self::formatConfigureLinks($sectionsInfo),
         $action,
         array('id' => $dao->id),
         ts('Configure'),
@@ -497,7 +494,7 @@ ORDER BY is_active desc, title asc
       );
 
       //build the contributions links.
-      $contribution[$dao->id]['contributionLinks'] = CRM_Core_Action::formLink(self::contributionLinks(),
+      $contributions[$dao->id]['contributionLinks'] = CRM_Core_Action::formLink(self::contributionLinks(),
         $action,
         array('id' => $dao->id),
         ts('Contributions'),
@@ -508,7 +505,7 @@ ORDER BY is_active desc, title asc
       );
 
       //build the online contribution links.
-      $contribution[$dao->id]['onlineContributionLinks'] = CRM_Core_Action::formLink(self::onlineContributionLinks(),
+      $contributions[$dao->id]['onlineContributionLinks'] = CRM_Core_Action::formLink(self::onlineContributionLinks(),
         $action,
         array('id' => $dao->id),
         ts('Links'),
@@ -519,7 +516,7 @@ ORDER BY is_active desc, title asc
       );
 
       //build the normal action links.
-      $contribution[$dao->id]['action'] = CRM_Core_Action::formLink(self::actionLinks(),
+      $contributions[$dao->id]['action'] = CRM_Core_Action::formLink(self::actionLinks(),
         $action,
         array('id' => $dao->id),
         ts('more'),
@@ -530,12 +527,10 @@ ORDER BY is_active desc, title asc
       );
 
       //show campaigns on selector.
-      $contribution[$dao->id]['campaign'] = $allCampaigns[$dao->campaign_id] ?? NULL;
+      $contributions[$dao->id]['campaign'] = $allCampaigns[$dao->campaign_id] ?? NULL;
     }
 
-    if (isset($contribution)) {
-      $this->assign('rows', $contribution);
-    }
+    $this->assign('rows', $contributions);
   }
 
   public function search() {
diff --git a/civicrm/CRM/Contribute/Page/Tab.php b/civicrm/CRM/Contribute/Page/Tab.php
index ebbf05e714..56411d1bc0 100644
--- a/civicrm/CRM/Contribute/Page/Tab.php
+++ b/civicrm/CRM/Contribute/Page/Tab.php
@@ -58,6 +58,13 @@ class CRM_Contribute_Page_Tab extends CRM_Core_Page {
       ],
     ];
 
+    // In case there extension which have recurring payment and then
+    // extension is disabled and in that case payment object may be null
+    // To avoid the fatal error, return with VIEW link.
+    if (!is_object($paymentProcessorObj)) {
+      return $links;
+    }
+
     $templateContribution = CRM_Contribute_BAO_ContributionRecur::getTemplateContribution($recurID);
     if (
       (CRM_Core_Permission::check('edit contributions') || $context !== 'contribution') &&
@@ -121,6 +128,12 @@ class CRM_Contribute_Page_Tab extends CRM_Core_Page {
   public static function selfServiceRecurLinks(int $recurID): array {
     $links = [];
     $paymentProcessorObj = Civi\Payment\System::singleton()->getById(CRM_Contribute_BAO_ContributionRecur::getPaymentProcessorID($recurID));
+    // In case there extension which have recurring payment and then
+    // extension is disabled and in that case payment object may be null
+    // To avoid the fatal error, return with VIEW link.
+    if (!is_object($paymentProcessorObj)) {
+      return $links;
+    }
     if ($paymentProcessorObj->supports('cancelRecurring')
       && $paymentProcessorObj->subscriptionURL($recurID, 'recur', 'cancel')
     ) {
diff --git a/civicrm/CRM/Contribute/PseudoConstant.php b/civicrm/CRM/Contribute/PseudoConstant.php
index 86f6388175..cfad6fbb67 100644
--- a/civicrm/CRM/Contribute/PseudoConstant.php
+++ b/civicrm/CRM/Contribute/PseudoConstant.php
@@ -311,7 +311,7 @@ class CRM_Contribute_PseudoConstant extends CRM_Core_PseudoConstant {
    * Get all the Personal campaign pages.
    *
    *
-   * @param null $pageType
+   * @param string|null $pageType
    * @param int $id
    *
    * @return array
diff --git a/civicrm/CRM/Contribute/Selector/Search.php b/civicrm/CRM/Contribute/Selector/Search.php
index 3f9a5dc2fb..607ec5ac91 100644
--- a/civicrm/CRM/Contribute/Selector/Search.php
+++ b/civicrm/CRM/Contribute/Selector/Search.php
@@ -118,7 +118,7 @@ class CRM_Contribute_Selector_Search extends CRM_Core_Selector_Base implements C
   /**
    * The query object
    *
-   * @var string
+   * @var CRM_Contact_BAO_Query
    */
   protected $_query;
 
@@ -140,7 +140,7 @@ class CRM_Contribute_Selector_Search extends CRM_Core_Selector_Base implements C
    * @param string $context
    * @param null $compContext
    *
-   * @return \CRM_Contribute_Selector_Search
+   * @return CRM_Contribute_Selector_Search
    */
   public function __construct(
     &$queryParams,
@@ -500,6 +500,7 @@ class CRM_Contribute_Selector_Search extends CRM_Core_Selector_Base implements C
         'sort' => 'total_amount',
         'direction' => CRM_Utils_Sort::DONTCARE,
         'field_name' => 'total_amount',
+        'type' => '',
       ],
     ];
     if ($this->_includeSoftCredits) {
@@ -512,6 +513,7 @@ class CRM_Contribute_Selector_Search extends CRM_Core_Selector_Base implements C
               'sort' => 'contribution_soft_credit_amount',
               'field_name' => 'contribution_soft_credit_amount',
               'direction' => CRM_Utils_Sort::DONTCARE,
+              'type' => '',
             ],
           ]
         );
@@ -525,12 +527,14 @@ class CRM_Contribute_Selector_Search extends CRM_Core_Selector_Base implements C
             'sort' => 'financial_type',
             'field_name' => 'financial_type',
             'direction' => CRM_Utils_Sort::DONTCARE,
+            'type' => '',
           ],
           [
             'name' => ts('Source'),
             'sort' => 'contribution_source',
             'field_name' => 'contribution_source',
             'direction' => CRM_Utils_Sort::DONTCARE,
+            'type' => '',
           ],
           [
             'name' => ts('Received'),
@@ -551,6 +555,7 @@ class CRM_Contribute_Selector_Search extends CRM_Core_Selector_Base implements C
             'sort' => 'contribution_status',
             'field_name' => 'contribution_status',
             'direction' => CRM_Utils_Sort::DONTCARE,
+            'type' => '',
           ],
         ]
       );
@@ -560,6 +565,7 @@ class CRM_Contribute_Selector_Search extends CRM_Core_Selector_Base implements C
         'sort' => 'product_name',
         'field_name' => 'product_name',
         'direction' => CRM_Utils_Sort::DONTCARE,
+        'type' => '',
       ];
     }
     if (!$this->_single) {
@@ -567,7 +573,9 @@ class CRM_Contribute_Selector_Search extends CRM_Core_Selector_Base implements C
         [
           'name' => ts('Name'),
           'sort' => 'sort_name',
+          'field_name' => '',
           'direction' => CRM_Utils_Sort::DONTCARE,
+          'type' => '',
         ],
       ];
     }
@@ -580,11 +588,13 @@ class CRM_Contribute_Selector_Search extends CRM_Core_Selector_Base implements C
             'name' => ts('Soft Credit For'),
             'sort' => 'contribution_soft_credit_name',
             'direction' => CRM_Utils_Sort::DONTCARE,
+            'field_name' => '',
           ],
           [
             'name' => ts('Soft Credit Type'),
             'sort' => 'contribution_soft_credit_type',
             'direction' => CRM_Utils_Sort::ASCENDING,
+            'field_name' => '',
           ],
         ]
       );
@@ -592,7 +602,7 @@ class CRM_Contribute_Selector_Search extends CRM_Core_Selector_Base implements C
     self::$_columnHeaders
       = array_merge(
         self::$_columnHeaders, [
-          ['desc' => ts('Actions'), 'type' => 'actions'],
+          ['desc' => ts('Actions'), 'type' => 'actions', 'field_name' => ''],
         ]
       );
     foreach (array_keys(self::$_columnHeaders) as $index) {
@@ -612,7 +622,7 @@ class CRM_Contribute_Selector_Search extends CRM_Core_Selector_Base implements C
   }
 
   /**
-   * @return \CRM_Contact_BAO_Query
+   * @return CRM_Contact_BAO_Query
    */
   public function &getQuery() {
     return $this->_query;
diff --git a/civicrm/CRM/Contribute/StateMachine/ContributionPage.php b/civicrm/CRM/Contribute/StateMachine/ContributionPage.php
index 4c17a71eda..e3d74b899d 100644
--- a/civicrm/CRM/Contribute/StateMachine/ContributionPage.php
+++ b/civicrm/CRM/Contribute/StateMachine/ContributionPage.php
@@ -34,8 +34,6 @@ class CRM_Contribute_StateMachine_ContributionPage extends CRM_Core_StateMachine
     $session = CRM_Core_Session::singleton();
     $session->set('singleForm', FALSE);
 
-    $config = CRM_Core_Config::singleton();
-
     $this->_pages = [
       'CRM_Contribute_Form_ContributionPage_Settings' => NULL,
       'CRM_Contribute_Form_ContributionPage_Amount' => NULL,
@@ -48,7 +46,7 @@ class CRM_Contribute_StateMachine_ContributionPage extends CRM_Core_StateMachine
       'CRM_Contribute_Form_ContributionPage_Widget' => NULL,
     ];
 
-    if (!in_array("CiviMember", $config->enableComponents)) {
+    if (!CRM_Core_Component::isEnabled('CiviMember')) {
       unset($this->_pages['CRM_Member_Form_MembershipBlock']);
     }
 
diff --git a/civicrm/CRM/Contribute/Task.php b/civicrm/CRM/Contribute/Task.php
index 9f54f2258d..2bc1fcf177 100644
--- a/civicrm/CRM/Contribute/Task.php
+++ b/civicrm/CRM/Contribute/Task.php
@@ -138,7 +138,7 @@ class CRM_Contribute_Task extends CRM_Core_Task {
   /**
    * Get links appropriate to the context of the row.
    *
-   * @param $row
+   * @param array $row
    *
    * @return array
    */
diff --git a/civicrm/CRM/Contribute/WorkflowMessage/ContributionOfflineReceipt.php b/civicrm/CRM/Contribute/WorkflowMessage/ContributionOfflineReceipt.php
index 293ad37b63..97f339d123 100644
--- a/civicrm/CRM/Contribute/WorkflowMessage/ContributionOfflineReceipt.php
+++ b/civicrm/CRM/Contribute/WorkflowMessage/ContributionOfflineReceipt.php
@@ -9,13 +9,16 @@
  +--------------------------------------------------------------------+
  */
 
+use Civi\WorkflowMessage\GenericWorkflowMessage;
+
 /**
  * Receipt sent when confirming a back office contribution.
  *
  * @support template-only
+ *
  * @see CRM_Contribute_Form_AdditionalInfo::emailReceipt
  */
-class CRM_Contribute_WorkflowMessage_ContributionOfflineReceipt extends \Civi\WorkflowMessage\GenericWorkflowMessage {
+class CRM_Contribute_WorkflowMessage_ContributionOfflineReceipt extends GenericWorkflowMessage {
   use CRM_Contribute_WorkflowMessage_ContributionTrait;
   public const WORKFLOW = 'contribution_offline_receipt';
 
diff --git a/civicrm/CRM/Contribute/WorkflowMessage/ContributionTrait.php b/civicrm/CRM/Contribute/WorkflowMessage/ContributionTrait.php
index f2f12c8fc2..4ecf20565b 100644
--- a/civicrm/CRM/Contribute/WorkflowMessage/ContributionTrait.php
+++ b/civicrm/CRM/Contribute/WorkflowMessage/ContributionTrait.php
@@ -21,6 +21,60 @@ trait CRM_Contribute_WorkflowMessage_ContributionTrait {
    */
   public $contributionId;
 
+  /**
+   * Is the site configured such that tax should be displayed.
+   *
+   * @var bool
+   */
+  public $isShowTax;
+
+  /**
+   * @var CRM_Financial_BAO_Order
+   */
+  private $order;
+
+  /**
+   * Get order, if available.
+   *
+   * The order is used within the class to calculate line items etc.
+   *
+   * @return \CRM_Financial_BAO_Order|null
+   */
+  private function getOrder(): ?CRM_Financial_BAO_Order {
+    if ($this->contributionId) {
+      $this->order = new CRM_Financial_BAO_Order();
+      $this->order->setTemplateContributionID($this->contributionId);
+    }
+    return $this->order;
+  }
+
+  /**
+   * Should line items be displayed for the contribution.
+   *
+   * This determination is based on whether the price set is quick config.
+   *
+   * @var bool
+   *
+   * @scope tplParams
+   */
+  public $isShowLineItems;
+
+  /**
+   * Get bool for whether a line item breakdown be displayed.
+   *
+   * @return bool
+   */
+  public function getIsShowLineItems(): bool {
+    $order = $this->getOrder();
+    if (!$order) {
+      // This would only be the case transitionally.
+      // Since this is a trait it is used by templates which don't (yet)
+      // always have the contribution ID available as well as migrated ones.
+      return FALSE;
+    }
+    return $this->order->getPriceSetMetadata()['is_quick_config'];
+  }
+
   /**
    * Set contribution object.
    *
@@ -36,4 +90,17 @@ trait CRM_Contribute_WorkflowMessage_ContributionTrait {
     return $this;
   }
 
+  /**
+   * Extra variables to be exported to smarty based on being calculated.
+   *
+   * We export isShowTax to denote whether invoicing is enabled but
+   * hopefully at some point we will separate the assumption that invoicing
+   * and tax are a package.
+   *
+   * @param array $export
+   */
+  protected function exportExtraTplParams(array &$export): void {
+    $export['isShowTax'] = (bool) Civi::settings()->get('invoicing');
+  }
+
 }
diff --git a/civicrm/CRM/Contribute/WorkflowMessage/RecurringCancelled.php b/civicrm/CRM/Contribute/WorkflowMessage/RecurringCancelled.php
index 2ffdfc14cd..93c39e53b0 100644
--- a/civicrm/CRM/Contribute/WorkflowMessage/RecurringCancelled.php
+++ b/civicrm/CRM/Contribute/WorkflowMessage/RecurringCancelled.php
@@ -19,8 +19,22 @@ class CRM_Contribute_WorkflowMessage_RecurringCancelled extends Civi\WorkflowMes
    */
   public $contact;
 
+  /**
+   * Export tokens to smarty as variables.
+   *
+   * The key represents the smarty token and the value is the token as
+   * requested from the token processor.
+   *
+   * The token is 'the entire part between the curly quotes' eg.
+   *
+   * '{contribution_recur.amount|crmMoney}.
+   *
+   * Unlike using the contribution directly it will default to 'raw' formatting.
+   *
+   * @param array $export
+   */
   protected function exportExtraTokenContext(array &$export): void {
-    $export['smartyTokenAlias']['amount'] = 'contribution_recur.amount';
+    $export['smartyTokenAlias']['amount'] = 'contribution_recur.amount|crmMoney';
     $export['smartyTokenAlias']['recur_frequency_unit'] = 'contribution_recur.frequency_unit:label';
     $export['smartyTokenAlias']['recur_frequency_interval'] = 'contribution_recur.frequency_interval';
   }
diff --git a/civicrm/CRM/Contribute/WorkflowMessage/RecurringEdit.php b/civicrm/CRM/Contribute/WorkflowMessage/RecurringEdit.php
index 7e211c8724..495db5c5b7 100644
--- a/civicrm/CRM/Contribute/WorkflowMessage/RecurringEdit.php
+++ b/civicrm/CRM/Contribute/WorkflowMessage/RecurringEdit.php
@@ -33,13 +33,32 @@ class CRM_Contribute_WorkflowMessage_RecurringEdit extends Civi\WorkflowMessage\
    */
   public $receiptFromEmail;
 
+  /**
+   * Export tokens to smarty as variables.
+   *
+   * The key represents the smarty token and the value is the token as
+   * requested from the token processor.
+   *
+   * The token is 'the entire part between the curly quotes' eg.
+   *
+   * '{contribution_recur.amount|crmMoney}.
+   *
+   * Unlike using the contribution directly it will default to 'raw' formatting.
+   *
+   * @param array $export
+   */
   protected function exportExtraTokenContext(array &$export): void {
     $export['smartyTokenAlias']['installments'] = 'contribution_recur.installments';
-    $export['smartyTokenAlias']['amount'] = 'contribution_recur.amount';
+    $export['smartyTokenAlias']['amount'] = 'contribution_recur.amount|crmMoney';
     $export['smartyTokenAlias']['recur_frequency_unit'] = 'contribution_recur.frequency_unit:label';
     $export['smartyTokenAlias']['recur_frequency_interval'] = 'contribution_recur.frequency_interval';
   }
 
+  /**
+   * Extra variables to be exported to smarty based on being calculated.
+   *
+   * @param array $export
+   */
   protected function exportExtraTplParams(array &$export): void {
     if (empty($export['receipt_from_email']) && !empty($this->from)) {
       // At a minimum, we can at least autofill 'receipt_from_email' in the case where it's missing.
diff --git a/civicrm/CRM/Core/Action.php b/civicrm/CRM/Core/Action.php
index 2211d6cdb6..fc1dcd7c4a 100644
--- a/civicrm/CRM/Core/Action.php
+++ b/civicrm/CRM/Core/Action.php
@@ -166,7 +166,7 @@ class CRM_Core_Action {
    *
    * @param array $links
    *   The set of link items.
-   * @param int $mask
+   * @param int|null $mask
    *   The mask to be used. a null mask means all items.
    * @param array $values
    *   The array of values for parameter substitution in the link items.
@@ -311,8 +311,8 @@ class CRM_Core_Action {
    *   The mask to be used. a null mask means all items.
    * @param array $values
    *   The array of values for parameter substitution in the link items.
-   * @param null $op
-   * @param null $objectName
+   * @param string|null $op
+   * @param string|null $objectName
    * @param int $objectId
    *
    * @return array|null
diff --git a/civicrm/CRM/Core/BAO/Address.php b/civicrm/CRM/Core/BAO/Address.php
index e2644ab539..09e45a24c0 100644
--- a/civicrm/CRM/Core/BAO/Address.php
+++ b/civicrm/CRM/Core/BAO/Address.php
@@ -962,13 +962,6 @@ SELECT is_primary,
     $query = 'SELECT id, contact_id FROM civicrm_address WHERE master_id = %1';
     $dao = CRM_Core_DAO::executeQuery($query, [1 => [$addressId, 'Integer']]);
 
-    // legacy - for api backward compatibility
-    if (!isset($params['add_relationship']) && isset($params['update_current_employer'])) {
-      // warning
-      CRM_Core_Error::deprecatedFunctionWarning('update_current_employer is deprecated, use add_relationship instead');
-      $params['add_relationship'] = $params['update_current_employer'];
-    }
-
     // Default to TRUE if not set to maintain api backward compatibility.
     $createRelationship = $params['add_relationship'] ?? TRUE;
 
diff --git a/civicrm/CRM/Core/BAO/CustomField.php b/civicrm/CRM/Core/BAO/CustomField.php
index 060b31b965..21547af73c 100644
--- a/civicrm/CRM/Core/BAO/CustomField.php
+++ b/civicrm/CRM/Core/BAO/CustomField.php
@@ -75,13 +75,10 @@ class CRM_Core_BAO_CustomField extends CRM_Core_DAO_CustomField {
   }
 
   /**
-   * Takes an associative array and creates a custom field object.
-   *
-   * This function is invoked from within the web form layer and also from the api layer
+   * Deprecated in favor of writeRecords & APIv4
    *
+   * @deprecated
    * @param array $params
-   *   (reference) an assoc array of name/value pairs.
-   *
    * @return CRM_Core_DAO_CustomField
    */
   public static function create($params) {
@@ -330,7 +327,7 @@ class CRM_Core_BAO_CustomField extends CRM_Core_DAO_CustomField {
       $checkPermission = CRM_Core_Permission::EDIT;
     }
     if (empty($customDataType)) {
-      $customDataType = ['Contact', 'Individual', 'Organization', 'Household'];
+      $customDataType = array_merge(['Contact'], CRM_Contact_BAO_ContactType::basicTypes());
     }
     if ($customDataType === 'ANY') {
       // NULL should have been respected but the line above broke that.
@@ -2031,14 +2028,13 @@ WHERE  id IN ( %1, %2 )
         )
       ) {
         // first create an option group for this custom group
-        $optionGroup = new CRM_Core_DAO_OptionGroup();
-        $optionGroup->name = "{$params['column_name']}_" . date('YmdHis');
-        $optionGroup->title = $params['label'];
-        $optionGroup->is_active = 1;
-        // Don't set reserved as it's not a built-in option group and may be useful for other custom fields.
-        $optionGroup->is_reserved = 0;
-        $optionGroup->data_type = $dataType;
-        $optionGroup->save();
+        $customGroupTitle = CRM_Core_DAO::getFieldValue('CRM_Core_DAO_CustomGroup', $params['custom_group_id'], 'title');
+        $optionGroup = CRM_Core_DAO_OptionGroup::writeRecord([
+          'title' => "$customGroupTitle :: {$params['label']}",
+          // Don't set reserved as it's not a built-in option group and may be useful for other custom fields.
+          'is_reserved' => 0,
+          'data_type' => $dataType,
+        ]);
         $params['option_group_id'] = $optionGroup->id;
         if (!empty($params['option_value']) && is_array($params['option_value'])) {
           foreach ($params['option_value'] as $k => $v) {
@@ -2711,12 +2707,16 @@ WHERE cf.id = %1 AND cg.is_multiple = 1";
   }
 
   /**
+   * Prepare params for the create operation.
+   *
    * @param CRM_Core_DAO_CustomField $field
-   * @param 'add|modify|delete' $operation
+   * @param string $operation
+   *   add|modify|delete
    *
    * @return array
+   * @throws \CRM_Core_Exception
    */
-  protected static function prepareCreateParams($field, $operation) {
+  protected static function prepareCreateParams($field, $operation): array {
     $tableName = CRM_Core_DAO::getFieldValue(
       'CRM_Core_DAO_CustomGroup',
       $field->custom_group_id,
diff --git a/civicrm/CRM/Core/BAO/CustomGroup.php b/civicrm/CRM/Core/BAO/CustomGroup.php
index 94aa6d818b..7a8ca08a4e 100644
--- a/civicrm/CRM/Core/BAO/CustomGroup.php
+++ b/civicrm/CRM/Core/BAO/CustomGroup.php
@@ -20,13 +20,6 @@
  */
 class CRM_Core_BAO_CustomGroup extends CRM_Core_DAO_CustomGroup {
 
-  /**
-   * Class constructor.
-   */
-  public function __construct() {
-    parent::__construct();
-  }
-
   /**
    * Takes an associative array and creates a custom group object.
    *
diff --git a/civicrm/CRM/Core/BAO/CustomOption.php b/civicrm/CRM/Core/BAO/CustomOption.php
index 960cdf4d22..e44a2c8a83 100644
--- a/civicrm/CRM/Core/BAO/CustomOption.php
+++ b/civicrm/CRM/Core/BAO/CustomOption.php
@@ -167,7 +167,7 @@ class CRM_Core_BAO_CustomOption {
   /**
    * Delete Option.
    *
-   * @param $optionId integer
+   * @param int $optionId
    *   option id
    *
    */
diff --git a/civicrm/CRM/Core/BAO/CustomValue.php b/civicrm/CRM/Core/BAO/CustomValue.php
index 44b3d296aa..c88c62bfeb 100644
--- a/civicrm/CRM/Core/BAO/CustomValue.php
+++ b/civicrm/CRM/Core/BAO/CustomValue.php
@@ -260,7 +260,7 @@ class CRM_Core_BAO_CustomValue extends CRM_Core_DAO {
     }
 
     // Do we have access to the target record?
-    if (in_array($extends, ['Contact', 'Individual', 'Organization', 'Household'])) {
+    if ($extends === 'Contact' || in_array($extends, CRM_Contact_BAO_ContactType::basicTypes(TRUE), TRUE)) {
       return \Civi\Api4\Utils\CoreUtil::checkAccessDelegated('Contact', 'update', ['id' => $eid], $userID);
     }
     elseif (\Civi\Api4\Utils\CoreUtil::getApiClass($extends)) {
diff --git a/civicrm/CRM/Core/BAO/CustomValueTable.php b/civicrm/CRM/Core/BAO/CustomValueTable.php
index 555de5f9f9..9ba11ab1a0 100644
--- a/civicrm/CRM/Core/BAO/CustomValueTable.php
+++ b/civicrm/CRM/Core/BAO/CustomValueTable.php
@@ -444,7 +444,7 @@ class CRM_Core_BAO_CustomValueTable {
    *                                   Empty array if no custom values found.
    * @throws CRM_Core_Exception
    */
-  public static function &getEntityValues($entityID, $entityType = NULL, $fieldIDs = NULL, $formatMultiRecordField = FALSE, $DTparams = NULL) {
+  public static function getEntityValues($entityID, $entityType = NULL, $fieldIDs = NULL, $formatMultiRecordField = FALSE, $DTparams = NULL) {
     if (!$entityID) {
       // adding this here since an empty contact id could have serious repurcussions
       // like looping forever
@@ -463,7 +463,8 @@ class CRM_Core_BAO_CustomValueTable {
       $cond[] = "cf.id IN ( $fieldIDList )";
     }
     if (empty($cond)) {
-      $cond[] = "cg.extends IN ( 'Contact', 'Individual', 'Household', 'Organization' )";
+      $contactTypes = array_merge(['Contact'], CRM_Contact_BAO_ContactType::basicTypes(TRUE));
+      $cond[] = "cg.extends IN ( '" . implode("', '", $contactTypes) . "' )";
     }
     $cond = implode(' AND ', $cond);
 
@@ -714,7 +715,7 @@ AND    cf.id IN ( $fieldIDList )
    * @throws Exception
    * @return array
    */
-  public static function &getValues(&$params) {
+  public static function getValues($params) {
     if (empty($params)) {
       return NULL;
     }
@@ -738,11 +739,11 @@ AND    cf.id IN ( $fieldIDList )
             [1 => $idx]
           ));
         }
-        $fieldIDs[] = (int ) $idx;
+        $fieldIDs[] = (int) $idx;
       }
     }
 
-    $default = ['Contact', 'Individual', 'Household', 'Organization'];
+    $default = array_merge(['Contact'], CRM_Contact_BAO_ContactType::basicTypes(TRUE));
     if (!($type = CRM_Utils_Array::value('entityType', $params)) ||
       in_array($params['entityType'], $default)
     ) {
diff --git a/civicrm/CRM/Core/BAO/Dashboard.php b/civicrm/CRM/Core/BAO/Dashboard.php
index 5ef7321b15..d0866aceec 100644
--- a/civicrm/CRM/Core/BAO/Dashboard.php
+++ b/civicrm/CRM/Core/BAO/Dashboard.php
@@ -142,8 +142,6 @@ class CRM_Core_BAO_Dashboard extends CRM_Core_DAO_Dashboard {
    */
   public static function checkPermission($permissions, $operator) {
     if ($permissions) {
-      $config = CRM_Core_Config::singleton();
-
       static $allComponents;
       if (!$allComponents) {
         $allComponents = CRM_Core_Component::getNames();
@@ -170,9 +168,7 @@ class CRM_Core_BAO_Dashboard extends CRM_Core_DAO_Dashboard {
 
         //hack to determine if it's a component related permission
         if ($componentName) {
-          if (!in_array($componentName, $config->enableComponents) ||
-            !CRM_Core_Permission::check($key)
-          ) {
+          if (!CRM_Core_Component::isEnabled($componentName) || !CRM_Core_Permission::check($key)) {
             $showDashlet = FALSE;
             if ($operator == 'AND') {
               return $showDashlet;
diff --git a/civicrm/CRM/Core/BAO/Discount.php b/civicrm/CRM/Core/BAO/Discount.php
index fee698c05d..553b0ea5df 100644
--- a/civicrm/CRM/Core/BAO/Discount.php
+++ b/civicrm/CRM/Core/BAO/Discount.php
@@ -16,13 +16,6 @@
  */
 class CRM_Core_BAO_Discount extends CRM_Core_DAO_Discount {
 
-  /**
-   * Class constructor.
-   */
-  public function __construct() {
-    parent::__construct();
-  }
-
   /**
    * Delete the discount.
    *
diff --git a/civicrm/CRM/Core/BAO/Domain.php b/civicrm/CRM/Core/BAO/Domain.php
index b874f26a6b..59c1ace59d 100644
--- a/civicrm/CRM/Core/BAO/Domain.php
+++ b/civicrm/CRM/Core/BAO/Domain.php
@@ -100,7 +100,7 @@ class CRM_Core_BAO_Domain extends CRM_Core_DAO_Domain {
   /**
    * Checks that the current DB schema is at least $min version
    *
-   * @param string|number $min
+   * @param string|int $min
    * @return bool
    */
   public static function isDBVersionAtLeast($min) {
diff --git a/civicrm/CRM/Core/BAO/EntityTag.php b/civicrm/CRM/Core/BAO/EntityTag.php
index 65d5587b7d..606f5fad93 100644
--- a/civicrm/CRM/Core/BAO/EntityTag.php
+++ b/civicrm/CRM/Core/BAO/EntityTag.php
@@ -297,7 +297,8 @@ class CRM_Core_BAO_EntityTag extends CRM_Core_DAO_EntityTag {
    * @param int $contactID
    * @param bool $count
    *
-   * @return array
+   * @return array|int
+   *   Dependant on $count
    */
   public static function getContactTags($contactID, $count = FALSE) {
     $contactTags = [];
@@ -319,7 +320,7 @@ class CRM_Core_BAO_EntityTag extends CRM_Core_DAO_EntityTag {
 
     if ($count) {
       $dao->fetch();
-      return $dao->cnt;
+      return (int) $dao->cnt;
     }
 
     while ($dao->fetch()) {
@@ -368,7 +369,7 @@ class CRM_Core_BAO_EntityTag extends CRM_Core_DAO_EntityTag {
    *
    * @return array
    */
-  public function mergeTags($tagAId, $tagBId) {
+  public static function mergeTags($tagAId, $tagBId) {
     $queryParams = [
       1 => [$tagAId, 'Integer'],
       2 => [$tagBId, 'Integer'],
diff --git a/civicrm/CRM/Core/BAO/File.php b/civicrm/CRM/Core/BAO/File.php
index a420f7ac2b..6f4401daf1 100644
--- a/civicrm/CRM/Core/BAO/File.php
+++ b/civicrm/CRM/Core/BAO/File.php
@@ -85,15 +85,15 @@ class CRM_Core_BAO_File extends CRM_Core_DAO_File {
   }
 
   /**
-   * @param $data
+   * @param string $data
    * @param int $fileTypeID
-   * @param $entityTable
+   * @param string $entityTable
    * @param int $entityID
-   * @param $entitySubtype
+   * @param string|false $entitySubtype
    * @param bool $overwrite
    * @param null|array $fileParams
    * @param string $uploadName
-   * @param null $mimeType
+   * @param string $mimeType
    *
    * @throws Exception
    */
@@ -102,7 +102,7 @@ class CRM_Core_BAO_File extends CRM_Core_DAO_File {
     $fileTypeID,
     $entityTable,
     $entityID,
-    $entitySubtype,
+    $entitySubtype = FALSE,
     $overwrite = TRUE,
     $fileParams = NULL,
     $uploadName = 'uploadFile',
@@ -496,8 +496,9 @@ AND       CEF.entity_id    = %2";
   }
 
   /**
-   * Return a clean url string and the number of attachment for a
-   * given entityTable, entityID
+   * Return a HTML string, separated by $separator,
+   * where each item is an anchor link to the file,
+   * with the filename as the link text.
    *
    * @param string $entityTable
    *   The entityTable to which the file is attached.
@@ -506,8 +507,8 @@ AND       CEF.entity_id    = %2";
    * @param string $separator
    *   The string separator where to implode the urls.
    *
-   * @return array
-   *   An array with 2 elements. The string and the number of attachments
+   * @return string|null
+   *   HTML list of attachment links, or null if no attachments
    */
   public static function attachmentInfo($entityTable, $entityID, $separator = '<br />') {
     if (!$entityID) {
diff --git a/civicrm/CRM/Core/BAO/FinancialTrxn.php b/civicrm/CRM/Core/BAO/FinancialTrxn.php
index 0e1499e208..7cd00efb32 100644
--- a/civicrm/CRM/Core/BAO/FinancialTrxn.php
+++ b/civicrm/CRM/Core/BAO/FinancialTrxn.php
@@ -15,17 +15,6 @@
  * @copyright CiviCRM LLC https://civicrm.org/licensing
  */
 class CRM_Core_BAO_FinancialTrxn extends CRM_Financial_DAO_FinancialTrxn {
-  /**
-   * Class constructor.
-   *
-   * @return \CRM_Financial_DAO_FinancialTrxn
-   */
-
-  /**
-   */
-  public function __construct() {
-    parent::__construct();
-  }
 
   /**
    * Takes an associative array and creates a financial transaction object.
diff --git a/civicrm/CRM/Core/BAO/Job.php b/civicrm/CRM/Core/BAO/Job.php
index dbb736ec96..331d5852d6 100644
--- a/civicrm/CRM/Core/BAO/Job.php
+++ b/civicrm/CRM/Core/BAO/Job.php
@@ -22,13 +22,6 @@
  */
 class CRM_Core_BAO_Job extends CRM_Core_DAO_Job {
 
-  /**
-   * Class constructor.
-   */
-  public function __construct() {
-    parent::__construct();
-  }
-
   /**
    * Add the payment-processor type in the db
    *
diff --git a/civicrm/CRM/Core/BAO/LocationType.php b/civicrm/CRM/Core/BAO/LocationType.php
index 49ddc891fd..3e25675ce2 100644
--- a/civicrm/CRM/Core/BAO/LocationType.php
+++ b/civicrm/CRM/Core/BAO/LocationType.php
@@ -17,18 +17,14 @@
 class CRM_Core_BAO_LocationType extends CRM_Core_DAO_LocationType implements \Civi\Test\HookInterface {
 
   /**
-   * Static holder for the default LT.
-   * @var int
+   * @var CRM_Core_DAO_LocationType|null
    */
   public static $_defaultLocationType = NULL;
-  public static $_billingLocationType = NULL;
 
   /**
-   * Class constructor.
+   * @var int|null
    */
-  public function __construct() {
-    parent::__construct();
-  }
+  public static $_billingLocationType = NULL;
 
   /**
    * Fetch object based on array of properties.
@@ -38,7 +34,7 @@ class CRM_Core_BAO_LocationType extends CRM_Core_DAO_LocationType implements \Ci
    * @param array $defaults
    *   (reference ) an assoc array to hold the flattened values.
    *
-   * @return CRM_Core_BAO_LocaationType|null
+   * @return CRM_Core_DAO_LocationType|null
    *   object on success, null otherwise
    */
   public static function retrieve(&$params, &$defaults) {
@@ -69,7 +65,7 @@ class CRM_Core_BAO_LocationType extends CRM_Core_DAO_LocationType implements \Ci
   /**
    * Retrieve the default location_type.
    *
-   * @return object
+   * @return CRM_Core_DAO_LocationType|null
    *   The default location type object on success,
    *                          null otherwise
    */
diff --git a/civicrm/CRM/Core/BAO/MailSettings.php b/civicrm/CRM/Core/BAO/MailSettings.php
index 26086ea2e8..aad1945bbc 100644
--- a/civicrm/CRM/Core/BAO/MailSettings.php
+++ b/civicrm/CRM/Core/BAO/MailSettings.php
@@ -16,13 +16,6 @@
  */
 class CRM_Core_BAO_MailSettings extends CRM_Core_DAO_MailSettings {
 
-  /**
-   * Class constructor.
-   */
-  public function __construct() {
-    parent::__construct();
-  }
-
   /**
    * Get a list of setup-actions.
    *
@@ -141,7 +134,7 @@ class CRM_Core_BAO_MailSettings extends CRM_Core_DAO_MailSettings {
    *   Reference array contains the values submitted by the form.
    *
    *
-   * @return object
+   * @return CRM_Core_DAO_MailSettings
    */
   public static function add(&$params) {
     $result = NULL;
@@ -174,7 +167,7 @@ class CRM_Core_BAO_MailSettings extends CRM_Core_DAO_MailSettings {
    * @param array $params
    *   (reference ) an assoc array of name/value pairs.
    *
-   * @return CRM_Core_BAO_MailSettings
+   * @return CRM_Core_DAO_MailSettings|CRM_Core_Error
    */
   public static function create(&$params) {
     $transaction = new CRM_Core_Transaction();
diff --git a/civicrm/CRM/Core/BAO/Mapping.php b/civicrm/CRM/Core/BAO/Mapping.php
index c186fc6764..9ba5d4ce09 100644
--- a/civicrm/CRM/Core/BAO/Mapping.php
+++ b/civicrm/CRM/Core/BAO/Mapping.php
@@ -16,13 +16,6 @@
  */
 class CRM_Core_BAO_Mapping extends CRM_Core_DAO_Mapping implements \Civi\Test\HookInterface {
 
-  /**
-   * Class constructor.
-   */
-  public function __construct() {
-    parent::__construct();
-  }
-
   /**
    * Fetch object based on array of properties.
    *
@@ -767,7 +760,7 @@ class CRM_Core_BAO_Mapping extends CRM_Core_DAO_Mapping implements \Civi\Test\Ho
       }
     }
     if (($mappingType == 'Search Builder') || ($exportMode == CRM_Export_Form_Select::GRANT_EXPORT)) {
-      if (CRM_Core_Permission::access('CiviGrant')) {
+      if (method_exists('CRM_Grant_BAO_Grant', 'exportableFields') && CRM_Core_Permission::check('access CiviGrant')) {
         $fields['Grant'] = CRM_Grant_BAO_Grant::exportableFields();
         unset($fields['Grant']['grant_contact_id']);
         if ($mappingType == 'Search Builder') {
diff --git a/civicrm/CRM/Core/BAO/Navigation.php b/civicrm/CRM/Core/BAO/Navigation.php
index 24e58b8f10..52775d3fd3 100644
--- a/civicrm/CRM/Core/BAO/Navigation.php
+++ b/civicrm/CRM/Core/BAO/Navigation.php
@@ -19,13 +19,6 @@ class CRM_Core_BAO_Navigation extends CRM_Core_DAO_Navigation {
   // Number of characters in the menu js cache key
   const CACHE_KEY_STRLEN = 8;
 
-  /**
-   * Class constructor.
-   */
-  public function __construct() {
-    parent::__construct();
-  }
-
   /**
    * Update the is_active flag in the db.
    *
@@ -42,12 +35,11 @@ class CRM_Core_BAO_Navigation extends CRM_Core_DAO_Navigation {
   }
 
   /**
-   * Add/update navigation record.
+   * Deprecated in favor of APIv4
    *
+   * @deprecated
    * @param array $params Submitted values
-   *
    * @return CRM_Core_DAO_Navigation
-   *   navigation object
    */
   public static function add(&$params) {
     $navigation = new CRM_Core_DAO_Navigation();
@@ -376,9 +368,7 @@ FROM civicrm_navigation WHERE domain_id = $domainID";
         $componentName = CRM_Core_Permission::getComponentName($key);
 
         if ($componentName) {
-          if (!in_array($componentName, CRM_Core_Config::singleton()->enableComponents) ||
-            !CRM_Core_Permission::check($key)
-          ) {
+          if (!CRM_Core_Component::isEnabled($componentName) || !CRM_Core_Permission::check($key)) {
             $showItem = FALSE;
             if ($operator == 'AND') {
               return FALSE;
@@ -702,7 +692,7 @@ FROM civicrm_navigation WHERE domain_id = $domainID";
    * care about output params appended.
    *
    * @param string $url
-   * @param array $url_params
+   * @param string $url_params
    *
    * @param int|null $parent_id
    *   Optionally restrict to one parent.
diff --git a/civicrm/CRM/Core/BAO/OptionGroup.php b/civicrm/CRM/Core/BAO/OptionGroup.php
index 12da9c3d3f..cce3128251 100644
--- a/civicrm/CRM/Core/BAO/OptionGroup.php
+++ b/civicrm/CRM/Core/BAO/OptionGroup.php
@@ -16,13 +16,6 @@
  */
 class CRM_Core_BAO_OptionGroup extends CRM_Core_DAO_OptionGroup implements \Civi\Test\HookInterface {
 
-  /**
-   * Class constructor.
-   */
-  public function __construct() {
-    parent::__construct();
-  }
-
   /**
    * Fetch object based on array of properties.
    *
@@ -66,8 +59,8 @@ class CRM_Core_BAO_OptionGroup extends CRM_Core_DAO_OptionGroup implements \Civi
    * @param array $ids
    *   Reference array contains the id.
    *
-   *
-   * @return object
+   * @deprecated
+   * @return CRM_Core_DAO_OptionGroup
    */
   public static function add(&$params, $ids = []) {
     if (empty($params['id']) && !empty($ids['optionGroup'])) {
diff --git a/civicrm/CRM/Core/BAO/OptionValue.php b/civicrm/CRM/Core/BAO/OptionValue.php
index 69d78bf677..d0ef5019ab 100644
--- a/civicrm/CRM/Core/BAO/OptionValue.php
+++ b/civicrm/CRM/Core/BAO/OptionValue.php
@@ -16,13 +16,6 @@
  */
 class CRM_Core_BAO_OptionValue extends CRM_Core_DAO_OptionValue {
 
-  /**
-   * Class constructor.
-   */
-  public function __construct() {
-    parent::__construct();
-  }
-
   /**
    * Create option value.
    *
diff --git a/civicrm/CRM/Core/BAO/Phone.php b/civicrm/CRM/Core/BAO/Phone.php
index 6f9da9eccb..c51b492bba 100644
--- a/civicrm/CRM/Core/BAO/Phone.php
+++ b/civicrm/CRM/Core/BAO/Phone.php
@@ -76,9 +76,8 @@ class CRM_Core_BAO_Phone extends CRM_Core_DAO_Phone {
    *
    * @param int $id
    *   The contact id.
-   *
    * @param bool $updateBlankLocInfo
-   * @param null $type
+   * @param string|null $type
    * @param array $filters
    *
    * @return array
@@ -149,10 +148,8 @@ ORDER BY civicrm_phone.is_primary DESC,  phone_id ASC ";
    * This is called from CRM_Core_BAO_Block as a calculated function.
    *
    * @param array $entityElements
-   *   The array containing entity_id and.
-   *   entity_table name
-   *
-   * @param null $type
+   *   The array containing entity_id and entity_table name
+   * @param string|null $type
    *
    * @return array
    *   the array of phone ids which are potential numbers
@@ -205,7 +202,7 @@ ORDER BY ph.is_primary DESC, phone_id ASC ";
   /**
    * Set NULL to phone, mapping, uffield
    *
-   * @param $optionId
+   * @param int $optionId
    *   Value of option to be deleted.
    */
   public static function setOptionToNull($optionId) {
diff --git a/civicrm/CRM/Core/BAO/PreferencesDate.php b/civicrm/CRM/Core/BAO/PreferencesDate.php
index b05bbf4a15..0ede5825b9 100644
--- a/civicrm/CRM/Core/BAO/PreferencesDate.php
+++ b/civicrm/CRM/Core/BAO/PreferencesDate.php
@@ -22,13 +22,6 @@ class CRM_Core_BAO_PreferencesDate extends CRM_Core_DAO_PreferencesDate {
    */
   public static $_defaultPreferencesDate = NULL;
 
-  /**
-   * Class constructor.
-   */
-  public function __construct() {
-    parent::__construct();
-  }
-
   /**
    * Fetch object based on array of properties.
    *
diff --git a/civicrm/CRM/Core/BAO/PrevNextCache.php b/civicrm/CRM/Core/BAO/PrevNextCache.php
index d47c44ff91..c63e2e9bdf 100644
--- a/civicrm/CRM/Core/BAO/PrevNextCache.php
+++ b/civicrm/CRM/Core/BAO/PrevNextCache.php
@@ -287,7 +287,7 @@ FROM   civicrm_prevnext_cache pn
   }
 
   /**
-   * @param $string
+   * @param mixed $string
    *
    * @return bool
    */
diff --git a/civicrm/CRM/Core/BAO/SchemaHandler.php b/civicrm/CRM/Core/BAO/SchemaHandler.php
index 1686e79889..bda6dc09fa 100644
--- a/civicrm/CRM/Core/BAO/SchemaHandler.php
+++ b/civicrm/CRM/Core/BAO/SchemaHandler.php
@@ -157,7 +157,7 @@ class CRM_Core_BAO_SchemaHandler {
    * @param array $params
    * @param string $separator
    * @param string $prefix
-   * @param string|NULL $existingIndex
+   * @param string|null $existingIndex
    *
    * @return NULL|string
    */
@@ -609,7 +609,7 @@ MODIFY      {$columnName} varchar( $length )
    * @param bool $dropFalseIndices
    *  If set - this function deletes false indices present in the DB which mismatches the expected
    *  values of xml file so that civi re-creates them with correct values using createMissingIndices() function.
-   * @param array|FALSE $tables
+   * @param array|false $tables
    *   An optional array of tables - if provided the results will be restricted to these tables.
    *
    * @return array
diff --git a/civicrm/CRM/Core/BAO/Setting.php b/civicrm/CRM/Core/BAO/Setting.php
index e4c14859e0..077a1cb0b1 100644
--- a/civicrm/CRM/Core/BAO/Setting.php
+++ b/civicrm/CRM/Core/BAO/Setting.php
@@ -47,7 +47,7 @@ class CRM_Core_BAO_Setting extends CRM_Core_DAO_Setting {
   /**
    * Retrieve the value of a setting from the DB table.
    *
-   * @param string $group
+   * @param string|null $group
    *   The group name of the item (deprecated).
    * @param string $name
    *   (required) The name under which this item is stored.
@@ -125,7 +125,7 @@ class CRM_Core_BAO_Setting extends CRM_Core_DAO_Setting {
   /**
    * Store an item in the setting table.
    *
-   * @param $value
+   * @param mixed $value
    *   (required) The value that will be serialized and stored.
    * @param string $group
    *   The group name of the item (deprecated).
@@ -169,7 +169,7 @@ class CRM_Core_BAO_Setting extends CRM_Core_DAO_Setting {
    *
    * @param array $params
    *   (required) An api formatted array of keys and values.
-   * @param null $domains
+   * @param array|null $domains
    *
    * @throws API_Exception
    * @domains array an array of domains to get settings for. Default is the current domain
@@ -247,7 +247,7 @@ class CRM_Core_BAO_Setting extends CRM_Core_DAO_Setting {
     $getFieldsParams = ['version' => 3];
     if (count($settingParams) == 1) {
       // ie we are only setting one field - we'll pass it into getfields for efficiency
-      list($name) = array_keys($settingParams);
+      [$name] = array_keys($settingParams);
       $getFieldsParams['name'] = $name;
     }
     $fields = civicrm_api3('setting', 'getfields', $getFieldsParams);
@@ -420,9 +420,10 @@ class CRM_Core_BAO_Setting extends CRM_Core_DAO_Setting {
   }
 
   /**
-   * @param $group (deprecated)
+   * @param string $group
+   *   Deprecated parameter
    * @param string $name
-   * @param $value
+   * @param mixed $value
    * @param bool $system
    * @param int $userID
    * @param string $keyField
@@ -472,24 +473,26 @@ class CRM_Core_BAO_Setting extends CRM_Core_DAO_Setting {
   /**
    * Check if environment is explicitly set.
    *
+   * @param $setting
+   *
    * @return bool
    */
-  public static function isEnvironmentSet($setting, $value = NULL) {
+  public static function isEnvironmentSet($setting): bool {
+    CRM_Core_Error::deprecatedFunctionWarning('no alternative');
     $environment = CRM_Core_Config::environment();
-    if ($setting == 'environment' && $environment) {
-      return TRUE;
-    }
-    return FALSE;
+    return $setting === 'environment' && $environment;
   }
 
   /**
    * Check if job is able to be executed by API.
    *
-   * @throws API_Exception
+   * @param $params
+   *
+   * @throws \CRM_Core_Exception
    */
-  public static function isAPIJobAllowedToRun($params) {
+  public static function isAPIJobAllowedToRun($params): void {
     $environment = CRM_Core_Config::environment(NULL, TRUE);
-    if ($environment != 'Production') {
+    if ($environment !== 'Production') {
       if (!empty($params['runInNonProductionEnvironment'])) {
         $mailing = Civi::settings()->get('mailing_backend_store');
         if ($mailing) {
@@ -497,7 +500,7 @@ class CRM_Core_BAO_Setting extends CRM_Core_DAO_Setting {
         }
       }
       else {
-        throw new Exception(ts("Job has not been executed as it is a %1 (non-production) environment.", [1 => $environment]));
+        throw new CRM_Core_Exception(ts('Job has not been executed as it is a %1 (non-production) environment.', [1 => $environment]));
       }
     }
   }
@@ -515,7 +518,7 @@ class CRM_Core_BAO_Setting extends CRM_Core_DAO_Setting {
    *   Specification of the setting (per *.settings.php).
    */
   public static function onChangeEnvironmentSetting($oldValue, $newValue, $metadata) {
-    if ($newValue != 'Production') {
+    if ($newValue !== 'Production') {
       $mailing = Civi::settings()->get('mailing_backend');
       if ($mailing['outBound_option'] != CRM_Mailing_Config::OUTBOUND_OPTION_DISABLED) {
         Civi::settings()->set('mailing_backend_store', $mailing);
diff --git a/civicrm/CRM/Core/BAO/Tag.php b/civicrm/CRM/Core/BAO/Tag.php
index 8a75503da1..32c92d5b7a 100644
--- a/civicrm/CRM/Core/BAO/Tag.php
+++ b/civicrm/CRM/Core/BAO/Tag.php
@@ -21,13 +21,6 @@ class CRM_Core_BAO_Tag extends CRM_Core_DAO_Tag {
    */
   protected $tree;
 
-  /**
-   * Class constructor.
-   */
-  public function __construct() {
-    parent::__construct();
-  }
-
   /**
    * Fetch object based on array of properties.
    *
@@ -68,7 +61,8 @@ class CRM_Core_BAO_Tag extends CRM_Core_DAO_Tag {
    * Build a nested array from hierarchical tags.
    *
    * Supports infinite levels of nesting.
-   * @param null $usedFor
+   *
+   * @param string|null $usedFor
    * @param bool $excludeHidden
    */
   public function buildTree($usedFor = NULL, $excludeHidden = FALSE) {
diff --git a/civicrm/CRM/Core/BAO/Translation.php b/civicrm/CRM/Core/BAO/Translation.php
index 8918d27ec4..858a75bcb2 100644
--- a/civicrm/CRM/Core/BAO/Translation.php
+++ b/civicrm/CRM/Core/BAO/Translation.php
@@ -68,7 +68,7 @@ class CRM_Core_BAO_Translation extends CRM_Core_DAO_Translation implements \Civi
    * Given a constant list of of id/name/label options, convert to the
    * format required by pseudoconstant.
    *
-   * @param string|NULL $context
+   * @param string|null $context
    * @param array $options
    *   List of options, each as a record of id+name+label.
    *   Ex: [['id' => 123, 'name' => 'foo_bar', 'label' => 'Foo Bar']]
diff --git a/civicrm/CRM/Core/BAO/UFField.php b/civicrm/CRM/Core/BAO/UFField.php
index fb8bb15797..4c273384c9 100644
--- a/civicrm/CRM/Core/BAO/UFField.php
+++ b/civicrm/CRM/Core/BAO/UFField.php
@@ -515,9 +515,8 @@ WHERE cf.id IN (" . $customFieldIds . ") AND is_multiple = 1 LIMIT 0,1";
     // suppress any subtypes if present
     CRM_Contact_BAO_ContactType::suppressSubTypes($profileTypes);
 
-    $contactTypes = ['Contact', 'Individual', 'Household', 'Organization'];
+    $contactTypes = array_merge(['Contact'], CRM_Contact_BAO_ContactType::basicTypes(TRUE));
     $components = ['Contribution', 'Participant', 'Membership', 'Activity'];
-    $fields = [];
 
     // check for mix profile condition
     if (count($profileTypes) > 1) {
@@ -583,7 +582,7 @@ WHERE cf.id IN (" . $customFieldIds . ") AND is_multiple = 1 LIMIT 0,1";
    */
   public static function calculateProfileType($ufGroupType, $returnMixType = TRUE, $onlyPure = FALSE, $skipComponentType = FALSE) {
     // profile types
-    $contactTypes = ['Contact', 'Individual', 'Household', 'Organization'];
+    $contactTypes = array_merge(['Contact'], CRM_Contact_BAO_ContactType::basicTypes(TRUE));
     $subTypes = CRM_Contact_BAO_ContactType::subTypes();
     $components = ['Contribution', 'Participant', 'Membership', 'Activity'];
 
diff --git a/civicrm/CRM/Core/BAO/UFGroup.php b/civicrm/CRM/Core/BAO/UFGroup.php
index 60e916f11f..cbf2aac51e 100644
--- a/civicrm/CRM/Core/BAO/UFGroup.php
+++ b/civicrm/CRM/Core/BAO/UFGroup.php
@@ -253,7 +253,7 @@ class CRM_Core_BAO_UFGroup extends CRM_Core_DAO_UFGroup {
    *   What action are we doing.
    * @param int $visibility
    *   Visibility of fields we are interested in.
-   * @param $searchable
+   * @param bool $searchable
    * @param bool $showAll
    * @param string $restrict
    *   Should we restrict based on a specified profile type.
@@ -261,10 +261,8 @@ class CRM_Core_BAO_UFGroup extends CRM_Core_DAO_UFGroup {
    * @param null $ctype
    * @param int $permissionType
    * @param string $orderBy
-   * @param null $orderProfiles
-   *
+   * @param bool $orderProfiles
    * @param bool $eventProfile
-   *
    * @return array
    *   The fields that belong to this ufgroup(s)
    *
@@ -275,14 +273,14 @@ class CRM_Core_BAO_UFGroup extends CRM_Core_DAO_UFGroup {
     $register = FALSE,
     $action = NULL,
     $visibility = NULL,
-    $searchable = NULL,
+    $searchable = FALSE,
     $showAll = FALSE,
     $restrict = NULL,
     $skipPermission = FALSE,
     $ctype = NULL,
     $permissionType = CRM_Core_Permission::CREATE,
     $orderBy = 'field_name',
-    $orderProfiles = NULL,
+    $orderProfiles = FALSE,
     $eventProfile = FALSE
   ) {
     if (!is_array($id)) {
@@ -1604,7 +1602,7 @@ AND    ( entity_id IS NULL OR entity_id <= 0 )
    * @param array $params
    *   (reference) an assoc array of name/value pairs.
    *
-   * @return CRM_Core_BAO_UFJoin
+   * @return CRM_Core_DAO_UFJoin
    */
   public static function addUFJoin(&$params) {
     $ufJoin = new CRM_Core_DAO_UFJoin();
@@ -1665,7 +1663,7 @@ AND    ( entity_id IS NULL OR entity_id <= 0 )
    * @param bool $skipPermission
    * @param int $op
    *   Which operation (view, edit, create, etc) to check permission for.
-   * @param array|NULL $returnFields list of UFGroup fields to return; NULL for default
+   * @param array|null $returnFields
    *
    * @return array
    *   array of ufgroups for a module
@@ -2179,7 +2177,7 @@ AND    ( entity_id IS NULL OR entity_id <= 0 )
       }
     }
     elseif ($fieldName == 'activity_details') {
-      $form->add('wysiwyg', $fieldName, $title, ['rows' => 4, 'cols' => 60], $required);
+      $form->add('wysiwyg', $name, $title, ['rows' => 4, 'cols' => 60], $required);
     }
     elseif ($fieldName == 'activity_duration') {
       $form->add('text', $name, $title, $attributes, $required);
@@ -3081,7 +3079,7 @@ AND    ( entity_id IS NULL OR entity_id <= 0 )
   }
 
   /**
-   * setDefault componet specific profile fields.
+   * setDefault component specific profile fields.
    *
    * @param array $fields
    *   Profile fields.
@@ -3457,8 +3455,7 @@ SELECT  group_id
    */
   public static function isProfileDoubleOptin() {
     // check for double optin
-    $config = CRM_Core_Config::singleton();
-    if (in_array('CiviMail', $config->enableComponents)) {
+    if (CRM_Core_Component::isEnabled('CiviMail')) {
       return Civi::settings()->get('profile_double_optin');
     }
     return FALSE;
@@ -3469,8 +3466,7 @@ SELECT  group_id
    */
   public static function isProfileAddToGroupDoubleOptin() {
     // check for add to group double optin
-    $config = CRM_Core_Config::singleton();
-    if (in_array('CiviMail', $config->enableComponents)) {
+    if (CRM_Core_Component::isEnabled('CiviMail')) {
       return Civi::settings()->get('profile_add_to_group_double_optin');
     }
     return FALSE;
diff --git a/civicrm/CRM/Core/BAO/Website.php b/civicrm/CRM/Core/BAO/Website.php
index 9a70590731..89d658ff76 100644
--- a/civicrm/CRM/Core/BAO/Website.php
+++ b/civicrm/CRM/Core/BAO/Website.php
@@ -40,8 +40,9 @@ class CRM_Core_BAO_Website extends CRM_Core_DAO_Website {
    *
    * @param array $params
    *
-   * @return bool|CRM_Core_BAO_Website
+   * @return CRM_Core_DAO_Website
    * @throws \CRM_Core_Exception
+   * @deprecated
    */
   public static function add($params) {
     CRM_Core_Error::deprecatedFunctionWarning('use apiv4');
diff --git a/civicrm/CRM/Core/BAO/WordReplacement.php b/civicrm/CRM/Core/BAO/WordReplacement.php
index feb3d85393..8025bc2a45 100644
--- a/civicrm/CRM/Core/BAO/WordReplacement.php
+++ b/civicrm/CRM/Core/BAO/WordReplacement.php
@@ -20,13 +20,6 @@
  */
 class CRM_Core_BAO_WordReplacement extends CRM_Core_DAO_WordReplacement implements \Civi\Test\HookInterface {
 
-  /**
-   * Class constructor.
-   */
-  public function __construct() {
-    parent::__construct();
-  }
-
   /**
    * Function that must have never worked & should be removed.
    *
@@ -46,34 +39,15 @@ class CRM_Core_BAO_WordReplacement extends CRM_Core_DAO_WordReplacement implemen
   }
 
   /**
-   * Get the domain BAO.
-   *
-   * @param null $reset
-   *
-   * @return null|CRM_Core_BAO_WordReplacement
-   * @throws CRM_Core_Exception
-   */
-  public static function getWordReplacement($reset = NULL) {
-    static $wordReplacement = NULL;
-    if (!$wordReplacement || $reset) {
-      $wordReplacement = new CRM_Core_BAO_WordReplacement();
-      $wordReplacement->id = CRM_Core_Config::wordReplacementID();
-      if (!$wordReplacement->find(TRUE)) {
-        throw new CRM_Core_Exception('Unable to find word replacement');
-      }
-    }
-    return $wordReplacement;
-  }
-
-  /**
-   * Save the values of a WordReplacement.
+   * Deprecated update function.
    *
+   * @deprecated
    * @param array $params
    * @param int $id
-   *
    * @return array
    */
   public static function edit(&$params, &$id) {
+    CRM_Core_Error::deprecatedWarning('APIv4');
     $wordReplacement = new CRM_Core_DAO_WordReplacement();
     $wordReplacement->id = $id;
     $wordReplacement->copyValues($params);
@@ -85,10 +59,10 @@ class CRM_Core_BAO_WordReplacement extends CRM_Core_DAO_WordReplacement implemen
   }
 
   /**
-   * Create a new WordReplacement.
+   * Deprecated create function.
    *
+   * @deprecated
    * @param array $params
-   *
    * @return array
    */
   public static function create($params) {
diff --git a/civicrm/CRM/Core/Block.php b/civicrm/CRM/Core/Block.php
index 695e8a6c3f..cdde5b928e 100644
--- a/civicrm/CRM/Core/Block.php
+++ b/civicrm/CRM/Core/Block.php
@@ -326,8 +326,6 @@ class CRM_Core_Block {
    * Create the list of options to create New objects for the application and format is as a block.
    */
   private static function setTemplateShortcutValues() {
-    $config = CRM_Core_Config::singleton();
-
     static $shortCuts = [];
 
     if (!($shortCuts)) {
@@ -349,14 +347,12 @@ class CRM_Core_Block {
 
       $components = CRM_Core_Component::getEnabledComponents();
 
-      if (!empty($config->enableComponents)) {
+      if ($components) {
         // check if we can process credit card contribs
         $newCredit = CRM_Core_Config::isEnabledBackOfficeCreditCardPayments();
 
-        foreach ($components as $componentName => $obj) {
-          if (in_array($componentName, $config->enableComponents)) {
-            $obj->creatNewShortcut($shortCuts, $newCredit);
-          }
+        foreach ($components as $obj) {
+          $obj->creatNewShortcut($shortCuts, $newCredit);
         }
       }
 
@@ -426,7 +422,7 @@ class CRM_Core_Block {
   }
 
   /**
-   * @param $short
+   * @param array $short
    *
    * @return array
    */
diff --git a/civicrm/CRM/Core/CodeGen/GenerateData.php b/civicrm/CRM/Core/CodeGen/GenerateData.php
index 4dcc745f02..c03badfdd1 100644
--- a/civicrm/CRM/Core/CodeGen/GenerateData.php
+++ b/civicrm/CRM/Core/CodeGen/GenerateData.php
@@ -334,7 +334,7 @@ class CRM_Core_CodeGen_GenerateData {
   /**
    * Get a random item from the sample data or any other array
    *
-   * @param $items (array or string) - if string, used as key for sample data,
+   * @param array|string $items if string, used as key for sample data,
    *   if array, used as data source
    *
    * @return mixed (element from array)
@@ -908,8 +908,10 @@ class CRM_Core_CodeGen_GenerateData {
   /**
    * Create an address for a contact
    *
-   * @param $cid int: contact id
-   * @param $masterContactId int: set if this is a shared address
+   * @param int $cid
+   *   contact id
+   * @param int $masterContactId
+   *   set if this is a shared address
    *
    * @return array
    */
@@ -960,7 +962,7 @@ class CRM_Core_CodeGen_GenerateData {
   /**
    * Add a phone number for a contact
    *
-   * @param $cid int: contact id
+   * @param int $cid contact id
    *
    * @return array
    */
@@ -982,7 +984,7 @@ class CRM_Core_CodeGen_GenerateData {
   /**
    * Add an email for a contact
    *
-   * @param $cid int: contact id
+   * @param int $cid contact id
    * @param $email
    * @param $locationType
    *
@@ -1002,8 +1004,8 @@ class CRM_Core_CodeGen_GenerateData {
    * Add a website based on organization name
    * Using common naming patterns
    *
-   * @param $cid int: contact id
-   * @param $name str: contact name
+   * @param int $cid contact id
+   * @param string $name contact name
    *
    * @return array
    */
@@ -1043,8 +1045,8 @@ class CRM_Core_CodeGen_GenerateData {
    * Create an email address based on a person's name
    * Using common naming patterns
    *
-   * @param $contact obj: individual contact record
-   * @param $domain str: supply a domain (i.e. for a work address)
+   * @param CRM_Contact_DAO_Contact $contact individual contact record
+   * @param string $domain supply a domain (i.e. for a work address)
    *
    * @return string
    */
@@ -1624,21 +1626,21 @@ VALUES
     $eventLok3 = CRM_Core_DAO::singleValueQuery($sql);
 
     $event = "INSERT INTO civicrm_event
-        ( title, summary, description, event_type_id, participant_listing_id, is_public, start_date, end_date, is_online_registration, registration_link_text, max_participants, event_full_text, is_monetary, financial_type_id, is_map, is_active, fee_label, is_show_location, loc_block_id,intro_text, footer_text, confirm_title, confirm_text, confirm_footer_text, is_email_confirm, confirm_email_text, confirm_from_name, confirm_from_email, cc_confirm, bcc_confirm, default_fee_id, thankyou_title, thankyou_text, thankyou_footer_text, is_pay_later, pay_later_text, pay_later_receipt, is_multiple_registrations, allow_same_participant_emails, currency )
+        ( title, summary, description, event_type_id, participant_listing_id, is_public, start_date, end_date, is_online_registration, registration_link_text, max_participants, event_full_text, is_monetary, financial_type_id, is_map, is_active, fee_label, is_show_location, loc_block_id,intro_text, footer_text, confirm_title, confirm_text, confirm_footer_text, is_email_confirm, confirm_email_text, confirm_from_name, confirm_from_email, cc_confirm, bcc_confirm, default_fee_id, thankyou_title, thankyou_text, thankyou_footer_text, is_pay_later, pay_later_text, pay_later_receipt, is_multiple_registrations, allow_same_participant_emails, currency, event_tz )
         VALUES
-        ( 'Fall Fundraiser Dinner', 'Kick up your heels at our Fall Fundraiser Dinner/Dance at Glen Echo Park! Come by yourself or bring a partner, friend or the entire family!', 'This event benefits our teen programs. Admission includes a full 3 course meal and wine or soft drinks. Grab your dancing shoes, bring the kids and come join the party!', 3, 1, 1, '" . date('Y-m-d 17:00:00', strtotime("+6 months", $this->time)) . "', '" . date('Y-m-d 17:00:00', strtotime("+6 months +2 days", $this->time)) . "', 1, 'Register Now', 100, 'Sorry! The Fall Fundraiser Dinner is full. Please call Jane at 204 222-1000 ext 33 if you want to be added to the waiting list.', 1, 4, 1, 1, 'Dinner Contribution', 1 ,$eventLok1,'Fill in the information below to join as at this wonderful dinner event.', NULL, 'Confirm Your Registration Information', 'Review the information below carefully.', NULL, 1, 'Contact the Development Department if you need to make any changes to your registration.', 'Fundraising Dept.', 'development@example.org', NULL, NULL, NULL, 'Thanks for Registering!', '<p>Thank you for your support. Your contribution will help us build even better tools.</p><p>Please tell your friends and colleagues about this wonderful event.</p>', '<p><a href=https://civicrm.org>Back to CiviCRM Home Page</a></p>', 1, 'I will send payment by check', 'Send a check payable to Our Organization within 3 business days to hold your reservation. Checks should be sent to: 100 Main St., Suite 3, San Francisco CA 94110', 1, 0, 'USD' ),
-        ( 'Summer Solstice Festival Day Concert', 'Festival Day is coming! Join us and help support your parks.', 'We will gather at noon, learn a song all together,  and then join in a joyous procession to the pavilion. We will be one of many groups performing at this wonderful concert which benefits our city parks.', 5, 1, 1, '" . date('Y-m-d 12:00:00', strtotime("-1 day", $this->time)) . "', '" . date('Y-m-d 17:00:00', strtotime("-1 day", $this->time)) . "', 1, 'Register Now', 50, 'We have all the singers we can handle. Come to the pavilion anyway and join in from the audience.', 1, 2, NULL, 1, 'Festival Fee', 1, $eventLok2, 'Complete the form below and click Continue to register online for the festival. Or you can register by calling us at 204 222-1000 ext 22.', '', 'Confirm Your Registration Information', '', '', 1, 'This email confirms your registration. If you have questions or need to change your registration - please do not hesitate to call us.', 'Event Dept.', 'events@example.org', '', NULL, NULL, 'Thanks for Your Joining In!', '<p>Thank you for your support. Your participation will help build new parks.</p><p>Please tell your friends and colleagues about the concert.</p>', '<p><a href=https://civicrm.org>Back to CiviCRM Home Page</a></p>', 0, NULL, NULL, 1, 0, 'USD' ),
-        ( 'Rain-forest Cup Youth Soccer Tournament', 'Sign up your team to participate in this fun tournament which benefits several Rain-forest protection groups in the Amazon basin.', 'This is a FYSA Sanctioned Tournament, which is open to all USSF/FIFA affiliated organizations for boys and girls in age groups: U9-U10 (6v6), U11-U12 (8v8), and U13-U17 (Full Sided).', 3, 1, 1, '" . date('Y-m-d 07:00:00', strtotime("+7 months", $this->time)) . "', '" . date('Y-m-d 17:00:00', strtotime("+7 months +3 days", $this->time)) . "', 1, 'Register Now', 500, 'Sorry! All available team slots for this tournament have been filled. Contact Jill Futbol for information about the waiting list and next years event.', 1, 4, NULL, 1, 'Tournament Fees',1, $eventLok3, 'Complete the form below to register your team for this year''s tournament.', '<em>A Soccer Youth Event</em>', 'Review and Confirm Your Registration Information', '', '<em>A Soccer Youth Event</em>', 1, 'Contact our Tournament Director for eligibility details.', 'Tournament Director', 'tournament@example.org', '', NULL, NULL, 'Thanks for Your Support!', '<p>Thank you for your support. Your participation will help save thousands of acres of rainforest.</p>', '<p><a href=https://civicrm.org>Back to CiviCRM Home Page</a></p>', 0, NULL, NULL, 0, 0, 'USD' )
+        ( 'Fall Fundraiser Dinner', 'Kick up your heels at our Fall Fundraiser Dinner/Dance at Glen Echo Park! Come by yourself or bring a partner, friend or the entire family!', 'This event benefits our teen programs. Admission includes a full 3 course meal and wine or soft drinks. Grab your dancing shoes, bring the kids and come join the party!', 3, 1, 1, '" . date('Y-m-d 17:00:00', strtotime("+6 months", $this->time)) . "', '" . date('Y-m-d 17:00:00', strtotime("+6 months +2 days", $this->time)) . "', 1, 'Register Now', 100, 'Sorry! The Fall Fundraiser Dinner is full. Please call Jane at 204 222-1000 ext 33 if you want to be added to the waiting list.', 1, 4, 1, 1, 'Dinner Contribution', 1 ,$eventLok1,'Fill in the information below to join as at this wonderful dinner event.', NULL, 'Confirm Your Registration Information', 'Review the information below carefully.', NULL, 1, 'Contact the Development Department if you need to make any changes to your registration.', 'Fundraising Dept.', 'development@example.org', NULL, NULL, NULL, 'Thanks for Registering!', '<p>Thank you for your support. Your contribution will help us build even better tools.</p><p>Please tell your friends and colleagues about this wonderful event.</p>', '<p><a href=https://civicrm.org>Back to CiviCRM Home Page</a></p>', 1, 'I will send payment by check', 'Send a check payable to Our Organization within 3 business days to hold your reservation. Checks should be sent to: 100 Main St., Suite 3, San Francisco CA 94110', 1, 0, 'USD', 'UTC' ),
+        ( 'Summer Solstice Festival Day Concert', 'Festival Day is coming! Join us and help support your parks.', 'We will gather at noon, learn a song all together,  and then join in a joyous procession to the pavilion. We will be one of many groups performing at this wonderful concert which benefits our city parks.', 5, 1, 1, '" . date('Y-m-d 12:00:00', strtotime("-1 day", $this->time)) . "', '" . date('Y-m-d 17:00:00', strtotime("-1 day", $this->time)) . "', 1, 'Register Now', 50, 'We have all the singers we can handle. Come to the pavilion anyway and join in from the audience.', 1, 2, NULL, 1, 'Festival Fee', 1, $eventLok2, 'Complete the form below and click Continue to register online for the festival. Or you can register by calling us at 204 222-1000 ext 22.', '', 'Confirm Your Registration Information', '', '', 1, 'This email confirms your registration. If you have questions or need to change your registration - please do not hesitate to call us.', 'Event Dept.', 'events@example.org', '', NULL, NULL, 'Thanks for Your Joining In!', '<p>Thank you for your support. Your participation will help build new parks.</p><p>Please tell your friends and colleagues about the concert.</p>', '<p><a href=https://civicrm.org>Back to CiviCRM Home Page</a></p>', 0, NULL, NULL, 1, 0, 'USD', 'UTC' ),
+        ( 'Rain-forest Cup Youth Soccer Tournament', 'Sign up your team to participate in this fun tournament which benefits several Rain-forest protection groups in the Amazon basin.', 'This is a FYSA Sanctioned Tournament, which is open to all USSF/FIFA affiliated organizations for boys and girls in age groups: U9-U10 (6v6), U11-U12 (8v8), and U13-U17 (Full Sided).', 3, 1, 1, '" . date('Y-m-d 07:00:00', strtotime("+7 months", $this->time)) . "', '" . date('Y-m-d 17:00:00', strtotime("+7 months +3 days", $this->time)) . "', 1, 'Register Now', 500, 'Sorry! All available team slots for this tournament have been filled. Contact Jill Futbol for information about the waiting list and next years event.', 1, 4, NULL, 1, 'Tournament Fees',1, $eventLok3, 'Complete the form below to register your team for this year''s tournament.', '<em>A Soccer Youth Event</em>', 'Review and Confirm Your Registration Information', '', '<em>A Soccer Youth Event</em>', 1, 'Contact our Tournament Director for eligibility details.', 'Tournament Director', 'tournament@example.org', '', NULL, NULL, 'Thanks for Your Support!', '<p>Thank you for your support. Your participation will help save thousands of acres of rainforest.</p>', '<p><a href=https://civicrm.org>Back to CiviCRM Home Page</a></p>', 0, NULL, NULL, 0, 0, 'USD', 'UTC' )
          ";
     $this->_query($event);
 
     //CRM-4464
     $eventTemplates = "INSERT INTO civicrm_event
-        ( is_template, template_title, event_type_id, default_role_id, participant_listing_id, is_public, is_monetary, is_online_registration, is_multiple_registrations, allow_same_participant_emails, is_email_confirm, financial_type_id, fee_label, confirm_title, thankyou_title, confirm_from_name, confirm_from_email, is_active, currency )
+        ( is_template, template_title, event_type_id, default_role_id, participant_listing_id, is_public, is_monetary, is_online_registration, is_multiple_registrations, allow_same_participant_emails, is_email_confirm, financial_type_id, fee_label, confirm_title, thankyou_title, confirm_from_name, confirm_from_email, is_active, currency, event_tz )
         VALUES
-        ( 1, 'Free Meeting without Online Registration', 4, 1, 1, 1, 0, 0, NULL, NULL, NULL, NULL,             NULL, NULL, NULL, NULL, NULL, 1, 'USD'  ),
-        ( 1, 'Free Meeting with Online Registration',    4, 1, 1, 1, 0, 1,    1,    1,    0, NULL,             NULL, 'Confirm Your Registration Information', 'Thanks for Registering!', NULL, NULL, 1, 'USD'  ),
-        ( 1, 'Paid Conference with Online Registration', 1, 1, 1, 1, 1, 1,    1,    1,    1,     4, 'Conference Fee', 'Confirm Your Registration Information', 'Thanks for Registering!', 'Event Template Dept.', 'event_templates@example.org', 1, 'USD' )";
+        ( 1, 'Free Meeting without Online Registration', 4, 1, 1, 1, 0, 0, NULL, NULL, NULL, NULL,             NULL, NULL, NULL, NULL, NULL, 1, 'USD', 'UTC' ),
+        ( 1, 'Free Meeting with Online Registration',    4, 1, 1, 1, 0, 1,    1,    1,    0, NULL,             NULL, 'Confirm Your Registration Information', 'Thanks for Registering!', NULL, NULL, 1, 'USD', 'UTC' ),
+        ( 1, 'Paid Conference with Online Registration', 1, 1, 1, 1, 1, 1,    1,    1,    1,     4, 'Conference Fee', 'Confirm Your Registration Information', 'Thanks for Registering!', 'Event Template Dept.', 'event_templates@example.org', 1, 'USD', 'UTC' )";
 
     $this->_query($eventTemplates);
 
diff --git a/civicrm/CRM/Core/CodeGen/Specification.php b/civicrm/CRM/Core/CodeGen/Specification.php
index 30bec91f67..b4f2c26f48 100644
--- a/civicrm/CRM/Core/CodeGen/Specification.php
+++ b/civicrm/CRM/Core/CodeGen/Specification.php
@@ -110,8 +110,8 @@ class CRM_Core_CodeGen_Specification {
   }
 
   /**
-   * @param $tables
-   * @param string $classNames
+   * @param array $tables
+   * @param string[] $classNames
    */
   public function resolveForeignKeys(&$tables, &$classNames) {
     foreach (array_keys($tables) as $name) {
@@ -120,8 +120,8 @@ class CRM_Core_CodeGen_Specification {
   }
 
   /**
-   * @param $tables
-   * @param string $classNames
+   * @param array $tables
+   * @param string[] $classNames
    * @param string $name
    */
   public function resolveForeignKey(&$tables, &$classNames, $name) {
@@ -142,7 +142,7 @@ class CRM_Core_CodeGen_Specification {
   }
 
   /**
-   * @param $tables
+   * @param array $tables
    *
    * @return array
    */
@@ -161,7 +161,7 @@ class CRM_Core_CodeGen_Specification {
   }
 
   /**
-   * @param $tables
+   * @param array $tables
    * @param int $valid
    * @param string $name
    *
@@ -222,7 +222,7 @@ class CRM_Core_CodeGen_Specification {
       'labelName' => substr($name, 8),
       'className' => $this->classNames[$name],
       'bao' => ($useBao ? str_replace('DAO', 'BAO', $this->classNames[$name]) : $this->classNames[$name]),
-      'entity' => $klass,
+      'entity' => $tableXML->entity ?? $klass,
       'attributes_simple' => trim($database['tableAttributes_simple']),
       'attributes_modern' => trim($database['tableAttributes_modern']),
       'comment' => $this->value('comment', $tableXML),
@@ -303,19 +303,18 @@ class CRM_Core_CodeGen_Specification {
   public function getField(&$fieldXML, &$fields) {
     $name = trim((string ) $fieldXML->name);
     $field = ['name' => $name, 'localizable' => ((bool) $fieldXML->localizable) ? 1 : 0];
-    $type = (string ) $fieldXML->type;
+    $type = (string) $fieldXML->type;
     switch ($type) {
       case 'varchar':
       case 'char':
         $field['length'] = (int) $fieldXML->length;
         $field['sqlType'] = "$type({$field['length']})";
-        $field['phpType'] = 'string';
         $field['crmType'] = 'CRM_Utils_Type::T_STRING';
         $field['size'] = $this->getSize($fieldXML);
         break;
 
       case 'text':
-        $field['sqlType'] = $field['phpType'] = $type;
+        $field['sqlType'] = $type;
         $field['crmType'] = 'CRM_Utils_Type::T_' . strtoupper($type);
         // CRM-13497 see fixme below
         $field['rows'] = isset($fieldXML->html) ? $this->value('rows', $fieldXML->html) : NULL;
@@ -323,7 +322,7 @@ class CRM_Core_CodeGen_Specification {
         break;
 
       case 'datetime':
-        $field['sqlType'] = $field['phpType'] = $type;
+        $field['sqlType'] = $type;
         $field['crmType'] = 'CRM_Utils_Type::T_DATE + CRM_Utils_Type::T_TIME';
         break;
 
@@ -331,29 +330,24 @@ class CRM_Core_CodeGen_Specification {
         // need this case since some versions of mysql do not have boolean as a valid column type and hence it
         // is changed to tinyint. hopefully after 2 yrs this case can be removed.
         $field['sqlType'] = 'tinyint';
-        $field['phpType'] = 'bool';
         $field['crmType'] = 'CRM_Utils_Type::T_' . strtoupper($type);
         break;
 
       case 'decimal':
         $length = $fieldXML->length ? $fieldXML->length : '20,2';
         $field['sqlType'] = 'decimal(' . $length . ')';
-        $field['phpType'] = 'float';
         $field['crmType'] = 'CRM_Utils_Type::T_MONEY';
         $field['precision'] = $length . ',';
         break;
 
       case 'float':
         $field['sqlType'] = 'double';
-        $field['phpType'] = 'float';
         $field['crmType'] = 'CRM_Utils_Type::T_FLOAT';
         break;
 
       default:
-        $field['phpType'] = $this->value('phpType', $fieldXML, $type);
         $field['sqlType'] = $type;
         if ($type == 'int unsigned' || $type == 'tinyint') {
-          $field['phpType'] = 'int';
           $field['crmType'] = 'CRM_Utils_Type::T_INT';
         }
         else {
@@ -362,6 +356,9 @@ class CRM_Core_CodeGen_Specification {
         break;
     }
 
+    $field['phpType'] = $this->getPhpType($fieldXML);
+    $field['phpNullable'] = $this->getPhpNullable($fieldXML);
+
     $field['required'] = $this->value('required', $fieldXML);
     $field['collate'] = $this->value('collate', $fieldXML);
     $field['comment'] = $this->value('comment', $fieldXML);
@@ -478,6 +475,54 @@ class CRM_Core_CodeGen_Specification {
     $fields[$name] = &$field;
   }
 
+  /**
+   * Returns the PHPtype used within the DAO object
+   *
+   * @param object $fieldXML
+   * @return string
+   */
+  private function getPhpType($fieldXML) {
+    $type = $fieldXML->type;
+    $phpType = $this->value('phpType', $fieldXML, 'string');
+
+    if ($type == 'int' || $type == 'int unsigned' || $type == 'tinyint') {
+      $phpType = 'int';
+    }
+
+    if ($type == 'float' || $type == 'decimal') {
+      $phpType = 'float';
+    }
+
+    if ($type == 'boolean') {
+      $phpType = 'bool';
+    }
+
+    if ($phpType !== 'string') {
+      // Values are almost always fetched from the database as string
+      $phpType .= '|string';
+    }
+
+    return $phpType;
+  }
+
+  /**
+   * Returns whether the field is nullable in PHP.
+   * Either because:
+   *  - The SQL field is nullable
+   *  - The field is a primary key, and so is null before new objects are saved
+   *
+   * @param object $fieldXML
+   * @return bool
+   */
+  private function getPhpNullable($fieldXML) {
+    $required = $this->value('required', $fieldXML);
+    if ($required) {
+      return FALSE;
+    }
+
+    return TRUE;
+  }
+
   /**
    * @param string $name
    *
@@ -516,6 +561,7 @@ class CRM_Core_CodeGen_Specification {
     $auto = $this->value('autoincrement', $primaryXML);
     if (isset($fields[$name])) {
       $fields[$name]['autoincrement'] = $auto;
+      $fields[$name]['phpNullable'] = TRUE;
     }
 
     $primaryKey = [
diff --git a/civicrm/CRM/Core/CodeGen/Util/File.php b/civicrm/CRM/Core/CodeGen/Util/File.php
index 9e30000f86..552c6f8c8e 100644
--- a/civicrm/CRM/Core/CodeGen/Util/File.php
+++ b/civicrm/CRM/Core/CodeGen/Util/File.php
@@ -6,7 +6,7 @@
 class CRM_Core_CodeGen_Util_File {
 
   /**
-   * @param $dir
+   * @param string $dir
    * @param int $perm
    */
   public static function createDir($dir, $perm = 0755) {
@@ -16,7 +16,7 @@ class CRM_Core_CodeGen_Util_File {
   }
 
   /**
-   * @param $dir
+   * @param string $dir
    */
   public static function cleanTempDir($dir) {
     foreach (glob("$dir/*") as $tempFile) {
@@ -31,7 +31,7 @@ class CRM_Core_CodeGen_Util_File {
   }
 
   /**
-   * @param $prefix
+   * @param string $prefix
    *
    * @return string
    */
diff --git a/civicrm/CRM/Core/Component.php b/civicrm/CRM/Core/Component.php
index 7661eb3e04..9413e23387 100644
--- a/civicrm/CRM/Core/Component.php
+++ b/civicrm/CRM/Core/Component.php
@@ -24,11 +24,6 @@ class CRM_Core_Component {
    */
   const COMPONENT_INFO_CLASS = 'Info';
 
-  /**
-   * @var array
-   */
-  public static $_contactSubTypes = NULL;
-
   /**
    * @param bool $force
    *
@@ -313,6 +308,9 @@ class CRM_Core_Component {
         }
       }
     }
+    if (!$properties) {
+      $properties = CRM_Contact_BAO_Query_Hook::singleton()->getDefaultReturnProperties($mode);
+    }
     return $properties;
   }
 
@@ -346,29 +344,36 @@ class CRM_Core_Component {
   }
 
   /**
+   * Unused function.
+   *
    * @return array|null
+   *
+   * @deprecated
    */
-  public static function &contactSubTypes() {
-    if (self::$_contactSubTypes == NULL) {
-      self::$_contactSubTypes = [];
-    }
-    return self::$_contactSubTypes;
+  public static function contactSubTypes() {
+    CRM_Core_Error::deprecatedWarning('unused');
+    return [];
   }
 
   /**
-   * @param $subType
-   * @param $op
+   * Unused function.
    *
-   * @return null
+   * @param string $subType
+   * @param string $op
+   *
+   * @return null|string
+   *
+   * @deprecated
    */
-  public static function &contactSubTypeProperties($subType, $op) {
+  public static function contactSubTypeProperties($subType, $op): ?string {
+    CRM_Core_Error::deprecatedWarning('unused');
     $properties = self::contactSubTypes();
     if (array_key_exists($subType, $properties) &&
       array_key_exists($op, $properties[$subType])
     ) {
       return $properties[$subType][$op];
     }
-    return CRM_Core_DAO::$_nullObject;
+    return NULL;
   }
 
   /**
@@ -402,7 +407,7 @@ class CRM_Core_Component {
     if (is_dir($crmFolderDir) && $dir = opendir($crmFolderDir)) {
       while ($subDir = readdir($dir)) {
         // skip the extensions diretory since it has an Info.php file also
-        if ($subDir == 'Extension') {
+        if ($subDir === 'Extension') {
           continue;
         }
 
@@ -420,4 +425,17 @@ class CRM_Core_Component {
     return $components;
   }
 
+  /**
+   * Is the specified component enabled.
+   *
+   * @param string $component
+   *   Component name - ie CiviMember, CiviContribute, CiviEvent...
+   *
+   * @return bool
+   *   Is the component enabled.
+   */
+  public static function isEnabled(string $component): bool {
+    return in_array($component, CRM_Core_Config::singleton()->enableComponents, TRUE);
+  }
+
 }
diff --git a/civicrm/CRM/Core/Component/Info.php b/civicrm/CRM/Core/Component/Info.php
index 604fcd7a65..a56e6fa4ed 100644
--- a/civicrm/CRM/Core/Component/Info.php
+++ b/civicrm/CRM/Core/Component/Info.php
@@ -220,8 +220,7 @@ abstract class CRM_Core_Component_Info {
    *   true if component is enabled, false if not
    */
   public function isEnabled() {
-    $config = CRM_Core_Config::singleton();
-    return in_array($this->info['name'], $config->enableComponents, TRUE);
+    return CRM_Core_Component::isEnabled($this->info['name']);
   }
 
   /**
@@ -332,7 +331,7 @@ abstract class CRM_Core_Component_Info {
   /**
    * Helper for instantiating component's elements.
    *
-   * @param $cl
+   * @param string $cl
    *
    * @return mixed
    *   component's element as class instance
diff --git a/civicrm/CRM/Core/Config.php b/civicrm/CRM/Core/Config.php
index 6ca6e68ea4..c1db7ff809 100644
--- a/civicrm/CRM/Core/Config.php
+++ b/civicrm/CRM/Core/Config.php
@@ -66,14 +66,6 @@ class CRM_Core_Config extends CRM_Core_Config_MagicMerge {
    */
   private static $_singleton = NULL;
 
-  /**
-   * The constructor. Sets domain id if defined, otherwise assumes
-   * single instance installation.
-   */
-  public function __construct() {
-    parent::__construct();
-  }
-
   /**
    * Singleton function used to manage this object.
    *
diff --git a/civicrm/CRM/Core/Controller.php b/civicrm/CRM/Core/Controller.php
index 3924aa4641..f31e5f963f 100644
--- a/civicrm/CRM/Core/Controller.php
+++ b/civicrm/CRM/Core/Controller.php
@@ -86,7 +86,9 @@ class CRM_Core_Controller extends HTML_QuickForm_Controller {
    * Are we in print mode? if so we need to modify the display
    * functionality to do a minimal display :)
    *
-   * @var bool
+   * @var int|string
+   *   Should match a CRM_Core_Smarty::PRINT_* constant,
+   *   or equal 0 if not in print mode
    */
   public $_print = 0;
 
@@ -668,9 +670,17 @@ class CRM_Core_Controller extends HTML_QuickForm_Controller {
   }
 
   /**
-   * @param null $fileName
+   * Output HTTP headers for Word document
+   * (note .doc, not the newer .docx format)
+   *
+   * @deprecated
+   *
+   * @param string|null $fileName
+   * @return void
    */
   public function setWord($fileName = NULL) {
+    CRM_Core_Error::deprecatedFunctionWarning('no alternative');
+
     //Mark as a CSV file.
     CRM_Utils_System::setHttpHeader('Content-Type', 'application/vnd.ms-word');
 
@@ -682,9 +692,17 @@ class CRM_Core_Controller extends HTML_QuickForm_Controller {
   }
 
   /**
-   * @param null $fileName
+   * Output HTTP headers for Excel document
+   * (note .xls, not the newer .xlsx format)
+   *
+   * @deprecated
+   *
+   * @param string|null $fileName
+   * @return void
    */
   public function setExcel($fileName = NULL) {
+    CRM_Core_Error::deprecatedFunctionWarning('no alternative');
+
     //Mark as an excel file.
     CRM_Utils_System::setHttpHeader('Content-Type', 'application/vnd.ms-excel');
 
@@ -699,13 +717,20 @@ class CRM_Core_Controller extends HTML_QuickForm_Controller {
   /**
    * Setter for print.
    *
-   * @param bool $print
+   * Historically the $print argument has also accepted a string (xls or doc),
+   * but this usage is now deprecated.
+   *
+   * @param int|string $print
+   *   Should match a CRM_Core_Smarty::PRINT_* constant,
+   *   or equal 0 if not in print mode
+   *
+   * @return void
    */
   public function setPrint($print) {
-    if ($print == "xls") {
+    if ($print === "xls") {
       $this->setExcel();
     }
-    elseif ($print == "doc") {
+    elseif ($print === "doc") {
       $this->setWord();
     }
     $this->_print = $print;
@@ -714,8 +739,9 @@ class CRM_Core_Controller extends HTML_QuickForm_Controller {
   /**
    * Getter for print.
    *
-   * @return bool
-   *   return the print value
+   * @return int|string
+   *   Value matching a CRM_Core_Smarty::PRINT_* constant,
+   *   or 0 if not in print mode
    */
   public function getPrint() {
     return $this->_print;
@@ -729,7 +755,7 @@ class CRM_Core_Controller extends HTML_QuickForm_Controller {
       if ($this->_print == CRM_Core_Smarty::PRINT_PAGE) {
         return 'CRM/common/print.tpl';
       }
-      elseif ($this->_print == 'xls' || $this->_print == 'doc') {
+      elseif ($this->_print === 'xls' || $this->_print === 'doc') {
         return 'CRM/Contact/Form/Task/Excel.tpl';
       }
       else {
diff --git a/civicrm/CRM/Core/Controller/Simple.php b/civicrm/CRM/Core/Controller/Simple.php
index 0c684a7408..f8739715f1 100644
--- a/civicrm/CRM/Core/Controller/Simple.php
+++ b/civicrm/CRM/Core/Controller/Simple.php
@@ -23,7 +23,7 @@ class CRM_Core_Controller_Simple extends CRM_Core_Controller {
   /**
    * Constructor.
    *
-   * @param null $path
+   * @param string $path
    *   The class Path of the form being implemented
    * @param bool $title
    * @param string $mode
diff --git a/civicrm/CRM/Core/DAO.php b/civicrm/CRM/Core/DAO.php
index 84bf0251e9..64763f978a 100644
--- a/civicrm/CRM/Core/DAO.php
+++ b/civicrm/CRM/Core/DAO.php
@@ -124,7 +124,7 @@ class CRM_Core_DAO extends DB_DataObject {
   /**
    * Class constructor.
    *
-   * @return \CRM_Core_DAO
+   * @return static
    */
   public function __construct() {
     $this->initialize();
@@ -693,7 +693,8 @@ class CRM_Core_DAO extends DB_DataObject {
    *             we will build the condition only using the whereAdd's.  Default is to
    *             build the condition only using the object parameters.
    *
-   *     * @return mixed Int (No. of rows affected) on success, false on failure, 0 on no data affected
+   * @return int|false
+   *   Int (No. of rows affected) on success, false on failure, 0 on no data affected
    */
   public function delete($useWhere = FALSE) {
     $preEvent = new \Civi\Core\DAO\Event\PreDelete($this);
@@ -909,20 +910,29 @@ class CRM_Core_DAO extends DB_DataObject {
    * @throws \CRM_Core_Exception
    */
   public static function writeRecord(array $record): CRM_Core_DAO {
-    $hook = empty($record['id']) ? 'create' : 'edit';
+    $op = empty($record['id']) ? 'create' : 'edit';
     $className = CRM_Core_DAO_AllCoreTables::getCanonicalClassName(static::class);
     if ($className === 'CRM_Core_DAO') {
       throw new CRM_Core_Exception('Function writeRecord must be called on a subclass of CRM_Core_DAO');
     }
     $entityName = CRM_Core_DAO_AllCoreTables::getBriefName($className);
 
-    \CRM_Utils_Hook::pre($hook, $entityName, $record['id'] ?? NULL, $record);
-    $instance = new $className();
+    \CRM_Utils_Hook::pre($op, $entityName, $record['id'] ?? NULL, $record);
+    $fields = static::getSupportedFields();
+    $instance = new static();
     // Ensure fields exist before attempting to write to them
-    $values = array_intersect_key($record, self::getSupportedFields());
+    $values = array_intersect_key($record, $fields);
     $instance->copyValues($values);
+    if (empty($values['id']) && array_key_exists('name', $fields) && empty($values['name'])) {
+      $instance->makeNameFromLabel(!empty($fields['name']['required']));
+    }
     $instance->save();
-    \CRM_Utils_Hook::post($hook, $entityName, $instance->id, $instance);
+
+    if (!empty($record['custom']) && is_array($record['custom'])) {
+      CRM_Core_BAO_CustomValueTable::store($record['custom'], static::$_tableName, $instance->id, $op);
+    }
+
+    \CRM_Utils_Hook::post($op, $entityName, $instance->id, $instance);
 
     return $instance;
   }
@@ -1490,14 +1500,13 @@ LIKE %1
    * @param string $daoName
    *   Name of the dao object.
    * @param array $params
-   *   (reference ) an assoc array of name/value pairs.
+   *   (reference) an assoc array of name/value pairs.
    * @param array $defaults
-   *   (reference ) an assoc array to hold the flattened values.
+   *   (reference) an assoc array to hold the flattened values.
    * @param array $returnProperities
    *   An assoc array of fields that need to be returned, eg array( 'first_name', 'last_name').
    *
-   * @return object
-   *   an object of type referenced by daoName
+   * @return static|null
    */
   public static function commonRetrieve($daoName, &$params, &$defaults, $returnProperities = NULL) {
     $object = new $daoName();
@@ -1519,12 +1528,15 @@ LIKE %1
   /**
    * Delete the object records that are associated with this contact.
    *
+   * @deprecated
+   *
    * @param string $daoName
    *   Name of the dao object.
    * @param int $contactId
    *   Id of the contact to delete.
    */
   public static function deleteEntityContact($daoName, $contactId) {
+    CRM_Core_Error::deprecatedFunctionWarning('APIv4');
     $object = new $daoName();
 
     $object->entity_table = 'civicrm_contact';
@@ -3273,4 +3285,54 @@ SELECT contact_id
     return static::$_paths ?? [];
   }
 
+  /**
+   * When creating a record without a supplied name,
+   * create a unique, clean name derived from the label.
+   *
+   * Note: this function does nothing unless a unique index exists for "name" column.
+   *
+   * @var bool $isRequired
+   */
+  private function makeNameFromLabel(bool $isRequired): void {
+    $indexNameWith = NULL;
+    // Look for a unique index which includes the "name" field
+    if (method_exists($this, 'indices')) {
+      foreach ($this->indices(FALSE) as $index) {
+        if (!empty($index['unique']) && in_array('name', $index['field'], TRUE)) {
+          $indexNameWith = $index['field'];
+        }
+      }
+    }
+    if (!$indexNameWith) {
+      // No unique index on "name", do nothing
+      return;
+    }
+    $label = $this->label ?? $this->title ?? NULL;
+    if (!$label && $label !== '0' && !$isRequired) {
+      // No label supplied and name not required, do nothing
+      return;
+    }
+    $maxLen = static::getSupportedFields()['name']['maxlength'] ?? 255;
+    // Strip unsafe characters and trim to max length (-3 characters leaves room for a unique suffix)
+    $name = CRM_Utils_String::munge($label, '_', $maxLen - 3);
+
+    // Find existing records with the same name
+    $sql = new CRM_Utils_SQL_Select($this::getTableName());
+    $sql->select(['id', 'name']);
+    $sql->where('name LIKE @name', ['@name' => $name . '%']);
+    // Include all fields that are part of the index
+    foreach (array_diff($indexNameWith, ['name']) as $field) {
+      $sql->where("`$field` = @val", ['@val' => $this->$field]);
+    }
+    $query = $sql->toSQL();
+    $existing = self::executeQuery($query)->fetchMap('id', 'name');
+    $dupes = 0;
+    $suffix = '';
+    // Add unique suffix if existing records have the same name
+    while (in_array($name . $suffix, $existing)) {
+      $suffix = '_' . ++$dupes;
+    }
+    $this->name = $name . $suffix;
+  }
+
 }
diff --git a/civicrm/CRM/Core/DAO/ActionLog.php b/civicrm/CRM/Core/DAO/ActionLog.php
index 3857d49fbf..94ab9bdc8f 100644
--- a/civicrm/CRM/Core/DAO/ActionLog.php
+++ b/civicrm/CRM/Core/DAO/ActionLog.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Core/ActionLog.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:b2a5ecdfd400bdf2fe892f9391f8a7ea)
+ * (GenCodeChecksum:5437b79ba43089ace75ed2e072e7677e)
  */
 
 /**
@@ -31,70 +31,90 @@ class CRM_Core_DAO_ActionLog extends CRM_Core_DAO {
   public static $_log = FALSE;
 
   /**
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * FK to Contact ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $contact_id;
 
   /**
    * FK to id of the entity that the action was performed on. Pseudo - FK.
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $entity_id;
 
   /**
    * name of the entity table for the above id, e.g. civicrm_activity, civicrm_participant
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $entity_table;
 
   /**
    * FK to the action schedule that this action originated from.
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $action_schedule_id;
 
   /**
    * date time that the action was performed on.
    *
-   * @var datetime
+   * @var string|null
+   *   (SQL type: datetime)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $action_date_time;
 
   /**
    * Was there any error sending the reminder?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_error;
 
   /**
    * Description / text in case there was an error encountered.
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $message;
 
   /**
    * Keeps track of the sequence number of this repetition.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $repetition_number;
 
   /**
    * Stores the date from the entity which triggered this reminder action (e.g. membership.end_date for most membership renewal reminders)
    *
-   * @var datetime
+   * @var string|null
+   *   (SQL type: datetime)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $reference_date;
 
diff --git a/civicrm/CRM/Core/DAO/ActionMapping.php b/civicrm/CRM/Core/DAO/ActionMapping.php
index a337d7dc50..232b5eeb5d 100644
--- a/civicrm/CRM/Core/DAO/ActionMapping.php
+++ b/civicrm/CRM/Core/DAO/ActionMapping.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Core/ActionMapping.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:bbddce29b37d3352bf681595ee0d3ffd)
+ * (GenCodeChecksum:47aaf423930a3ec40089a4b21caaae2c)
  */
 
 /**
@@ -31,63 +31,81 @@ class CRM_Core_DAO_ActionMapping extends CRM_Core_DAO {
   public static $_log = FALSE;
 
   /**
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * Entity for which the reminder is created
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $entity;
 
   /**
    * Entity value
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $entity_value;
 
   /**
    * Entity value label
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $entity_value_label;
 
   /**
    * Entity status
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $entity_status;
 
   /**
    * Entity status label
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $entity_status_label;
 
   /**
    * Entity date
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $entity_date_start;
 
   /**
    * Entity date
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $entity_date_end;
 
   /**
    * Entity recipient
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $entity_recipient;
 
diff --git a/civicrm/CRM/Core/DAO/ActionSchedule.php b/civicrm/CRM/Core/DAO/ActionSchedule.php
index 5f6a148e4b..8a01d1a99f 100644
--- a/civicrm/CRM/Core/DAO/ActionSchedule.php
+++ b/civicrm/CRM/Core/DAO/ActionSchedule.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Core/ActionSchedule.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:35dfd5d26ce9445b37c831c51ccc5d7e)
+ * (GenCodeChecksum:ea596948c02894437bcc1a3f5b5c4f9d)
  */
 
 /**
@@ -31,290 +31,374 @@ class CRM_Core_DAO_ActionSchedule extends CRM_Core_DAO {
   public static $_log = FALSE;
 
   /**
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * Name of the action(reminder)
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $name;
 
   /**
    * Title of the action(reminder)
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $title;
 
   /**
    * Recipient
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $recipient;
 
   /**
    * Is this the recipient criteria limited to OR in addition to?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $limit_to;
 
   /**
    * Entity value
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $entity_value;
 
   /**
    * Entity status
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $entity_status;
 
   /**
    * Reminder Interval.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $start_action_offset;
 
   /**
    * Time units for reminder.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(8))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $start_action_unit;
 
   /**
    * Reminder Action
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $start_action_condition;
 
   /**
    * Entity date
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $start_action_date;
 
   /**
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_repeat;
 
   /**
    * Time units for repetition of reminder.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(8))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $repetition_frequency_unit;
 
   /**
    * Time interval for repeating the reminder.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $repetition_frequency_interval;
 
   /**
    * Time units till repetition of reminder.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(8))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $end_frequency_unit;
 
   /**
    * Time interval till repeating the reminder.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $end_frequency_interval;
 
   /**
    * Reminder Action till repeating the reminder.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(32))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $end_action;
 
   /**
    * Entity end date
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $end_date;
 
   /**
    * Is this option active?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_active;
 
   /**
    * Contact IDs to which reminder should be sent.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(128))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $recipient_manual;
 
   /**
    * listing based on recipient field.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(128))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $recipient_listing;
 
   /**
    * Body of the mailing in text format.
    *
-   * @var longtext
+   * @var string|null
+   *   (SQL type: longtext)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $body_text;
 
   /**
    * Body of the mailing in html format.
    *
-   * @var longtext
+   * @var string|null
+   *   (SQL type: longtext)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $body_html;
 
   /**
    * Content of the SMS text.
    *
-   * @var longtext
+   * @var string|null
+   *   (SQL type: longtext)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $sms_body_text;
 
   /**
    * Subject of mailing
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(128))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $subject;
 
   /**
    * Record Activity for this reminder?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $record_activity;
 
   /**
    * Name/ID of the mapping to use on this table
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $mapping_id;
 
   /**
    * FK to Group
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $group_id;
 
   /**
    * FK to the message template.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $msg_template_id;
 
   /**
    * FK to the message template.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $sms_template_id;
 
   /**
    * Date on which the reminder be sent.
    *
-   * @var date
+   * @var string|null
+   *   (SQL type: date)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $absolute_date;
 
   /**
    * Name in "from" field
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $from_name;
 
   /**
    * Email address in "from" field
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $from_email;
 
   /**
    * Send the message as email or sms or both.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(128))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $mode;
 
   /**
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $sms_provider_id;
 
   /**
    * Used for repeating entity
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $used_for;
 
   /**
    * Used for multilingual installation
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(128))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $filter_contact_language;
 
   /**
    * Used for multilingual installation
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(8))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $communication_language;
 
   /**
    * When was the scheduled reminder created.
    *
-   * @var timestamp
+   * @var string
+   *   (SQL type: timestamp)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $created_date;
 
   /**
    * When the reminder was created or modified.
    *
-   * @var timestamp
+   * @var string
+   *   (SQL type: timestamp)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $modified_date;
 
   /**
    * Earliest date to consider start events from.
    *
-   * @var timestamp
+   * @var string
+   *   (SQL type: timestamp)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $effective_start_date;
 
   /**
    * Latest date to consider end events from.
    *
-   * @var timestamp
+   * @var string
+   *   (SQL type: timestamp)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $effective_end_date;
 
diff --git a/civicrm/CRM/Core/DAO/Address.php b/civicrm/CRM/Core/DAO/Address.php
index 83f8f7891f..d0ab74783c 100644
--- a/civicrm/CRM/Core/DAO/Address.php
+++ b/civicrm/CRM/Core/DAO/Address.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Core/Address.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:40a96138e8081eaba0460889f49cc1cf)
+ * (GenCodeChecksum:80a3c43c953f8fe1ddb7ac96cd926139)
  */
 
 /**
@@ -40,35 +40,45 @@ class CRM_Core_DAO_Address extends CRM_Core_DAO {
   /**
    * Unique Address ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * FK to Contact ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $contact_id;
 
   /**
    * Which Location does this address belong to.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $location_type_id;
 
   /**
    * Is this the primary address.
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_primary;
 
   /**
    * Is this the billing address.
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_billing;
 
@@ -77,166 +87,214 @@ class CRM_Core_DAO_Address extends CRM_Core_DAO {
    * number OR P.O. Box). Apps should be able to determine physical location with this data (for mapping, mail
    * delivery, etc.).
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(96))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $street_address;
 
   /**
    * Numeric portion of address number on the street, e.g. For 112A Main St, the street_number = 112.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $street_number;
 
   /**
    * Non-numeric portion of address number on the street, e.g. For 112A Main St, the street_number_suffix = A
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(8))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $street_number_suffix;
 
   /**
    * Directional prefix, e.g. SE Main St, SE is the prefix.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(8))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $street_number_predirectional;
 
   /**
    * Actual street name, excluding St, Dr, Rd, Ave, e.g. For 112 Main St, the street_name = Main.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $street_name;
 
   /**
    * St, Rd, Dr, etc.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(8))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $street_type;
 
   /**
    * Directional prefix, e.g. Main St S, S is the suffix.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(8))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $street_number_postdirectional;
 
   /**
    * Secondary unit designator, e.g. Apt 3 or Unit # 14, or Bldg 1200
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(16))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $street_unit;
 
   /**
    * Supplemental Address Information, Line 1
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(96))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $supplemental_address_1;
 
   /**
    * Supplemental Address Information, Line 2
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(96))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $supplemental_address_2;
 
   /**
    * Supplemental Address Information, Line 3
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(96))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $supplemental_address_3;
 
   /**
    * City, Town or Village Name.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $city;
 
   /**
    * Which County does this address belong to.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $county_id;
 
   /**
    * Which State_Province does this address belong to.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $state_province_id;
 
   /**
    * Store the suffix, like the +4 part in the USPS system.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(12))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $postal_code_suffix;
 
   /**
    * Store both US (zip5) AND international postal codes. App is responsible for country/region appropriate validation.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $postal_code;
 
   /**
    * USPS Bulk mailing code.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(32))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $usps_adc;
 
   /**
    * Which Country does this address belong to.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $country_id;
 
   /**
    * Latitude
    *
-   * @var float
+   * @var float|string|null
+   *   (SQL type: double)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $geo_code_1;
 
   /**
    * Longitude
    *
-   * @var float
+   * @var float|string|null
+   *   (SQL type: double)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $geo_code_2;
 
   /**
    * Is this a manually entered geo code
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $manual_geo_code;
 
   /**
    * Timezone expressed as a UTC offset - e.g. United States CST would be written as "UTC-6".
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(8))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $timezone;
 
   /**
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $name;
 
   /**
    * FK to Address ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $master_id;
 
diff --git a/civicrm/CRM/Core/DAO/AddressFormat.php b/civicrm/CRM/Core/DAO/AddressFormat.php
index aad2567193..242d8c3b87 100644
--- a/civicrm/CRM/Core/DAO/AddressFormat.php
+++ b/civicrm/CRM/Core/DAO/AddressFormat.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Core/AddressFormat.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:fc7e6c978b71e38b5357cee46708a649)
+ * (GenCodeChecksum:bdb3bcc498465d39e8bd700f5c3b64df)
  */
 
 /**
@@ -33,14 +33,18 @@ class CRM_Core_DAO_AddressFormat extends CRM_Core_DAO {
   /**
    * Address Format ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * The format of an address
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $format;
 
diff --git a/civicrm/CRM/Core/DAO/AllCoreTables.data.php b/civicrm/CRM/Core/DAO/AllCoreTables.data.php
index 2b84c1d943..5dd43a0831 100644
--- a/civicrm/CRM/Core/DAO/AllCoreTables.data.php
+++ b/civicrm/CRM/Core/DAO/AllCoreTables.data.php
@@ -232,11 +232,6 @@ return [
     'class' => 'CRM_Case_DAO_CaseType',
     'table' => 'civicrm_case_type',
   ],
-  'CRM_Grant_DAO_Grant' => [
-    'name' => 'Grant',
-    'class' => 'CRM_Grant_DAO_Grant',
-    'table' => 'civicrm_grant',
-  ],
   'CRM_Friend_DAO_Friend' => [
     'name' => 'Friend',
     'class' => 'CRM_Friend_DAO_Friend',
@@ -247,6 +242,11 @@ return [
     'class' => 'CRM_Pledge_DAO_PledgeBlock',
     'table' => 'civicrm_pledge_block',
   ],
+  'CRM_Queue_DAO_Queue' => [
+    'name' => 'Queue',
+    'class' => 'CRM_Queue_DAO_Queue',
+    'table' => 'civicrm_queue',
+  ],
   'CRM_Queue_DAO_QueueItem' => [
     'name' => 'QueueItem',
     'class' => 'CRM_Queue_DAO_QueueItem',
@@ -608,7 +608,7 @@ return [
     'table' => 'civicrm_mailing_spool',
   ],
   'CRM_Mailing_Event_DAO_Queue' => [
-    'name' => 'Queue',
+    'name' => 'MailingEventQueue',
     'class' => 'CRM_Mailing_Event_DAO_Queue',
     'table' => 'civicrm_mailing_event_queue',
   ],
diff --git a/civicrm/CRM/Core/DAO/AllCoreTables.php b/civicrm/CRM/Core/DAO/AllCoreTables.php
index 670ce3e06e..51ffc8f1f3 100644
--- a/civicrm/CRM/Core/DAO/AllCoreTables.php
+++ b/civicrm/CRM/Core/DAO/AllCoreTables.php
@@ -188,7 +188,7 @@ class CRM_Core_DAO_AllCoreTables {
    *
    * @param string $baoName
    *
-   * @return string|CRM_Core_DAO
+   * @return string
    */
   public static function getCanonicalClassName($baoName) {
     return str_replace('_BAO_', '_DAO_', $baoName);
diff --git a/civicrm/CRM/Core/DAO/Cache.php b/civicrm/CRM/Core/DAO/Cache.php
index 981ceebaad..7ab70b4f85 100644
--- a/civicrm/CRM/Core/DAO/Cache.php
+++ b/civicrm/CRM/Core/DAO/Cache.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Core/Cache.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:da6b1275fea0ffb19d09613211f7628e)
+ * (GenCodeChecksum:2b7084711ac3f619ce6f0cc8361dffa4)
  */
 
 /**
@@ -33,7 +33,9 @@ class CRM_Core_DAO_Cache extends CRM_Core_DAO {
   /**
    * Unique table ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
@@ -41,41 +43,53 @@ class CRM_Core_DAO_Cache extends CRM_Core_DAO {
    * group name for cache element, useful in cleaning cache elements
    *
    * @var string
+   *   (SQL type: varchar(32))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $group_name;
 
   /**
    * Unique path name for cache element
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $path;
 
   /**
    * data associated with this path
    *
-   * @var longtext
+   * @var string|null
+   *   (SQL type: longtext)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $data;
 
   /**
    * Component that this menu item belongs to
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $component_id;
 
   /**
    * When was the cache item created
    *
-   * @var timestamp
+   * @var string|null
+   *   (SQL type: timestamp)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $created_date;
 
   /**
    * When should the cache item expire
    *
-   * @var timestamp
+   * @var string
+   *   (SQL type: timestamp)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $expired_date;
 
diff --git a/civicrm/CRM/Core/DAO/Component.php b/civicrm/CRM/Core/DAO/Component.php
index 54b4aa5e2d..632b8ee610 100644
--- a/civicrm/CRM/Core/DAO/Component.php
+++ b/civicrm/CRM/Core/DAO/Component.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Core/Component.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:fd26fa740989a13ac1d91618c2059d57)
+ * (GenCodeChecksum:a5cc4308aa533a07f2528c5cd3a31896)
  */
 
 /**
@@ -33,7 +33,9 @@ class CRM_Core_DAO_Component extends CRM_Core_DAO {
   /**
    * Component ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
@@ -41,13 +43,17 @@ class CRM_Core_DAO_Component extends CRM_Core_DAO {
    * Name of the component.
    *
    * @var string
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $name;
 
   /**
    * Path to components main directory in a form of a class namespace.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(128))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $namespace;
 
diff --git a/civicrm/CRM/Core/DAO/Country.php b/civicrm/CRM/Core/DAO/Country.php
index 6a900cf540..dff3a8146c 100644
--- a/civicrm/CRM/Core/DAO/Country.php
+++ b/civicrm/CRM/Core/DAO/Country.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Core/Country.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:680f4faa9e939df6f6c4ba3f1efd7853)
+ * (GenCodeChecksum:7798fb6aea4643dd3f7189981c641012)
  */
 
 /**
@@ -40,70 +40,90 @@ class CRM_Core_DAO_Country extends CRM_Core_DAO {
   /**
    * Country ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * Country Name
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $name;
 
   /**
    * ISO Code
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: char(2))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $iso_code;
 
   /**
    * National prefix to be used when dialing TO this country.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(4))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $country_code;
 
   /**
    * Foreign key to civicrm_address_format.id.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $address_format_id;
 
   /**
    * International direct dialing prefix from within the country TO another country
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(4))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $idd_prefix;
 
   /**
    * Access prefix to call within a country to a different area
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(4))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $ndd_prefix;
 
   /**
    * Foreign key to civicrm_worldregion.id.
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $region_id;
 
   /**
    * Should state/province be displayed as abbreviation for contacts from this country?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_province_abbreviated;
 
   /**
    * Is this Country active?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_active;
 
diff --git a/civicrm/CRM/Core/DAO/County.php b/civicrm/CRM/Core/DAO/County.php
index 0ab0d03f0f..d1f5bb8873 100644
--- a/civicrm/CRM/Core/DAO/County.php
+++ b/civicrm/CRM/Core/DAO/County.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Core/County.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:f54f7ff28a6ecde09252698c389db154)
+ * (GenCodeChecksum:5a261e24e77bb54854f782628a13dbf6)
  */
 
 /**
@@ -40,35 +40,45 @@ class CRM_Core_DAO_County extends CRM_Core_DAO {
   /**
    * County ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * Name of County
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $name;
 
   /**
    * 2-4 Character Abbreviation of County
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(4))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $abbreviation;
 
   /**
    * ID of State/Province that County belongs
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $state_province_id;
 
   /**
    * Is this County active?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_active;
 
diff --git a/civicrm/CRM/Core/DAO/CustomField.php b/civicrm/CRM/Core/DAO/CustomField.php
index 0e2cb68355..f7f8aab922 100644
--- a/civicrm/CRM/Core/DAO/CustomField.php
+++ b/civicrm/CRM/Core/DAO/CustomField.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Core/CustomField.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:c093cac865bba7796c2c7deda6579f40)
+ * (GenCodeChecksum:6653fe86552a321a498736c14cabc41d)
  */
 
 /**
@@ -45,29 +45,35 @@ class CRM_Core_DAO_CustomField extends CRM_Core_DAO {
   protected static $_paths = [
     'add' => 'civicrm/admin/custom/group/field/add?reset=1&action=add&gid=[custom_group_id]',
     'update' => 'civicrm/admin/custom/group/field/update?action=update&reset=1&id=[id]&gid=[custom_group_id]',
-    'preview' => 'civicrm/admin/custom/group/field?action=preview&reset=1&id=[id]&gid=[custom_group_id]',
-    'delete' => 'civicrm/admin/custom/group/field?action=delete&reset=1&id=[id]&gid=[custom_group_id]',
+    'preview' => 'civicrm/admin/custom/group/preview&reset=1&fid=[id]',
+    'delete' => 'civicrm/admin/custom/group/field/delete?reset=1&id=[id]',
     'move' => 'civicrm/admin/custom/group/field/move?reset=1&fid=[id]',
   ];
 
   /**
    * Unique Custom Field ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * FK to civicrm_custom_group.
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $custom_group_id;
 
   /**
    * Variable name/programmatic handle for this field.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $name;
 
@@ -75,6 +81,8 @@ class CRM_Core_DAO_CustomField extends CRM_Core_DAO {
    * Text for form field label (also friendly name for administering this custom property).
    *
    * @var string
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $label;
 
@@ -82,6 +90,8 @@ class CRM_Core_DAO_CustomField extends CRM_Core_DAO {
    * Controls location of data storage in extended_data table.
    *
    * @var string
+   *   (SQL type: varchar(16))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $data_type;
 
@@ -89,181 +99,233 @@ class CRM_Core_DAO_CustomField extends CRM_Core_DAO {
    * HTML types plus several built-in extended types.
    *
    * @var string
+   *   (SQL type: varchar(32))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $html_type;
 
   /**
    * Use form_options.is_default for field_types which use options.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $default_value;
 
   /**
    * Is a value required for this property.
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_required;
 
   /**
    * Is this property searchable.
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_searchable;
 
   /**
    * Is this property range searchable.
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_search_range;
 
   /**
    * Controls field display order within an extended property group.
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $weight;
 
   /**
    * Description and/or help text to display before this field.
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $help_pre;
 
   /**
    * Description and/or help text to display after this field.
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $help_post;
 
   /**
    * Optional format instructions for specific field types, like date types.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $mask;
 
   /**
    * Store collection of type-appropriate attributes, e.g. textarea  needs rows/cols attributes
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $attributes;
 
   /**
    * Optional scripting attributes for field.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $javascript;
 
   /**
    * Is this property active?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_active;
 
   /**
    * Is this property set by PHP Code? A code field is viewable but not editable
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_view;
 
   /**
    * number of options per line for checkbox and radio
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $options_per_line;
 
   /**
    * field length if alphanumeric
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $text_length;
 
   /**
    * Date may be up to start_date_years years prior to the current date.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $start_date_years;
 
   /**
    * Date may be up to end_date_years years after the current date.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $end_date_years;
 
   /**
    * date format for custom date
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $date_format;
 
   /**
    * time format for custom date
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $time_format;
 
   /**
    * Number of columns in Note Field
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $note_columns;
 
   /**
    * Number of rows in Note Field
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $note_rows;
 
   /**
    * Name of the column that holds the values for this field.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $column_name;
 
   /**
    * For elements with options, the option group id that is used
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $option_group_id;
 
   /**
    * Serialization method - a non-zero value indicates a multi-valued field.
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $serialize;
 
   /**
    * Stores Contact Get API params contact reference custom fields. May be used for other filters in the future.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $filter;
 
   /**
    * Should the multi-record custom field values be displayed in tab table listing
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $in_selector;
 
diff --git a/civicrm/CRM/Core/DAO/CustomGroup.php b/civicrm/CRM/Core/DAO/CustomGroup.php
index a57c659aae..41f78998d6 100644
--- a/civicrm/CRM/Core/DAO/CustomGroup.php
+++ b/civicrm/CRM/Core/DAO/CustomGroup.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Core/CustomGroup.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:57ebfb396e58116709f9d883a46edfa7)
+ * (GenCodeChecksum:979bca796163b9af253a7860d9d4a01d)
  */
 
 /**
@@ -43,23 +43,27 @@ class CRM_Core_DAO_CustomGroup extends CRM_Core_DAO {
    * @var string[]
    */
   protected static $_paths = [
-    'add' => 'civicrm/admin/custom/group?action=add&reset=1',
-    'update' => 'civicrm/admin/custom/group?action=update&reset=1&id=[id]',
-    'preview' => 'civicrm/admin/custom/group?action=preview&reset=1&id=[id]',
-    'delete' => 'civicrm/admin/custom/group?action=delete&reset=1&id=[id]',
+    'add' => 'civicrm/admin/custom/group/edit?action=add&reset=1',
+    'update' => 'civicrm/admin/custom/group/edit?action=update&reset=1&id=[id]',
+    'preview' => 'civicrm/admin/custom/group/preview?reset=1&gid=[id]',
+    'delete' => 'civicrm/admin/custom/group/delete?reset=1&id=[id]',
   ];
 
   /**
    * Unique Custom Group ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * Variable name/programmatic handle for this group.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $name;
 
@@ -67,139 +71,179 @@ class CRM_Core_DAO_CustomGroup extends CRM_Core_DAO {
    * Friendly Name.
    *
    * @var string
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $title;
 
   /**
    * Type of object this group extends (can add other options later e.g. contact_address, etc.).
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $extends;
 
   /**
    * FK to civicrm_option_value.id (for option group custom_data_type.)
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $extends_entity_column_id;
 
   /**
    * linking custom group for dynamic object
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $extends_entity_column_value;
 
   /**
    * Visual relationship between this form and its parent.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(15))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $style;
 
   /**
    * Will this group be in collapsed or expanded mode on initial display ?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $collapse_display;
 
   /**
    * Description and/or help text to display before fields in form.
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $help_pre;
 
   /**
    * Description and/or help text to display after fields in form.
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $help_post;
 
   /**
    * Controls display order when multiple extended property groups are setup for the same class.
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $weight;
 
   /**
    * Is this property active?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_active;
 
   /**
    * Name of the table that holds the values for this group.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $table_name;
 
   /**
    * Does this group hold multiple values?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_multiple;
 
   /**
    * minimum number of multiple records (typically 0?)
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $min_multiple;
 
   /**
    * maximum number of multiple records, if 0 - no max
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $max_multiple;
 
   /**
    * Will this group be in collapsed or expanded mode on advanced search display ?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $collapse_adv_display;
 
   /**
    * FK to civicrm_contact, who created this custom group
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $created_id;
 
   /**
    * Date and time this custom group was created.
    *
-   * @var datetime
+   * @var string|null
+   *   (SQL type: datetime)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $created_date;
 
   /**
    * Is this a reserved Custom Group?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_reserved;
 
   /**
    * Is this property public?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_public;
 
   /**
    * crm-i icon class
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $icon;
 
@@ -654,15 +698,14 @@ class CRM_Core_DAO_CustomGroup extends CRM_Core_DAO {
         'unique' => TRUE,
         'sig' => 'civicrm_custom_group::1::title::extends',
       ],
-      'UI_name_extends' => [
-        'name' => 'UI_name_extends',
+      'UI_name' => [
+        'name' => 'UI_name',
         'field' => [
           0 => 'name',
-          1 => 'extends',
         ],
         'localizable' => FALSE,
         'unique' => TRUE,
-        'sig' => 'civicrm_custom_group::1::name::extends',
+        'sig' => 'civicrm_custom_group::1::name',
       ],
     ];
     return ($localize && !empty($indices)) ? CRM_Core_DAO_AllCoreTables::multilingualize(__CLASS__, $indices) : $indices;
diff --git a/civicrm/CRM/Core/DAO/Dashboard.php b/civicrm/CRM/Core/DAO/Dashboard.php
index 4283041796..6121094d5e 100644
--- a/civicrm/CRM/Core/DAO/Dashboard.php
+++ b/civicrm/CRM/Core/DAO/Dashboard.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Core/Dashboard.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:9603ee2a3a27196ef1ec671bf758a783)
+ * (GenCodeChecksum:c93931e695d897a5f4ad92e388748424)
  */
 
 /**
@@ -31,84 +31,108 @@ class CRM_Core_DAO_Dashboard extends CRM_Core_DAO {
   public static $_log = FALSE;
 
   /**
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * Domain for dashboard
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $domain_id;
 
   /**
    * Internal name of dashlet.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $name;
 
   /**
    * dashlet title
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $label;
 
   /**
    * url in case of external dashlet
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $url;
 
   /**
    * Permission for the dashlet
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $permission;
 
   /**
    * Permission Operator
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(3))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $permission_operator;
 
   /**
    * fullscreen url for dashlet
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $fullscreen_url;
 
   /**
    * Is this dashlet active?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_active;
 
   /**
    * Is this dashlet reserved?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_reserved;
 
   /**
    * Number of minutes to cache dashlet content in browser localStorage.
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $cache_minutes;
 
   /**
    * Element name of angular directive to invoke (lowercase hyphenated format)
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $directive;
 
diff --git a/civicrm/CRM/Core/DAO/Discount.php b/civicrm/CRM/Core/DAO/Discount.php
index a1d65e4876..67d1321b41 100644
--- a/civicrm/CRM/Core/DAO/Discount.php
+++ b/civicrm/CRM/Core/DAO/Discount.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Core/Discount.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:681876b76553a2f0db5a0c0f9d18eda0)
+ * (GenCodeChecksum:bb48d26bc26ec7473c0d22b93275828c)
  */
 
 /**
@@ -33,42 +33,54 @@ class CRM_Core_DAO_Discount extends CRM_Core_DAO {
   /**
    * primary key
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * physical tablename for entity being joined to discount, e.g. civicrm_event
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $entity_table;
 
   /**
    * FK to entity table specified in entity_table column.
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $entity_id;
 
   /**
    * FK to civicrm_price_set
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $price_set_id;
 
   /**
    * Date when discount starts.
    *
-   * @var date
+   * @var string|null
+   *   (SQL type: date)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $start_date;
 
   /**
    * Date when discount ends.
    *
-   * @var date
+   * @var string|null
+   *   (SQL type: date)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $end_date;
 
diff --git a/civicrm/CRM/Core/DAO/Domain.php b/civicrm/CRM/Core/DAO/Domain.php
index 743582be7d..a25ef21408 100644
--- a/civicrm/CRM/Core/DAO/Domain.php
+++ b/civicrm/CRM/Core/DAO/Domain.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Core/Domain.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:e10798e1d9921d637856a2dfcf7738dc)
+ * (GenCodeChecksum:941a0821b88a9225d9672cc25daa16f7)
  */
 
 /**
@@ -33,49 +33,63 @@ class CRM_Core_DAO_Domain extends CRM_Core_DAO {
   /**
    * Domain ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * Name of Domain / Organization
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $name;
 
   /**
    * Description of Domain.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $description;
 
   /**
    * The civicrm version this instance is running
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(32))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $version;
 
   /**
    * FK to Contact ID. This is specifically not an FK to avoid circular constraints
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $contact_id;
 
   /**
    * list of locales supported by the current db state (NULL for single-lang install)
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $locales;
 
   /**
    * Locale specific string overrides
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $locale_custom_strings;
 
diff --git a/civicrm/CRM/Core/DAO/Email.php b/civicrm/CRM/Core/DAO/Email.php
index 81f8f4259a..739ea4b164 100644
--- a/civicrm/CRM/Core/DAO/Email.php
+++ b/civicrm/CRM/Core/DAO/Email.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Core/Email.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:7e30aa415b50a25add79b9553b5d7657)
+ * (GenCodeChecksum:2a48ebd09a4f1de290856c1e7315ce69)
  */
 
 /**
@@ -47,84 +47,108 @@ class CRM_Core_DAO_Email extends CRM_Core_DAO {
   /**
    * Unique Email ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * FK to Contact ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $contact_id;
 
   /**
    * Which Location does this email belong to.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $location_type_id;
 
   /**
    * Email address
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(254))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $email;
 
   /**
    * Is this the primary email address
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_primary;
 
   /**
    * Is this the billing?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_billing;
 
   /**
    * Implicit FK to civicrm_option_value where option_group = email_on_hold.
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $on_hold;
 
   /**
    * Is this address for bulk mail ?
    *
-   * @var bool
+   * @var bool|string
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_bulkmail;
 
   /**
    * When the address went on bounce hold
    *
-   * @var datetime
+   * @var string|null
+   *   (SQL type: datetime)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $hold_date;
 
   /**
    * When the address bounce status was last reset
    *
-   * @var datetime
+   * @var string|null
+   *   (SQL type: datetime)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $reset_date;
 
   /**
    * Text formatted signature for the email.
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $signature_text;
 
   /**
    * HTML formatted signature for the email.
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $signature_html;
 
diff --git a/civicrm/CRM/Core/DAO/EntityFile.php b/civicrm/CRM/Core/DAO/EntityFile.php
index 6b86fd5d41..fd3d56f363 100644
--- a/civicrm/CRM/Core/DAO/EntityFile.php
+++ b/civicrm/CRM/Core/DAO/EntityFile.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Core/EntityFile.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:db6759b7a93a170611ad4eb003cb9f54)
+ * (GenCodeChecksum:d55d2dfbb297a954c71f0395e31a21d3)
  */
 
 /**
@@ -33,28 +33,36 @@ class CRM_Core_DAO_EntityFile extends CRM_Core_DAO {
   /**
    * primary key
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * physical tablename for entity being joined to file, e.g. civicrm_contact
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $entity_table;
 
   /**
    * FK to entity table specified in entity_table column.
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $entity_id;
 
   /**
    * FK to civicrm_file
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $file_id;
 
diff --git a/civicrm/CRM/Core/DAO/EntityTag.php b/civicrm/CRM/Core/DAO/EntityTag.php
index c5ed9f3f32..a46c13f955 100644
--- a/civicrm/CRM/Core/DAO/EntityTag.php
+++ b/civicrm/CRM/Core/DAO/EntityTag.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Core/EntityTag.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:c5bfb60ebd84dbe86b8dd8b522fd11e6)
+ * (GenCodeChecksum:cabc3d8a72fecadc4d531226b1db4c1d)
  */
 
 /**
@@ -33,28 +33,36 @@ class CRM_Core_DAO_EntityTag extends CRM_Core_DAO {
   /**
    * primary key
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * physical tablename for entity being joined to file, e.g. civicrm_contact
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $entity_table;
 
   /**
    * FK to entity table specified in entity_table column.
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $entity_id;
 
   /**
    * FK to civicrm_tag
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $tag_id;
 
diff --git a/civicrm/CRM/Core/DAO/Extension.php b/civicrm/CRM/Core/DAO/Extension.php
index 389961ba32..76ea4c5d76 100644
--- a/civicrm/CRM/Core/DAO/Extension.php
+++ b/civicrm/CRM/Core/DAO/Extension.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Core/Extension.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:8d9c173c0d7da38d4c28c6b712aecee0)
+ * (GenCodeChecksum:ff39cae78a2b4804c72ed90b8f22606b)
  */
 
 /**
@@ -33,12 +33,16 @@ class CRM_Core_DAO_Extension extends CRM_Core_DAO {
   /**
    * Local Extension ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * @var string
+   *   (SQL type: varchar(8))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $type;
 
@@ -46,41 +50,53 @@ class CRM_Core_DAO_Extension extends CRM_Core_DAO {
    * Fully qualified extension name
    *
    * @var string
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $full_name;
 
   /**
    * Short name
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $name;
 
   /**
    * Short, printable name
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $label;
 
   /**
    * Primary PHP file
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $file;
 
   /**
    * Revision code of the database schema; the format is module-defined
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(63))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $schema_version;
 
   /**
    * Is this extension active?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_active;
 
diff --git a/civicrm/CRM/Core/DAO/File.php b/civicrm/CRM/Core/DAO/File.php
index 51ffc3b345..4b6060d029 100644
--- a/civicrm/CRM/Core/DAO/File.php
+++ b/civicrm/CRM/Core/DAO/File.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Core/File.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:6bf3c3f06e1c01d91a6c6cf5ada7a889)
+ * (GenCodeChecksum:432bca89c164c512fa77945f8958e60d)
  */
 
 /**
@@ -33,56 +33,72 @@ class CRM_Core_DAO_File extends CRM_Core_DAO {
   /**
    * Unique ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * Type of file (e.g. Transcript, Income Tax Return, etc). FK to civicrm_option_value.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $file_type_id;
 
   /**
    * mime type of the document
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $mime_type;
 
   /**
    * uri of the file on disk
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $uri;
 
   /**
    * contents of the document
    *
-   * @var mediumblob
+   * @var string|null
+   *   (SQL type: mediumblob)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $document;
 
   /**
    * Additional descriptive text regarding this attachment (optional).
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $description;
 
   /**
    * Date and time that this attachment was uploaded or written to server.
    *
-   * @var datetime
+   * @var string|null
+   *   (SQL type: datetime)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $upload_date;
 
   /**
    * FK to civicrm_contact, who uploaded this file
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $created_id;
 
diff --git a/civicrm/CRM/Core/DAO/IM.php b/civicrm/CRM/Core/DAO/IM.php
index 5faf041d31..1547662bf9 100644
--- a/civicrm/CRM/Core/DAO/IM.php
+++ b/civicrm/CRM/Core/DAO/IM.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Core/IM.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:179c338e66288123b7ca45c78ad57fcc)
+ * (GenCodeChecksum:830e0ccbcdcfe1769330d4cfb39f3285)
  */
 
 /**
@@ -47,49 +47,63 @@ class CRM_Core_DAO_IM extends CRM_Core_DAO {
   /**
    * Unique IM ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * FK to Contact ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $contact_id;
 
   /**
    * Which Location does this email belong to.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $location_type_id;
 
   /**
    * IM screen name
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $name;
 
   /**
    * Which IM Provider does this screen name belong to.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $provider_id;
 
   /**
    * Is this the primary IM for this contact and location.
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_primary;
 
   /**
    * Is this the billing?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_billing;
 
diff --git a/civicrm/CRM/Core/DAO/Job.php b/civicrm/CRM/Core/DAO/Job.php
index 878a316811..65d3519805 100644
--- a/civicrm/CRM/Core/DAO/Job.php
+++ b/civicrm/CRM/Core/DAO/Job.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Core/Job.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:e5798e1ce73654af23730d7188a0c963)
+ * (GenCodeChecksum:75ec772bec625c1d315df0abadd2fca6)
  */
 
 /**
@@ -33,77 +33,99 @@ class CRM_Core_DAO_Job extends CRM_Core_DAO {
   /**
    * Job ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * Which Domain is this scheduled job for
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $domain_id;
 
   /**
    * Scheduled job run frequency.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(8))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $run_frequency;
 
   /**
    * When was this cron entry last run
    *
-   * @var timestamp
+   * @var string
+   *   (SQL type: timestamp)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $last_run;
 
   /**
    * When is this cron entry scheduled to run
    *
-   * @var timestamp
+   * @var string
+   *   (SQL type: timestamp)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $scheduled_run_date;
 
   /**
    * Title of the job
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $name;
 
   /**
    * Description of the job
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $description;
 
   /**
    * Entity of the job api call
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $api_entity;
 
   /**
    * Action of the job api call
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $api_action;
 
   /**
    * List of parameters to the command.
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $parameters;
 
   /**
    * Is this job active?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_active;
 
diff --git a/civicrm/CRM/Core/DAO/JobLog.php b/civicrm/CRM/Core/DAO/JobLog.php
index 9f73d5f82c..a1a4022db2 100644
--- a/civicrm/CRM/Core/DAO/JobLog.php
+++ b/civicrm/CRM/Core/DAO/JobLog.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Core/JobLog.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:6677b28207cbf86835164b7b33c38608)
+ * (GenCodeChecksum:10c668f93f466aa0d49d258b6bc7badd)
  */
 
 /**
@@ -33,56 +33,72 @@ class CRM_Core_DAO_JobLog extends CRM_Core_DAO {
   /**
    * Job log entry ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * Which Domain is this scheduled job for
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $domain_id;
 
   /**
    * Log entry date
    *
-   * @var timestamp
+   * @var string|null
+   *   (SQL type: timestamp)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $run_time;
 
   /**
    * Pointer to job id - not a FK though, just for logging purposes
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $job_id;
 
   /**
    * Title of the job
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $name;
 
   /**
    * Full path to file containing job script
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $command;
 
   /**
    * Title line of log entry
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $description;
 
   /**
    * Potential extended data for specific job run (e.g. tracebacks).
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $data;
 
diff --git a/civicrm/CRM/Core/DAO/LocBlock.php b/civicrm/CRM/Core/DAO/LocBlock.php
index 32b74aab2c..dc0adb8b54 100644
--- a/civicrm/CRM/Core/DAO/LocBlock.php
+++ b/civicrm/CRM/Core/DAO/LocBlock.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Core/LocBlock.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:0da5161ce83d29bc7626c1a3b74b2950)
+ * (GenCodeChecksum:4153042d9ec41d2841dc085180f6e16b)
  */
 
 /**
@@ -40,47 +40,65 @@ class CRM_Core_DAO_LocBlock extends CRM_Core_DAO {
   /**
    * Unique ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $address_id;
 
   /**
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $email_id;
 
   /**
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $phone_id;
 
   /**
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $im_id;
 
   /**
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $address_2_id;
 
   /**
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $email_2_id;
 
   /**
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $phone_2_id;
 
   /**
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $im_2_id;
 
diff --git a/civicrm/CRM/Core/DAO/LocationType.php b/civicrm/CRM/Core/DAO/LocationType.php
index fe2b14131a..7251f45583 100644
--- a/civicrm/CRM/Core/DAO/LocationType.php
+++ b/civicrm/CRM/Core/DAO/LocationType.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Core/LocationType.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:f9c5e451793d7a168906f173ea492ba7)
+ * (GenCodeChecksum:7bf7552cfdc3988c4582bccaea302c5f)
  */
 
 /**
@@ -33,56 +33,72 @@ class CRM_Core_DAO_LocationType extends CRM_Core_DAO {
   /**
    * Location Type ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * Location Type Name.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $name;
 
   /**
    * Location Type Display Name.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $display_name;
 
   /**
    * vCard Location Type Name.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $vcard_name;
 
   /**
    * Location Type Description.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $description;
 
   /**
    * Is this location type a predefined system location?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_reserved;
 
   /**
    * Is this property active?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_active;
 
   /**
    * Is this location type the default?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_default;
 
diff --git a/civicrm/CRM/Core/DAO/Log.php b/civicrm/CRM/Core/DAO/Log.php
index dcbc1e2340..da8bbdad17 100644
--- a/civicrm/CRM/Core/DAO/Log.php
+++ b/civicrm/CRM/Core/DAO/Log.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Core/Log.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:8fe4326f940304ec2c8ea86754d6142e)
+ * (GenCodeChecksum:b2552b667e074cb7bb4132eac8153df2)
  */
 
 /**
@@ -33,7 +33,9 @@ class CRM_Core_DAO_Log extends CRM_Core_DAO {
   /**
    * Log ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
@@ -41,34 +43,44 @@ class CRM_Core_DAO_Log extends CRM_Core_DAO {
    * Name of table where item being referenced is stored.
    *
    * @var string
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $entity_table;
 
   /**
    * Foreign key to the referenced item.
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $entity_id;
 
   /**
    * Updates does to this object if any.
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $data;
 
   /**
    * FK to Contact ID of person under whose credentials this data modification was made.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $modified_id;
 
   /**
    * When was the referenced entity created or modified or deleted.
    *
-   * @var datetime
+   * @var string|null
+   *   (SQL type: datetime)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $modified_date;
 
diff --git a/civicrm/CRM/Core/DAO/MailSettings.php b/civicrm/CRM/Core/DAO/MailSettings.php
index db6854affc..206ce6c086 100644
--- a/civicrm/CRM/Core/DAO/MailSettings.php
+++ b/civicrm/CRM/Core/DAO/MailSettings.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Core/MailSettings.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:116c87968f4c16758eff8825047a6ceb)
+ * (GenCodeChecksum:d0b9b61f890ea3ff893f8d4e03d0afcd)
  */
 
 /**
@@ -33,117 +33,151 @@ class CRM_Core_DAO_MailSettings extends CRM_Core_DAO {
   /**
    * primary key
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * Which Domain is this match entry for
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $domain_id;
 
   /**
    * name of this group of settings
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $name;
 
   /**
    * whether this is the default set of settings for this domain
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_default;
 
   /**
    * email address domain (the part after @)
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $domain;
 
   /**
    * optional local part (like civimail+ for addresses like civimail+s.1.2@example.com)
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $localpart;
 
   /**
    * contents of the Return-Path header
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $return_path;
 
   /**
    * name of the protocol to use for polling (like IMAP, POP3 or Maildir)
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $protocol;
 
   /**
    * server to use when polling
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $server;
 
   /**
    * port to use when polling
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $port;
 
   /**
    * username to use when polling
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $username;
 
   /**
    * password to use when polling
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $password;
 
   /**
    * whether to use SSL or not
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_ssl;
 
   /**
    * folder to poll from when using IMAP, path to poll from when using Maildir, etc.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $source;
 
   /**
    * Name of status to use when creating email to activity.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $activity_status;
 
   /**
    * Enabling this option will have CiviCRM skip any emails that do not have the Case ID or Case Hash so that the system will only process emails that can be placed on case records. Any emails that are not processed will be moved to the ignored folder.
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_non_case_email_skipped;
 
   /**
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_contact_creation_disabled_if_no_match;
 
diff --git a/civicrm/CRM/Core/DAO/Managed.php b/civicrm/CRM/Core/DAO/Managed.php
index 3e0789e97d..c073117f92 100644
--- a/civicrm/CRM/Core/DAO/Managed.php
+++ b/civicrm/CRM/Core/DAO/Managed.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Core/Managed.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:ca11b419bcdf2bce26609d9488527023)
+ * (GenCodeChecksum:54b79cae396d1c5044406fc97ae60352)
  */
 
 /**
@@ -33,7 +33,9 @@ class CRM_Core_DAO_Managed extends CRM_Core_DAO {
   /**
    * Surrogate Key
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
@@ -41,13 +43,17 @@ class CRM_Core_DAO_Managed extends CRM_Core_DAO {
    * Name of the module which declared this object
    *
    * @var string
+   *   (SQL type: varchar(127))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $module;
 
   /**
    * Symbolic name used by the module to identify the object
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(127))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $name;
 
@@ -55,27 +61,35 @@ class CRM_Core_DAO_Managed extends CRM_Core_DAO {
    * API entity type
    *
    * @var string
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $entity_type;
 
   /**
    * Foreign key to the referenced item.
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $entity_id;
 
   /**
    * Policy on when to cleanup entity (always, never, unused)
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(32))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $cleanup;
 
   /**
    * When the managed entity was changed from its original settings.
    *
-   * @var timestamp
+   * @var string
+   *   (SQL type: timestamp)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $entity_modified_date;
 
diff --git a/civicrm/CRM/Core/DAO/Mapping.php b/civicrm/CRM/Core/DAO/Mapping.php
index 3ace2b661c..491e451e0a 100644
--- a/civicrm/CRM/Core/DAO/Mapping.php
+++ b/civicrm/CRM/Core/DAO/Mapping.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Core/Mapping.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:4a0976e14e588b9a81c79e72849494e0)
+ * (GenCodeChecksum:c69c9d834bfaaf44088ae0cd11e36b5f)
  */
 
 /**
@@ -33,28 +33,36 @@ class CRM_Core_DAO_Mapping extends CRM_Core_DAO {
   /**
    * Mapping ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * Name of Mapping
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $name;
 
   /**
    * Description of Mapping.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $description;
 
   /**
    * Mapping Type
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $mapping_type_id;
 
diff --git a/civicrm/CRM/Core/DAO/MappingField.php b/civicrm/CRM/Core/DAO/MappingField.php
index 833fdff45f..5afe384472 100644
--- a/civicrm/CRM/Core/DAO/MappingField.php
+++ b/civicrm/CRM/Core/DAO/MappingField.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Core/MappingField.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:4333a20d925fb437b4764219e31ee017)
+ * (GenCodeChecksum:43e4b1c405dfce18840eca9d73aa70e7)
  */
 
 /**
@@ -33,75 +33,97 @@ class CRM_Core_DAO_MappingField extends CRM_Core_DAO {
   /**
    * Mapping Field ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * Mapping to which this field belongs
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $mapping_id;
 
   /**
    * Mapping field key
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $name;
 
   /**
    * Contact Type in mapping
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $contact_type;
 
   /**
    * Column number for mapping set
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $column_number;
 
   /**
    * Location type of this mapping, if required
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $location_type_id;
 
   /**
    * Which type of phone does this number belongs.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $phone_type_id;
 
   /**
    * Which type of IM Provider does this name belong.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $im_provider_id;
 
   /**
    * Which type of website does this site belong
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $website_type_id;
 
   /**
    * Relationship type, if required
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $relationship_type_id;
 
   /**
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(6))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $relationship_direction;
 
@@ -109,21 +131,27 @@ class CRM_Core_DAO_MappingField extends CRM_Core_DAO {
    * Used to group mapping_field records into related sets (e.g. for criteria sets in search builder
    * mappings).
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $grouping;
 
   /**
    * SQL WHERE operator for search-builder mapping fields (search criteria).
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(16))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $operator;
 
   /**
    * SQL WHERE value for search-builder mapping fields.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $value;
 
diff --git a/civicrm/CRM/Core/DAO/Menu.php b/civicrm/CRM/Core/DAO/Menu.php
index f70e8b2f91..d2fc425efc 100644
--- a/civicrm/CRM/Core/DAO/Menu.php
+++ b/civicrm/CRM/Core/DAO/Menu.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Core/Menu.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:43fa7e0ff85619af0065d2802de6f8f4)
+ * (GenCodeChecksum:a6c1c555579640a8bb83b496ee126e1a)
  */
 
 /**
@@ -31,152 +31,196 @@ class CRM_Core_DAO_Menu extends CRM_Core_DAO {
   public static $_log = FALSE;
 
   /**
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * Which Domain is this menu item for
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $domain_id;
 
   /**
    * Path Name
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $path;
 
   /**
    * Arguments to pass to the url
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $path_arguments;
 
   /**
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $title;
 
   /**
    * Function to call to check access permissions
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $access_callback;
 
   /**
    * Arguments to pass to access callback
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $access_arguments;
 
   /**
    * function to call for this url
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $page_callback;
 
   /**
    * Arguments to pass to page callback
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $page_arguments;
 
   /**
    * Breadcrumb for the path.
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $breadcrumb;
 
   /**
    * Url where a page should redirected to, if next url not known.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $return_url;
 
   /**
    * Arguments to pass to return_url
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $return_url_args;
 
   /**
    * Component that this menu item belongs to
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $component_id;
 
   /**
    * Is this menu item active?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_active;
 
   /**
    * Is this menu accessible to the public?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_public;
 
   /**
    * Is this menu exposed to the navigation system?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_exposed;
 
   /**
    * Should this menu be exposed via SSL if enabled?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_ssl;
 
   /**
    * Ordering of the menu items in various blocks.
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $weight;
 
   /**
    * Drupal menu type.
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $type;
 
   /**
    * CiviCRM menu type.
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $page_type;
 
   /**
    * skip this url being exposed to breadcrumb
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $skipBreadcrumb;
 
   /**
    * All other menu metadata not stored in other fields
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $module_data;
 
diff --git a/civicrm/CRM/Core/DAO/MessageTemplate.php b/civicrm/CRM/Core/DAO/MessageTemplate.php
index e44de41b2f..72c9001567 100644
--- a/civicrm/CRM/Core/DAO/MessageTemplate.php
+++ b/civicrm/CRM/Core/DAO/MessageTemplate.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Core/MessageTemplate.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:8e8480f41073e41a72f3d600e5776d0d)
+ * (GenCodeChecksum:1fba7635baeb10d95b90c02ca4ea99c6)
  */
 
 /**
@@ -33,80 +33,104 @@ class CRM_Core_DAO_MessageTemplate extends CRM_Core_DAO {
   /**
    * Message Template ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * Descriptive title of message
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $msg_title;
 
   /**
    * Subject for email message.
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $msg_subject;
 
   /**
    * Text formatted message
    *
-   * @var longtext
+   * @var string|null
+   *   (SQL type: longtext)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $msg_text;
 
   /**
    * HTML formatted message
    *
-   * @var longtext
+   * @var string|null
+   *   (SQL type: longtext)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $msg_html;
 
   /**
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_active;
 
   /**
    * a pseudo-FK to civicrm_option_value
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $workflow_id;
 
   /**
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $workflow_name;
 
   /**
    * is this the default message template for the workflow referenced by workflow_id?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_default;
 
   /**
    * is this the reserved message template which we ship for the workflow referenced by workflow_id?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_reserved;
 
   /**
    * Is this message template used for sms?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_sms;
 
   /**
    * a pseudo-FK to civicrm_option_value containing PDF Page Format.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $pdf_format_id;
 
diff --git a/civicrm/CRM/Core/DAO/Navigation.php b/civicrm/CRM/Core/DAO/Navigation.php
index f57b5fe098..b53aad0db9 100644
--- a/civicrm/CRM/Core/DAO/Navigation.php
+++ b/civicrm/CRM/Core/DAO/Navigation.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Core/Navigation.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:6400fef9c925231f0d6245030ec46e68)
+ * (GenCodeChecksum:58328e2bbd1fd9c5f9255596ef0de177)
  */
 
 /**
@@ -38,35 +38,45 @@ class CRM_Core_DAO_Navigation extends CRM_Core_DAO {
   public static $_log = FALSE;
 
   /**
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * Which Domain is this navigation item for
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $domain_id;
 
   /**
    * Navigation Title
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $label;
 
   /**
    * Internal Name
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $name;
 
   /**
    * url in case of custom navigation link
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $url;
 
@@ -74,48 +84,62 @@ class CRM_Core_DAO_Navigation extends CRM_Core_DAO {
    * CSS class name for an icon
    *
    * @var string
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $icon;
 
   /**
    * Permission(s) needed to access menu item
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $permission;
 
   /**
    * Operator to use if item has more than one permission
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(3))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $permission_operator;
 
   /**
    * Parent navigation item, used for grouping
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $parent_id;
 
   /**
    * Is this navigation item active?
    *
-   * @var bool
+   * @var bool|string
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_active;
 
   /**
    * Place a separator either before or after this menu item.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $has_separator;
 
   /**
    * Ordering of the navigation items in various blocks.
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $weight;
 
@@ -316,7 +340,9 @@ class CRM_Core_DAO_Navigation extends CRM_Core_DAO {
           'type' => CRM_Utils_Type::T_BOOLEAN,
           'title' => ts('Is Active'),
           'description' => ts('Is this navigation item active?'),
+          'required' => TRUE,
           'where' => 'civicrm_navigation.is_active',
+          'default' => '1',
           'table_name' => 'civicrm_navigation',
           'entity' => 'Navigation',
           'bao' => 'CRM_Core_BAO_Navigation',
@@ -344,7 +370,9 @@ class CRM_Core_DAO_Navigation extends CRM_Core_DAO {
           'type' => CRM_Utils_Type::T_INT,
           'title' => ts('Order'),
           'description' => ts('Ordering of the navigation items in various blocks.'),
+          'required' => TRUE,
           'where' => 'civicrm_navigation.weight',
+          'default' => '0',
           'table_name' => 'civicrm_navigation',
           'entity' => 'Navigation',
           'bao' => 'CRM_Core_BAO_Navigation',
diff --git a/civicrm/CRM/Core/DAO/Note.php b/civicrm/CRM/Core/DAO/Note.php
index 4370b6d075..e70f2b811a 100644
--- a/civicrm/CRM/Core/DAO/Note.php
+++ b/civicrm/CRM/Core/DAO/Note.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Core/Note.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:49a15912788803e8ccf5298fe93932aa)
+ * (GenCodeChecksum:5f542bdf0c411eeefbf3ec22514d7407)
  */
 
 /**
@@ -40,7 +40,9 @@ class CRM_Core_DAO_Note extends CRM_Core_DAO {
   /**
    * Note ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
@@ -48,62 +50,80 @@ class CRM_Core_DAO_Note extends CRM_Core_DAO {
    * Name of table where item being referenced is stored.
    *
    * @var string
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $entity_table;
 
   /**
    * Foreign key to the referenced item.
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $entity_id;
 
   /**
    * Note and/or Comment.
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $note;
 
   /**
    * FK to Contact ID creator
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $contact_id;
 
   /**
    * Date attached to the note
    *
-   * @var timestamp
+   * @var string|null
+   *   (SQL type: timestamp)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $note_date;
 
   /**
    * When the note was created.
    *
-   * @var timestamp
+   * @var string
+   *   (SQL type: timestamp)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $created_date;
 
   /**
    * When was this note last modified/edited
    *
-   * @var timestamp
+   * @var string|null
+   *   (SQL type: timestamp)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $modified_date;
 
   /**
    * subject of note description
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $subject;
 
   /**
    * Foreign Key to Note Privacy Level (which is an option value pair and hence an implicit FK)
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $privacy;
 
diff --git a/civicrm/CRM/Core/DAO/OpenID.php b/civicrm/CRM/Core/DAO/OpenID.php
index 166758db6f..c5413e170d 100644
--- a/civicrm/CRM/Core/DAO/OpenID.php
+++ b/civicrm/CRM/Core/DAO/OpenID.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Core/OpenID.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:6547ff2f60e61de44f3ca5a866c1df6a)
+ * (GenCodeChecksum:0e8f41d1f528dfadc08d7f53610948ca)
  */
 
 /**
@@ -33,42 +33,54 @@ class CRM_Core_DAO_OpenID extends CRM_Core_DAO {
   /**
    * Unique OpenID ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * FK to Contact ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $contact_id;
 
   /**
    * Which Location does this email belong to.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $location_type_id;
 
   /**
    * the OpenID (or OpenID-style http://username.domain/) unique identifier for this contact mainly used for logging in to CiviCRM
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $openid;
 
   /**
    * Whether or not this user is allowed to login
    *
-   * @var bool
+   * @var bool|string
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $allowed_to_login;
 
   /**
    * Is this the primary email for this contact and location.
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_primary;
 
diff --git a/civicrm/CRM/Core/DAO/OptionGroup.php b/civicrm/CRM/Core/DAO/OptionGroup.php
index 59dfd5c4e0..77f9c5eed8 100644
--- a/civicrm/CRM/Core/DAO/OptionGroup.php
+++ b/civicrm/CRM/Core/DAO/OptionGroup.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Core/OptionGroup.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:6be4b908c7861e9026d1f2d78c42a0ac)
+ * (GenCodeChecksum:904ff47234843ffba9dd98b11c1d0df1)
  */
 
 /**
@@ -33,7 +33,9 @@ class CRM_Core_DAO_OptionGroup extends CRM_Core_DAO {
   /**
    * Option Group ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
@@ -41,48 +43,62 @@ class CRM_Core_DAO_OptionGroup extends CRM_Core_DAO {
    * Option group name. Used as selection key by class properties which lookup options in civicrm_option_value.
    *
    * @var string
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $name;
 
   /**
    * Option Group title.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $title;
 
   /**
    * Option group description.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $description;
 
   /**
    * Option group description.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(128))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $data_type;
 
   /**
    * Is this a predefined system option group (i.e. it can not be deleted)?
    *
-   * @var bool
+   * @var bool|string
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_reserved;
 
   /**
    * Is this option group active?
    *
-   * @var bool
+   * @var bool|string
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_active;
 
   /**
    * A lock to remove the ability to add new options via the UI.
    *
-   * @var bool
+   * @var bool|string
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_locked;
 
diff --git a/civicrm/CRM/Core/DAO/OptionValue.php b/civicrm/CRM/Core/DAO/OptionValue.php
index f1a2b41164..03429a8a30 100644
--- a/civicrm/CRM/Core/DAO/OptionValue.php
+++ b/civicrm/CRM/Core/DAO/OptionValue.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Core/OptionValue.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:598cce8df447dc19cd4c846549be1141)
+ * (GenCodeChecksum:36f4f8d1b40d94da47ebebaf3cf77f09)
  */
 
 /**
@@ -43,14 +43,18 @@ class CRM_Core_DAO_OptionValue extends CRM_Core_DAO {
   /**
    * Option ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * Group which this option belongs to.
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $option_group_id;
 
@@ -58,6 +62,8 @@ class CRM_Core_DAO_OptionValue extends CRM_Core_DAO {
    * Option string as displayed to users - e.g. the label in an HTML OPTION tag.
    *
    * @var string
+   *   (SQL type: varchar(512))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $label;
 
@@ -65,102 +71,132 @@ class CRM_Core_DAO_OptionValue extends CRM_Core_DAO {
    * The actual value stored (as a foreign key) in the data record. Functions which need lookup option_value.title should use civicrm_option_value.option_group_id plus civicrm_option_value.value as the key.
    *
    * @var string
+   *   (SQL type: varchar(512))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $value;
 
   /**
    * Stores a fixed (non-translated) name for this option value. Lookup functions should use the name as the key for the option value row.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $name;
 
   /**
    * Use to sort and/or set display properties for sub-set(s) of options within an option group. EXAMPLE: Use for college_interest field, to differentiate partners from non-partners.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $grouping;
 
   /**
    * Bitwise logic can be used to create subsets of options within an option_group for different uses.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $filter;
 
   /**
    * Is this the default option for the group?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_default;
 
   /**
    * Controls display sort order.
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $weight;
 
   /**
    * Optional description.
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $description;
 
   /**
    * Is this row simply a display header? Expected usage is to render these as OPTGROUP tags within a SELECT field list of options?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_optgroup;
 
   /**
    * Is this a predefined system object?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_reserved;
 
   /**
    * Is this option active?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_active;
 
   /**
    * Component that this option value belongs/caters to.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $component_id;
 
   /**
    * Which Domain is this option value for
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $domain_id;
 
   /**
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $visibility_id;
 
   /**
    * crm-i icon class
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $icon;
 
   /**
    * Hex color value e.g. #ffffff
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $color;
 
diff --git a/civicrm/CRM/Core/DAO/Phone.php b/civicrm/CRM/Core/DAO/Phone.php
index c4918cc592..3241bf3f1d 100644
--- a/civicrm/CRM/Core/DAO/Phone.php
+++ b/civicrm/CRM/Core/DAO/Phone.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Core/Phone.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:632e24c7c46ff01ecb1acab879bcf625)
+ * (GenCodeChecksum:76f82c31308292a82535fb6bcf6acc4d)
  */
 
 /**
@@ -47,70 +47,90 @@ class CRM_Core_DAO_Phone extends CRM_Core_DAO {
   /**
    * Unique Phone ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * FK to Contact ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $contact_id;
 
   /**
    * Which Location does this phone belong to.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $location_type_id;
 
   /**
    * Is this the primary phone for this contact and location.
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_primary;
 
   /**
    * Is this the billing?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_billing;
 
   /**
    * Which Mobile Provider does this phone belong to.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $mobile_provider_id;
 
   /**
    * Complete phone number.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(32))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $phone;
 
   /**
    * Optional extension for a phone number.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(16))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $phone_ext;
 
   /**
    * Phone number stripped of all whitespace, letters, and punctuation.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(32))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $phone_numeric;
 
   /**
    * Which type of phone does this number belongs.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $phone_type_id;
 
diff --git a/civicrm/CRM/Core/DAO/PreferencesDate.php b/civicrm/CRM/Core/DAO/PreferencesDate.php
index f0c15bc898..00db3be8fb 100644
--- a/civicrm/CRM/Core/DAO/PreferencesDate.php
+++ b/civicrm/CRM/Core/DAO/PreferencesDate.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Core/PreferencesDate.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:767dc30f83e4087a07c185f857fc8fb3)
+ * (GenCodeChecksum:2d2dbd5815ee810c6ca0941dcdea2b2f)
  */
 
 /**
@@ -31,7 +31,9 @@ class CRM_Core_DAO_PreferencesDate extends CRM_Core_DAO {
   public static $_log = TRUE;
 
   /**
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
@@ -39,41 +41,53 @@ class CRM_Core_DAO_PreferencesDate extends CRM_Core_DAO {
    * The meta name for this date (fixed in code)
    *
    * @var string
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $name;
 
   /**
    * Description of this date type.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $description;
 
   /**
    * The start offset relative to current year
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $start;
 
   /**
    * The end offset relative to current year, can be negative
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $end;
 
   /**
    * The date type
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $date_format;
 
   /**
    * time format
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $time_format;
 
diff --git a/civicrm/CRM/Core/DAO/PrevNextCache.php b/civicrm/CRM/Core/DAO/PrevNextCache.php
index 8bcc48e614..9ab4943daa 100644
--- a/civicrm/CRM/Core/DAO/PrevNextCache.php
+++ b/civicrm/CRM/Core/DAO/PrevNextCache.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Core/PrevNextCache.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:af3cb54c291525d39547cefa9bddf11a)
+ * (GenCodeChecksum:34c9a3b8f37f15fa5f0d9174e5e1c981)
  */
 
 /**
@@ -31,47 +31,61 @@ class CRM_Core_DAO_PrevNextCache extends CRM_Core_DAO {
   public static $_log = FALSE;
 
   /**
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * physical tablename for entity being joined to discount, e.g. civicrm_event
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $entity_table;
 
   /**
    * FK to entity table specified in entity_table column.
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $entity_id1;
 
   /**
    * FK to entity table specified in entity_table column.
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $entity_id2;
 
   /**
    * Unique path name for cache element of the searched item
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $cachekey;
 
   /**
    * cached snapshot of the serialized data
    *
-   * @var longtext
+   * @var string|null
+   *   (SQL type: longtext)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $data;
 
   /**
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_selected;
 
diff --git a/civicrm/CRM/Core/DAO/PrintLabel.php b/civicrm/CRM/Core/DAO/PrintLabel.php
index 9fa29c8fca..73cd71cb68 100644
--- a/civicrm/CRM/Core/DAO/PrintLabel.php
+++ b/civicrm/CRM/Core/DAO/PrintLabel.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Core/PrintLabel.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:cae6bd3ef03de9c99cd64c3c232fca54)
+ * (GenCodeChecksum:2ff186e7860c945a080bd0d8672dee5f)
  */
 
 /**
@@ -31,77 +31,99 @@ class CRM_Core_DAO_PrintLabel extends CRM_Core_DAO {
   public static $_log = FALSE;
 
   /**
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * User title for this label layout
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $title;
 
   /**
    * variable name/programmatic handle for this field.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $name;
 
   /**
    * Description of this label layout
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $description;
 
   /**
    * This refers to name column of civicrm_option_value row in name_badge option group
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $label_format_name;
 
   /**
    * Implicit FK to civicrm_option_value row in NEW label_type option group
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $label_type_id;
 
   /**
    * contains json encode configurations options
    *
-   * @var longtext
+   * @var string|null
+   *   (SQL type: longtext)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $data;
 
   /**
    * Is this default?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_default;
 
   /**
    * Is this option active?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_active;
 
   /**
    * Is this reserved label?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_reserved;
 
   /**
    * FK to civicrm_contact, who created this label layout
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $created_id;
 
diff --git a/civicrm/CRM/Core/DAO/RecurringEntity.php b/civicrm/CRM/Core/DAO/RecurringEntity.php
index 276dad5b04..82eaa5e9d8 100644
--- a/civicrm/CRM/Core/DAO/RecurringEntity.php
+++ b/civicrm/CRM/Core/DAO/RecurringEntity.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Core/RecurringEntity.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:9176ce7b1312c05e06b2d744da945f83)
+ * (GenCodeChecksum:d8ff65b4009b67e8619f6f904c1b501d)
  */
 
 /**
@@ -31,21 +31,27 @@ class CRM_Core_DAO_RecurringEntity extends CRM_Core_DAO {
   public static $_log = TRUE;
 
   /**
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * Recurring Entity Parent ID
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $parent_id;
 
   /**
    * Recurring Entity Child ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $entity_id;
 
@@ -53,13 +59,17 @@ class CRM_Core_DAO_RecurringEntity extends CRM_Core_DAO {
    * Physical tablename for entity, e.g. civicrm_event
    *
    * @var string
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $entity_table;
 
   /**
    * 1-this entity, 2-this and the following entities, 3-all the entities
    *
-   * @var bool
+   * @var bool|string
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $mode;
 
diff --git a/civicrm/CRM/Core/DAO/Setting.php b/civicrm/CRM/Core/DAO/Setting.php
index cb03d030a9..32c4c45741 100644
--- a/civicrm/CRM/Core/DAO/Setting.php
+++ b/civicrm/CRM/Core/DAO/Setting.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Core/Setting.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:1cc77a956cd4dfc7dd2a7f22579ad742)
+ * (GenCodeChecksum:1540ee58b9ec485590f4ce8cfe94f5a4)
  */
 
 /**
@@ -31,63 +31,81 @@ class CRM_Core_DAO_Setting extends CRM_Core_DAO {
   public static $_log = FALSE;
 
   /**
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * Unique name for setting
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $name;
 
   /**
    * data associated with this group / name combo
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $value;
 
   /**
    * Which Domain is this menu item for
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $domain_id;
 
   /**
    * FK to Contact ID if the setting is localized to a contact
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $contact_id;
 
   /**
    * Is this setting a contact specific or site wide setting?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_domain;
 
   /**
    * Component that this menu item belongs to
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $component_id;
 
   /**
    * When was the setting created
    *
-   * @var datetime
+   * @var string|null
+   *   (SQL type: datetime)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $created_date;
 
   /**
    * FK to civicrm_contact, who created this setting
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $created_id;
 
diff --git a/civicrm/CRM/Core/DAO/StateProvince.php b/civicrm/CRM/Core/DAO/StateProvince.php
index 66f8bfe33a..a07f290a77 100644
--- a/civicrm/CRM/Core/DAO/StateProvince.php
+++ b/civicrm/CRM/Core/DAO/StateProvince.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Core/StateProvince.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:d99e943649a1c2db96c2111d7feeeec2)
+ * (GenCodeChecksum:fe8e2b8bd40cc99eb28b66260a48da80)
  */
 
 /**
@@ -40,35 +40,45 @@ class CRM_Core_DAO_StateProvince extends CRM_Core_DAO {
   /**
    * State/Province ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * Name of State/Province
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $name;
 
   /**
    * 2-4 Character Abbreviation of State/Province
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(4))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $abbreviation;
 
   /**
    * ID of Country that State/Province belong
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $country_id;
 
   /**
    * Is this StateProvince active?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_active;
 
diff --git a/civicrm/CRM/Core/DAO/StatusPreference.php b/civicrm/CRM/Core/DAO/StatusPreference.php
index 4b3b3e0fc5..9331244143 100644
--- a/civicrm/CRM/Core/DAO/StatusPreference.php
+++ b/civicrm/CRM/Core/DAO/StatusPreference.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Core/StatusPreference.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:97f98c6f510e57260d2a5e3647a00d4f)
+ * (GenCodeChecksum:73ca47fbe3712351ea43f57b993c7a92)
  */
 
 /**
@@ -33,14 +33,18 @@ class CRM_Core_DAO_StatusPreference extends CRM_Core_DAO {
   /**
    * Unique Status Preference ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * Which Domain is this Status Preference for
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $domain_id;
 
@@ -48,41 +52,53 @@ class CRM_Core_DAO_StatusPreference extends CRM_Core_DAO {
    * Name of the status check this preference references.
    *
    * @var string
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $name;
 
   /**
    * expires ignore_severity.  NULL never hushes.
    *
-   * @var date
+   * @var string|null
+   *   (SQL type: date)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $hush_until;
 
   /**
    * Hush messages up to and including this severity.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $ignore_severity;
 
   /**
    * These settings are per-check, and can't be compared across checks.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $prefs;
 
   /**
    * These values are per-check, and can't be compared across checks.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $check_info;
 
   /**
    * Is this status check active?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_active;
 
diff --git a/civicrm/CRM/Core/DAO/SystemLog.php b/civicrm/CRM/Core/DAO/SystemLog.php
index ea1920cf12..d11b4e0c1d 100644
--- a/civicrm/CRM/Core/DAO/SystemLog.php
+++ b/civicrm/CRM/Core/DAO/SystemLog.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Core/SystemLog.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:1dd363d9554947bfdd8c75bba4ee5da9)
+ * (GenCodeChecksum:0859d091be6dca4edd108b6a1803ef35)
  */
 
 /**
@@ -33,7 +33,9 @@ class CRM_Core_DAO_SystemLog extends CRM_Core_DAO {
   /**
    * Primary key ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
@@ -41,41 +43,53 @@ class CRM_Core_DAO_SystemLog extends CRM_Core_DAO {
    * Standardized message
    *
    * @var string
+   *   (SQL type: varchar(128))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $message;
 
   /**
    * JSON encoded data
    *
-   * @var longtext
+   * @var string|null
+   *   (SQL type: longtext)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $context;
 
   /**
    * error level per PSR3
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(9))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $level;
 
   /**
    * Timestamp of when event occurred.
    *
-   * @var timestamp
+   * @var string|null
+   *   (SQL type: timestamp)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $timestamp;
 
   /**
    * Optional Contact ID that created the log. Not an FK as we keep this regardless
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $contact_id;
 
   /**
    * Optional Name of logging host
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(128))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $hostname;
 
diff --git a/civicrm/CRM/Core/DAO/Tag.php b/civicrm/CRM/Core/DAO/Tag.php
index fb94ad6d9d..3dcf7dbf5d 100644
--- a/civicrm/CRM/Core/DAO/Tag.php
+++ b/civicrm/CRM/Core/DAO/Tag.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Core/Tag.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:6bf223ca710a35bc6fb4c5e3f373b214)
+ * (GenCodeChecksum:4e8a87bf73d5f2f09dacdd4891ee7305)
  */
 
 /**
@@ -47,7 +47,9 @@ class CRM_Core_DAO_Tag extends CRM_Core_DAO {
   /**
    * Tag ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
@@ -55,63 +57,83 @@ class CRM_Core_DAO_Tag extends CRM_Core_DAO {
    * Name of Tag.
    *
    * @var string
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $name;
 
   /**
    * Optional verbose description of the tag.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $description;
 
   /**
    * Optional parent id for this tag.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $parent_id;
 
   /**
    * Is this tag selectable / displayed
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_selectable;
 
   /**
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_reserved;
 
   /**
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_tagset;
 
   /**
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $used_for;
 
   /**
    * FK to civicrm_contact, who created this tag
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $created_id;
 
   /**
    * Hex color value e.g. #ffffff
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $color;
 
   /**
    * Date and time that tag was created.
    *
-   * @var datetime
+   * @var string|null
+   *   (SQL type: datetime)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $created_date;
 
diff --git a/civicrm/CRM/Core/DAO/Timezone.php b/civicrm/CRM/Core/DAO/Timezone.php
index 20d5781b97..52d88dd7b6 100644
--- a/civicrm/CRM/Core/DAO/Timezone.php
+++ b/civicrm/CRM/Core/DAO/Timezone.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Core/Timezone.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:a1960975c14d40dedac3cbf6121044db)
+ * (GenCodeChecksum:bb3ae6e3a2a974f5a7e121a7ba763af6)
  */
 
 /**
@@ -33,40 +33,52 @@ class CRM_Core_DAO_Timezone extends CRM_Core_DAO {
   /**
    * Timezone ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * Timezone full name
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $name;
 
   /**
    * ISO Code for timezone abbreviation
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: char(3))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $abbreviation;
 
   /**
    * GMT name of the timezone
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $gmt;
 
   /**
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $offset;
 
   /**
    * Country ID
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $country_id;
 
diff --git a/civicrm/CRM/Core/DAO/Translation.php b/civicrm/CRM/Core/DAO/Translation.php
index aba20f3afa..57543feb3d 100644
--- a/civicrm/CRM/Core/DAO/Translation.php
+++ b/civicrm/CRM/Core/DAO/Translation.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Core/Translation.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:26a0aec7a4d0e31684a513f1a3f6fa18)
+ * (GenCodeChecksum:f0f986e6ba50631d51e09da061eb494a)
  */
 
 /**
@@ -33,7 +33,9 @@ class CRM_Core_DAO_Translation extends CRM_Core_DAO {
   /**
    * Unique String ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
@@ -41,6 +43,8 @@ class CRM_Core_DAO_Translation extends CRM_Core_DAO {
    * Table where referenced item is stored
    *
    * @var string
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $entity_table;
 
@@ -48,13 +52,17 @@ class CRM_Core_DAO_Translation extends CRM_Core_DAO {
    * Field where referenced item is stored
    *
    * @var string
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $entity_field;
 
   /**
    * ID of the relevant entity.
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $entity_id;
 
@@ -62,20 +70,26 @@ class CRM_Core_DAO_Translation extends CRM_Core_DAO {
    * Relevant language
    *
    * @var string
+   *   (SQL type: varchar(5))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $language;
 
   /**
    * Specify whether the string is active, draft, etc
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $status_id;
 
   /**
    * Translated string
    *
-   * @var longtext
+   * @var string
+   *   (SQL type: longtext)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $string;
 
diff --git a/civicrm/CRM/Core/DAO/UFField.php b/civicrm/CRM/Core/DAO/UFField.php
index ba2cdcba54..a35a7cc368 100644
--- a/civicrm/CRM/Core/DAO/UFField.php
+++ b/civicrm/CRM/Core/DAO/UFField.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Core/UFField.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:47f3fbbbd8d816a9cfb9f7fb4e7d5dc4)
+ * (GenCodeChecksum:dbab868218968878ca554480f974c2b4)
  */
 
 /**
@@ -33,14 +33,18 @@ class CRM_Core_DAO_UFField extends CRM_Core_DAO {
   /**
    * Unique table ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * Which form does this field belong to.
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $uf_group_id;
 
@@ -48,90 +52,116 @@ class CRM_Core_DAO_UFField extends CRM_Core_DAO {
    * Name for CiviCRM field which is being exposed for sharing.
    *
    * @var string
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $field_name;
 
   /**
    * Is this field currently shareable? If false, hide the field for all sharing contexts.
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_active;
 
   /**
    * the field is view only and not editable in user forms.
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_view;
 
   /**
    * Is this field required when included in a user or registration form?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_required;
 
   /**
    * Controls field display order when user framework fields are displayed in registration and account editing forms.
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $weight;
 
   /**
    * Description and/or help text to display after this field.
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $help_post;
 
   /**
    * Description and/or help text to display before this field.
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $help_pre;
 
   /**
    * In what context(s) is this field visible.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(32))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $visibility;
 
   /**
    * Is this field included as a column in the selector table?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $in_selector;
 
   /**
    * Is this field included search form of profile?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_searchable;
 
   /**
    * Location type of this mapping, if required
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $location_type_id;
 
   /**
    * Phone Type ID, if required
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $phone_type_id;
 
   /**
    * Website Type ID, if required
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $website_type_id;
 
@@ -139,27 +169,35 @@ class CRM_Core_DAO_UFField extends CRM_Core_DAO {
    * To save label for fields.
    *
    * @var string
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $label;
 
   /**
    * This field saves field type (ie individual,household.. field etc).
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $field_type;
 
   /**
    * Is this field reserved for use by some other CiviCRM functionality?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_reserved;
 
   /**
    * Include in multi-record listing?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_multi_summary;
 
diff --git a/civicrm/CRM/Core/DAO/UFGroup.php b/civicrm/CRM/Core/DAO/UFGroup.php
index 919b38ac9c..37f9346e36 100644
--- a/civicrm/CRM/Core/DAO/UFGroup.php
+++ b/civicrm/CRM/Core/DAO/UFGroup.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Core/UFGroup.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:0cb6463f64d494ca888d10708269b63c)
+ * (GenCodeChecksum:6d64e2deaff9b8408d4110c44d0e8152)
  */
 
 /**
@@ -33,21 +33,27 @@ class CRM_Core_DAO_UFGroup extends CRM_Core_DAO {
   /**
    * Unique table ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * Is this form currently active? If false, hide all related fields for all sharing contexts.
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_active;
 
   /**
    * Comma separated list of the type(s) of profile fields.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $group_type;
 
@@ -55,165 +61,213 @@ class CRM_Core_DAO_UFGroup extends CRM_Core_DAO {
    * Form title.
    *
    * @var string
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $title;
 
   /**
    * Profile Form Public title
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $frontend_title;
 
   /**
    * Optional verbose description of the profile.
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $description;
 
   /**
    * Description and/or help text to display before fields in form.
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $help_pre;
 
   /**
    * Description and/or help text to display after fields in form.
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $help_post;
 
   /**
    * Group id, foreign key from civicrm_group
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $limit_listings_group_id;
 
   /**
    * Redirect to URL.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $post_URL;
 
   /**
    * foreign key to civicrm_group_id
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $add_to_group_id;
 
   /**
    * Should a CAPTCHA widget be included this Profile form.
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $add_captcha;
 
   /**
    * Do we want to map results from this profile.
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_map;
 
   /**
    * Should edit link display in profile selector
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_edit_link;
 
   /**
    * Should we display a link to the website profile in profile selector
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_uf_link;
 
   /**
    * Should we update the contact record if we find a duplicate
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_update_dupe;
 
   /**
    * Redirect to URL when Cancle button clik .
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $cancel_URL;
 
   /**
    * Should we create a cms user for this profile
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_cms_user;
 
   /**
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $notify;
 
   /**
    * Is this group reserved for use by some other CiviCRM functionality?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_reserved;
 
   /**
    * Name of the UF group for directly addressing it in the codebase
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $name;
 
   /**
    * FK to civicrm_contact, who created this UF group
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $created_id;
 
   /**
    * Date and time this UF group was created.
    *
-   * @var datetime
+   * @var string|null
+   *   (SQL type: datetime)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $created_date;
 
   /**
    * Should we include proximity search feature in this profile search form?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_proximity_search;
 
   /**
    * Custom Text to display on the Cancel button when used in create or edit mode
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $cancel_button_text;
 
   /**
    * Custom Text to display on the submit button on profile edit/create screens
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $submit_button_text;
 
   /**
    * Should a Cancel button be included in this Profile form.
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $add_cancel_button;
 
diff --git a/civicrm/CRM/Core/DAO/UFJoin.php b/civicrm/CRM/Core/DAO/UFJoin.php
index e60816d109..a3460bd94f 100644
--- a/civicrm/CRM/Core/DAO/UFJoin.php
+++ b/civicrm/CRM/Core/DAO/UFJoin.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Core/UFJoin.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:ad3e1eb59e96ed7553d2a3f48430c934)
+ * (GenCodeChecksum:1e4fa645d4bface77a08688d714ba651)
  */
 
 /**
@@ -33,14 +33,18 @@ class CRM_Core_DAO_UFJoin extends CRM_Core_DAO {
   /**
    * Unique table ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * Is this join currently active?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_active;
 
@@ -48,41 +52,53 @@ class CRM_Core_DAO_UFJoin extends CRM_Core_DAO {
    * Module which owns this uf_join instance, e.g. User Registration, CiviDonate, etc.
    *
    * @var string
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $module;
 
   /**
    * Name of table where item being referenced is stored. Modules which only need a single collection of uf_join instances may choose not to populate entity_table and entity_id.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $entity_table;
 
   /**
    * Foreign key to the referenced item.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $entity_id;
 
   /**
    * Controls display order when multiple user framework groups are setup for concurrent display.
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $weight;
 
   /**
    * Which form does this field belong to.
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $uf_group_id;
 
   /**
    * Json serialized array of data used by the ufjoin.module
    *
-   * @var longtext
+   * @var string|null
+   *   (SQL type: longtext)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $module_data;
 
diff --git a/civicrm/CRM/Core/DAO/UFMatch.php b/civicrm/CRM/Core/DAO/UFMatch.php
index f374311007..9ef7bd540a 100644
--- a/civicrm/CRM/Core/DAO/UFMatch.php
+++ b/civicrm/CRM/Core/DAO/UFMatch.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Core/UFMatch.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:c192c2dfffc598c44141e666fb164342)
+ * (GenCodeChecksum:bb9d91c913ff3b1088ca8fa03cd23740)
  */
 
 /**
@@ -33,42 +33,54 @@ class CRM_Core_DAO_UFMatch extends CRM_Core_DAO {
   /**
    * System generated ID.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * Which Domain is this match entry for
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $domain_id;
 
   /**
    * UF ID
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $uf_id;
 
   /**
    * UF Name
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(128))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $uf_name;
 
   /**
    * FK to Contact ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $contact_id;
 
   /**
    * UI language preferred by the given user/contact
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(5))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $language;
 
diff --git a/civicrm/CRM/Core/DAO/Website.php b/civicrm/CRM/Core/DAO/Website.php
index 80d55ebb66..205fc49f06 100644
--- a/civicrm/CRM/Core/DAO/Website.php
+++ b/civicrm/CRM/Core/DAO/Website.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Core/Website.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:042da2fb78309555f5d4ecbe41d33cd0)
+ * (GenCodeChecksum:7ef66a990830d03a02dd59b7b6f0d2cb)
  */
 
 /**
@@ -47,28 +47,36 @@ class CRM_Core_DAO_Website extends CRM_Core_DAO {
   /**
    * Unique Website ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * FK to Contact ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $contact_id;
 
   /**
    * Website
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(128))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $url;
 
   /**
    * Which Website type does this website belong to.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $website_type_id;
 
diff --git a/civicrm/CRM/Core/DAO/WordReplacement.php b/civicrm/CRM/Core/DAO/WordReplacement.php
index 47141b827f..efb8b81e05 100644
--- a/civicrm/CRM/Core/DAO/WordReplacement.php
+++ b/civicrm/CRM/Core/DAO/WordReplacement.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Core/WordReplacement.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:4465ed4733f5b424c231d208ef1f61d7)
+ * (GenCodeChecksum:705cadb5a39522334249027149873712)
  */
 
 /**
@@ -33,40 +33,52 @@ class CRM_Core_DAO_WordReplacement extends CRM_Core_DAO {
   /**
    * Word replacement ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * Word which need to be replaced
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $find_word;
 
   /**
    * Word which will replace the word in find
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $replace_word;
 
   /**
    * Is this entry active?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_active;
 
   /**
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(16))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $match_type;
 
   /**
    * FK to Domain ID. This is for Domain specific word replacement
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $domain_id;
 
diff --git a/civicrm/CRM/Core/DAO/Worldregion.php b/civicrm/CRM/Core/DAO/Worldregion.php
index cea1ffea6c..31a86e1a29 100644
--- a/civicrm/CRM/Core/DAO/Worldregion.php
+++ b/civicrm/CRM/Core/DAO/Worldregion.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Core/Worldregion.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:897ca1a3833baf2e0c5bc09b350d26cd)
+ * (GenCodeChecksum:e8b2ad34381b7a644a5ea7e70cebf27e)
  */
 
 /**
@@ -33,14 +33,18 @@ class CRM_Core_DAO_Worldregion extends CRM_Core_DAO {
   /**
    * Country ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * Region name to be associated with countries
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(128))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $name;
 
diff --git a/civicrm/CRM/Core/DAO/permissions.php b/civicrm/CRM/Core/DAO/permissions.php
index 45fe4f8c09..f07270495c 100644
--- a/civicrm/CRM/Core/DAO/permissions.php
+++ b/civicrm/CRM/Core/DAO/permissions.php
@@ -12,9 +12,9 @@
 /**
  * Decide what permissions to check for an api call
  *
- * @param $entity : (str) api entity
- * @param $action : (str) api action
- * @param $params : (array) api params
+ * @param string $entity api entity
+ * @param string $action api action
+ * @param array $params api params
  *
  * @return array
  *   Array of permissions to check for this entity-action combo
diff --git a/civicrm/CRM/Core/Error.php b/civicrm/CRM/Core/Error.php
index a131be146a..763a2605d3 100644
--- a/civicrm/CRM/Core/Error.php
+++ b/civicrm/CRM/Core/Error.php
@@ -242,9 +242,9 @@ class CRM_Core_Error extends PEAR_ErrorStack {
   }
 
   /**
-   * this function is used to return error details
+   * This function is used to return error details
    *
-   * @param $pearError
+   * @param PEAR_Error $pearError
    *
    * @return array $error
    */
@@ -452,7 +452,7 @@ class CRM_Core_Error extends PEAR_ErrorStack {
    * so we can interrupt a potential POST/redirect
    *
    * @param string $name name of debug section
-   * @param $variable mixed reference to variables that we need a trace of
+   * @param mixed $variable reference to variables that we need a trace of
    * @param bool $log should we log or return the output
    * @param bool $html whether to generate a HTML-escaped output
    * @param bool $checkPermission should we check permissions before displaying output
@@ -902,9 +902,8 @@ class CRM_Core_Error extends PEAR_ErrorStack {
    *
    * @param string $status
    *   The status message to set.
-   *
-   * @param null $redirect
-   * @param string $title
+   * @param string|null $redirect
+   * @param string|null $title
    */
   public static function statusBounce($status, $redirect = NULL, $title = NULL) {
     $session = CRM_Core_Session::singleton();
@@ -934,7 +933,7 @@ class CRM_Core_Error extends PEAR_ErrorStack {
   /**
    * PEAR error-handler which converts errors to exceptions
    *
-   * @param $pearError
+   * @param PEAR_Error $pearError
    * @throws PEAR_Exception
    */
   public static function exceptionHandler($pearError) {
diff --git a/civicrm/CRM/Core/Form.php b/civicrm/CRM/Core/Form.php
index 3cf3e8304f..d3e8a94306 100644
--- a/civicrm/CRM/Core/Form.php
+++ b/civicrm/CRM/Core/Form.php
@@ -222,7 +222,7 @@ class CRM_Core_Form extends HTML_QuickForm_Page {
    * attempt to standardize on the number of variations that we
    * use of the below form elements
    *
-   * @var const string
+   * @var string
    */
   const ATTR_SPACING = '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;';
 
@@ -281,6 +281,15 @@ class CRM_Core_Form extends HTML_QuickForm_Page {
     'context',
     // FormButtons.tpl (adds buttons to forms).
     'linkButtons',
+    // Required for contactFooter.tpl.
+    // See CRM_Activity_Form_ActivityTest:testInboundEmailDisplaysWithLineBreaks.
+    'external_identifier',
+    'lastModified',
+    'created_date',
+    'changeLog',
+    // Required for footer.tpl,
+    // See CRM_Activity_Form_ActivityTest:testInboundEmailDisplaysWithLineBreaks.
+    'footer_status_severity',
   ];
 
   /**
@@ -291,7 +300,7 @@ class CRM_Core_Form extends HTML_QuickForm_Page {
    *
    * @param object $state
    *   State associated with this form.
-   * @param \const|\enum|int $action The mode the form is operating in (None/Create/View/Update/Delete)
+   * @param int $action The mode the form is operating in (None/Create/View/Update/Delete)
    * @param string $method
    *   The type of http method used (GET/POST).
    * @param string $name
@@ -374,7 +383,6 @@ class CRM_Core_Form extends HTML_QuickForm_Page {
       'date',
       'currentDate',
       'asciiFile',
-      'htmlFile',
       'utf8File',
       'objectExists',
       'optionExists',
@@ -1297,10 +1305,10 @@ class CRM_Core_Form extends HTML_QuickForm_Page {
 
   /**
    * @param string $name
-   * @param $title
-   * @param $values
+   * @param string $title
+   * @param array $values
    * @param array $attributes
-   * @param null $separator
+   * @param string $separator
    * @param bool $required
    * @param array $optionAttributes - Option specific attributes
    *
@@ -1344,10 +1352,10 @@ class CRM_Core_Form extends HTML_QuickForm_Page {
   }
 
   /**
-   * @param int $id
-   * @param $title
+   * @param string $id
+   * @param string $title
    * @param bool $allowClear
-   * @param null $required
+   * @param bool $required
    * @param array $attributes
    */
   public function addYesNo($id, $title, $allowClear = FALSE, $required = NULL, $attributes = []) {
@@ -1367,8 +1375,8 @@ class CRM_Core_Form extends HTML_QuickForm_Page {
 
   /**
    * @param int $id
-   * @param $title
-   * @param $values
+   * @param string $title
+   * @param array $values
    * @param null $other
    * @param null $attributes
    * @param null $required
@@ -1566,7 +1574,7 @@ class CRM_Core_Form extends HTML_QuickForm_Page {
    * Adds a select based on field metadata.
    * TODO: This could be even more generic and widget type (select in this case) could also be read from metadata
    * Perhaps a method like $form->bind($name) which would look up all metadata for named field
-   * @param $name
+   * @param string $name
    *   Field name to go on the form.
    * @param array $props
    *   Mix of html attributes and special properties, namely.
@@ -1939,7 +1947,7 @@ class CRM_Core_Form extends HTML_QuickForm_Page {
   }
 
   /**
-   * @param $elementName
+   * @param string[]|string $elementName
    */
   public function addUploadElement($elementName) {
     $uploadNames = $this->get('uploadNames');
@@ -1967,17 +1975,17 @@ class CRM_Core_Form extends HTML_QuickForm_Page {
   }
 
   /**
-   * @param $name
+   * @param string $name
    *
-   * @return null
+   * @return mixed
    */
   public function getVar($name) {
     return $this->$name ?? NULL;
   }
 
   /**
-   * @param $name
-   * @param $value
+   * @param string $name
+   * @param mixed $value
    */
   public function setVar($name, $value) {
     $this->$name = $value;
@@ -2085,7 +2093,7 @@ class CRM_Core_Form extends HTML_QuickForm_Page {
    * @param string $name
    * @param string $label
    * @param bool $required
-   * @param null $attributes
+   * @param array $attributes
    */
   public function addDateTime($name, $label, $required = FALSE, $attributes = NULL) {
     $addTime = ['addTime' => TRUE];
@@ -2105,10 +2113,10 @@ class CRM_Core_Form extends HTML_QuickForm_Page {
    * @param string $name
    * @param string $label
    * @param bool $required
-   * @param null $attributes
+   * @param array $attributes
    * @param bool $addCurrency
    * @param string $currencyName
-   * @param null $defaultCurrency
+   * @param string $defaultCurrency
    * @param bool $freezeCurrency
    *
    * @return \HTML_QuickForm_Element
@@ -2137,7 +2145,7 @@ class CRM_Core_Form extends HTML_QuickForm_Page {
    * Add currency element to the form.
    *
    * @param string $name
-   * @param null $label
+   * @param string $label
    * @param bool $required
    * @param string $defaultCurrency
    * @param bool $freezeCurrency
@@ -2406,6 +2414,7 @@ class CRM_Core_Form extends HTML_QuickForm_Page {
   }
 
   /**
+   * @return bool
    */
   public function canUseAjaxContactLookups() {
     if (0 < (civicrm_api3('contact', 'getcount', ['check_permissions' => 1])) &&
@@ -2413,6 +2422,7 @@ class CRM_Core_Form extends HTML_QuickForm_Page {
     ) {
       return TRUE;
     }
+    return FALSE;
   }
 
   /**
diff --git a/civicrm/CRM/Core/Form/ShortCode.php b/civicrm/CRM/Core/Form/ShortCode.php
index 58ce68a55b..ca526ee06e 100644
--- a/civicrm/CRM/Core/Form/ShortCode.php
+++ b/civicrm/CRM/Core/Form/ShortCode.php
@@ -53,8 +53,6 @@ class CRM_Core_Form_ShortCode extends CRM_Core_Form {
    * Build form data. Can be modified via hook_civicrm_preProcess.
    */
   public function preProcess() {
-    $config = CRM_Core_Config::singleton();
-
     $this->components['user-dashboard'] = [
       'label' => ts("User Dashboard"),
       'select' => NULL,
@@ -73,7 +71,7 @@ class CRM_Core_Form_ShortCode extends CRM_Core_Form {
       ],
     ];
 
-    if (in_array('CiviContribute', $config->enableComponents)) {
+    if (CRM_Core_Component::isEnabled('CiviContribute')) {
       $this->components['contribution'] = [
         'label' => ts("Contribution Page"),
         'select' => [
@@ -92,7 +90,7 @@ class CRM_Core_Form_ShortCode extends CRM_Core_Form {
       ];
     }
 
-    if (in_array('CiviEvent', $config->enableComponents)) {
+    if (CRM_Core_Component::isEnabled('CiviEvent')) {
       $this->components['event'] = [
         'label' => ts("Event Page"),
         'select' => [
@@ -103,7 +101,7 @@ class CRM_Core_Form_ShortCode extends CRM_Core_Form {
       ];
     }
 
-    if (in_array('CiviCampaign', $config->enableComponents)) {
+    if (CRM_Core_Component::isEnabled('CiviCampaign')) {
       $this->components['petition'] = [
         'label' => ts("Petition"),
         'select' => [
diff --git a/civicrm/CRM/Core/Form/Task.php b/civicrm/CRM/Core/Form/Task.php
index 3c134e608c..1526eda1fa 100644
--- a/civicrm/CRM/Core/Form/Task.php
+++ b/civicrm/CRM/Core/Form/Task.php
@@ -156,9 +156,10 @@ abstract class CRM_Core_Form_Task extends CRM_Core_Form {
     $searchFormValues = $form->getSearchFormValues();
 
     $form->_task = $searchFormValues['task'];
-
+    $isSelectedContacts = ($searchFormValues['radio_ts'] ?? NULL) === 'ts_sel';
+    $form->assign('isSelectedContacts', $isSelectedContacts);
     $entityIds = [];
-    if ($searchFormValues['radio_ts'] == 'ts_sel') {
+    if ($isSelectedContacts) {
       foreach ($searchFormValues as $name => $value) {
         if (substr($name, 0, CRM_Core_Form::CB_PREFIX_LEN) == CRM_Core_Form::CB_PREFIX) {
           $entityIds[] = substr($name, CRM_Core_Form::CB_PREFIX_LEN);
diff --git a/civicrm/CRM/Core/Form/Task/PDFLetterCommon.php b/civicrm/CRM/Core/Form/Task/PDFLetterCommon.php
index 781d635242..0f6e6673ed 100644
--- a/civicrm/CRM/Core/Form/Task/PDFLetterCommon.php
+++ b/civicrm/CRM/Core/Form/Task/PDFLetterCommon.php
@@ -196,7 +196,7 @@ class CRM_Core_Form_Task_PDFLetterCommon {
    * @param array $fields
    *   The input form values.
    * @param array $files
-   * @param array $self
+   * @param self $self
    *   Additional values form 'this'.
    *
    * @return bool
@@ -325,7 +325,7 @@ class CRM_Core_Form_Task_PDFLetterCommon {
   /**
    * @deprecated
    *
-   * @param $message
+   * @param string $message
    */
   public static function formatMessage(&$message) {
     $newLineOperators = [
diff --git a/civicrm/CRM/Core/I18n.php b/civicrm/CRM/Core/I18n.php
index e4653d3be7..30cb0cb8ea 100644
--- a/civicrm/CRM/Core/I18n.php
+++ b/civicrm/CRM/Core/I18n.php
@@ -19,7 +19,7 @@ class CRM_Core_I18n {
   /**
    * Constants for communication preferences.
    *
-   * @var int
+   * @var string
    */
   const NONE = 'none', AUTO = 'auto';
 
@@ -239,6 +239,28 @@ class CRM_Core_I18n {
     return $justEnabled ? $enabled : $all;
   }
 
+  /**
+   * Get the options available for format locale.
+   *
+   * Note the pseudoconstant can't be used as the key is the name not the value.
+   *
+   * @return array
+   */
+  public static function getFormatLocales(): array {
+    $values = CRM_Core_OptionValue::getValues(['name' => 'languages'], $optionValues, 'label', TRUE);
+    $return = [];
+    $return[NULL] = ts('Inherit from language');
+    foreach ($values as $value) {
+      $return[$value['name']] = $value['label'];
+    }
+    // Sorry not sorry.
+    // Hacking in for now since the is probably the most important use-case for
+    // money formatting in an English speaking non-US locale based on any reasonable
+    // metric.
+    $return['en_NZ'] = ts('English (New Zealand)');
+    return $return;
+  }
+
   /**
    * Return the available UI languages
    * @return array|string
@@ -532,7 +554,7 @@ class CRM_Core_I18n {
   /**
    * Binds a gettext domain, wrapper over bindtextdomain().
    *
-   * @param $key
+   * @param string $key
    *   Key of the extension (can be 'civicrm', or 'org.example.foo').
    *
    * @return Bool
@@ -610,7 +632,7 @@ class CRM_Core_I18n {
   /**
    * Is the language written "right-to-left"?
    *
-   * @param $language
+   * @param string $language
    *   Language (for example 'en_US', or 'fr_CA').
    *
    * @return bool
@@ -637,7 +659,7 @@ class CRM_Core_I18n {
   /**
    * Change the processing language without changing the current user language
    *
-   * @param $locale
+   * @param string $locale
    *   Locale (for example 'en_US', or 'fr_CA').
    *   True if the domain was changed for an extension.
    */
diff --git a/civicrm/CRM/Core/I18n/NativeGettext.php b/civicrm/CRM/Core/I18n/NativeGettext.php
index cefd92f0f5..d346692d8f 100644
--- a/civicrm/CRM/Core/I18n/NativeGettext.php
+++ b/civicrm/CRM/Core/I18n/NativeGettext.php
@@ -18,7 +18,7 @@
 class CRM_Core_I18n_NativeGettext {
 
   /**
-   * @param $string
+   * @param string $string
    *
    * @return string
    */
@@ -29,8 +29,8 @@ class CRM_Core_I18n_NativeGettext {
   /**
    * Based on php-gettext, since native gettext does not support this as is.
    *
-   * @param $context
-   * @param $text
+   * @param string $context
+   * @param string $text
    *
    * @return string
    */
@@ -47,9 +47,9 @@ class CRM_Core_I18n_NativeGettext {
   }
 
   /**
-   * @param $text
-   * @param $plural
-   * @param $count
+   * @param string $text
+   * @param string $plural
+   * @param int $count
    *
    * @return string
    */
diff --git a/civicrm/CRM/Core/I18n/PseudoConstant.php b/civicrm/CRM/Core/I18n/PseudoConstant.php
index 6c4576b3ba..d9b9341b77 100644
--- a/civicrm/CRM/Core/I18n/PseudoConstant.php
+++ b/civicrm/CRM/Core/I18n/PseudoConstant.php
@@ -53,7 +53,7 @@ class CRM_Core_I18n_PseudoConstant {
   }
 
   /**
-   * @param $long
+   * @param string $long
    *
    * @return string
    */
diff --git a/civicrm/CRM/Core/I18n/Schema.php b/civicrm/CRM/Core/I18n/Schema.php
index 0fc3bb6df7..e000811f52 100644
--- a/civicrm/CRM/Core/I18n/Schema.php
+++ b/civicrm/CRM/Core/I18n/Schema.php
@@ -451,8 +451,8 @@ class CRM_Core_I18n_Schema {
    *   schema structure class to use.
    * @param bool $isUpgradeMode
    *   Are we in upgrade mode therefore only build based off table not class
-   * @return array
-   *   array of CREATE INDEX queries
+   * @return string
+   *   The generated CREATE VIEW query
    */
   private static function createViewQuery($locale, $table, &$dao, $class = 'CRM_Core_I18n_SchemaStructure', $isUpgradeMode = FALSE) {
     $columns =& $class::columns();
@@ -522,19 +522,19 @@ class CRM_Core_I18n_Schema {
       $trigger = [];
 
       foreach ($hash as $column => $_) {
-        $trigger[] = "IF NEW.{$column}_{$locale} IS NOT NULL THEN";
+        $trigger[] = "IF NEW.{$column}_{$locale} IS NOT NULL AND NEW.{$column}_{$locale} != '' THEN";
         foreach ($locales as $old) {
-          $trigger[] = "IF NEW.{$column}_{$old} IS NULL THEN SET NEW.{$column}_{$old} = NEW.{$column}_{$locale}; END IF;";
+          $trigger[] = "IF NEW.{$column}_{$old} IS NULL OR NEW.{$column}_{$old} = '' THEN SET NEW.{$column}_{$old} = NEW.{$column}_{$locale}; END IF;";
         }
         foreach ($locales as $old) {
-          $trigger[] = "ELSEIF NEW.{$column}_{$old} IS NOT NULL THEN";
+          $trigger[] = "ELSEIF NEW.{$column}_{$old} IS NOT NULL AND NEW.{$column}_{$old} != '' THEN";
           foreach (array_merge($locales, [
             $locale,
           ]) as $loc) {
             if ($loc == $old) {
               continue;
             }
-            $trigger[] = "IF NEW.{$column}_{$loc} IS NULL THEN SET NEW.{$column}_{$loc} = NEW.{$column}_{$old}; END IF;";
+            $trigger[] = "IF NEW.{$column}_{$loc} IS NULL OR NEW.{$column}_{$loc} = '' THEN SET NEW.{$column}_{$loc} = NEW.{$column}_{$old}; END IF;";
           }
         }
         $trigger[] = 'END IF;';
diff --git a/civicrm/CRM/Core/IDS.php b/civicrm/CRM/Core/IDS.php
index 3efdac401b..fb8a01974a 100644
--- a/civicrm/CRM/Core/IDS.php
+++ b/civicrm/CRM/Core/IDS.php
@@ -226,7 +226,7 @@ class CRM_Core_IDS {
   /**
    * This function writes an entry about the intrusion to the database.
    *
-   * @param array $result
+   * @param IDS_Report $result
    * @param int $reaction
    *
    * @return bool
diff --git a/civicrm/CRM/Core/Invoke.php b/civicrm/CRM/Core/Invoke.php
index 48bf206c62..1255fd3285 100644
--- a/civicrm/CRM/Core/Invoke.php
+++ b/civicrm/CRM/Core/Invoke.php
@@ -331,13 +331,17 @@ class CRM_Core_Invoke {
   /**
    * This function contains the default action.
    *
+   * Unused function.
+   *
    * @param $action
    *
    * @param $contact_type
    * @param $contact_sub_type
    *
+   * @Deprecated
    */
   public static function form($action, $contact_type, $contact_sub_type) {
+    CRM_Core_Error::deprecatedWarning('unused');
     CRM_Utils_System::setUserContext(['civicrm/contact/search/basic', 'civicrm/contact/view']);
     $wrapper = new CRM_Utils_Wrapper();
 
diff --git a/civicrm/CRM/Core/ManagedEntities.php b/civicrm/CRM/Core/ManagedEntities.php
index bcf5ea770d..d94d89e22f 100644
--- a/civicrm/CRM/Core/ManagedEntities.php
+++ b/civicrm/CRM/Core/ManagedEntities.php
@@ -116,14 +116,10 @@ class CRM_Core_ManagedEntities {
    * existing entities, and remove orphaned (stale) entities.
    *
    * @param bool $ignoreUpgradeMode
-   *
+   *   Unused.
    * @throws \CRM_Core_Exception
    */
   public function reconcile($ignoreUpgradeMode = FALSE) {
-    // Do not reconcile whilst we are in upgrade mode
-    if (CRM_Core_Config::singleton()->isUpgradeMode() && !$ignoreUpgradeMode) {
-      return;
-    }
     $this->loadDeclarations();
     if ($error = $this->validate($this->getDeclarations())) {
       throw new CRM_Core_Exception($error);
@@ -539,7 +535,7 @@ class CRM_Core_ManagedEntities {
   }
 
   /**
-   * @param $declarations
+   * @param array $declarations
    *
    * @return string|bool
    *   string on error, or FALSE
diff --git a/civicrm/CRM/Core/Menu.php b/civicrm/CRM/Core/Menu.php
index ad45953413..c7376b2d34 100644
--- a/civicrm/CRM/Core/Menu.php
+++ b/civicrm/CRM/Core/Menu.php
@@ -453,8 +453,8 @@ class CRM_Core_Menu {
   }
 
   /**
-   * @param $menu
-   * @param $path
+   * @param array $menu
+   * @param string|int $path
    */
   public static function buildReturnUrl(&$menu, $path) {
     if (!isset($menu[$path]['return_url'])) {
@@ -528,7 +528,7 @@ class CRM_Core_Menu {
   }
 
   /**
-   * @param $path string
+   * @param string $path
    *   Path of menu item to retrieve.
    *
    * @return array
diff --git a/civicrm/CRM/Core/Page.php b/civicrm/CRM/Core/Page.php
index 99742ac99c..e0d43bb941 100644
--- a/civicrm/CRM/Core/Page.php
+++ b/civicrm/CRM/Core/Page.php
@@ -59,7 +59,9 @@ class CRM_Core_Page {
    * Are we in print mode? if so we need to modify the display
    * functionality to do a minimal display :)
    *
-   * @var bool
+   * @var int|string
+   *   Should match a CRM_Core_Smarty::PRINT_* constant,
+   *   or equal 0 if not in print mode
    */
   protected $_print = FALSE;
 
@@ -124,6 +126,9 @@ class CRM_Core_Page {
     'breadcrumb',
     'pageTitle',
     'isDeleted',
+    // Required for footer.tpl,
+    // See ExampleHookTest:testPageOutput.
+    'footer_status_severity',
   ];
 
   /**
@@ -215,10 +220,10 @@ class CRM_Core_Page {
       //its time to call the hook.
       CRM_Utils_Hook::alterContent($content, 'page', $pageTemplateFile, $this);
 
-      if ($this->_print == CRM_Core_Smarty::PRINT_PDF) {
+      if ($this->_print === CRM_Core_Smarty::PRINT_PDF) {
         CRM_Utils_PDF_Utils::html2pdf($content, "{$this->_name}.pdf", FALSE);
       }
-      elseif ($this->_print == CRM_Core_Smarty::PRINT_JSON) {
+      elseif ($this->_print === CRM_Core_Smarty::PRINT_JSON) {
         $this->ajaxResponse['content'] = $content;
         CRM_Core_Page_AJAX::returnJsonResponse($this->ajaxResponse);
       }
@@ -386,7 +391,11 @@ class CRM_Core_Page {
   /**
    * Setter for print.
    *
-   * @param bool $print
+   * @param int|string $print
+   *   Should match a CRM_Core_Smarty::PRINT_* constant,
+   *   or equal 0 if not in print mode
+   *
+   * @return void
    */
   public function setPrint($print) {
     $this->_print = $print;
@@ -395,8 +404,9 @@ class CRM_Core_Page {
   /**
    * Getter for print.
    *
-   * @return bool
-   *   return the print value
+   * @return int|string
+   *   Value matching a CRM_Core_Smarty::PRINT_* constant,
+   *   or 0 if not in print mode
    */
   public function getPrint() {
     return $this->_print;
diff --git a/civicrm/CRM/Core/Page/AJAX.php b/civicrm/CRM/Core/Page/AJAX.php
index 17a0fe8f6e..4f1fd1b640 100644
--- a/civicrm/CRM/Core/Page/AJAX.php
+++ b/civicrm/CRM/Core/Page/AJAX.php
@@ -167,7 +167,9 @@ class CRM_Core_Page_AJAX {
     $output = json_encode($response);
 
     // CRM-11831 @see http://www.malsup.com/jquery/form/#file-upload
-    if (isset($_SERVER['HTTP_X_REQUESTED_WITH']) && $_SERVER['HTTP_X_REQUESTED_WITH'] == 'XMLHttpRequest') {
+    // COMMENT: Wouldn't the `Accept:` header be more appropriate? Only use `X-Requested-With:` as a
+    // fallback where `Accept:` is missing?
+    if (CRM_Utils_REST::isWebServiceRequest()) {
       CRM_Utils_System::setHttpHeader('Content-Type', 'application/json');
     }
     else {
diff --git a/civicrm/CRM/Core/Payment.php b/civicrm/CRM/Core/Payment.php
index 16f4691d06..26a62af3a9 100644
--- a/civicrm/CRM/Core/Payment.php
+++ b/civicrm/CRM/Core/Payment.php
@@ -1674,8 +1674,7 @@ abstract class CRM_Core_Payment {
    * it is better to standardise to being here.
    *
    * @param int $invoiceId The ID to check.
-   *
-   * @param null $contributionID
+   * @param int|null $contributionID
    *   If a contribution exists pass in the contribution ID.
    *
    * @return bool
@@ -1693,8 +1692,8 @@ abstract class CRM_Core_Payment {
   /**
    * Get url for users to manage this recurring contribution for this processor.
    *
-   * @param int $entityID
-   * @param null $entity
+   * @param int|null $entityID
+   * @param string|null $entity
    * @param string $action
    *
    * @return string|null
@@ -1724,6 +1723,10 @@ abstract class CRM_Core_Payment {
         }
         $url = 'civicrm/contribute/updaterecur';
         break;
+
+      default:
+        $url = '';
+        break;
     }
 
     $userId = CRM_Core_Session::singleton()->get('userID');
@@ -1745,17 +1748,7 @@ abstract class CRM_Core_Payment {
           break;
 
         case 'recur':
-          $sql = "
-    SELECT DISTINCT con.contact_id
-      FROM civicrm_contribution_recur rec
-INNER JOIN civicrm_contribution con ON ( con.contribution_recur_id = rec.id )
-     WHERE rec.id = %1";
-          $contactID = CRM_Core_DAO::singleValueQuery($sql, [
-            1 => [
-              $entityID,
-              'Integer',
-            ],
-          ]);
+          $contactID = CRM_Core_DAO::getFieldValue("CRM_Contribute_DAO_ContributionRecur", $entityID, "contact_id");
           $entityArg = 'crid';
           break;
       }
diff --git a/civicrm/CRM/Core/Payment/BaseIPN.php b/civicrm/CRM/Core/Payment/BaseIPN.php
index a09264b93b..7226d2f232 100644
--- a/civicrm/CRM/Core/Payment/BaseIPN.php
+++ b/civicrm/CRM/Core/Payment/BaseIPN.php
@@ -333,7 +333,7 @@ class CRM_Core_Payment_BaseIPN {
    * @todo This is part of a bigger refactor for dev/core/issues/927 - "duplicate" functionality exists in CRM_Contribute_BAO_Contribution::cancel()
    * @param \CRM_Member_BAO_Membership $membership
    * @param int $membershipStatusID
-   * @param boolean $onlyCancelPendingMembership
+   * @param bool $onlyCancelPendingMembership
    *   Do we only cancel pending memberships? OR memberships in any status? (see CRM-18688)
    * @fixme Historically failed() cancelled membership in any status, cancelled() cancelled only pending memberships so we retain that behaviour for now.
    * @deprecated
diff --git a/civicrm/CRM/Core/Payment/Form.php b/civicrm/CRM/Core/Payment/Form.php
index 2c30dec08d..b6e32e52ca 100644
--- a/civicrm/CRM/Core/Payment/Form.php
+++ b/civicrm/CRM/Core/Payment/Form.php
@@ -188,7 +188,7 @@ class CRM_Core_Payment_Form {
   }
 
   /**
-   * @param array $paymentProcessor
+   * @param CRM_Core_Payment $paymentProcessor
    *
    * @return string
    */
diff --git a/civicrm/CRM/Core/Payment/PayPalImpl.php b/civicrm/CRM/Core/Payment/PayPalImpl.php
index fbec70ca29..6d854859c0 100644
--- a/civicrm/CRM/Core/Payment/PayPalImpl.php
+++ b/civicrm/CRM/Core/Payment/PayPalImpl.php
@@ -695,7 +695,7 @@ class CRM_Core_Payment_PayPalImpl extends CRM_Core_Payment {
    * Get url for users to manage this recurring contribution for this processor.
    *
    * @param int $entityID
-   * @param null $entity
+   * @param string|null $entity
    * @param string $action
    *
    * @return string|null
diff --git a/civicrm/CRM/Core/Permission.php b/civicrm/CRM/Core/Permission.php
index 256efae208..8645a83684 100644
--- a/civicrm/CRM/Core/Permission.php
+++ b/civicrm/CRM/Core/Permission.php
@@ -255,7 +255,7 @@ class CRM_Core_Permission {
 
   /**
    * @param int $type
-   * @param null $prefix
+   * @param string|null $prefix
    * @param bool $reset
    *
    * @return string
@@ -335,7 +335,7 @@ class CRM_Core_Permission {
 
   /**
    * @param int $type
-   * @param null $prefix
+   * @param string $prefix
    * @param bool $returnUFGroupIds
    *
    * @return array|string
@@ -423,9 +423,7 @@ class CRM_Core_Permission {
    *   Access to specified $module is granted.
    */
   public static function access($module, $checkPermission = TRUE, $requireAllCasesPermOnCiviCase = FALSE) {
-    $config = CRM_Core_Config::singleton();
-
-    if (!in_array($module, $config->enableComponents)) {
+    if (!CRM_Core_Component::isEnabled($module)) {
       return FALSE;
     }
 
@@ -752,6 +750,14 @@ class CRM_Core_Permission {
       'administer reserved tags' => [
         $prefix . ts('administer reserved tags'),
       ],
+      'administer queues' => [
+        $prefix . ts('administer queues'),
+        ts('Initialize, browse, and cancel background processing queues'),
+        // At time of writing, we have specifically omitted the ability to edit fine-grained
+        // data about specific queue-tasks. Tasks are usually defined as PHP callables...
+        // and one should hesitate before allowing open-ended edits of PHP callables.
+        // However, it seems fine for web-admins to browse and cancel these things.
+      ],
       'administer dedupe rules' => [
         $prefix . ts('administer dedupe rules'),
         ts('Create and edit rules, change the supervised and unsupervised rules'),
diff --git a/civicrm/CRM/Core/Reference/Basic.php b/civicrm/CRM/Core/Reference/Basic.php
index 4e54a1b77d..ab2c309848 100644
--- a/civicrm/CRM/Core/Reference/Basic.php
+++ b/civicrm/CRM/Core/Reference/Basic.php
@@ -13,11 +13,11 @@ class CRM_Core_Reference_Basic implements CRM_Core_Reference_Interface {
   protected $targetKey;
 
   /**
-   * @param $refTable
-   * @param $refKey
+   * @param string $refTable
+   * @param string $refKey
    * @param string $targetTable
    * @param string $targetKey
-   * @param null $refTypeColumn
+   * @param string|null $refTypeColumn
    */
   public function __construct($refTable, $refKey, $targetTable = NULL, $targetKey = 'id', $refTypeColumn = NULL) {
     $this->refTable = $refTable;
@@ -28,28 +28,28 @@ class CRM_Core_Reference_Basic implements CRM_Core_Reference_Interface {
   }
 
   /**
-   * @return mixed
+   * @return string
    */
   public function getReferenceTable() {
     return $this->refTable;
   }
 
   /**
-   * @return mixed
+   * @return string
    */
   public function getReferenceKey() {
     return $this->refKey;
   }
 
   /**
-   * @return null
+   * @return string|null
    */
   public function getTypeColumn() {
     return $this->refTypeColumn;
   }
 
   /**
-   * @return null
+   * @return string
    */
   public function getTargetTable() {
     return $this->targetTable;
diff --git a/civicrm/CRM/Core/Report/Excel.php b/civicrm/CRM/Core/Report/Excel.php
index ef1c396e0c..fece14e2d8 100644
--- a/civicrm/CRM/Core/Report/Excel.php
+++ b/civicrm/CRM/Core/Report/Excel.php
@@ -109,8 +109,8 @@ class CRM_Core_Report_Excel {
 
   /**
    * @param string $fileName
-   * @param $header
-   * @param $rows
+   * @param string[] $header
+   * @param array[] $rows
    * @param null $titleHeader
    * @param bool $outputHeader
    */
diff --git a/civicrm/CRM/Core/Resources.php b/civicrm/CRM/Core/Resources.php
index 0e4485c6ad..6945376e61 100644
--- a/civicrm/CRM/Core/Resources.php
+++ b/civicrm/CRM/Core/Resources.php
@@ -496,27 +496,16 @@ class CRM_Core_Resources implements CRM_Core_Resources_CollectionAdderInterface
    *
    * @return array
    */
-  public static function getEntityRefMetadata() {
+  protected static function getEntityRefMetadata() {
     $data = [
       'filters' => [],
       'links' => [],
     ];
-    $config = CRM_Core_Config::singleton();
-
-    $disabledComponents = [];
-    $dao = CRM_Core_DAO::executeQuery("SELECT name, namespace FROM civicrm_component");
-    while ($dao->fetch()) {
-      if (!in_array($dao->name, $config->enableComponents)) {
-        $disabledComponents[$dao->name] = $dao->namespace;
-      }
-    }
 
     foreach (CRM_Core_DAO_AllCoreTables::daoToClass() as $entity => $daoName) {
       // Skip DAOs of disabled components
-      foreach ($disabledComponents as $nameSpace) {
-        if (strpos($daoName, $nameSpace) === 0) {
-          continue 2;
-        }
+      if (defined("$daoName::COMPONENT") && !CRM_Core_Component::isEnabled($daoName::COMPONENT)) {
+        continue;
       }
       $baoName = str_replace('_DAO_', '_BAO_', $daoName);
       if (class_exists($baoName)) {
@@ -580,7 +569,7 @@ class CRM_Core_Resources implements CRM_Core_Resources_CollectionAdderInterface
   }
 
   /**
-   * @param string|NULL $region
+   * @param string|null $region
    *   Optional request for a specific region. If NULL/omitted, use global default.
    * @return \CRM_Core_Region
    */
diff --git a/civicrm/CRM/Core/Resources/Bundle.php b/civicrm/CRM/Core/Resources/Bundle.php
index 3c1124f54c..5bc3252076 100644
--- a/civicrm/CRM/Core/Resources/Bundle.php
+++ b/civicrm/CRM/Core/Resources/Bundle.php
@@ -29,8 +29,8 @@ class CRM_Core_Resources_Bundle implements CRM_Core_Resources_CollectionInterfac
   public $name;
 
   /**
-   * @param string|NULL $name
-   * @param string[]|NULL $types
+   * @param string|null $name
+   * @param string[]|null $types
    *   List of resource-types to permit in this bundle. NULL for a default list.
    *   Ex: ['styleFile', 'styleUrl']
    *   The following aliases are allowed: '*all*', '*default*', '*script*', '*style*'
diff --git a/civicrm/CRM/Core/Resources/Common.php b/civicrm/CRM/Core/Resources/Common.php
index 68b2704632..d62b096a91 100644
--- a/civicrm/CRM/Core/Resources/Common.php
+++ b/civicrm/CRM/Core/Resources/Common.php
@@ -26,7 +26,7 @@ class CRM_Core_Resources_Common {
    *
    * @param string $name
    *   Symbolic name of the bundle.
-   * @param callable|NULL $init
+   * @param callable|null $init
    *   Optional initialization function. Populate default resources.
    *   Signature: `function($bundle): void`
    *   Example: `function myinit($b) { $b->addScriptFile(...)->addStyleFile(...); }`
diff --git a/civicrm/CRM/Core/SelectValues.php b/civicrm/CRM/Core/SelectValues.php
index 4dbdc153c9..c15c14f662 100644
--- a/civicrm/CRM/Core/SelectValues.php
+++ b/civicrm/CRM/Core/SelectValues.php
@@ -1037,7 +1037,7 @@ class CRM_Core_SelectValues {
     ];
     $custom = civicrm_api3('CustomField', 'get', [
       'return' => ['name', 'label', 'custom_group_id.title'],
-      'custom_group_id.extends' => ['IN' => ['Contact', 'Individual', 'Organization', 'Household']],
+      'custom_group_id.extends' => ['IN' => array_merge(['Contact'], CRM_Contact_BAO_ContactType::basicTypes())],
       'data_type' => ['NOT IN' => ['ContactReference', 'Date', 'File']],
       'custom_group_id.is_active' => 1,
       'is_active' => 1,
@@ -1111,4 +1111,22 @@ class CRM_Core_SelectValues {
     ];
   }
 
+  public static function timezone() {
+    $tzlist = &Civi::$statics[__CLASS__]['tzlist'];
+
+    if (is_null($tzlist)) {
+      $tzlist = [];
+      foreach (timezone_identifiers_list() as $tz) {
+        // Actual timezone keys for PHP are mapped to human parts.
+        $tzlist[$tz] = str_replace('_', ' ', $tz);
+      }
+
+      // Add 'Etc/UTC' specially, as timezone_identifiers_list() does
+      // not include it, but it is the IANA long name for 'UTC'
+      $tzlist['Etc/UTC'] = ts('Etc/UTC');
+    }
+
+    return $tzlist;
+  }
+
 }
diff --git a/civicrm/CRM/Core/Selector/Controller.php b/civicrm/CRM/Core/Selector/Controller.php
index 66dd528f0b..05e1e09a90 100644
--- a/civicrm/CRM/Core/Selector/Controller.php
+++ b/civicrm/CRM/Core/Selector/Controller.php
@@ -110,7 +110,9 @@ class CRM_Core_Selector_Controller {
    * Are we in print mode? if so we need to modify the display
    * functionality to do a minimal display :)
    *
-   * @var bool
+   * @var int|string
+   *   Should match a CRM_Core_Smarty::PRINT_* constant,
+   *   or equal 0 if not in print mode
    */
   protected $_print = FALSE;
 
@@ -516,7 +518,9 @@ class CRM_Core_Selector_Controller {
   /**
    * Setter for print.
    *
-   * @param bool $print
+   * @param int|string $print
+   *   Should match a CRM_Core_Smarty::PRINT_* constant,
+   *   or equal 0 if not in print mode
    *
    * @return void
    */
@@ -527,8 +531,9 @@ class CRM_Core_Selector_Controller {
   /**
    * Getter for print.
    *
-   * @return bool
-   *   return the print value
+   * @return int|string
+   *   Value matching a CRM_Core_Smarty::PRINT_* constant,
+   *   or 0 if not in print mode
    */
   public function getPrint() {
     return $this->_print;
diff --git a/civicrm/CRM/Core/ShowHideBlocks.php b/civicrm/CRM/Core/ShowHideBlocks.php
index 9166682c09..8c490ac43a 100644
--- a/civicrm/CRM/Core/ShowHideBlocks.php
+++ b/civicrm/CRM/Core/ShowHideBlocks.php
@@ -33,9 +33,9 @@ class CRM_Core_ShowHideBlocks {
   /**
    * Class constructor.
    *
-   * @param array $show
+   * @param array|null $show
    *   Initial value of show array.
-   * @param array $hide
+   * @param array|null $hide
    *   Initial value of hide array.
    *
    * @return \CRM_Core_ShowHideBlocks the newly created object
diff --git a/civicrm/CRM/Core/Smarty.php b/civicrm/CRM/Core/Smarty.php
index 49a40a4fe3..bcd9c69d91 100644
--- a/civicrm/CRM/Core/Smarty.php
+++ b/civicrm/CRM/Core/Smarty.php
@@ -63,15 +63,6 @@ class CRM_Core_Smarty extends Smarty {
    */
   private $backupFrames = [];
 
-  /**
-   * Class constructor.
-   *
-   * @return CRM_Core_Smarty
-   */
-  public function __construct() {
-    parent::__construct();
-  }
-
   private function initialize() {
     $config = CRM_Core_Config::singleton();
 
diff --git a/civicrm/CRM/Core/Smarty/Permissions.php b/civicrm/CRM/Core/Smarty/Permissions.php
index 47229be394..a058ad4fc3 100644
--- a/civicrm/CRM/Core/Smarty/Permissions.php
+++ b/civicrm/CRM/Core/Smarty/Permissions.php
@@ -7,7 +7,7 @@ class CRM_Core_Smarty_Permissions {
 
   /**
    * non-static adapter for CRM_Core_Permission::check
-   * @param $offset
+   * @param string|array $offset
    *
    * @return bool
    */
diff --git a/civicrm/CRM/Core/Smarty/plugins/modifier.print_array.php b/civicrm/CRM/Core/Smarty/plugins/modifier.print_array.php
index 8ec0cc4035..1d1b63a6c7 100644
--- a/civicrm/CRM/Core/Smarty/plugins/modifier.print_array.php
+++ b/civicrm/CRM/Core/Smarty/plugins/modifier.print_array.php
@@ -23,8 +23,8 @@
  * Purpose:  formats array for output in DAO files and in APIv3 Examples
  * To find where this is used do a grep in Smarty templates for |@print_array
  * @param array|object $var
- * @param integer $depth
- * @param integer $length
+ * @param int $depth
+ * @param int $length
  * @return string
  */
 function smarty_modifier_print_array($var, $depth = 0, $length = 40) {
diff --git a/civicrm/CRM/Core/Transaction.php b/civicrm/CRM/Core/Transaction.php
index f12c57964a..23c6500bdc 100644
--- a/civicrm/CRM/Core/Transaction.php
+++ b/civicrm/CRM/Core/Transaction.php
@@ -223,12 +223,12 @@ class CRM_Core_Transaction {
    *
    * @param int $phase
    *   A constant; one of: self::PHASE_{PRE,POST}_{COMMIT,ROLLBACK}.
-   * @param string $callback
+   * @param callable $callback
    *   A PHP callback.
    * @param mixed $params
    *   Optional values to pass to callback.
    *          See php manual call_user_func_array for details.
-   * @param int $id
+   * @param string|int|null $id
    */
   public static function addCallback($phase, $callback, $params = NULL, $id = NULL) {
     $frame = \Civi\Core\Transaction\Manager::singleton()->getBaseFrame();
diff --git a/civicrm/CRM/Core/xml/Menu/Admin.xml b/civicrm/CRM/Core/xml/Menu/Admin.xml
index be6af284ad..596018228a 100644
--- a/civicrm/CRM/Core/xml/Menu/Admin.xml
+++ b/civicrm/CRM/Core/xml/Menu/Admin.xml
@@ -10,6 +10,21 @@
      <access_arguments>administer CiviCRM data</access_arguments>
      <weight>10</weight>
   </item>
+  <item>
+     <path>civicrm/admin/custom/group/edit</path>
+     <title>Configure Custom Set</title>
+     <page_callback>CRM_Custom_Form_Group</page_callback>
+  </item>
+  <item>
+     <path>civicrm/admin/custom/group/preview</path>
+     <title>Custom Field Preview</title>
+     <page_callback>CRM_Custom_Form_Preview</page_callback>
+  </item>
+  <item>
+     <path>civicrm/admin/custom/group/delete</path>
+     <title>Delete Custom Set</title>
+     <page_callback>CRM_Custom_Form_DeleteGroup</page_callback>
+  </item>
   <item>
      <path>civicrm/admin/custom/group/field</path>
      <title>Custom Data Fields</title>
@@ -17,6 +32,11 @@
      <skipBreadcrumb>true</skipBreadcrumb>
      <weight>11</weight>
   </item>
+  <item>
+    <path>civicrm/admin/custom/group/field/delete</path>
+    <title>Delete Custom Field</title>
+    <page_callback>CRM_Custom_Form_DeleteField</page_callback>
+  </item>
   <item>
      <path>civicrm/admin/custom/group/field/option</path>
      <title>Custom Field - Options</title>
diff --git a/civicrm/CRM/Custom/Form/DeleteField.php b/civicrm/CRM/Custom/Form/DeleteField.php
index 993ed6138e..7793b9ac39 100644
--- a/civicrm/CRM/Custom/Form/DeleteField.php
+++ b/civicrm/CRM/Custom/Form/DeleteField.php
@@ -41,7 +41,7 @@ class CRM_Custom_Form_DeleteField extends CRM_Core_Form {
    * @access protected
    */
   public function preProcess() {
-    $this->_id = $this->get('id');
+    $this->_id = CRM_Utils_Request::retrieve('id', 'Positive', $this, TRUE);
 
     $defaults = [];
     $params = ['id' => $this->_id];
diff --git a/civicrm/CRM/Custom/Form/DeleteGroup.php b/civicrm/CRM/Custom/Form/DeleteGroup.php
index d3b9169fb0..1fed29e919 100644
--- a/civicrm/CRM/Custom/Form/DeleteGroup.php
+++ b/civicrm/CRM/Custom/Form/DeleteGroup.php
@@ -41,7 +41,7 @@ class CRM_Custom_Form_DeleteGroup extends CRM_Core_Form {
    * @access protected
    */
   public function preProcess() {
-    $this->_id = $this->get('id');
+    $this->_id = CRM_Utils_Request::retrieve('id', 'Positive', $this, TRUE);
 
     $defaults = [];
     $params = ['id' => $this->_id];
diff --git a/civicrm/CRM/Custom/Form/Field.php b/civicrm/CRM/Custom/Form/Field.php
index d766c9248d..3a4db3b7e5 100644
--- a/civicrm/CRM/Custom/Form/Field.php
+++ b/civicrm/CRM/Custom/Form/Field.php
@@ -78,8 +78,8 @@ class CRM_Custom_Form_Field extends CRM_Core_Form {
    * @return void
    */
   public function preProcess() {
-    //custom field id
     $this->_id = CRM_Utils_Request::retrieve('id', 'Positive', $this);
+    $this->setAction($this->_id ? CRM_Core_Action::UPDATE : CRM_Core_Action::ADD);
 
     $this->assign('dataToHTML', self::$_dataToHTML);
 
@@ -97,13 +97,13 @@ class CRM_Custom_Form_Field extends CRM_Core_Form {
       $this->_gid = CRM_Utils_Request::retrieve('gid', 'Positive', $this);
     }
 
-    if ($isReserved = CRM_Core_DAO::getFieldValue('CRM_Core_DAO_CustomGroup', $this->_gid, 'is_reserved', 'id')) {
+    if (CRM_Core_DAO::getFieldValue('CRM_Core_DAO_CustomGroup', $this->_gid, 'is_reserved')) {
       CRM_Core_Error::statusBounce("You cannot add or edit fields in a reserved custom field-set.");
     }
 
     if ($this->_gid) {
       $url = CRM_Utils_System::url('civicrm/admin/custom/group/field',
-        "reset=1&action=browse&gid={$this->_gid}"
+        "reset=1&gid={$this->_gid}"
       );
 
       $session = CRM_Core_Session::singleton();
@@ -192,8 +192,8 @@ class CRM_Custom_Form_Field extends CRM_Core_Form {
     if ($this->_gid) {
       $this->_title = CRM_Core_DAO::getFieldValue('CRM_Core_DAO_CustomGroup', $this->_gid, 'title');
       $this->setTitle($this->_title . ' - ' . ($this->_id ? ts('Edit Field') : ts('New Field')));
-      $this->assign('gid', $this->_gid);
     }
+    $this->assign('gid', $this->_gid);
 
     // lets trim all the whitespace
     $this->applyFilter('__ALL__', 'trim');
@@ -300,7 +300,7 @@ class CRM_Custom_Form_Field extends CRM_Core_Form {
 
     // form fields of Custom Option rows
     $defaultOption = [];
-    $_showHide = new CRM_Core_ShowHideBlocks('', '');
+    $_showHide = new CRM_Core_ShowHideBlocks();
     for ($i = 1; $i <= self::NUM_OPTION; $i++) {
 
       //the show hide blocks
@@ -476,7 +476,7 @@ class CRM_Custom_Form_Field extends CRM_Core_Form {
     // if view mode pls freeze it with the done button.
     if ($this->_action & CRM_Core_Action::VIEW) {
       $this->freeze();
-      $url = CRM_Utils_System::url('civicrm/admin/custom/group/field', 'reset=1&action=browse&gid=' . $this->_gid);
+      $url = CRM_Utils_System::url('civicrm/admin/custom/group/field', 'reset=1&gid=' . $this->_gid);
       $this->addElement('xbutton',
         'done',
         ts('Done'),
@@ -495,7 +495,7 @@ class CRM_Custom_Form_Field extends CRM_Core_Form {
    *   Posted values of the form.
    *
    * @param $files
-   * @param $self
+   * @param self $self
    *
    * @return array
    *   if errors then list of errors to be posted back to the form,
@@ -626,7 +626,7 @@ SELECT count(*)
      *  Incomplete row checking is also required.
      */
     $_flagOption = $_rowError = 0;
-    $_showHide = new CRM_Core_ShowHideBlocks('', '');
+    $_showHide = new CRM_Core_ShowHideBlocks();
     $htmlType = $fields['html_type'];
 
     if (isset($fields['option_type']) && $fields['option_type'] == 1) {
@@ -892,12 +892,12 @@ AND    option_group_id = %2";
     if ($buttonName == $this->getButtonName('next', 'new')) {
       $msg .= '<p>' . ts("Ready to add another.") . '</p>';
       $session->replaceUserContext(CRM_Utils_System::url('civicrm/admin/custom/group/field/add',
-        'reset=1&action=add&gid=' . $this->_gid
+        'reset=1&gid=' . $this->_gid
       ));
     }
     else {
       $session->replaceUserContext(CRM_Utils_System::url('civicrm/admin/custom/group/field',
-        'reset=1&action=browse&gid=' . $this->_gid
+        'reset=1&gid=' . $this->_gid
       ));
     }
     $session->setStatus($msg, ts('Saved'), 'success');
diff --git a/civicrm/CRM/Custom/Form/Group.php b/civicrm/CRM/Custom/Form/Group.php
index 1d9db272ed..46dde5f9b2 100644
--- a/civicrm/CRM/Custom/Form/Group.php
+++ b/civicrm/CRM/Custom/Form/Group.php
@@ -51,25 +51,16 @@ class CRM_Custom_Form_Group extends CRM_Core_Form {
     Civi::resources()->addScriptFile('civicrm', 'js/jquery/jquery.crmIconPicker.js');
 
     // current set id
-    $this->_id = $this->get('id');
+    $this->_id = CRM_Utils_Request::retrieve('id', 'Positive', $this);
+    $this->setAction($this->_id ? CRM_Core_Action::UPDATE : CRM_Core_Action::ADD);
 
-    if ($this->_id && $isReserved = CRM_Core_DAO::getFieldValue('CRM_Core_DAO_CustomGroup', $this->_id, 'is_reserved', 'id')) {
+    if ($this->_id && CRM_Core_DAO::getFieldValue('CRM_Core_DAO_CustomGroup', $this->_id, 'is_reserved', 'id')) {
       CRM_Core_Error::statusBounce("You cannot edit the settings of a reserved custom field-set.");
     }
-    // setting title for html page
-    if ($this->_action == CRM_Core_Action::UPDATE) {
+
+    if ($this->_id) {
       $title = CRM_Core_BAO_CustomGroup::getTitle($this->_id);
       $this->setTitle(ts('Edit %1', [1 => $title]));
-    }
-    elseif ($this->_action == CRM_Core_Action::VIEW) {
-      $title = CRM_Core_BAO_CustomGroup::getTitle($this->_id);
-      $this->setTitle(ts('Preview %1', [1 => $title]));
-    }
-    else {
-      $this->setTitle(ts('New Custom Field Set'));
-    }
-
-    if (isset($this->_id)) {
       $params = ['id' => $this->_id];
       CRM_Core_BAO_CustomGroup::retrieve($params, $this->_defaults);
 
@@ -78,6 +69,9 @@ class CRM_Custom_Form_Group extends CRM_Core_Form {
         $this->_subtypes = explode(CRM_Core_DAO::VALUE_SEPARATOR, substr($subExtends, 1, -1));
       }
     }
+    else {
+      $this->setTitle(ts('New Custom Field Set'));
+    }
   }
 
   /**
@@ -87,7 +81,7 @@ class CRM_Custom_Form_Group extends CRM_Core_Form {
    *   The input form values.
    * @param array $files
    *   The uploaded files if any.
-   * @param $self
+   * @param self $self
    *
    *
    * @return bool|array
@@ -172,7 +166,7 @@ class CRM_Custom_Form_Group extends CRM_Core_Form {
     $this->add('text', 'title', ts('Set Name'), $attributes['title'], TRUE);
 
     //Fix for code alignment, CRM-3058
-    $contactTypes = ['Contact', 'Individual', 'Household', 'Organization'];
+    $contactTypes = array_merge(['Contact'], CRM_Contact_BAO_ContactType::basicTypes());
     $this->assign('contactTypes', json_encode($contactTypes));
 
     $sel1 = ["" => ts("- select -")] + CRM_Core_SelectValues::customGroupExtends();
@@ -187,26 +181,13 @@ class CRM_Custom_Form_Group extends CRM_Core_Form {
       }
     }
 
-    $cSubTypes = CRM_Core_Component::contactSubTypes();
+    if (!isset($this->_id)) {
+      $formName = 'document.forms.' . $this->_name;
 
-    if (!empty($cSubTypes)) {
-      $contactSubTypes = [];
-      foreach ($cSubTypes as $key => $value) {
-        $contactSubTypes[$key] = $key;
-      }
-      $sel2['Contact'] = [
-        "" => ("- Any -"),
-      ] + $contactSubTypes;
-    }
-    else {
-      if (!isset($this->_id)) {
-        $formName = 'document.forms.' . $this->_name;
-
-        $js = "<script type='text/javascript'>\n";
-        $js .= "{$formName}['extends_1'].style.display = 'none';\n";
-        $js .= "</script>";
-        $this->assign('initHideBlocks', $js);
-      }
+      $js = "<script type='text/javascript'>\n";
+      $js .= "{$formName}['extends_1'].style.display = 'none';\n";
+      $js .= "</script>";
+      $this->assign('initHideBlocks', $js);
     }
 
     $sel = &$this->add('hierselect',
@@ -317,15 +298,6 @@ class CRM_Custom_Form_Group extends CRM_Core_Form {
       $buttons[0]['class'] = 'crm-warnDataLoss';
     }
     $this->addButtons($buttons);
-
-    // TODO: Is this condition ever true? Can this code be removed?
-    if ($this->_action & CRM_Core_Action::VIEW) {
-      $this->freeze();
-      $this->addElement('xbutton', 'done', ts('Done'), [
-        'type' => 'button',
-        'onclick' => "location.href='civicrm/admin/custom/group?reset=1&action=browse'",
-      ]);
-    }
   }
 
   /**
@@ -427,7 +399,7 @@ class CRM_Custom_Form_Group extends CRM_Core_Form {
     else {
       // Jump directly to adding a field if popups are disabled
       $action = CRM_Core_Resources::singleton()->ajaxPopupsEnabled ? '' : '/add';
-      $url = CRM_Utils_System::url("civicrm/admin/custom/group/field$action", 'reset=1&new=1&gid=' . $group['id'] . '&action=' . ($action ? 'add' : 'browse'));
+      $url = CRM_Utils_System::url("civicrm/admin/custom/group/field$action", 'reset=1&new=1&gid=' . $group['id']);
       CRM_Core_Session::setStatus(ts("Your custom field set '%1' has been added. You can add custom fields now.",
         [1 => $group['title']]
       ), ts('Saved'), 'success');
diff --git a/civicrm/CRM/Custom/Form/MoveField.php b/civicrm/CRM/Custom/Form/MoveField.php
index 0dcd317734..59d2af4eb9 100644
--- a/civicrm/CRM/Custom/Form/MoveField.php
+++ b/civicrm/CRM/Custom/Form/MoveField.php
@@ -125,7 +125,7 @@ class CRM_Custom_Form_MoveField extends CRM_Core_Form {
   /**
    * @param $fields
    * @param $files
-   * @param $self
+   * @param self $self
    *
    * @return array|bool
    */
diff --git a/civicrm/CRM/Custom/Form/Preview.php b/civicrm/CRM/Custom/Form/Preview.php
index 102712d94d..7d59ba1828 100644
--- a/civicrm/CRM/Custom/Form/Preview.php
+++ b/civicrm/CRM/Custom/Form/Preview.php
@@ -25,6 +25,16 @@
  */
 class CRM_Custom_Form_Preview extends CRM_Core_Form {
 
+  /**
+   * @var int
+   */
+  protected $_groupId;
+
+  /**
+   * @var int
+   */
+  protected $_fieldId;
+
   /**
    * The group tree data.
    *
@@ -40,15 +50,15 @@ class CRM_Custom_Form_Preview extends CRM_Core_Form {
    * @return void
    */
   public function preProcess() {
-    // get the controller vars
-    $this->_groupId = $this->get('groupId');
-    $this->_fieldId = $this->get('fieldId');
+    // Get field id if previewing a single field
+    $this->_fieldId = CRM_Utils_Request::retrieve('fid', 'Positive', $this);
+
+    // Single field preview
     if ($this->_fieldId) {
-      // field preview
       $defaults = [];
       $params = ['id' => $this->_fieldId];
-      $fieldDAO = new CRM_Core_DAO_CustomField();
       CRM_Core_DAO::commonRetrieve('CRM_Core_DAO_CustomField', $params, $defaults);
+      $this->_groupId = $defaults['custom_group_id'];
 
       if (!empty($defaults['is_view'])) {
         CRM_Core_Error::statusBounce(ts('This field is view only so it will not display on edit form.'));
@@ -64,7 +74,9 @@ class CRM_Custom_Form_Preview extends CRM_Core_Form {
       $this->_groupTree = CRM_Core_BAO_CustomGroup::formatGroupTree($groupTree, 1, $this);
       $this->assign('preview_type', 'field');
     }
+    // Group preview
     else {
+      $this->_groupId = CRM_Utils_Request::retrieve('gid', 'Positive', $this, TRUE);
       $groupTree = CRM_Core_BAO_CustomGroup::getGroupDetail($this->_groupId);
       $this->_groupTree = CRM_Core_BAO_CustomGroup::formatGroupTree($groupTree, TRUE, $this);
       $this->assign('preview_type', 'group');
diff --git a/civicrm/CRM/Custom/Import/Parser/Api.php b/civicrm/CRM/Custom/Import/Parser/Api.php
index bff037f88f..28320ca624 100644
--- a/civicrm/CRM/Custom/Import/Parser/Api.php
+++ b/civicrm/CRM/Custom/Import/Parser/Api.php
@@ -195,7 +195,7 @@ class CRM_Custom_Import_Parser_Api extends CRM_Custom_Import_Parser {
    * @param array $formatted
    *   Array of formatted data.
    */
-  public function formatCommonData($params, &$formatted) {
+  private function formatCommonData($params, &$formatted) {
 
     $customFields = CRM_Core_BAO_CustomField::getFields(NULL);
 
diff --git a/civicrm/CRM/Custom/Page/Field.php b/civicrm/CRM/Custom/Page/Field.php
index 58c44f7525..b11cd85b18 100644
--- a/civicrm/CRM/Custom/Page/Field.php
+++ b/civicrm/CRM/Custom/Page/Field.php
@@ -64,8 +64,8 @@ class CRM_Custom_Page_Field extends CRM_Core_Page {
         ],
         CRM_Core_Action::PREVIEW => [
           'name' => ts('Preview Field Display'),
-          'url' => 'civicrm/admin/custom/group/field',
-          'qs' => 'action=preview&reset=1&gid=%%gid%%&id=%%id%%',
+          'url' => 'civicrm/admin/custom/group/preview',
+          'qs' => 'action=preview&reset=1&fid=%%id%%',
           'title' => ts('Preview Custom Field'),
         ],
         CRM_Core_Action::DISABLE => [
@@ -87,8 +87,8 @@ class CRM_Custom_Page_Field extends CRM_Core_Page {
         ],
         CRM_Core_Action::DELETE => [
           'name' => ts('Delete'),
-          'url' => 'civicrm/admin/custom/group/field',
-          'qs' => 'action=delete&reset=1&gid=%%gid%%&id=%%id%%',
+          'url' => 'civicrm/admin/custom/group/field/delete',
+          'qs' => 'reset=1&id=%%id%%',
           'title' => ts('Delete Custom Field'),
         ],
       ];
@@ -174,30 +174,6 @@ class CRM_Custom_Page_Field extends CRM_Core_Page {
     $this->assign('customField', $customField);
   }
 
-  /**
-   * Edit custom data.
-   *
-   * editing would involved modifying existing fields + adding data to new fields.
-   *
-   * @param string $action
-   *   The action to be invoked.
-   *
-   * @return void
-   */
-  public function edit($action) {
-    // create a simple controller for editing custom dataCRM/Custom/Page/Field.php
-    $controller = new CRM_Core_Controller_Simple('CRM_Custom_Form_Field', ts('Custom Field'), $action);
-
-    // set the userContext stack
-    $session = CRM_Core_Session::singleton();
-    $session->pushUserContext(CRM_Utils_System::url('civicrm/admin/custom/group/field', 'reset=1&action=browse&gid=' . $this->_gid));
-
-    $controller->set('gid', $this->_gid);
-    $controller->setEmbedded(TRUE);
-    $controller->process();
-    $controller->run();
-  }
-
   /**
    * Run the page.
    *
@@ -207,92 +183,22 @@ class CRM_Custom_Page_Field extends CRM_Core_Page {
    * @return void
    */
   public function run() {
+    $this->_gid = CRM_Utils_Request::retrieve('gid', 'Positive', $this, TRUE);
 
-    $id = CRM_Utils_Request::retrieve('id', 'Positive',
-      $this, FALSE, 0
-    );
-
-    if ($id) {
-      $values = civicrm_api3('custom_field', 'getsingle', ['id' => $id]);
-      $this->_gid = $values['custom_group_id'];
-    }
-    // get the group id
-    else {
-      $this->_gid = CRM_Utils_Request::retrieve('gid', 'Positive',
-        $this
-      );
-    }
-
-    if ($isReserved = CRM_Core_DAO::getFieldValue('CRM_Core_DAO_CustomGroup', $this->_gid, 'is_reserved', 'id')) {
+    if (CRM_Core_DAO::getFieldValue('CRM_Core_DAO_CustomGroup', $this->_gid, 'is_reserved')) {
       CRM_Core_Error::statusBounce("You cannot add or edit fields in a reserved custom field-set.");
     }
 
-    $action = CRM_Utils_Request::retrieve('action', 'String',
-      // default to 'browse'
-      $this, FALSE, 'browse'
-    );
-
-    if ($action & CRM_Core_Action::DELETE) {
-
-      $session = CRM_Core_Session::singleton();
-      $session->pushUserContext(CRM_Utils_System::url('civicrm/admin/custom/group/field', 'reset=1&action=browse&gid=' . $this->_gid));
-      $controller = new CRM_Core_Controller_Simple('CRM_Custom_Form_DeleteField', "Delete Custom Field", '');
-      $id = CRM_Utils_Request::retrieve('id', 'Positive',
-        $this, FALSE, 0
-      );
-      $controller->set('id', $id);
-      $controller->setEmbedded(TRUE);
-      $controller->process();
-      $controller->run();
-      $fieldValues = ['custom_group_id' => $this->_gid];
-      $wt = CRM_Utils_Weight::delWeight('CRM_Core_DAO_CustomField', $id, $fieldValues);
-    }
-
-    if ($this->_gid) {
-      $groupTitle = CRM_Core_BAO_CustomGroup::getTitle($this->_gid);
-      $this->assign('gid', $this->_gid);
-      $this->assign('groupTitle', $groupTitle);
-      if ($action & CRM_Core_Action::BROWSE) {
-        CRM_Utils_System::setTitle(ts('%1 - Custom Fields', [1 => $groupTitle]));
-      }
-    }
+    $groupTitle = CRM_Core_BAO_CustomGroup::getTitle($this->_gid);
+    $this->assign('gid', $this->_gid);
+    $this->assign('groupTitle', $groupTitle);
 
     // assign vars to templates
-    $this->assign('action', $action);
+    $this->assign('action', 'browse');
 
-    // what action to take ?
-    if ($action & (CRM_Core_Action::UPDATE | CRM_Core_Action::ADD)) {
-      // no browse for edit/update/view
-      $this->edit($action);
-    }
-    elseif ($action & CRM_Core_Action::PREVIEW) {
-      $this->preview($id);
-    }
-    else {
-      $this->browse();
-    }
+    $this->browse();
 
-    // Call the parents run method
     return parent::run();
   }
 
-  /**
-   * Preview custom field.
-   *
-   * @param int $id
-   *   Custom field id.
-   *
-   * @return void
-   */
-  public function preview($id) {
-    $controller = new CRM_Core_Controller_Simple('CRM_Custom_Form_Preview', ts('Preview Custom Data'), CRM_Core_Action::PREVIEW);
-    $session = CRM_Core_Session::singleton();
-    $session->pushUserContext(CRM_Utils_System::url('civicrm/admin/custom/group/field', 'reset=1&action=browse&gid=' . $this->_gid));
-    $controller->set('fieldId', $id);
-    $controller->set('groupId', $this->_gid);
-    $controller->setEmbedded(TRUE);
-    $controller->process();
-    $controller->run();
-  }
-
 }
diff --git a/civicrm/CRM/Custom/Page/Group.php b/civicrm/CRM/Custom/Page/Group.php
index e462099b67..919e5260e2 100644
--- a/civicrm/CRM/Custom/Page/Group.php
+++ b/civicrm/CRM/Custom/Page/Group.php
@@ -51,13 +51,13 @@ class CRM_Custom_Page_Group extends CRM_Core_Page {
         ],
         CRM_Core_Action::PREVIEW => [
           'name' => ts('Preview'),
-          'url' => 'civicrm/admin/custom/group',
-          'qs' => 'action=preview&reset=1&id=%%id%%',
+          'url' => 'civicrm/admin/custom/group/preview',
+          'qs' => 'reset=1&gid=%%id%%',
           'title' => ts('Preview Custom Data Set'),
         ],
         CRM_Core_Action::UPDATE => [
           'name' => ts('Settings'),
-          'url' => 'civicrm/admin/custom/group',
+          'url' => 'civicrm/admin/custom/group/edit',
           'qs' => 'action=update&reset=1&id=%%id%%',
           'title' => ts('Edit Custom Set'),
         ],
@@ -73,8 +73,8 @@ class CRM_Custom_Page_Group extends CRM_Core_Page {
         ],
         CRM_Core_Action::DELETE => [
           'name' => ts('Delete'),
-          'url' => 'civicrm/admin/custom/group',
-          'qs' => 'action=delete&reset=1&id=%%id%%',
+          'url' => 'civicrm/admin/custom/group/delete',
+          'qs' => 'reset=1&id=%%id%%',
           'title' => ts('Delete Custom Set'),
         ],
       ];
@@ -83,104 +83,17 @@ class CRM_Custom_Page_Group extends CRM_Core_Page {
   }
 
   /**
-   * Run the page.
-   *
-   * This method is called after the page is created. It checks for the
-   * type of action and executes that action.
-   * Finally it calls the parent's run method.
-   *
    * @return void
    */
   public function run() {
-    // get the requested action
-    $action = CRM_Utils_Request::retrieve('action', 'String',
-      // default to 'browse'
-      $this, FALSE, 'browse'
-    );
-
-    if ($action & CRM_Core_Action::DELETE) {
-      $session = CRM_Core_Session::singleton();
-      $session->pushUserContext(CRM_Utils_System::url('civicrm/admin/custom/group/', 'action=browse'));
-      $controller = new CRM_Core_Controller_Simple('CRM_Custom_Form_DeleteGroup', "Delete Cutom Set", NULL);
-      $id = CRM_Utils_Request::retrieve('id', 'Positive',
-        $this, FALSE, 0
-      );
-      $controller->set('id', $id);
-      $controller->setEmbedded(TRUE);
-      $controller->process();
-      $controller->run();
-    }
-    // assign vars to templates
-    $this->assign('action', $action);
-    $id = CRM_Utils_Request::retrieve('id', 'Positive',
-      $this, FALSE, 0
-    );
-
-    // what action to take ?
-    if ($action & (CRM_Core_Action::UPDATE | CRM_Core_Action::ADD)) {
-      $this->edit($id, $action);
-    }
-    elseif ($action & CRM_Core_Action::PREVIEW) {
-      $this->preview($id);
-    }
-    else {
-      // finally browse the custom groups
-      $this->browse();
-    }
-    // parent run
+    $this->browse();
     return parent::run();
   }
 
-  /**
-   * Edit custom group.
-   *
-   * @param int $id
-   *   Custom group id.
-   * @param string $action
-   *   The action to be invoked.
-   *
-   * @return void
-   */
-  public function edit($id, $action) {
-    // create a simple controller for editing custom data
-    $controller = new CRM_Core_Controller_Simple('CRM_Custom_Form_Group', ts('Custom Set'), $action);
-
-    // set the userContext stack
-    $session = CRM_Core_Session::singleton();
-    $session->pushUserContext(CRM_Utils_System::url('civicrm/admin/custom/group/', 'action=browse'));
-    $controller->set('id', $id);
-    $controller->setEmbedded(TRUE);
-    $controller->process();
-    $controller->run();
-  }
-
-  /**
-   * Preview custom group.
-   *
-   * @param int $id
-   *   Custom group id.
-   *
-   * @return void
-   */
-  public function preview($id) {
-    $controller = new CRM_Core_Controller_Simple('CRM_Custom_Form_Preview', ts('Preview Custom Data'), NULL);
-    $session = CRM_Core_Session::singleton();
-    $session->pushUserContext(CRM_Utils_System::url('civicrm/admin/custom/group', 'action=browse'));
-    $controller->set('groupId', $id);
-    $controller->setEmbedded(TRUE);
-    $controller->process();
-    $controller->run();
-  }
-
   /**
    * Browse all custom data groups.
-   *
-   * @param string $action
-   *   The action to be invoked.
-   *
-   * @return void
    */
-  public function browse($action = NULL) {
+  public function browse() {
     // get all custom groups sorted by weight
     $customGroup = [];
     $dao = new CRM_Core_DAO_CustomGroup();
@@ -254,14 +167,7 @@ class CRM_Custom_Page_Group extends CRM_Core_Page {
     }
 
     $subTypes['Relationship'] = $allRelationshipType;
-
-    $cSubTypes = CRM_Core_Component::contactSubTypes();
-    $contactSubTypes = [];
-    foreach ($cSubTypes as $key => $value) {
-      $contactSubTypes[$key] = $key;
-    }
-
-    $subTypes['Contact'] = $contactSubTypes;
+    $subTypes['Contact'] = [];
 
     CRM_Core_BAO_CustomGroup::getExtendedObjectTypes($subTypes);
 
@@ -307,7 +213,7 @@ class CRM_Custom_Page_Group extends CRM_Core_Page {
       }
     }
 
-    $returnURL = CRM_Utils_System::url('civicrm/admin/custom/group', "reset=1&action=browse");
+    $returnURL = CRM_Utils_System::url('civicrm/admin/custom/group');
     CRM_Utils_Weight::addOrder($customGroup, 'CRM_Core_DAO_CustomGroup',
       'id', $returnURL
     );
diff --git a/civicrm/CRM/Cxn/DAO/Cxn.php b/civicrm/CRM/Cxn/DAO/Cxn.php
index e5c70d9f7e..c347beef13 100644
--- a/civicrm/CRM/Cxn/DAO/Cxn.php
+++ b/civicrm/CRM/Cxn/DAO/Cxn.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Cxn/Cxn.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:337dd2bb4d7df6fcf7d74813e2c45bd5)
+ * (GenCodeChecksum:ef4c2d6fa99ceb5d3b6cc29e78d80e42)
  */
 
 /**
@@ -33,77 +33,99 @@ class CRM_Cxn_DAO_Cxn extends CRM_Core_DAO {
   /**
    * Connection ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * Application GUID
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(128))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $app_guid;
 
   /**
    * Application Metadata (JSON)
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $app_meta;
 
   /**
    * Connection GUID
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(128))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $cxn_guid;
 
   /**
    * Shared secret
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $secret;
 
   /**
    * Permissions approved for the service (JSON)
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $perm;
 
   /**
    * Options for the service (JSON)
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $options;
 
   /**
    * Is connection currently enabled?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_active;
 
   /**
    * When was the connection was created.
    *
-   * @var timestamp
+   * @var string
+   *   (SQL type: timestamp)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $created_date;
 
   /**
    * When the connection was created or modified.
    *
-   * @var timestamp
+   * @var string
+   *   (SQL type: timestamp)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $modified_date;
 
   /**
    * The last time the application metadata was fetched.
    *
-   * @var timestamp
+   * @var string
+   *   (SQL type: timestamp)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $fetched_date;
 
diff --git a/civicrm/CRM/Dashlet/Page/Blog.php b/civicrm/CRM/Dashlet/Page/Blog.php
index 6c8cd4e7ac..011e140a05 100644
--- a/civicrm/CRM/Dashlet/Page/Blog.php
+++ b/civicrm/CRM/Dashlet/Page/Blog.php
@@ -86,7 +86,7 @@ class CRM_Dashlet_Page_Blog extends CRM_Core_Page {
   /**
    * Parse a single rss feed.
    *
-   * @param $url
+   * @param string $url
    *
    * @return array|NULL
    *   array of blog items; or NULL if not available
diff --git a/civicrm/CRM/Dashlet/Page/GettingStarted.php b/civicrm/CRM/Dashlet/Page/GettingStarted.php
index c032301c7a..69503748cc 100644
--- a/civicrm/CRM/Dashlet/Page/GettingStarted.php
+++ b/civicrm/CRM/Dashlet/Page/GettingStarted.php
@@ -88,7 +88,7 @@ class CRM_Dashlet_Page_GettingStarted extends CRM_Core_Page {
   /**
    * Get html.
    *
-   * @param $url
+   * @param string $url
    *
    * @return array|NULL
    *   array of gettingStarted items; or NULL if not available
diff --git a/civicrm/CRM/Dedupe/DAO/DedupeException.php b/civicrm/CRM/Dedupe/DAO/DedupeException.php
index b1a96bab87..2679f8349f 100644
--- a/civicrm/CRM/Dedupe/DAO/DedupeException.php
+++ b/civicrm/CRM/Dedupe/DAO/DedupeException.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Dedupe/DedupeException.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:52d33f10e1ffb90a32f65a9fa73ac9b3)
+ * (GenCodeChecksum:b949a5127501b9db455542caf6b3ffa2)
  */
 
 /**
@@ -33,21 +33,27 @@ class CRM_Dedupe_DAO_DedupeException extends CRM_Core_DAO {
   /**
    * Unique dedupe exception id
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * FK to Contact ID
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $contact_id1;
 
   /**
    * FK to Contact ID
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $contact_id2;
 
diff --git a/civicrm/CRM/Dedupe/DAO/DedupeRule.php b/civicrm/CRM/Dedupe/DAO/DedupeRule.php
index b876fe3629..172f3ca1ee 100644
--- a/civicrm/CRM/Dedupe/DAO/DedupeRule.php
+++ b/civicrm/CRM/Dedupe/DAO/DedupeRule.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Dedupe/DedupeRule.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:be34a32d6749dbd8caecac45f2086b61)
+ * (GenCodeChecksum:9b71195adc36b4f65fd3ec21cbe3100d)
  */
 
 /**
@@ -33,14 +33,18 @@ class CRM_Dedupe_DAO_DedupeRule extends CRM_Core_DAO {
   /**
    * Unique dedupe rule id
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * The id of the rule group this rule belongs to
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $dedupe_rule_group_id;
 
@@ -48,6 +52,8 @@ class CRM_Dedupe_DAO_DedupeRule extends CRM_Core_DAO {
    * The name of the table this rule is about
    *
    * @var string
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $rule_table;
 
@@ -55,20 +61,26 @@ class CRM_Dedupe_DAO_DedupeRule extends CRM_Core_DAO {
    * The name of the field of the table referenced in rule_table
    *
    * @var string
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $rule_field;
 
   /**
    * The length of the matching substring
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $rule_length;
 
   /**
    * The weight of the rule
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $rule_weight;
 
diff --git a/civicrm/CRM/Dedupe/DAO/DedupeRuleGroup.php b/civicrm/CRM/Dedupe/DAO/DedupeRuleGroup.php
index 14c9cc4d5d..434f259678 100644
--- a/civicrm/CRM/Dedupe/DAO/DedupeRuleGroup.php
+++ b/civicrm/CRM/Dedupe/DAO/DedupeRuleGroup.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Dedupe/DedupeRuleGroup.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:2168d89d281dc113ef6403af4dc39658)
+ * (GenCodeChecksum:66687eeebbe44a6fca675162a59edaa0)
  */
 
 /**
@@ -33,21 +33,27 @@ class CRM_Dedupe_DAO_DedupeRuleGroup extends CRM_Core_DAO {
   /**
    * Unique dedupe rule group id
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * The type of contacts this group applies to
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(12))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $contact_type;
 
   /**
    * The weight threshold the sum of the rule weights has to cross to consider two contacts the same
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $threshold;
 
@@ -55,27 +61,35 @@ class CRM_Dedupe_DAO_DedupeRuleGroup extends CRM_Core_DAO {
    * Whether the rule should be used for cases where usage is Unsupervised, Supervised OR General(programatically)
    *
    * @var string
+   *   (SQL type: varchar(12))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $used;
 
   /**
    * Name of the rule group
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $name;
 
   /**
    * Label of the rule group
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $title;
 
   /**
    * Is this a reserved rule - a rule group that has been optimized and cannot be changed by the admin
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_reserved;
 
diff --git a/civicrm/CRM/Dedupe/Merger.php b/civicrm/CRM/Dedupe/Merger.php
index 8e32171339..152273f992 100644
--- a/civicrm/CRM/Dedupe/Merger.php
+++ b/civicrm/CRM/Dedupe/Merger.php
@@ -102,7 +102,7 @@ class CRM_Dedupe_Merger {
         'rel_table_custom_groups' => [
           'title' => ts('Custom Groups'),
           'tables' => ['civicrm_custom_group'],
-          'url' => CRM_Utils_System::url('civicrm/admin/custom/group', 'reset=1'),
+          'url' => CRM_Utils_System::url('civicrm/admin/custom/group'),
         ],
         'rel_table_uf_groups' => [
           'title' => ts('Profiles'),
@@ -607,7 +607,7 @@ INNER JOIN  civicrm_membership membership2 ON membership1.membership_type_id = m
     foreach ($sqls as $sql) {
       CRM_Core_DAO::executeQuery($sql, [], TRUE, NULL, TRUE);
     }
-    CRM_Dedupe_Merger::addMembershipToRealtedContacts($mainId);
+    CRM_Dedupe_Merger::addMembershipToRelatedContacts($mainId);
   }
 
   /**
@@ -1093,7 +1093,7 @@ INNER JOIN  civicrm_membership membership2 ON membership1.membership_type_id = m
    *
    * @param bool $checkPermissions
    *   Respect logged in user permissions.
-   * @param bool|NULL $reloadCacheIfEmpty
+   * @param bool|null $reloadCacheIfEmpty
    *  If not set explicitly this is calculated but it is preferred that it be set
    *  per comments on isSelected above.
    *
@@ -1917,7 +1917,7 @@ INNER JOIN  civicrm_membership membership2 ON membership1.membership_type_id = m
    * @throws \CRM_Core_Exception
    * @throws \CiviCRM_API3_Exception
    */
-  public static function addMembershipToRealtedContacts($contactID) {
+  public static function addMembershipToRelatedContacts($contactID) {
     $dao = new CRM_Member_DAO_Membership();
     $dao->contact_id = $contactID;
     $dao->is_test = 0;
@@ -2625,7 +2625,7 @@ INNER JOIN  civicrm_membership membership2 ON membership1.membership_type_id = m
   /**
    * Build up the location block for the contact in dedupe-screen display format.
    *
-   * @param integer $cid
+   * @param int $cid
    * @param array $blockInfo
    * @param string $blockName
    *
diff --git a/civicrm/CRM/Event/BAO/Event.php b/civicrm/CRM/Event/BAO/Event.php
index 1e7f4f75a4..05353468aa 100644
--- a/civicrm/CRM/Event/BAO/Event.php
+++ b/civicrm/CRM/Event/BAO/Event.php
@@ -15,13 +15,7 @@
  * @copyright CiviCRM LLC https://civicrm.org/licensing
  */
 class CRM_Event_BAO_Event extends CRM_Event_DAO_Event {
-
-  /**
-   * Class constructor.
-   */
-  public function __construct() {
-    parent::__construct();
-  }
+  const tz_fields = ['event_start_date', 'event_end_date', 'start_date', 'end_date', 'registration_start_date', 'registration_end_date'];
 
   /**
    * Fetch object based on array of properties.
@@ -31,7 +25,7 @@ class CRM_Event_BAO_Event extends CRM_Event_DAO_Event {
    * @param array $defaults
    *   (reference ) an assoc array to hold the flattened values.
    *
-   * @return CRM_Event_DAO_Event
+   * @return CRM_Event_DAO_Event|null
    */
   public static function retrieve(&$params, &$defaults) {
     $event = new CRM_Event_DAO_Event();
@@ -786,6 +780,7 @@ SELECT
   civicrm_email.email as email,
   civicrm_event.title as title,
   civicrm_event.summary as summary,
+  civicrm_event.event_tz as event_tz,
   civicrm_event.start_date as start,
   civicrm_event.end_date as end,
   civicrm_event.description as description,
@@ -857,6 +852,7 @@ WHERE civicrm_event.is_active = 1
         $info['event_id'] = $dao->event_id;
         $info['summary'] = $dao->summary;
         $info['description'] = $dao->description;
+        $info['tz'] = $dao->event_tz ?? CRM_Core_Config::singleton()->userSystem->getTimeZoneString();
         $info['start_date'] = $dao->start;
         $info['end_date'] = $dao->end;
         $info['contact_email'] = $dao->email;
@@ -2364,7 +2360,7 @@ LEFT  JOIN  civicrm_price_field_value value ON ( value.id = lineItem.price_field
         // @todo - the component is enabled check should be done within getIncomeFinancialType
         // It looks to me like test cover was NOT added to cover the change
         // that added this so we need to assume there is no test cover
-        if (array_key_exists('CiviContribute', CRM_Core_Component::getEnabledComponents())) {
+        if (CRM_Core_Component::isEnabled('CiviContribute')) {
           return CRM_Financial_BAO_FinancialType::getIncomeFinancialType($props['check_permissions'] ?? TRUE);
         }
         return [];
@@ -2441,4 +2437,52 @@ LEFT  JOIN  civicrm_price_field_value value ON ( value.id = lineItem.price_field
     return $return;
   }
 
+  /**
+   * Changes timezone-enabled fields to the correct zone for output and add local
+   * & UTC variants
+   *
+   * @param array $params
+   * @param $to_tz
+   *
+   * @return void
+   */
+  public static function setOutputTimeZone(array &$params, $to_tz = NULL) {
+    $to_tz = $to_tz ?? ($params['event_tz'] ?? NULL);
+
+    if (is_null($to_tz)) {
+      return;
+    }
+
+    foreach (CRM_Event_BAO_Event::tz_fields as $field) {
+      if (!empty($params[$field]) && empty($params[$field . '_local'])) {
+        $params[$field . '_utc'] = CRM_Utils_Date::convertTimeZone($params[$field], 'UTC');
+        $params[$field . '_local'] = $params[$field];
+        $params[$field] = CRM_Utils_Date::convertTimeZone($params[$field], $to_tz);
+      }
+    }
+
+  }
+
+  public static function setTimezones(CRM_Event_DAO_Event $event) {
+    // Pre-process time zoned fields into the PHP time zone, which should be the same as the database, to save as timestamp.
+    $timezone_event = ($event->event_tz ?: (!empty($event->id) ? CRM_Core_DAO::getFieldValue('CRM_Event_DAO_Event', $event->id, 'event_tz') : NULL));
+
+    foreach (self::tz_fields as $field) {
+      if (!empty($event->{$field})) {
+        $event->{$field} = CRM_Utils_Date::convertTimeZone($event->{$field}, NULL, $timezone_event);
+      }
+    }
+  }
+
+  public static function resetTimezones(CRM_Event_DAO_Event $event) {
+    // Process time zoned fields into their own time zone
+    $timezone_event = ($event->event_tz ?: (!empty($event->id) ? CRM_Core_DAO::getFieldValue('CRM_Event_DAO_Event', $event->id, 'event_tz') : NULL));
+
+    foreach (self::tz_fields as $field) {
+      if (!empty($event->{$field})) {
+        $event->{$field} = CRM_Utils_Date::convertTimeZone($event->{$field}, $timezone_event);
+      }
+    }
+  }
+
 }
diff --git a/civicrm/CRM/Event/BAO/Participant.php b/civicrm/CRM/Event/BAO/Participant.php
index 537142a280..8743339af5 100644
--- a/civicrm/CRM/Event/BAO/Participant.php
+++ b/civicrm/CRM/Event/BAO/Participant.php
@@ -44,12 +44,6 @@ class CRM_Event_BAO_Participant extends CRM_Event_DAO_Participant {
     'Pending from approval' => ['Registered', 'Cancelled'],
   ];
 
-  /**
-   */
-  public function __construct() {
-    parent::__construct();
-  }
-
   /**
    * Takes an associative array and creates a participant object.
    *
@@ -1397,6 +1391,9 @@ UPDATE  civicrm_participant
     ) {
       return $mailSent;
     }
+
+    CRM_Event_BAO_Event::setOutputTimeZone($eventDetails);
+
     $toEmail = $contactDetails['email'] ?? NULL;
     if ($toEmail) {
 
diff --git a/civicrm/CRM/Event/BAO/ParticipantStatusType.php b/civicrm/CRM/Event/BAO/ParticipantStatusType.php
index 388e12637d..47eae53235 100644
--- a/civicrm/CRM/Event/BAO/ParticipantStatusType.php
+++ b/civicrm/CRM/Event/BAO/ParticipantStatusType.php
@@ -19,7 +19,7 @@ class CRM_Event_BAO_ParticipantStatusType extends CRM_Event_DAO_ParticipantStatu
   /**
    * @param array $params
    *
-   * @return this|null
+   * @return self|null
    */
   public static function add(&$params) {
     if (empty($params)) {
@@ -33,7 +33,7 @@ class CRM_Event_BAO_ParticipantStatusType extends CRM_Event_DAO_ParticipantStatu
   /**
    * @param array $params
    *
-   * @return this|null
+   * @return self|null
    */
   public static function &create(&$params) {
     $transaction = new CRM_Core_Transaction();
@@ -72,7 +72,7 @@ class CRM_Event_BAO_ParticipantStatusType extends CRM_Event_DAO_ParticipantStatu
 
   /**
    * @param array $params
-   * @param $defaults
+   * @param array $defaults
    *
    * @return CRM_Event_DAO_ParticipantStatusType|null
    */
diff --git a/civicrm/CRM/Event/Badge/Logo.php b/civicrm/CRM/Event/Badge/Logo.php
index 4ac357ec25..81770157ef 100644
--- a/civicrm/CRM/Event/Badge/Logo.php
+++ b/civicrm/CRM/Event/Badge/Logo.php
@@ -34,7 +34,7 @@ class CRM_Event_Badge_Logo extends CRM_Event_Badge {
   }
 
   /**
-   * @param $participant
+   * @param array $participant
    */
   public function generateLabel($participant) {
     $x = $this->pdf->GetAbsX();
diff --git a/civicrm/CRM/Event/Badge/Logo5395.php b/civicrm/CRM/Event/Badge/Logo5395.php
index 2343909174..886b302bb7 100644
--- a/civicrm/CRM/Event/Badge/Logo5395.php
+++ b/civicrm/CRM/Event/Badge/Logo5395.php
@@ -34,7 +34,7 @@ class CRM_Event_Badge_Logo5395 extends CRM_Event_Badge {
   }
 
   /**
-   * @param $participant
+   * @param array $participant
    */
   public function generateLabel($participant) {
     $x = $this->pdf->GetAbsX();
diff --git a/civicrm/CRM/Event/Badge/NameTent.php b/civicrm/CRM/Event/Badge/NameTent.php
index 4c1809a03f..6acb99d2e2 100644
--- a/civicrm/CRM/Event/Badge/NameTent.php
+++ b/civicrm/CRM/Event/Badge/NameTent.php
@@ -56,7 +56,7 @@ class CRM_Event_Badge_NameTent extends CRM_Event_Badge {
   }
 
   /**
-   * @param $participant
+   * @param array $participant
    */
   protected function writeOneSide(&$participant) {
     $this->pdf->SetXY(0, $this->pdf->height / 2);
@@ -71,7 +71,7 @@ class CRM_Event_Badge_NameTent extends CRM_Event_Badge {
   }
 
   /**
-   * @param $participant
+   * @param array $participant
    */
   public function generateLabel($participant) {
     $this->writeOneSide($participant);
diff --git a/civicrm/CRM/Event/Badge/Simple.php b/civicrm/CRM/Event/Badge/Simple.php
index fa6da40e6b..5c080e5f91 100644
--- a/civicrm/CRM/Event/Badge/Simple.php
+++ b/civicrm/CRM/Event/Badge/Simple.php
@@ -24,7 +24,7 @@
 class CRM_Event_Badge_Simple extends CRM_Event_Badge {
 
   /**
-   * @param $participant
+   * @param array $participant
    */
   public function generateLabel($participant) {
     $date = CRM_Utils_Date::customFormat($participant['event_start_date'], "%e %b");
diff --git a/civicrm/CRM/Event/Cart/DAO/Cart.php b/civicrm/CRM/Event/Cart/DAO/Cart.php
index 52d4278097..e5998e7532 100644
--- a/civicrm/CRM/Event/Cart/DAO/Cart.php
+++ b/civicrm/CRM/Event/Cart/DAO/Cart.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Event/Cart/Cart.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:889446482ab589edebb02d7abee76bc5)
+ * (GenCodeChecksum:58e30874811fa80b8a405f368004e697)
  */
 
 /**
@@ -34,19 +34,25 @@ class CRM_Event_Cart_DAO_Cart extends CRM_Core_DAO {
   /**
    * Cart ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * FK to civicrm_contact who created this cart
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $user_id;
 
   /**
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $completed;
 
diff --git a/civicrm/CRM/Event/Cart/DAO/EventInCart.php b/civicrm/CRM/Event/Cart/DAO/EventInCart.php
index 461ae202be..3451c8dcf6 100644
--- a/civicrm/CRM/Event/Cart/DAO/EventInCart.php
+++ b/civicrm/CRM/Event/Cart/DAO/EventInCart.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Event/Cart/EventInCart.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:872f4e67be93efbed14721bb030227db)
+ * (GenCodeChecksum:24a288b857e58e2193699737ac771fdc)
  */
 
 /**
@@ -34,21 +34,27 @@ class CRM_Event_Cart_DAO_EventInCart extends CRM_Core_DAO {
   /**
    * Event In Cart ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * FK to Event ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $event_id;
 
   /**
    * FK to Event Cart ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $event_cart_id;
 
diff --git a/civicrm/CRM/Event/Controller/Registration.php b/civicrm/CRM/Event/Controller/Registration.php
index 561d2ed8b8..efba1ee293 100644
--- a/civicrm/CRM/Event/Controller/Registration.php
+++ b/civicrm/CRM/Event/Controller/Registration.php
@@ -17,7 +17,7 @@ class CRM_Event_Controller_Registration extends CRM_Core_Controller {
   /**
    * Class constructor.
    *
-   * @param null $title
+   * @param string $title
    * @param bool|int $action
    * @param bool $modal
    */
diff --git a/civicrm/CRM/Event/DAO/Event.php b/civicrm/CRM/Event/DAO/Event.php
index fe3a66fa99..afc84033dc 100644
--- a/civicrm/CRM/Event/DAO/Event.php
+++ b/civicrm/CRM/Event/DAO/Event.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Event/Event.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:51b2702ee6856d74a9f38e9cf86da5bf)
+ * (GenCodeChecksum:d9ea1f641de04dabb54616ef4edfe88c)
  */
 
 /**
@@ -58,484 +58,631 @@ class CRM_Event_DAO_Event extends CRM_Core_DAO {
   /**
    * Event
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * Event Title (e.g. Fall Fundraiser Dinner)
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $title;
 
   /**
    * Brief summary of event. Text and html allowed. Displayed on Event Registration form and can be used on other CMS pages which need an event summary.
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $summary;
 
   /**
    * Full description of event. Text and html allowed. Displayed on built-in Event Information screens.
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $description;
 
   /**
    * Event Type ID.Implicit FK to civicrm_option_value where option_group = event_type.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $event_type_id;
 
   /**
    * Should we expose the participant list? Implicit FK to civicrm_option_value where option_group = participant_listing.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $participant_listing_id;
 
   /**
    * Public events will be included in the iCal feeds. Access to private event information may be limited using ACLs.
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_public;
 
   /**
    * Date and time that event starts.
    *
-   * @var datetime
+   * @var string
+   *   (SQL type: timestamp)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $start_date;
 
   /**
    * Date and time that event ends. May be NULL if no defined end date/time
    *
-   * @var datetime
+   * @var string
+   *   (SQL type: timestamp)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $end_date;
 
   /**
    * If true, include registration link on Event Info page.
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_online_registration;
 
   /**
    * Text for link to Event Registration form which is displayed on Event Information screen when is_online_registration is true.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $registration_link_text;
 
   /**
    * Date and time that online registration starts.
    *
-   * @var datetime
+   * @var string
+   *   (SQL type: timestamp)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $registration_start_date;
 
   /**
    * Date and time that online registration ends.
    *
-   * @var datetime
+   * @var string
+   *   (SQL type: timestamp)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $registration_end_date;
 
   /**
    * Maximum number of registered participants to allow. After max is reached, a custom Event Full message is displayed. If NULL, allow unlimited number of participants.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $max_participants;
 
   /**
    * Message to display on Event Information page and INSTEAD OF Event Registration form if maximum participants are signed up. Can include email address/info about getting on a waiting list, etc. Text and html allowed.
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $event_full_text;
 
   /**
    * If true, one or more fee amounts must be set and a Payment Processor must be configured for Online Event Registration.
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_monetary;
 
   /**
    * Financial type assigned to paid event registrations for this event. Required if is_monetary is true.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $financial_type_id;
 
   /**
    * Payment Processors configured for this Event (if is_monetary is true)
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(128))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $payment_processor;
 
   /**
    * Include a map block on the Event Information page when geocode info is available and a mapping provider has been specified?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_map;
 
   /**
    * Is this Event enabled or disabled/cancelled?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_active;
 
   /**
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $fee_label;
 
   /**
    * If true, show event location.
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_show_location;
 
   /**
    * FK to Location Block ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $loc_block_id;
 
   /**
    * Participant role ID. Implicit FK to civicrm_option_value where option_group = participant_role.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $default_role_id;
 
   /**
    * Introductory message for Event Registration page. Text and html allowed. Displayed at the top of Event Registration form.
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $intro_text;
 
   /**
    * Footer message for Event Registration page. Text and html allowed. Displayed at the bottom of Event Registration form.
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $footer_text;
 
   /**
    * Title for Confirmation page.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $confirm_title;
 
   /**
    * Introductory message for Event Registration page. Text and html allowed. Displayed at the top of Event Registration form.
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $confirm_text;
 
   /**
    * Footer message for Event Registration page. Text and html allowed. Displayed at the bottom of Event Registration form.
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $confirm_footer_text;
 
   /**
    * If true, confirmation is automatically emailed to contact on successful registration.
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_email_confirm;
 
   /**
    * text to include above standard event info on confirmation email. emails are text-only, so do not allow html for now
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $confirm_email_text;
 
   /**
    * FROM email name used for confirmation emails.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $confirm_from_name;
 
   /**
    * FROM email address used for confirmation emails.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $confirm_from_email;
 
   /**
    * comma-separated list of email addresses to cc each time a confirmation is sent
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $cc_confirm;
 
   /**
    * comma-separated list of email addresses to bcc each time a confirmation is sent
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $bcc_confirm;
 
   /**
    * FK to civicrm_option_value.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $default_fee_id;
 
   /**
    * FK to civicrm_option_value.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $default_discount_fee_id;
 
   /**
    * Title for ThankYou page.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $thankyou_title;
 
   /**
    * ThankYou Text.
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $thankyou_text;
 
   /**
    * Footer message.
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $thankyou_footer_text;
 
   /**
    * if true - allows the user to send payment directly to the org later
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_pay_later;
 
   /**
    * The text displayed to the user in the main form
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $pay_later_text;
 
   /**
    * The receipt sent to the user instead of the normal receipt text
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $pay_later_receipt;
 
   /**
    * is partial payment enabled for this event
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_partial_payment;
 
   /**
    * Initial amount label for partial payment
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $initial_amount_label;
 
   /**
    * Initial amount help text for partial payment
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $initial_amount_help_text;
 
   /**
    * Minimum initial amount for partial payment
    *
-   * @var float
+   * @var float|string|null
+   *   (SQL type: decimal(20,2))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $min_initial_amount;
 
   /**
    * if true - allows the user to register multiple participants for event
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_multiple_registrations;
 
   /**
    * Maximum number of additional participants that can be registered on a single booking
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $max_additional_participants;
 
   /**
    * if true - allows the user to register multiple registrations from same email address.
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $allow_same_participant_emails;
 
   /**
    * Whether the event has waitlist support.
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $has_waitlist;
 
   /**
    * Whether participants require approval before they can finish registering.
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $requires_approval;
 
   /**
    * Expire pending but unconfirmed registrations after this many hours.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $expiration_time;
 
   /**
    * Allow self service cancellation or transfer for event?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $allow_selfcancelxfer;
 
   /**
    * Number of hours prior to event start date to allow self-service cancellation or transfer.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $selfcancelxfer_time;
 
   /**
    * Text to display when the event is full, but participants can signup for a waitlist.
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $waitlist_text;
 
   /**
    * Text to display when the approval is required to complete registration for an event.
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $approval_req_text;
 
   /**
    * whether the event has template
    *
-   * @var bool
+   * @var bool|string
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_template;
 
   /**
    * Event Template Title
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $template_title;
 
   /**
    * FK to civicrm_contact, who created this event
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $created_id;
 
   /**
    * Date and time that event was created.
    *
-   * @var datetime
+   * @var string|null
+   *   (SQL type: datetime)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $created_date;
 
   /**
    * 3 character string, value from config setting or input via user.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(3))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $currency;
 
   /**
    * The campaign for which this event has been created.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $campaign_id;
 
   /**
    * Can people share the event through social media?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_share;
 
   /**
    * If false, the event booking confirmation screen gets skipped
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_confirm_enabled;
 
   /**
    * Implicit FK to civicrm_event: parent event
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $parent_event_id;
 
   /**
    * Subevent slot label. Implicit FK to civicrm_option_value where option_group = conference_slot.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $slot_label_id;
 
   /**
    * Rule to use when matching registrations for this event
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $dedupe_rule_group_id;
 
   /**
    * if true than billing block is required this event
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_billing_required;
 
+  /**
+   * Event's native time zone
+   *
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
+   */
+  public $event_tz;
+
   /**
    * Class constructor.
    */
@@ -718,13 +865,15 @@ class CRM_Event_DAO_Event extends CRM_Core_DAO {
         ],
         'event_start_date' => [
           'name' => 'start_date',
-          'type' => CRM_Utils_Type::T_DATE + CRM_Utils_Type::T_TIME,
+          'type' => CRM_Utils_Type::T_TIMESTAMP,
           'title' => ts('Event Start Date'),
           'description' => ts('Date and time that event starts.'),
+          'required' => FALSE,
           'import' => TRUE,
           'where' => 'civicrm_event.start_date',
           'headerPattern' => '/^start|(s(tart\s)?date)$/i',
           'export' => TRUE,
+          'default' => NULL,
           'table_name' => 'civicrm_event',
           'entity' => 'Event',
           'bao' => 'CRM_Event_BAO_Event',
@@ -737,13 +886,15 @@ class CRM_Event_DAO_Event extends CRM_Core_DAO {
         ],
         'event_end_date' => [
           'name' => 'end_date',
-          'type' => CRM_Utils_Type::T_DATE + CRM_Utils_Type::T_TIME,
+          'type' => CRM_Utils_Type::T_TIMESTAMP,
           'title' => ts('Event End Date'),
           'description' => ts('Date and time that event ends. May be NULL if no defined end date/time'),
+          'required' => FALSE,
           'import' => TRUE,
           'where' => 'civicrm_event.end_date',
           'headerPattern' => '/^end|(e(nd\s)?date)$/i',
           'export' => TRUE,
+          'default' => NULL,
           'table_name' => 'civicrm_event',
           'entity' => 'Event',
           'bao' => 'CRM_Event_BAO_Event',
@@ -789,10 +940,12 @@ class CRM_Event_DAO_Event extends CRM_Core_DAO {
         ],
         'registration_start_date' => [
           'name' => 'registration_start_date',
-          'type' => CRM_Utils_Type::T_DATE + CRM_Utils_Type::T_TIME,
+          'type' => CRM_Utils_Type::T_TIMESTAMP,
           'title' => ts('Registration Start Date'),
           'description' => ts('Date and time that online registration starts.'),
+          'required' => FALSE,
           'where' => 'civicrm_event.registration_start_date',
+          'default' => NULL,
           'table_name' => 'civicrm_event',
           'entity' => 'Event',
           'bao' => 'CRM_Event_BAO_Event',
@@ -806,10 +959,12 @@ class CRM_Event_DAO_Event extends CRM_Core_DAO {
         ],
         'registration_end_date' => [
           'name' => 'registration_end_date',
-          'type' => CRM_Utils_Type::T_DATE + CRM_Utils_Type::T_TIME,
+          'type' => CRM_Utils_Type::T_TIMESTAMP,
           'title' => ts('Registration End Date'),
           'description' => ts('Date and time that online registration ends.'),
+          'required' => FALSE,
           'where' => 'civicrm_event.registration_end_date',
+          'default' => NULL,
           'table_name' => 'civicrm_event',
           'entity' => 'Event',
           'bao' => 'CRM_Event_BAO_Event',
@@ -1780,6 +1935,27 @@ class CRM_Event_DAO_Event extends CRM_Core_DAO {
           ],
           'add' => '4.6',
         ],
+        'event_tz' => [
+          'name' => 'event_tz',
+          'type' => CRM_Utils_Type::T_TEXT,
+          'title' => ts('Event Time Zone'),
+          'description' => ts('Event\'s native time zone'),
+          'import' => TRUE,
+          'where' => 'civicrm_event.event_tz',
+          'export' => TRUE,
+          'default' => NULL,
+          'table_name' => 'civicrm_event',
+          'entity' => 'Event',
+          'bao' => 'CRM_Event_BAO_Event',
+          'localizable' => 0,
+          'html' => [
+            'type' => 'Select',
+          ],
+          'pseudoconstant' => [
+            'callback' => 'CRM_Core_SelectValues::timezone',
+          ],
+          'add' => '5.47',
+        ],
       ];
       CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'fields_callback', Civi::$statics[__CLASS__]['fields']);
     }
diff --git a/civicrm/CRM/Event/DAO/Participant.php b/civicrm/CRM/Event/DAO/Participant.php
index 67278329c8..6a4624cf81 100644
--- a/civicrm/CRM/Event/DAO/Participant.php
+++ b/civicrm/CRM/Event/DAO/Participant.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Event/Participant.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:4ca199ee96c9079ad7ce673c7a06d5f6)
+ * (GenCodeChecksum:62382336b5251b2ee93828d70138cd7e)
  */
 
 /**
@@ -41,49 +41,63 @@ class CRM_Event_DAO_Participant extends CRM_Core_DAO {
   /**
    * Participant ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * FK to Contact ID
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $contact_id;
 
   /**
    * FK to Event ID
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $event_id;
 
   /**
    * Participant status ID. FK to civicrm_participant_status_type. Default of 1 should map to status = Registered.
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $status_id;
 
   /**
    * Participant role ID. Implicit FK to civicrm_option_value where option_group = participant_role.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(128))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $role_id;
 
   /**
    * When did contact register for event?
    *
-   * @var datetime
+   * @var string|null
+   *   (SQL type: datetime)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $register_date;
 
   /**
    * Source of this event registration.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(128))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $source;
 
@@ -91,80 +105,104 @@ class CRM_Event_DAO_Participant extends CRM_Core_DAO {
    * Populate with the label (text) associated with a fee level for paid events with multiple levels. Note that
    * we store the label value and not the key
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $fee_level;
 
   /**
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_test;
 
   /**
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_pay_later;
 
   /**
    * actual processor fee if known - may be 0.
    *
-   * @var float
+   * @var float|string|null
+   *   (SQL type: decimal(20,2))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $fee_amount;
 
   /**
    * FK to Participant ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $registered_by_id;
 
   /**
    * FK to Discount ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $discount_id;
 
   /**
    * 3 character string, value derived from config setting.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(3))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $fee_currency;
 
   /**
    * The campaign for which this participant has been registered.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $campaign_id;
 
   /**
    * Discount Amount
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $discount_amount;
 
   /**
    * FK to civicrm_event_carts
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $cart_id;
 
   /**
    * On Waiting List
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $must_wait;
 
   /**
    * FK to Contact ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $transferred_to_contact_id;
 
diff --git a/civicrm/CRM/Event/DAO/ParticipantPayment.php b/civicrm/CRM/Event/DAO/ParticipantPayment.php
index 9fe49f0c86..a13745ca8f 100644
--- a/civicrm/CRM/Event/DAO/ParticipantPayment.php
+++ b/civicrm/CRM/Event/DAO/ParticipantPayment.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Event/ParticipantPayment.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:faf8b6394f4e57dd2bd6702f712f7157)
+ * (GenCodeChecksum:e968c8fec853683ccda7863407aef635)
  */
 
 /**
@@ -34,21 +34,27 @@ class CRM_Event_DAO_ParticipantPayment extends CRM_Core_DAO {
   /**
    * Participant Payment ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * Participant ID (FK)
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $participant_id;
 
   /**
    * FK to contribution table.
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $contribution_id;
 
diff --git a/civicrm/CRM/Event/DAO/ParticipantStatusType.php b/civicrm/CRM/Event/DAO/ParticipantStatusType.php
index f4da6903bb..bdb75e0e43 100644
--- a/civicrm/CRM/Event/DAO/ParticipantStatusType.php
+++ b/civicrm/CRM/Event/DAO/ParticipantStatusType.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Event/ParticipantStatusType.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:0f5f8f9d2171b25bb250914d746996bc)
+ * (GenCodeChecksum:bb9ea5411d4ab4f767d891f2e0f20858)
  */
 
 /**
@@ -34,63 +34,81 @@ class CRM_Event_DAO_ParticipantStatusType extends CRM_Core_DAO {
   /**
    * unique participant status type id
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * non-localized name of the status type
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $name;
 
   /**
    * localized label for display of this status type
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $label;
 
   /**
    * the general group of status type this one belongs to
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(8))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $class;
 
   /**
    * whether this is a status type required by the system
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_reserved;
 
   /**
    * whether this status type is active
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_active;
 
   /**
    * whether this status type is counted against event size limit
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_counted;
 
   /**
    * controls sort order
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $weight;
 
   /**
    * whether the status type is visible to the public, an implicit foreign key to option_value.value related to the `visibility` option_group
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $visibility_id;
 
diff --git a/civicrm/CRM/Event/Form/ManageEvent.php b/civicrm/CRM/Event/Form/ManageEvent.php
index 292e8b2b4c..4f2030fd84 100644
--- a/civicrm/CRM/Event/Form/ManageEvent.php
+++ b/civicrm/CRM/Event/Form/ManageEvent.php
@@ -88,10 +88,7 @@ class CRM_Event_Form_ManageEvent extends CRM_Core_Form {
    * Set variables up before form is built.
    */
   public function preProcess() {
-    $config = CRM_Core_Config::singleton();
-    if (in_array('CiviEvent', $config->enableComponents)) {
-      $this->assign('CiviEvent', TRUE);
-    }
+    $this->assign('CiviEvent', CRM_Core_Component::isEnabled('CiviEvent'));
     CRM_Core_Form_RecurringEntity::preProcess('civicrm_event');
 
     $this->_action = CRM_Utils_Request::retrieve('action', 'String', $this, FALSE, 'add', 'REQUEST');
@@ -354,8 +351,7 @@ class CRM_Event_Form_ManageEvent extends CRM_Core_Form {
         [1 => CRM_Utils_Array::value('title', CRM_Utils_Array::value($subPage, $this->get('tabHeader')), $className)]
       ), $this->getTitle(), 'success');
 
-      $config = CRM_Core_Config::singleton();
-      if (in_array('CiviCampaign', $config->enableComponents)) {
+      if (CRM_Core_Component::isEnabled('CiviCampaign')) {
         $values = $this->controller->exportValues($this->_name);
         $newCampaignID = $values['campaign_id'] ?? NULL;
         $eventID = $values['id'] ?? NULL;
diff --git a/civicrm/CRM/Event/Form/ManageEvent/EventInfo.php b/civicrm/CRM/Event/Form/ManageEvent/EventInfo.php
index 9e1c5dfbf3..cfaad1fa56 100644
--- a/civicrm/CRM/Event/Form/ManageEvent/EventInfo.php
+++ b/civicrm/CRM/Event/Form/ManageEvent/EventInfo.php
@@ -100,6 +100,17 @@ class CRM_Event_Form_ManageEvent_EventInfo extends CRM_Event_Form_ManageEvent {
 
     $defaults['waitlist_text'] = CRM_Utils_Array::value('waitlist_text', $defaults, ts('This event is currently full. However you can register now and get added to a waiting list. You will be notified if spaces become available.'));
     $defaults['template_id'] = $this->_templateId;
+
+    $defaults['event_tz'] = CRM_Utils_Array::value('event_tz', $defaults, CRM_Core_Config::singleton()->userSystem->getTimeZoneString());
+
+    // Convert start and end date defaults to event time zone.
+    if (!empty($defaults['start_date'])) {
+      $defaults['start_date'] = CRM_Utils_Date::convertTimeZone($defaults['start_date'], $defaults['event_tz']);
+    }
+    if (!empty($defaults['end_date'])) {
+      $defaults['end_date'] = CRM_Utils_Date::convertTimeZone($defaults['end_date'], $defaults['event_tz']);
+    }
+
     return $defaults;
   }
 
@@ -159,6 +170,8 @@ class CRM_Event_Form_ManageEvent_EventInfo extends CRM_Event_Form_ManageEvent {
     $this->addElement('checkbox', 'is_share', ts('Add footer region with Twitter, Facebook and LinkedIn share buttons and scripts?'));
     $this->addElement('checkbox', 'is_map', ts('Include Map to Event Location'));
 
+    $this->addSelect('event_tz', ['placeholder' => ts('- Select time zone -')], TRUE);
+
     $this->add('datepicker', 'start_date', ts('Start'), [], !$this->_isTemplate, ['time' => TRUE]);
     $this->add('datepicker', 'end_date', ts('End'), [], FALSE, ['time' => TRUE]);
 
@@ -215,8 +228,8 @@ class CRM_Event_Form_ManageEvent_EventInfo extends CRM_Event_Form_ManageEvent {
     $params = array_merge($this->controller->exportValues($this->_name), $this->_submitValues);
 
     //format params
-    $params['start_date'] = $params['start_date'] ?? NULL;
-    $params['end_date'] = $params['end_date'] ?? NULL;
+    $params['start_date'] = !empty($params['start_date']) ? CRM_Utils_Date::convertTimeZone($params['start_date'], NULL, $params['event_tz'] ?? NULL) : $params['start_date'];
+    $params['end_date'] = !empty($params['end_date']) ? CRM_Utils_Date::convertTimeZone($params['end_date'], NULL, $params['event_tz'] ?? NULL) : $params['end_date'];
     $params['has_waitlist'] = CRM_Utils_Array::value('has_waitlist', $params, FALSE);
     $params['is_map'] = CRM_Utils_Array::value('is_map', $params, FALSE);
     $params['is_active'] = CRM_Utils_Array::value('is_active', $params, FALSE);
diff --git a/civicrm/CRM/Event/Form/ManageEvent/Fee.php b/civicrm/CRM/Event/Form/ManageEvent/Fee.php
index f61a4e736a..ec9c2a8b50 100644
--- a/civicrm/CRM/Event/Form/ManageEvent/Fee.php
+++ b/civicrm/CRM/Event/Form/ManageEvent/Fee.php
@@ -306,7 +306,7 @@ class CRM_Event_Form_ManageEvent_Fee extends CRM_Event_Form_ManageEvent {
 
     // form fields of Discount sets
     $defaultOption = [];
-    $_showHide = new CRM_Core_ShowHideBlocks('', '');
+    $_showHide = new CRM_Core_ShowHideBlocks();
 
     for ($i = 1; $i <= self::NUM_DISCOUNT; $i++) {
       //the show hide blocks
diff --git a/civicrm/CRM/Event/Form/ManageEvent/Registration.php b/civicrm/CRM/Event/Form/ManageEvent/Registration.php
index 3eb2a7efa9..f70e19f465 100644
--- a/civicrm/CRM/Event/Form/ManageEvent/Registration.php
+++ b/civicrm/CRM/Event/Form/ManageEvent/Registration.php
@@ -29,6 +29,8 @@ class CRM_Event_Form_ManageEvent_Registration extends CRM_Event_Form_ManageEvent
   protected $_profilePostMultiple = [];
   protected $_profilePostMultipleAdd = [];
 
+  protected $_tz;
+
   /**
    * Set variables up before form is built.
    */
@@ -166,6 +168,14 @@ class CRM_Event_Form_ManageEvent_Registration extends CRM_Event_Form_ManageEvent
     $defaults['thankyou_title'] = CRM_Utils_Array::value('thankyou_title', $defaults, ts('Thank You for Registering'));
     $defaults['approval_req_text'] = CRM_Utils_Array::value('approval_req_text', $defaults, ts('Participation in this event requires approval. Submit your registration request here. Once approved, you will receive an email with a link to a web page where you can complete the registration process.'));
 
+    // Convert start and end date defaults to event time zone.
+    if (!empty($defaults['registration_start_date'])) {
+      $defaults['registration_start_date'] = CRM_Utils_Date::convertTimeZone($defaults['registration_start_date'], $this->_tz ?? NULL);
+    }
+    if (!empty($defaults['registration_end_date'])) {
+      $defaults['registration_end_date'] = CRM_Utils_Date::convertTimeZone($defaults['registration_end_date'], $this->_tz ?? NULL);
+    }
+
     return $defaults;
   }
 
@@ -228,6 +238,9 @@ class CRM_Event_Form_ManageEvent_Registration extends CRM_Event_Form_ManageEvent
     $this->add('text', 'registration_link_text', ts('Registration Link Text'));
 
     if (!$this->_isTemplate) {
+      $this->_tz = CRM_Core_DAO::getFieldValue('CRM_Event_DAO_Event', $this->_id, 'event_tz');
+      $tz = CRM_Core_SelectValues::timezone()[$this->_tz];
+      $this->assign('event_tz', $tz ?? '<span class="error-message">' . ts('%1 No timezone set', [1 => '<i class="crm-i fa-warning"></i>']) . '</span>');
       $this->add('datepicker', 'registration_start_date', ts('Registration Start Date'), [], FALSE, ['time' => TRUE]);
       $this->add('datepicker', 'registration_end_date', ts('Registration End Date'), [], FALSE, ['time' => TRUE]);
     }
@@ -776,6 +789,10 @@ class CRM_Event_Form_ManageEvent_Registration extends CRM_Event_Form_ManageEvent
 
     $params['id'] = $this->_id;
 
+    if (!isset($this->_tz)) {
+      $this->_tz = CRM_Core_DAO::getFieldValue('CRM_Event_DAO_Event', $this->_id, 'event_tz') ?? CRM_Core_Config::singleton()->userSystem->getTimeZoneString();
+    }
+
     // format params
     $params['is_online_registration'] = CRM_Utils_Array::value('is_online_registration', $params, FALSE);
     // CRM-11182
@@ -783,6 +800,8 @@ class CRM_Event_Form_ManageEvent_Registration extends CRM_Event_Form_ManageEvent
     $params['is_multiple_registrations'] = CRM_Utils_Array::value('is_multiple_registrations', $params, FALSE);
     $params['allow_same_participant_emails'] = CRM_Utils_Array::value('allow_same_participant_emails', $params, FALSE);
     $params['requires_approval'] = CRM_Utils_Array::value('requires_approval', $params, FALSE);
+    $params['registration_start_date'] = !empty($params['registration_start_date']) ? CRM_Utils_Date::convertTimeZone($params['registration_start_date'], NULL, $this->_tz ?? NULL) : $params['registration_start_date'];
+    $params['registration_end_date'] = !empty($params['registration_end_date']) ? CRM_Utils_Date::convertTimeZone($params['registration_end_date'], NULL, $this->_tz ?? NULL) : $params['registration_end_date'];
 
     // reset is_email confirm if not online reg
     if (!$params['is_online_registration']) {
diff --git a/civicrm/CRM/Event/Form/Participant.php b/civicrm/CRM/Event/Form/Participant.php
index 99e6a6ed58..e99eb186df 100644
--- a/civicrm/CRM/Event/Form/Participant.php
+++ b/civicrm/CRM/Event/Form/Participant.php
@@ -786,7 +786,7 @@ class CRM_Event_Form_Participant extends CRM_Contribute_Form_AbstractEditPayment
    * @param array $values
    *   Posted values of the form.
    * @param $files
-   * @param $self
+   * @param self $self
    *
    * @return array
    *   list of errors to be posted back to the form
@@ -1544,8 +1544,6 @@ class CRM_Event_Form_Participant extends CRM_Contribute_Form_AbstractEditPayment
         $contributionId = CRM_Core_DAO::getFieldValue('CRM_Event_DAO_ParticipantPayment',
           $this->_id, 'contribution_id', 'participant_id'
         );
-        $prefixValue = Civi::settings()->get('contribution_invoice_settings');
-        $invoicing = $prefixValue['invoicing'] ?? NULL;
         if (Civi::settings()->get('invoice_is_email_pdf')) {
           $sendTemplateParams['isEmailPdf'] = TRUE;
           $sendTemplateParams['contributionId'] = $contributionId;
@@ -1894,7 +1892,7 @@ class CRM_Event_Form_Participant extends CRM_Contribute_Form_AbstractEditPayment
   protected function assignEventDetailsToTpl($eventID, $participantRoles, $receiptText, $isPaidEvent) {
     //use of the message template below requires variables in different format
     $events = [];
-    $returnProperties = ['event_type_id', 'fee_label', 'start_date', 'end_date', 'is_show_location', 'title'];
+    $returnProperties = ['event_type_id', 'fee_label', 'start_date', 'end_date', 'event_tz', 'is_show_location', 'title'];
 
     //get all event details.
     CRM_Core_DAO::commonRetrieveAll('CRM_Event_DAO_Event', 'id', $eventID, $events, $returnProperties);
@@ -1902,6 +1900,8 @@ class CRM_Event_Form_Participant extends CRM_Contribute_Form_AbstractEditPayment
     unset($event['start_date']);
     unset($event['end_date']);
 
+    CRM_Event_BAO_Event::setOutputTimeZone($event);
+
     $role = CRM_Event_PseudoConstant::participantRole();
 
     if (is_array($participantRoles)) {
diff --git a/civicrm/CRM/Event/Form/ParticipantFeeSelection.php b/civicrm/CRM/Event/Form/ParticipantFeeSelection.php
index a4cb587a92..19a0a1174e 100644
--- a/civicrm/CRM/Event/Form/ParticipantFeeSelection.php
+++ b/civicrm/CRM/Event/Form/ParticipantFeeSelection.php
@@ -212,7 +212,7 @@ class CRM_Event_Form_ParticipantFeeSelection extends CRM_Core_Form {
   /**
    * @param $fields
    * @param $files
-   * @param $self
+   * @param self $self
    *
    * @return array
    */
@@ -285,7 +285,7 @@ class CRM_Event_Form_ParticipantFeeSelection extends CRM_Core_Form {
     $this->assign('module', 'Event Registration');
     //use of the message template below requires variables in different format
     $event = $events = [];
-    $returnProperties = ['fee_label', 'start_date', 'end_date', 'is_show_location', 'title'];
+    $returnProperties = ['fee_label', 'start_date', 'end_date', 'event_tz', 'is_show_location', 'title'];
 
     //get all event details.
     CRM_Core_DAO::commonRetrieveAll('CRM_Event_DAO_Event', 'id', $params['event_id'], $events, $returnProperties);
@@ -293,6 +293,8 @@ class CRM_Event_Form_ParticipantFeeSelection extends CRM_Core_Form {
     unset($event['start_date']);
     unset($event['end_date']);
 
+    CRM_Event_BAO_Event::setOutputTimeZone($event);
+
     $role = CRM_Event_PseudoConstant::participantRole();
     $participantRoles = $params['role_id'] ?? NULL;
     if (is_array($participantRoles)) {
diff --git a/civicrm/CRM/Event/Form/Registration.php b/civicrm/CRM/Event/Form/Registration.php
index 74526af6a4..6e0af92560 100644
--- a/civicrm/CRM/Event/Form/Registration.php
+++ b/civicrm/CRM/Event/Form/Registration.php
@@ -230,6 +230,9 @@ class CRM_Event_Form_Registration extends CRM_Core_Form {
       //retrieve event information
       $params = ['id' => $this->_eventId];
       CRM_Event_BAO_Event::retrieve($params, $this->_values['event']);
+
+      CRM_Event_BAO_Event::setOutputTimeZone($this->_values['event'], $this->_values['event']['event_tz']);
+
       // check for is_monetary status
       $isMonetary = $this->_values['event']['is_monetary'] ?? NULL;
       // check for ability to add contributions of type
@@ -1056,13 +1059,14 @@ class CRM_Event_Form_Registration extends CRM_Core_Form {
   }
 
   /**
-   * Check if template file exists.
+   * Check template file exists.
    *
-   * @param string $suffix
+   * @param string|null $suffix
    *
-   * @return null|string
+   * @return string|null
+   *   Template file path, else null
    */
-  public function checkTemplateFileExists($suffix = '') {
+  public function checkTemplateFileExists($suffix = NULL) {
     if ($this->_eventId) {
       $templateName = $this->_name;
       if (substr($templateName, 0, 12) == 'Participant_') {
diff --git a/civicrm/CRM/Event/Form/Registration/AdditionalParticipant.php b/civicrm/CRM/Event/Form/Registration/AdditionalParticipant.php
index 37fcc48b46..587332cf65 100644
--- a/civicrm/CRM/Event/Form/Registration/AdditionalParticipant.php
+++ b/civicrm/CRM/Event/Form/Registration/AdditionalParticipant.php
@@ -367,7 +367,7 @@ class CRM_Event_Form_Registration_AdditionalParticipant extends CRM_Event_Form_R
    *   The input form values.
    * @param array $files
    *   The uploaded files if any.
-   * @param $self
+   * @param self $self
    *
    *
    * @return bool|array
@@ -512,7 +512,7 @@ class CRM_Event_Form_Registration_AdditionalParticipant extends CRM_Event_Form_R
   }
 
   /**
-   * @param $self
+   * @param self $self
    * @param $fields
    *
    * @return bool
diff --git a/civicrm/CRM/Event/Form/Registration/Register.php b/civicrm/CRM/Event/Form/Registration/Register.php
index 0e8ec10c66..5352797a92 100644
--- a/civicrm/CRM/Event/Form/Registration/Register.php
+++ b/civicrm/CRM/Event/Form/Registration/Register.php
@@ -288,13 +288,22 @@ class CRM_Event_Form_Registration_Register extends CRM_Event_Form_Registration {
         }
         $optionFullIds = CRM_Utils_Array::value('option_full_ids', $val, []);
         foreach ($val['options'] as $keys => $values) {
-          if ($values['is_default'] && empty($values['is_full'])) {
-
-            if ($val['html_type'] == 'CheckBox') {
-              $this->_defaults["price_{$key}"][$keys] = 1;
-            }
-            else {
-              $this->_defaults["price_{$key}"] = $keys;
+          $priceFieldName = 'price_' . $values['price_field_id'];
+          $priceFieldValue = CRM_Price_BAO_PriceSet::getPriceFieldValueFromURL($this, $priceFieldName);
+          if (!empty($priceFieldValue)) {
+            CRM_Price_BAO_PriceSet::setDefaultPriceSetField($priceFieldName, $priceFieldValue, $val['html_type'], $this->_defaults);
+            // break here to prevent overwriting of default due to 'is_default'
+            // option configuration. The value sent via URL get's higher priority.
+            break;
+          }
+          else {
+            if ($values['is_default'] && empty($values['is_full'])) {
+              if ($val['html_type'] == 'CheckBox') {
+                $this->_defaults["price_{$key}"][$keys] = 1;
+              }
+              else {
+                $this->_defaults["price_{$key}"] = $keys;
+              }
             }
           }
         }
@@ -378,8 +387,7 @@ class CRM_Event_Form_Registration_Register extends CRM_Event_Form_Registration {
         $this->add('select', 'additional_participants',
           ts('How many people are you registering?'),
           $additionalOptions,
-          NULL,
-          ['onChange' => "allowParticipant()"]
+          NULL
         );
         $isAdditionalParticipants = TRUE;
       }
@@ -514,7 +522,7 @@ class CRM_Event_Form_Registration_Register extends CRM_Event_Form_Registration {
         $buttonParams['name'] = ts('Register');
       }
       else {
-        $buttonParams['name'] = ts('Review your registration');
+        $buttonParams['name'] = ts('Review');
         $buttonParams['icon'] = 'fa-chevron-right';
       }
 
diff --git a/civicrm/CRM/Event/Form/SelfSvcTransfer.php b/civicrm/CRM/Event/Form/SelfSvcTransfer.php
index 1cac955aae..15659cfbab 100644
--- a/civicrm/CRM/Event/Form/SelfSvcTransfer.php
+++ b/civicrm/CRM/Event/Form/SelfSvcTransfer.php
@@ -342,7 +342,7 @@ class CRM_Event_Form_SelfSvcTransfer extends CRM_Core_Form {
   /**
    * Based on input, create participant row for transferee and send email
    *
-   * @param $participant
+   * @param CRM_Event_BAO_Participant $participant
    *
    * @throws \API_Exception
    * @throws \CRM_Core_Exception
@@ -372,6 +372,9 @@ class CRM_Event_Form_SelfSvcTransfer extends CRM_Core_Form {
     $eventDetails = [];
     $eventParams = ['id' => $participant->event_id];
     CRM_Event_BAO_Event::retrieve($eventParams, $eventDetails);
+
+    CRM_Event_BAO_Event::setOutputTimeZone($eventDetails);
+
     //get default participant role.
     $eventDetails['participant_role'] = $participantRoles[$eventDetails['default_role_id']] ?? NULL;
     //get the location info
diff --git a/civicrm/CRM/Event/Form/SelfSvcUpdate.php b/civicrm/CRM/Event/Form/SelfSvcUpdate.php
index 97a51481da..ed1055eb49 100644
--- a/civicrm/CRM/Event/Form/SelfSvcUpdate.php
+++ b/civicrm/CRM/Event/Form/SelfSvcUpdate.php
@@ -187,7 +187,7 @@ class CRM_Event_Form_SelfSvcUpdate extends CRM_Core_Form {
    * @param array $fields
    *   Posted fields of the form.
    * @param $files
-   * @param $self
+   * @param self $self
    *
    * @return array
    *   list of errors to be posted back to the form
diff --git a/civicrm/CRM/Event/Form/Task/Print.php b/civicrm/CRM/Event/Form/Task/Print.php
index c64e92f9b1..6f5c9a6669 100644
--- a/civicrm/CRM/Event/Form/Task/Print.php
+++ b/civicrm/CRM/Event/Form/Task/Print.php
@@ -29,7 +29,7 @@ class CRM_Event_Form_Task_Print extends CRM_Event_Form_Task {
     parent::preprocess();
 
     // set print view, so that print templates are called
-    $this->controller->setPrint(1);
+    $this->controller->setPrint(CRM_Core_Smarty::PRINT_PAGE);
 
     // get the formatted params
     $queryParams = $this->get('queryParams');
diff --git a/civicrm/CRM/Event/ICalendar.php b/civicrm/CRM/Event/ICalendar.php
index 7b30c95439..c3e1b45aa5 100644
--- a/civicrm/CRM/Event/ICalendar.php
+++ b/civicrm/CRM/Event/ICalendar.php
@@ -47,8 +47,16 @@ class CRM_Event_ICalendar {
     $config = CRM_Core_Config::singleton();
 
     $info = CRM_Event_BAO_Event::getCompleteInfo($start, $type, $id, $end);
+
+    foreach ($info as &$event) {
+      $event['start_date'] = CRM_Utils_Date::convertTimeZone($event['start_date'], $event['tz']);
+      $event['end_date'] = !empty($event['end_date']) ? CRM_Utils_date::convertTimeZone($event['end_date'], $event['tz']) : NULL;
+      $event['registration_start_date'] = !empty($event['registration_start_date']) ? CRM_Utils_date::convertTimeZone($event['registration_start_date'], $event['tz']) : NULL;
+      $event['registration_end_date'] = !empty($event['registration_end_date']) ? CRM_Utils_date::convertTimeZone($event['registration_end_date'], $event['tz']) : NULL;
+    }
+
     $template->assign('events', $info);
-    $template->assign('timezone', @date_default_timezone_get());
+    $template->assign('timezone', CRM_Core_Config::singleton()->userSystem->getTimeZoneString());
 
     // Send data to the correct template for formatting (iCal vs. gData)
     if ($rss) {
diff --git a/civicrm/CRM/Event/Import/Controller.php b/civicrm/CRM/Event/Import/Controller.php
index 233b63231e..8d80c0758a 100644
--- a/civicrm/CRM/Event/Import/Controller.php
+++ b/civicrm/CRM/Event/Import/Controller.php
@@ -19,7 +19,7 @@ class CRM_Event_Import_Controller extends CRM_Core_Controller {
   /**
    * Class constructor.
    *
-   * @param null $title
+   * @param string $title
    * @param bool|int $action
    * @param bool $modal
    */
diff --git a/civicrm/CRM/Event/Import/Form/MapField.php b/civicrm/CRM/Event/Import/Form/MapField.php
index c7864e2aa5..df28b3141f 100644
--- a/civicrm/CRM/Event/Import/Form/MapField.php
+++ b/civicrm/CRM/Event/Import/Form/MapField.php
@@ -268,7 +268,7 @@ class CRM_Event_Import_Form_MapField extends CRM_Import_Form_MapField {
    *   Posted values of the form.
    *
    * @param $files
-   * @param $self
+   * @param self $self
    *
    * @return array
    *   list of errors to be posted back to the form
diff --git a/civicrm/CRM/Event/Import/Parser.php b/civicrm/CRM/Event/Import/Parser.php
index d1b02676d4..59d464b414 100644
--- a/civicrm/CRM/Event/Import/Parser.php
+++ b/civicrm/CRM/Event/Import/Parser.php
@@ -269,7 +269,7 @@ abstract class CRM_Event_Import_Parser extends CRM_Import_Parser {
    * Given a list of the importable field keys that the user has selected
    * set the active fields array to this list
    *
-   * @param $fieldKeys array mapped array of values
+   * @param array $fieldKeys mapped array of values
    *
    * @return void
    */
diff --git a/civicrm/CRM/Event/Import/Parser/Participant.php b/civicrm/CRM/Event/Import/Parser/Participant.php
index e9ce6d6b71..6c9cf49cb9 100644
--- a/civicrm/CRM/Event/Import/Parser/Participant.php
+++ b/civicrm/CRM/Event/Import/Parser/Participant.php
@@ -40,10 +40,8 @@ class CRM_Event_Import_Parser_Participant extends CRM_Event_Import_Parser {
    * Class constructor.
    *
    * @param array $mapperKeys
-   * @param null $mapperLocType
-   * @param null $mapperPhoneType
    */
-  public function __construct(&$mapperKeys, $mapperLocType = NULL, $mapperPhoneType = NULL) {
+  public function __construct(&$mapperKeys) {
     parent::__construct();
     $this->_mapperKeys = &$mapperKeys;
   }
diff --git a/civicrm/CRM/Event/Page/EventInfo.php b/civicrm/CRM/Event/Page/EventInfo.php
index 8f141a2a85..cffa121265 100644
--- a/civicrm/CRM/Event/Page/EventInfo.php
+++ b/civicrm/CRM/Event/Page/EventInfo.php
@@ -79,6 +79,11 @@ class CRM_Event_Page_EventInfo extends CRM_Core_Page {
 
     $this->assign('isShowLocation', CRM_Utils_Array::value('is_show_location', $values['event']));
 
+    // Reset event time zone info
+    CRM_Event_BAO_Event::setOutputTimeZone($values['event'], $values['event']['event_tz']);
+
+    $values['event']['event_tz'] = CRM_Core_SelectValues::timezone()[$values['event']['event_tz']];
+
     // show event fees.
     if ($this->_id && !empty($values['event']['is_monetary'])) {
       CRM_Contribute_BAO_Contribution_Utils::overrideDefaultCurrency($values['event']);
diff --git a/civicrm/CRM/Event/Page/List.php b/civicrm/CRM/Event/Page/List.php
index ffeae8ba92..ca4fae057b 100644
--- a/civicrm/CRM/Event/Page/List.php
+++ b/civicrm/CRM/Event/Page/List.php
@@ -21,6 +21,21 @@ class CRM_Event_Page_List extends CRM_Core_Page {
     $end = CRM_Utils_Request::retrieveValue('end', 'Positive', 0);
 
     $info = CRM_Event_BAO_Event::getCompleteInfo($start, $type, $id, $end);
+
+    foreach ($info as &$event) {
+      $event['start_date_utc'] = CRM_Utils_Date::convertTimeZone($event['start_date'], 'UTC');
+      $event['start_date'] = CRM_Utils_Date::convertTimeZone($event['start_date'], $event['tz']);
+
+      $event['end_date_utc'] = !empty($event['end_date']) ? CRM_Utils_Date::convertTimeZone($event['end_date'], 'UTC') : NULL;
+      $event['end_date'] = !empty($event['end_date']) ? CRM_Utils_date::convertTimeZone($event['end_date'], $event['tz']) : NULL;
+
+      $event['registration_start_date_utc'] = !empty($event['registration_start_date']) ? CRM_Utils_Date::convertTimeZone($event['registration_start_date'], 'UTC') : NULL;
+      $event['registration_start_date'] = !empty($event['registration_start_date']) ? CRM_Utils_date::convertTimeZone($event['registration_start_date'], $event['tz']) : NULL;
+
+      $event['registration_end_date_utc'] = !empty($event['registration_end_date']) ? CRM_Utils_Date::convertTimeZone($event['registration_end_date'], 'UTC') : NULL;
+      $event['registration_end_date'] = !empty($event['registration_end_date']) ? CRM_Utils_date::convertTimeZone($event['registration_end_date'], $event['tz']) : NULL;
+    }
+
     $this->assign('events', $info);
 
     // @todo Move this to eventcart extension
diff --git a/civicrm/CRM/Event/Page/ManageEvent.php b/civicrm/CRM/Event/Page/ManageEvent.php
index a39eb17a6a..356710c81d 100644
--- a/civicrm/CRM/Event/Page/ManageEvent.php
+++ b/civicrm/CRM/Event/Page/ManageEvent.php
@@ -361,6 +361,19 @@ ORDER BY start_date desc
         }
         CRM_Core_DAO::storeValues($dao, $manageEvent[$dao->id]);
 
+        // avoid enotices
+        foreach (CRM_Event_BAO_Event::tz_fields as $field) {
+          $manageEvent[$dao->id][$field . '_with_tz'] = NULL;
+        }
+        if (!is_null($dao->event_tz) && $dao->event_tz != CRM_Core_Config::singleton()->userSystem->getTimeZoneString()) {
+          foreach (CRM_Event_BAO_Event::tz_fields as $field) {
+            if (!empty($dao->{$field})) {
+              $manageEvent[$dao->id][$field . '_with_tz'] = CRM_Utils_Date::convertTimeZone($dao->{$field}, $dao->event_tz);
+            }
+          }
+        }
+        $manageEvent[$dao->id]['event_tz'] = $dao->event_tz ? CRM_Core_SelectValues::timezone()[$dao->event_tz] : FALSE;
+
         // form all action links
         $action = array_sum(array_keys($this->links()));
 
diff --git a/civicrm/CRM/Event/PseudoConstant.php b/civicrm/CRM/Event/PseudoConstant.php
index 2ff32e629e..1543f86709 100644
--- a/civicrm/CRM/Event/PseudoConstant.php
+++ b/civicrm/CRM/Event/PseudoConstant.php
@@ -70,14 +70,14 @@ class CRM_Event_PseudoConstant extends CRM_Core_PseudoConstant {
   private static $pcPage;
 
   /**
-   * Get all the n events
+   * Get all events
    *
-   *
-   * @param int $id
+   * @param int|null $id
    * @param bool $all
-   * @param null $condition
+   * @param string|null $condition
+   *   Optional SQL where condition
    *
-   * @return array
+   * @return array|string|null
    *   array of all events if any
    */
   public static function event($id = NULL, $all = FALSE, $condition = NULL) {
@@ -106,16 +106,18 @@ class CRM_Event_PseudoConstant extends CRM_Core_PseudoConstant {
   }
 
   /**
-   * Get all the n participant statuses.
+   * Get all the event participant statuses.
    *
    *
-   * @param int $id
-   * @param null $cond
+   * @param int|null $id
+   *   Return the specified participant status, or null to return all
+   * @param string|null $cond
+   *   Optional SQL where condition
    * @param string $retColumn
    *   Tells populate() whether to return 'name' (default) or 'label' values.
    *
-   * @return array
-   *   array reference of all participant statuses if any
+   * @return array|string
+   *   array reference of all participant statuses if any, or single value if $id was passed
    */
   public static function &participantStatus($id = NULL, $cond = NULL, $retColumn = 'name') {
     if (self::$participantStatus === NULL) {
@@ -174,7 +176,8 @@ class CRM_Event_PseudoConstant extends CRM_Core_PseudoConstant {
    *
    *
    * @param int $id
-   * @param null $cond
+   * @param string|null $cond
+   *   Optional SQL where condition
    *
    * @return array|string
    *   array reference of all participant roles if any
@@ -270,7 +273,7 @@ class CRM_Event_PseudoConstant extends CRM_Core_PseudoConstant {
 
   /**
    * Flush given pseudoconstant so it can be reread from db
-   * nex time it's requested.
+   * next time it's requested.
    *
    *
    * @param bool|string $name pseudoconstant to be flushed
diff --git a/civicrm/CRM/Event/Tokens.php b/civicrm/CRM/Event/Tokens.php
index ca6fb553dd..44afb797f1 100644
--- a/civicrm/CRM/Event/Tokens.php
+++ b/civicrm/CRM/Event/Tokens.php
@@ -144,6 +144,8 @@ class CRM_Event_Tokens extends CRM_Core_EntityTokens {
       $tokens['event_type_id:name']['text/html'] = CRM_Core_PseudoConstant::getName('CRM_Event_BAO_Event', 'event_type_id', $event['event_type_id']);
       $tokens['contact_phone']['text/html'] = $event['loc_block_id.phone_id.phone'];
       $tokens['contact_email']['text/html'] = $event['loc_block_id.email_id.email'];
+      $tokens['event_tz:label']['text/html'] = !empty($event['event_tz']) ? CRM_Core_SelectValues::timezone()[$event['event_tz']] : '';
+      $tokens['event_tz:name']['text/html'] = $event['event_tz'] ?? '';
 
       foreach ($this->getTokenMetadata() as $fieldName => $fieldSpec) {
         if (!isset($tokens[$fieldName])) {
@@ -176,6 +178,7 @@ class CRM_Event_Tokens extends CRM_Core_EntityTokens {
     return ['event_type_id',
       'title',
       'id',
+      'event_tz',
       'start_date',
       'end_date',
       'summary',
diff --git a/civicrm/CRM/Export/BAO/ExportProcessor.php b/civicrm/CRM/Export/BAO/ExportProcessor.php
index 4e85f9758c..18a5663ff8 100644
--- a/civicrm/CRM/Export/BAO/ExportProcessor.php
+++ b/civicrm/CRM/Export/BAO/ExportProcessor.php
@@ -1464,6 +1464,16 @@ class CRM_Export_BAO_ExportProcessor {
 
         case CRM_Utils_Type::T_STRING:
           if (isset($fieldSpec['maxlength'])) {
+            // A localized string for the preferred_mail_format does not fit
+            // into the varchar(8) field.
+            // @see https://lab.civicrm.org/dev/core/-/issues/2645
+            switch ($fieldName) {
+              case 'preferred_mail_format':
+                return "`$fieldName` text(16)";
+
+              default:
+                return "`$fieldName` varchar({$fieldSpec['maxlength']})";
+            }
           }
           $dataType = $fieldSpec['data_type'] ?? '';
           // set the sql columns for custom data
diff --git a/civicrm/CRM/Export/Form/Select.php b/civicrm/CRM/Export/Form/Select.php
index e5bad4f70a..6a3198f275 100644
--- a/civicrm/CRM/Export/Form/Select.php
+++ b/civicrm/CRM/Export/Form/Select.php
@@ -236,7 +236,7 @@ FROM   {$this->_componentTable}
    *   (ref.) an assoc array of name/value pairs.
    *
    * @param $files
-   * @param $self
+   * @param self $self
    *
    * @return bool|array
    *   mixed true or array of errors
diff --git a/civicrm/CRM/Extension/Info.php b/civicrm/CRM/Extension/Info.php
index 4382427353..8a1fc01793 100644
--- a/civicrm/CRM/Extension/Info.php
+++ b/civicrm/CRM/Extension/Info.php
@@ -98,7 +98,7 @@ class CRM_Extension_Info {
   /**
    * Load extension info an XML file.
    *
-   * @param $file
+   * @param string $file
    *
    * @throws CRM_Extension_Exception_ParseException
    * @return CRM_Extension_Info
diff --git a/civicrm/CRM/Extension/Manager.php b/civicrm/CRM/Extension/Manager.php
index 14c7128dd6..444f86ec32 100644
--- a/civicrm/CRM/Extension/Manager.php
+++ b/civicrm/CRM/Extension/Manager.php
@@ -130,7 +130,7 @@ class CRM_Extension_Manager {
    * Class constructor.
    *
    * @param CRM_Extension_Container_Interface $fullContainer
-   * @param CRM_Extension_Container_Basic|FALSE $defaultContainer
+   * @param CRM_Extension_Container_Basic|false $defaultContainer
    * @param CRM_Extension_Mapper $mapper
    * @param array $typeManagers
    */
@@ -566,7 +566,7 @@ class CRM_Extension_Manager {
   /**
    * Return current processes for given extension.
    *
-   * @param String $key extension key
+   * @param string $key extension key
    *
    * @return array
    */
@@ -578,7 +578,7 @@ class CRM_Extension_Manager {
    * Determine if the extension specified is currently involved in an install
    * or enable process. Just sugar code to make things more readable.
    *
-   * @param String $key extension key
+   * @param string $key extension key
    *
    * @return bool
    */
diff --git a/civicrm/CRM/Extension/MixinScanner.php b/civicrm/CRM/Extension/MixinScanner.php
index 8e4039b604..d433757ce9 100644
--- a/civicrm/CRM/Extension/MixinScanner.php
+++ b/civicrm/CRM/Extension/MixinScanner.php
@@ -52,8 +52,8 @@ class CRM_Extension_MixinScanner {
 
   /**
    * CRM_Extension_ClassLoader constructor.
-   * @param \CRM_Extension_Mapper|NULL $mapper
-   * @param \CRM_Extension_Manager|NULL $manager
+   * @param \CRM_Extension_Mapper|null $mapper
+   * @param \CRM_Extension_Manager|null $manager
    * @param bool $relativize
    *   Whether to store paths in relative form.
    *   Enabling this may slow-down scanning a bit, and it has no benefit when for on-demand loaders.
diff --git a/civicrm/CRM/Financial/BAO/ExportFormat.php b/civicrm/CRM/Financial/BAO/ExportFormat.php
index 9559a5d4c6..8e27691e57 100644
--- a/civicrm/CRM/Financial/BAO/ExportFormat.php
+++ b/civicrm/CRM/Financial/BAO/ExportFormat.php
@@ -73,7 +73,7 @@ abstract class CRM_Financial_BAO_ExportFormat {
   /**
    * Abstract function that generates exports, and downloads them as zip file.
    *
-   * @param $exportDaos array with DAO's for queries to be exported.
+   * @param array $exportDaos with DAO's for queries to be exported.
    */
   abstract public function makeExport($exportDaos);
 
diff --git a/civicrm/CRM/Financial/BAO/ExportFormat/CSV.php b/civicrm/CRM/Financial/BAO/ExportFormat/CSV.php
index 505156baca..b8c1db3b0c 100644
--- a/civicrm/CRM/Financial/BAO/ExportFormat/CSV.php
+++ b/civicrm/CRM/Financial/BAO/ExportFormat/CSV.php
@@ -32,13 +32,6 @@ class CRM_Financial_BAO_ExportFormat_CSV extends CRM_Financial_BAO_ExportFormat
     'CUST',
   ];
 
-  /**
-   * Class constructor.
-   */
-  public function __construct() {
-    parent::__construct();
-  }
-
   /**
    * @param array $exportParams
    */
@@ -115,7 +108,7 @@ class CRM_Financial_BAO_ExportFormat_CSV extends CRM_Financial_BAO_ExportFormat
   }
 
   /**
-   * @param $export
+   * @param array $export
    *
    * @return string
    */
diff --git a/civicrm/CRM/Financial/BAO/ExportFormat/IIF.php b/civicrm/CRM/Financial/BAO/ExportFormat/IIF.php
index bd0f13c8fa..6028c79519 100644
--- a/civicrm/CRM/Financial/BAO/ExportFormat/IIF.php
+++ b/civicrm/CRM/Financial/BAO/ExportFormat/IIF.php
@@ -75,7 +75,7 @@ class CRM_Financial_BAO_ExportFormat_IIF extends CRM_Financial_BAO_ExportFormat
   }
 
   /**
-   * @param $out
+   * @param string $out
    *
    * @return string
    */
@@ -144,7 +144,7 @@ class CRM_Financial_BAO_ExportFormat_IIF extends CRM_Financial_BAO_ExportFormat
   }
 
   /**
-   * @param $export
+   * @param array $export
    */
   public function makeExport($export) {
     // Keep running list of accounts and contacts used in this batch, since we need to
diff --git a/civicrm/CRM/Financial/BAO/FinancialAccount.php b/civicrm/CRM/Financial/BAO/FinancialAccount.php
index de3da002c7..b7320514ac 100644
--- a/civicrm/CRM/Financial/BAO/FinancialAccount.php
+++ b/civicrm/CRM/Financial/BAO/FinancialAccount.php
@@ -16,13 +16,6 @@
  */
 class CRM_Financial_BAO_FinancialAccount extends CRM_Financial_DAO_FinancialAccount implements \Civi\Test\HookInterface {
 
-  /**
-   * Class constructor.
-   */
-  public function __construct() {
-    parent::__construct();
-  }
-
   /**
    * Fetch object based on array of properties.
    *
@@ -281,7 +274,7 @@ WHERE cft.id = %1
   /**
    * Get Financial Account type relations.
    *
-   * @param $flip bool
+   * @param bool $flip
    *
    * @return array
    *
diff --git a/civicrm/CRM/Financial/BAO/FinancialItem.php b/civicrm/CRM/Financial/BAO/FinancialItem.php
index 1deff5bf9c..15879bd854 100644
--- a/civicrm/CRM/Financial/BAO/FinancialItem.php
+++ b/civicrm/CRM/Financial/BAO/FinancialItem.php
@@ -16,13 +16,6 @@
  */
 class CRM_Financial_BAO_FinancialItem extends CRM_Financial_DAO_FinancialItem {
 
-  /**
-   * Class constructor.
-   */
-  public function __construct() {
-    parent::__construct();
-  }
-
   /**
    * Fetch object based on array of properties.
    *
diff --git a/civicrm/CRM/Financial/BAO/FinancialType.php b/civicrm/CRM/Financial/BAO/FinancialType.php
index 88143c0fb6..2b3d81f5ec 100644
--- a/civicrm/CRM/Financial/BAO/FinancialType.php
+++ b/civicrm/CRM/Financial/BAO/FinancialType.php
@@ -31,13 +31,6 @@ class CRM_Financial_BAO_FinancialType extends CRM_Financial_DAO_FinancialType im
    */
   public static $_statusACLFt = [];
 
-  /**
-   * Class constructor.
-   */
-  public function __construct() {
-    parent::__construct();
-  }
-
   /**
    * Fetch object based on array of properties.
    *
@@ -350,46 +343,30 @@ class CRM_Financial_BAO_FinancialType extends CRM_Financial_DAO_FinancialType im
   /**
    * Function to build a permissioned sql where clause based on available financial types.
    *
-   * @param array $whereClauses
-   *   (reference ) an array of clauses
    * @param string $component
    *   the type of component
-   * @param string $alias
-   *   the alias to use
    *
+   * @return string $clauses
    */
-  public static function buildPermissionedClause(&$whereClauses, $component = NULL, $alias = NULL) {
+  public static function buildPermissionedClause(string $component): string {
+    $clauses = [];
     // @todo the relevant addSelectWhere clause should be called.
     if (!self::isACLFinancialTypeStatus()) {
-      return FALSE;
+      return '';
     }
-    if (is_array($whereClauses)) {
-      $types = self::getAllEnabledAvailableFinancialTypes();
-      if (empty($types)) {
-        $whereClauses[] = ' ' . $alias . '.financial_type_id IN (0)';
-      }
-      else {
-        $whereClauses[] = ' ' . $alias . '.financial_type_id IN (' . implode(',', array_keys($types)) . ')';
-      }
+    if ($component === 'contribution') {
+      $clauses = CRM_Contribute_BAO_Contribution::getSelectWhereClause();
     }
-    else {
-      if ($component == 'contribution') {
-        $types = self::getAllEnabledAvailableFinancialTypes();
-        $column = "financial_type_id";
-      }
-      if ($component == 'membership') {
-        self::getAvailableMembershipTypes($types, CRM_Core_Action::VIEW);
-        $column = "membership_type_id";
-      }
-      if (!empty($whereClauses)) {
-        $whereClauses .= ' AND ';
-      }
+    if ($component === 'membership') {
+      self::getAvailableMembershipTypes($types, CRM_Core_Action::VIEW);
+      $types = array_keys($types);
       if (empty($types)) {
-        $whereClauses .= " civicrm_{$component}.{$column} IN (0)";
-        return;
+        $types = [0];
       }
-      $whereClauses .= " civicrm_{$component}.{$column} IN (" . implode(',', array_keys($types)) . ")";
+      $clauses[] = ' civicrm_membership.membership_type_id IN (' . implode(',', $types) . ')';
+
     }
+    return implode(' AND ', $clauses);
   }
 
   /**
diff --git a/civicrm/CRM/Financial/BAO/FinancialTypeAccount.php b/civicrm/CRM/Financial/BAO/FinancialTypeAccount.php
index 248d2b4f6b..f54d4c0a20 100644
--- a/civicrm/CRM/Financial/BAO/FinancialTypeAccount.php
+++ b/civicrm/CRM/Financial/BAO/FinancialTypeAccount.php
@@ -16,13 +16,6 @@
  */
 class CRM_Financial_BAO_FinancialTypeAccount extends CRM_Financial_DAO_EntityFinancialAccount {
 
-  /**
-   * Class constructor.
-   */
-  public function __construct() {
-    parent::__construct();
-  }
-
   /**
    * Fetch object based on array of properties.
    *
@@ -93,7 +86,7 @@ class CRM_Financial_BAO_FinancialTypeAccount extends CRM_Financial_DAO_EntityFin
 
     $financialTypeId = CRM_Core_DAO::getFieldValue('CRM_Financial_DAO_EntityFinancialAccount', $financialTypeAccountId, 'entity_id');
     // check dependencies
-    // FIXME more table containing financial_type_id to come
+    // FIXME hardcoded list = bad
     $dependency = [
       ['Contribute', 'Contribution'],
       ['Contribute', 'ContributionPage'],
@@ -107,12 +100,14 @@ class CRM_Financial_BAO_FinancialTypeAccount extends CRM_Financial_DAO_EntityFin
 
     foreach ($dependency as $name) {
       $daoString = 'CRM_' . $name[0] . '_DAO_' . $name[1];
-      /* @var \CRM_Core_DAO $dao */
-      $dao = new $daoString();
-      $dao->financial_type_id = $financialTypeId;
-      if ($dao->find(TRUE)) {
-        $check = TRUE;
-        break;
+      if (class_exists($daoString)) {
+        /* @var \CRM_Core_DAO $dao */
+        $dao = new $daoString();
+        $dao->financial_type_id = $financialTypeId;
+        if ($dao->find(TRUE)) {
+          $check = TRUE;
+          break;
+        }
       }
     }
 
diff --git a/civicrm/CRM/Financial/BAO/Order.php b/civicrm/CRM/Financial/BAO/Order.php
index 29cfc27938..9e84402c55 100644
--- a/civicrm/CRM/Financial/BAO/Order.php
+++ b/civicrm/CRM/Financial/BAO/Order.php
@@ -316,7 +316,7 @@ class CRM_Financial_BAO_Order {
    *
    * @internal use in tested core code only.
    *
-   * @param \CRM_Core_Form|NULL $form
+   * @param \CRM_Core_Form|null $form
    */
   public function setForm(?CRM_Core_Form $form): void {
     $this->form = $form;
@@ -817,7 +817,7 @@ class CRM_Financial_BAO_Order {
       if ($this->isOverrideLineItemFinancialType($lineItem['financial_type_id']) !== FALSE) {
         $lineItem['financial_type_id'] = $this->getOverrideFinancialTypeID();
       }
-      $taxRate = $this->getTaxRate((int) $lineItem['financial_type_id']);
+      $lineItem['tax_rate'] = $taxRate = $this->getTaxRate((int) $lineItem['financial_type_id']);
       if ($this->getOverrideTotalAmount() !== FALSE) {
         $this->addTotalsToLineBasedOnOverrideTotal((int) $lineItem['financial_type_id'], $lineItem);
       }
@@ -1030,7 +1030,7 @@ class CRM_Financial_BAO_Order {
    * @return void
    */
   protected function addTotalsToLineBasedOnOverrideTotal(int $financialTypeID, array &$lineItem): void {
-    $taxRate = $this->getTaxRate($financialTypeID);
+    $lineItem['tax_rate'] = $taxRate = $this->getTaxRate($financialTypeID);
     if ($taxRate) {
       // Total is tax inclusive.
       $lineItem['tax_amount'] = ($taxRate / 100) * $this->getOverrideTotalAmount() / (1 + ($taxRate / 100));
diff --git a/civicrm/CRM/Financial/BAO/Payment.php b/civicrm/CRM/Financial/BAO/Payment.php
index e24a4dfebc..12439c2dfb 100644
--- a/civicrm/CRM/Financial/BAO/Payment.php
+++ b/civicrm/CRM/Financial/BAO/Payment.php
@@ -278,6 +278,11 @@ class CRM_Financial_BAO_Payment {
   public static function sendConfirmation($params) {
 
     $entities = self::loadRelatedEntities($params['id']);
+
+    if (!empty($entities['event'])) {
+      CRM_Event_BAO_Event::setOutputTimeZone($entities['event']);
+    }
+
     $sendTemplateParams = [
       'groupName' => 'msg_tpl_workflow_contribution',
       'valueName' => 'payment_or_refund_notification',
diff --git a/civicrm/CRM/Financial/BAO/PaymentProcessor.php b/civicrm/CRM/Financial/BAO/PaymentProcessor.php
index d27b502fb3..f455c5e7fc 100644
--- a/civicrm/CRM/Financial/BAO/PaymentProcessor.php
+++ b/civicrm/CRM/Financial/BAO/PaymentProcessor.php
@@ -92,7 +92,7 @@ class CRM_Financial_BAO_PaymentProcessor extends CRM_Financial_DAO_PaymentProces
 
   /**
    * Retrieve array of allowed credit cards for this payment processor.
-   * @param integer|null $paymentProcessorID id of processor.
+   * @param int|null $paymentProcessorID
    * @return array
    */
   public static function getCreditCards($paymentProcessorID = NULL) {
@@ -270,12 +270,12 @@ class CRM_Financial_BAO_PaymentProcessor extends CRM_Financial_DAO_PaymentProces
   /**
    * Get all payment processors as an array of objects.
    *
-   * @param string|NULL $mode
+   * @param string|null $mode
    * only return this mode - test|live or NULL for all
    * @param bool $reset
    * @param bool $isCurrentDomainOnly
    *   Do we only want to load payment processors associated with the current domain.
-   * @param bool|NULL $isActive
+   * @param bool|null $isActive
    *   Do we only want active processors, only inactive (FALSE) or all processors (NULL)
    *
    * @throws CiviCRM_API3_Exception
diff --git a/civicrm/CRM/Financial/BAO/PaymentProcessorType.php b/civicrm/CRM/Financial/BAO/PaymentProcessorType.php
index 796e5cfd37..62f4cd44a0 100644
--- a/civicrm/CRM/Financial/BAO/PaymentProcessorType.php
+++ b/civicrm/CRM/Financial/BAO/PaymentProcessorType.php
@@ -22,13 +22,6 @@ class CRM_Financial_BAO_PaymentProcessorType extends CRM_Financial_DAO_PaymentPr
    */
   public static $_defaultPaymentProcessorType = NULL;
 
-  /**
-   * Class constructor.
-   */
-  public function __construct() {
-    parent::__construct();
-  }
-
   /**
    * Fetch object based on array of properties.
    *
@@ -191,7 +184,7 @@ WHERE pp.payment_processor_type_id = ppt.id AND ppt.id = %1";
   }
 
   /**
-   * @param $attr
+   * @param string $attr
    *
    * @return array
    */
diff --git a/civicrm/CRM/Financial/DAO/Currency.php b/civicrm/CRM/Financial/DAO/Currency.php
index cfad1c496d..4618448e1a 100644
--- a/civicrm/CRM/Financial/DAO/Currency.php
+++ b/civicrm/CRM/Financial/DAO/Currency.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Financial/Currency.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:710d5211ef6887a78a0d2a531b87555a)
+ * (GenCodeChecksum:1e445ed33ce1cd5313e578ebcb400c07)
  */
 
 /**
@@ -34,35 +34,45 @@ class CRM_Financial_DAO_Currency extends CRM_Core_DAO {
   /**
    * Currency ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * Currency Name
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $name;
 
   /**
    * Currency Symbol
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(8))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $symbol;
 
   /**
    * Numeric currency code
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(3))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $numeric_code;
 
   /**
    * Full currency name
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $full_name;
 
diff --git a/civicrm/CRM/Financial/DAO/EntityFinancialAccount.php b/civicrm/CRM/Financial/DAO/EntityFinancialAccount.php
index 18c6243f5b..16d6a13e75 100644
--- a/civicrm/CRM/Financial/DAO/EntityFinancialAccount.php
+++ b/civicrm/CRM/Financial/DAO/EntityFinancialAccount.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Financial/EntityFinancialAccount.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:ed1b639bfb9c1c9be37ed44ed2efe98c)
+ * (GenCodeChecksum:ee1330d41462e8d7fb84657c4efa47f8)
  */
 
 /**
@@ -34,7 +34,9 @@ class CRM_Financial_DAO_EntityFinancialAccount extends CRM_Core_DAO {
   /**
    * ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
@@ -42,27 +44,35 @@ class CRM_Financial_DAO_EntityFinancialAccount extends CRM_Core_DAO {
    * Links to an entity_table like civicrm_financial_type
    *
    * @var string
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $entity_table;
 
   /**
    * Links to an id in the entity_table, such as vid in civicrm_financial_type
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $entity_id;
 
   /**
    * FK to a new civicrm_option_value (account_relationship)
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $account_relationship;
 
   /**
    * FK to the financial_account_id
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $financial_account_id;
 
diff --git a/civicrm/CRM/Financial/DAO/EntityFinancialTrxn.php b/civicrm/CRM/Financial/DAO/EntityFinancialTrxn.php
index 5b56512c5f..b67144a5bf 100644
--- a/civicrm/CRM/Financial/DAO/EntityFinancialTrxn.php
+++ b/civicrm/CRM/Financial/DAO/EntityFinancialTrxn.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Financial/EntityFinancialTrxn.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:fafa322736bff4ccf082449b5e54cd35)
+ * (GenCodeChecksum:04adc48b1cca1ec60c364ec136ddc148)
  */
 
 /**
@@ -34,7 +34,9 @@ class CRM_Financial_DAO_EntityFinancialTrxn extends CRM_Core_DAO {
   /**
    * ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
@@ -42,23 +44,31 @@ class CRM_Financial_DAO_EntityFinancialTrxn extends CRM_Core_DAO {
    * May contain civicrm_financial_item, civicrm_contribution, civicrm_financial_trxn, civicrm_grant, etc
    *
    * @var string
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $entity_table;
 
   /**
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $entity_id;
 
   /**
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $financial_trxn_id;
 
   /**
    * allocated amount of transaction to this entity
    *
-   * @var float
+   * @var float|string
+   *   (SQL type: decimal(20,2))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $amount;
 
diff --git a/civicrm/CRM/Financial/DAO/FinancialAccount.php b/civicrm/CRM/Financial/DAO/FinancialAccount.php
index 377a0521c4..0f83708dd3 100644
--- a/civicrm/CRM/Financial/DAO/FinancialAccount.php
+++ b/civicrm/CRM/Financial/DAO/FinancialAccount.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Financial/FinancialAccount.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:08824371a351806b30fc54c608138bd6)
+ * (GenCodeChecksum:ae32a35de5bc66a8e230b5595b77810f)
  */
 
 /**
@@ -34,7 +34,9 @@ class CRM_Financial_DAO_FinancialAccount extends CRM_Core_DAO {
   /**
    * ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
@@ -42,97 +44,125 @@ class CRM_Financial_DAO_FinancialAccount extends CRM_Core_DAO {
    * Financial Account Name.
    *
    * @var string
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $name;
 
   /**
    * FK to Contact ID that is responsible for the funds in this account
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $contact_id;
 
   /**
    * pseudo FK into civicrm_option_value.
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $financial_account_type_id;
 
   /**
    * Optional value for mapping monies owed and received to accounting system codes.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $accounting_code;
 
   /**
    * Optional value for mapping account types to accounting system account categories (QuickBooks Account Type Codes for example).
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $account_type_code;
 
   /**
    * Financial Type Description.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $description;
 
   /**
    * Parent ID in account hierarchy
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $parent_id;
 
   /**
    * Is this a header account which does not allow transactions to be posted against it directly, but only to its sub-accounts?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_header_account;
 
   /**
    * Is this account tax-deductible?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_deductible;
 
   /**
    * Is this account for taxes?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_tax;
 
   /**
    * The percentage of the total_amount that is due for this tax.
    *
-   * @var float
+   * @var float|string|null
+   *   (SQL type: decimal(10,8))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $tax_rate;
 
   /**
    * Is this a predefined system object?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_reserved;
 
   /**
    * Is this property active?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_active;
 
   /**
    * Is this account the default one (or default tax one) for its financial_account_type?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_default;
 
diff --git a/civicrm/CRM/Financial/DAO/FinancialItem.php b/civicrm/CRM/Financial/DAO/FinancialItem.php
index 106dddb041..6970a3c435 100644
--- a/civicrm/CRM/Financial/DAO/FinancialItem.php
+++ b/civicrm/CRM/Financial/DAO/FinancialItem.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Financial/FinancialItem.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:70be7900a331cb86c9cd6ee76544adc5)
+ * (GenCodeChecksum:fb47253c848979ed40aae7affbc188a3)
  */
 
 /**
@@ -32,77 +32,99 @@ class CRM_Financial_DAO_FinancialItem extends CRM_Core_DAO {
   public static $_log = TRUE;
 
   /**
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * Date and time the item was created
    *
-   * @var timestamp
+   * @var string
+   *   (SQL type: timestamp)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $created_date;
 
   /**
    * Date and time of the source transaction
    *
-   * @var datetime
+   * @var string
+   *   (SQL type: datetime)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $transaction_date;
 
   /**
    * FK to Contact ID of contact the item is from
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $contact_id;
 
   /**
    * Human readable description of this item, to ease display without lookup of source item.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $description;
 
   /**
    * Total amount of this item
    *
-   * @var float
+   * @var float|string
+   *   (SQL type: decimal(20,2))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $amount;
 
   /**
    * Currency for the amount
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(3))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $currency;
 
   /**
    * FK to civicrm_financial_account
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $financial_account_id;
 
   /**
    * Payment status: test, paid, part_paid, unpaid (if empty assume unpaid)
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $status_id;
 
   /**
    * May contain civicrm_line_item, civicrm_financial_trxn etc
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $entity_table;
 
   /**
    * The specific source item that is responsible for the creation of this financial_item
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $entity_id;
 
diff --git a/civicrm/CRM/Financial/DAO/FinancialTrxn.php b/civicrm/CRM/Financial/DAO/FinancialTrxn.php
index 499098c44e..ff401a529b 100644
--- a/civicrm/CRM/Financial/DAO/FinancialTrxn.php
+++ b/civicrm/CRM/Financial/DAO/FinancialTrxn.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Financial/FinancialTrxn.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:330be109309bcc6fc543b287c805e606)
+ * (GenCodeChecksum:ab70fbb4b84fe620236a196f5a80926e)
  */
 
 /**
@@ -32,126 +32,162 @@ class CRM_Financial_DAO_FinancialTrxn extends CRM_Core_DAO {
   public static $_log = TRUE;
 
   /**
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * FK to financial_account table.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $from_financial_account_id;
 
   /**
    * FK to financial_financial_account table.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $to_financial_account_id;
 
   /**
    * date transaction occurred
    *
-   * @var datetime
+   * @var string|null
+   *   (SQL type: datetime)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $trxn_date;
 
   /**
    * amount of transaction
    *
-   * @var float
+   * @var float|string
+   *   (SQL type: decimal(20,2))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $total_amount;
 
   /**
    * actual processor fee if known - may be 0.
    *
-   * @var float
+   * @var float|string|null
+   *   (SQL type: decimal(20,2))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $fee_amount;
 
   /**
    * actual funds transfer amount. total less fees. if processor does not report actual fee during transaction, this is set to total_amount.
    *
-   * @var float
+   * @var float|string|null
+   *   (SQL type: decimal(20,2))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $net_amount;
 
   /**
    * 3 character string, value from config setting or input via user.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(3))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $currency;
 
   /**
    * Is this entry either a payment or a reversal of a payment?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_payment;
 
   /**
    * Transaction id supplied by external processor. This may not be unique.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $trxn_id;
 
   /**
    * processor result code
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $trxn_result_code;
 
   /**
    * pseudo FK to civicrm_option_value of contribution_status_id option_group
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $status_id;
 
   /**
    * Payment Processor for this financial transaction
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $payment_processor_id;
 
   /**
    * FK to payment_instrument option group values
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $payment_instrument_id;
 
   /**
    * FK to accept_creditcard option group values
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $card_type_id;
 
   /**
    * Check number
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $check_number;
 
   /**
    * Last 4 digits of credit card
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(4))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $pan_truncation;
 
   /**
    * Payment Processor external order reference
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $order_reference;
 
diff --git a/civicrm/CRM/Financial/DAO/FinancialType.php b/civicrm/CRM/Financial/DAO/FinancialType.php
index 3593396d76..0a76012ccf 100644
--- a/civicrm/CRM/Financial/DAO/FinancialType.php
+++ b/civicrm/CRM/Financial/DAO/FinancialType.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Financial/FinancialType.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:2e4be9c40fcfbca83940bb875d516886)
+ * (GenCodeChecksum:896dd0256e12220dc174740a9f66012f)
  */
 
 /**
@@ -41,7 +41,9 @@ class CRM_Financial_DAO_FinancialType extends CRM_Core_DAO {
   /**
    * ID of original financial_type so you can search this table by the financial_type.id and then select the relevant version based on the timestamp
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
@@ -49,34 +51,44 @@ class CRM_Financial_DAO_FinancialType extends CRM_Core_DAO {
    * Financial Type Name.
    *
    * @var string
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $name;
 
   /**
    * Financial Type Description.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $description;
 
   /**
    * Is this financial type tax-deductible? If true, contributions of this type may be fully OR partially deductible - non-deductible amount is stored in the Contribution record.
    *
-   * @var bool
+   * @var bool|string
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_deductible;
 
   /**
    * Is this a predefined system object?
    *
-   * @var bool
+   * @var bool|string
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_reserved;
 
   /**
    * Is this property active?
    *
-   * @var bool
+   * @var bool|string
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_active;
 
diff --git a/civicrm/CRM/Financial/DAO/PaymentProcessor.php b/civicrm/CRM/Financial/DAO/PaymentProcessor.php
index 8c86a63342..82622f2b69 100644
--- a/civicrm/CRM/Financial/DAO/PaymentProcessor.php
+++ b/civicrm/CRM/Financial/DAO/PaymentProcessor.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Financial/PaymentProcessor.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:a541d72f9435b6ae2706d98cc01b1598)
+ * (GenCodeChecksum:7d4681a9b748c272c9da9807af6e4809)
  */
 
 /**
@@ -34,141 +34,187 @@ class CRM_Financial_DAO_PaymentProcessor extends CRM_Core_DAO {
   /**
    * Payment Processor ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * Which Domain is this match entry for
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $domain_id;
 
   /**
    * Payment Processor Name.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $name;
 
   /**
    * Payment Processor Descriptive Name.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(127))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $title;
 
   /**
    * Payment Processor Description.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $description;
 
   /**
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $payment_processor_type_id;
 
   /**
    * Is this processor active?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_active;
 
   /**
    * Is this processor the default?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_default;
 
   /**
    * Is this processor for a test site?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_test;
 
   /**
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $user_name;
 
   /**
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $password;
 
   /**
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $signature;
 
   /**
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $url_site;
 
   /**
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $url_api;
 
   /**
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $url_recur;
 
   /**
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $url_button;
 
   /**
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $subject;
 
   /**
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $class_name;
 
   /**
    * Billing Mode (deprecated)
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $billing_mode;
 
   /**
    * Can process recurring contributions
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_recur;
 
   /**
    * Payment Type: Credit or Debit (deprecated)
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $payment_type;
 
   /**
    * Payment Instrument ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $payment_instrument_id;
 
   /**
    * array of accepted credit card types
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $accepted_credit_cards;
 
diff --git a/civicrm/CRM/Financial/DAO/PaymentProcessorType.php b/civicrm/CRM/Financial/DAO/PaymentProcessorType.php
index 32118ba04a..4088336a4a 100644
--- a/civicrm/CRM/Financial/DAO/PaymentProcessorType.php
+++ b/civicrm/CRM/Financial/DAO/PaymentProcessorType.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Financial/PaymentProcessorType.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:f60f8f4248c8c667223720869d8c81b3)
+ * (GenCodeChecksum:a24e95eecd01bdb6ff555cd307a62084)
  */
 
 /**
@@ -34,7 +34,9 @@ class CRM_Financial_DAO_PaymentProcessorType extends CRM_Core_DAO {
   /**
    * Payment Processor Type ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
@@ -42,6 +44,8 @@ class CRM_Financial_DAO_PaymentProcessorType extends CRM_Core_DAO {
    * Payment Processor Type Name.
    *
    * @var string
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $name;
 
@@ -49,120 +53,162 @@ class CRM_Financial_DAO_PaymentProcessorType extends CRM_Core_DAO {
    * Payment Processor Type Title.
    *
    * @var string
+   *   (SQL type: varchar(127))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $title;
 
   /**
    * Payment Processor Description.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $description;
 
   /**
    * Is this processor active?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_active;
 
   /**
    * Is this processor the default?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_default;
 
   /**
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $user_name_label;
 
   /**
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $password_label;
 
   /**
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $signature_label;
 
   /**
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $subject_label;
 
   /**
    * @var string
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $class_name;
 
   /**
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $url_site_default;
 
   /**
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $url_api_default;
 
   /**
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $url_recur_default;
 
   /**
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $url_button_default;
 
   /**
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $url_site_test_default;
 
   /**
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $url_api_test_default;
 
   /**
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $url_recur_test_default;
 
   /**
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $url_button_test_default;
 
   /**
    * Billing Mode (deprecated)
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $billing_mode;
 
   /**
    * Can process recurring contributions
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_recur;
 
   /**
    * Payment Type: Credit or Debit (deprecated)
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $payment_type;
 
   /**
    * Payment Instrument ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $payment_instrument_id;
 
diff --git a/civicrm/CRM/Financial/DAO/PaymentToken.php b/civicrm/CRM/Financial/DAO/PaymentToken.php
index 0c6816df4d..43a9de8706 100644
--- a/civicrm/CRM/Financial/DAO/PaymentToken.php
+++ b/civicrm/CRM/Financial/DAO/PaymentToken.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Financial/PaymentToken.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:f1c4b32a0722841ec435f9b6c4ecfe54)
+ * (GenCodeChecksum:e5c6457ebb1ae691f811a3472d1a9eec)
  */
 
 /**
@@ -34,19 +34,25 @@ class CRM_Financial_DAO_PaymentToken extends CRM_Core_DAO {
   /**
    * Payment Token ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * FK to Contact ID for the owner of the token
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $contact_id;
 
   /**
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $payment_processor_id;
 
@@ -54,69 +60,89 @@ class CRM_Financial_DAO_PaymentToken extends CRM_Core_DAO {
    * Externally provided token string
    *
    * @var string
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $token;
 
   /**
    * Date created
    *
-   * @var timestamp
+   * @var string|null
+   *   (SQL type: timestamp)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $created_date;
 
   /**
    * Contact ID of token creator
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $created_id;
 
   /**
    * Date this token expires
    *
-   * @var datetime
+   * @var string|null
+   *   (SQL type: datetime)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $expiry_date;
 
   /**
    * Email at the time of token creation. Useful for fraud forensics
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $email;
 
   /**
    * Billing first name at the time of token creation. Useful for fraud forensics
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $billing_first_name;
 
   /**
    * Billing middle name at the time of token creation. Useful for fraud forensics
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $billing_middle_name;
 
   /**
    * Billing last name at the time of token creation. Useful for fraud forensics
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $billing_last_name;
 
   /**
    * Holds the part of the card number or account details that may be retained or displayed
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $masked_account_number;
 
   /**
    * IP used when creating the token. Useful for fraud forensics
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $ip_address;
 
diff --git a/civicrm/CRM/Financial/Form/FinancialAccount.php b/civicrm/CRM/Financial/Form/FinancialAccount.php
index 82fb432f85..ea6e127caf 100644
--- a/civicrm/CRM/Financial/Form/FinancialAccount.php
+++ b/civicrm/CRM/Financial/Form/FinancialAccount.php
@@ -115,7 +115,7 @@ class CRM_Financial_Form_FinancialAccount extends CRM_Contribute_Form {
    * @param array $values
    *   posted values of the form
    * @param $files
-   * @param $self
+   * @param self $self
    *
    * @return array
    *   list of errors to be posted back to the form
diff --git a/civicrm/CRM/Financial/Form/FinancialBatch.php b/civicrm/CRM/Financial/Form/FinancialBatch.php
index 8665b6fc2c..a417ab8a21 100644
--- a/civicrm/CRM/Financial/Form/FinancialBatch.php
+++ b/civicrm/CRM/Financial/Form/FinancialBatch.php
@@ -141,7 +141,7 @@ class CRM_Financial_Form_FinancialBatch extends CRM_Contribute_Form {
    *
    * @param array $values
    * @param $files
-   * @param $self
+   * @param self $self
    *
    * @return array
    *   list of errors to be posted back to the form
diff --git a/civicrm/CRM/Financial/Form/FinancialType.php b/civicrm/CRM/Financial/Form/FinancialType.php
index 9dce6892ac..5dc3100dd9 100644
--- a/civicrm/CRM/Financial/Form/FinancialType.php
+++ b/civicrm/CRM/Financial/Form/FinancialType.php
@@ -44,12 +44,6 @@ class CRM_Financial_Form_FinancialType extends CRM_Core_Form {
    * @throws \CRM_Core_Exception
    */
   public function preProcess() {
-    // Check permission for Financial Type when ACL-FT is enabled
-    if (CRM_Financial_BAO_FinancialType::isACLFinancialTypeStatus()
-      && !CRM_Core_Permission::check('administer CiviCRM Financial Types')
-    ) {
-      CRM_Core_Error::statusBounce(ts('You do not have permission to access this page.'));
-    }
     $this->_id = CRM_Utils_Request::retrieve('id', 'Positive', $this);
     parent::preProcess();
     $this->setPageTitle(ts('Financial Type'));
diff --git a/civicrm/CRM/Financial/Form/FinancialTypeAccount.php b/civicrm/CRM/Financial/Form/FinancialTypeAccount.php
index a3e66c76b4..fae3624ab9 100644
--- a/civicrm/CRM/Financial/Form/FinancialTypeAccount.php
+++ b/civicrm/CRM/Financial/Form/FinancialTypeAccount.php
@@ -200,7 +200,7 @@ class CRM_Financial_Form_FinancialTypeAccount extends CRM_Core_Form {
    * @param array $values
    *   posted values of the form
    * @param $files
-   * @param $self
+   * @param self $self
    *
    * @return array
    *   list of errors to be posted back to the form
diff --git a/civicrm/CRM/Financial/Form/FrontEndPaymentFormTrait.php b/civicrm/CRM/Financial/Form/FrontEndPaymentFormTrait.php
index dbf787e27d..4ae5d30bac 100644
--- a/civicrm/CRM/Financial/Form/FrontEndPaymentFormTrait.php
+++ b/civicrm/CRM/Financial/Form/FrontEndPaymentFormTrait.php
@@ -110,7 +110,7 @@ trait CRM_Financial_Form_FrontEndPaymentFormTrait {
    * This is an early cut of what will ideally eventually be a hooklike call to the
    * CRM_Invoicing_Utils class with a potential end goal of moving this handling to an extension.
    *
-   * @param $tplLineItems
+   * @param array $tplLineItems
    */
   protected function alterLineItemsForTemplate(&$tplLineItems) {
     if (!CRM_Invoicing_Utils::isInvoicingEnabled()) {
diff --git a/civicrm/CRM/Financial/Form/Payment.php b/civicrm/CRM/Financial/Form/Payment.php
index 09bd75851b..e1937e149b 100644
--- a/civicrm/CRM/Financial/Form/Payment.php
+++ b/civicrm/CRM/Financial/Form/Payment.php
@@ -130,7 +130,7 @@ class CRM_Financial_Form_Payment extends CRM_Core_Form {
    * We add the icons based on these css names which are lower cased
    * and only AlphaNumeric (+ _).
    *
-   * @param $key
+   * @param string $key
    *
    * @return string
    */
@@ -148,7 +148,7 @@ class CRM_Financial_Form_Payment extends CRM_Core_Form {
    * We do a strotolower comparison as we don't know what case people might have if they
    * are using a non-std one like dinersclub.
    *
-   * @param $key
+   * @param string $key
    *
    * Based on http://davidwalsh.name/validate-credit-cards
    * See also https://en.wikipedia.org/wiki/Credit_card_numbers
diff --git a/civicrm/CRM/Financial/Form/PaymentEdit.php b/civicrm/CRM/Financial/Form/PaymentEdit.php
index 23f4143307..afa6bd745c 100644
--- a/civicrm/CRM/Financial/Form/PaymentEdit.php
+++ b/civicrm/CRM/Financial/Form/PaymentEdit.php
@@ -139,7 +139,7 @@ class CRM_Financial_Form_PaymentEdit extends CRM_Core_Form {
    *   The input form values.
    * @param array $files
    *   The uploaded files if any.
-   * @param $self
+   * @param self $self
    *
    * @return bool|array
    *   true if no errors, else array of errors
diff --git a/civicrm/CRM/Financial/Page/AJAX.php b/civicrm/CRM/Financial/Page/AJAX.php
index 33e891cb2a..1218a53bf4 100644
--- a/civicrm/CRM/Financial/Page/AJAX.php
+++ b/civicrm/CRM/Financial/Page/AJAX.php
@@ -15,6 +15,8 @@
  * @copyright CiviCRM LLC https://civicrm.org/licensing
  */
 
+use Civi\Api4\Batch;
+
 /**
  * This class contains all the function that are called using AJAX
  */
@@ -170,19 +172,13 @@ class CRM_Financial_Page_AJAX {
         switch ($op) {
           case 'assign':
           case 'remove':
-            $recordPID = CRM_Core_DAO::getFieldValue('CRM_Financial_DAO_FinancialTrxn', $recordID, 'payment_instrument_id');
-            $batchPID = CRM_Core_DAO::getFieldValue('CRM_Batch_DAO_Batch', $entityID, 'payment_instrument_id');
-            $paymentInstrument = CRM_Core_PseudoConstant::getLabel('CRM_Batch_BAO_Batch', 'payment_instrument_id', $batchPID);
-            if ($op == 'remove' || ($recordPID == $batchPID && $op == 'assign') || !isset($batchPID)) {
+            if ($op == 'remove' || $op == 'assign') {
               $params = [
                 'entity_id' => $recordID,
                 'entity_table' => 'civicrm_financial_trxn',
                 'batch_id' => $entityID,
               ];
             }
-            else {
-              $response = ['status' => ts("This batch is configured to include only transactions using %1 payment method. If you want to include other transactions, please edit the batch first and modify the Payment Method.", [1 => $paymentInstrument])];
-            }
             break;
 
           case 'close':
@@ -204,7 +200,12 @@ class CRM_Financial_Page_AJAX {
         }
 
         if (method_exists($recordBAO, $methods[$op]) & !empty($params)) {
-          $updated = call_user_func_array(array($recordBAO, $methods[$op]), array(&$params));
+          try {
+            $updated = call_user_func_array(array($recordBAO, $methods[$op]), array(&$params));
+          }
+          catch (\CRM_Core_Exception $e) {
+            $errorMessage = $e->getMessage();
+          }
           if ($updated) {
             $redirectStatus = $updated->status_id;
             if ($batchStatus[$updated->status_id] == "Reopened") {
@@ -215,6 +216,9 @@ class CRM_Financial_Page_AJAX {
               'status_id' => $redirectStatus,
             ];
           }
+          if ($errorMessage ?? FALSE) {
+            $response = ['status' => $errorMessage];
+          }
         }
       }
     }
@@ -465,70 +469,84 @@ class CRM_Financial_Page_AJAX {
       }
     }
 
-    $batchPID = CRM_Core_DAO::getFieldValue('CRM_Batch_DAO_Batch', $entityID, 'payment_instrument_id');
-    $paymentInstrument = CRM_Core_PseudoConstant::getLabel('CRM_Batch_BAO_Batch', 'payment_instrument_id', $batchPID);
-    foreach ($cIDs as $key => $value) {
-      $recordPID = CRM_Core_DAO::getFieldValue('CRM_Financial_DAO_FinancialTrxn', $value, 'payment_instrument_id');
-      if ($action == 'Remove' || ($recordPID == $batchPID && $action == 'Assign') || !isset($batchPID)) {
+    foreach ($cIDs as $value) {
+      if ($action == 'Remove' || $action == 'Assign') {
         $params = [
           'entity_id' => $value,
           'entity_table' => 'civicrm_financial_trxn',
           'batch_id' => $entityID,
         ];
-        if ($action == 'Assign') {
-          $updated = CRM_Batch_BAO_EntityBatch::create($params);
-        }
-        else {
-          $delete = \Civi\Api4\EntityBatch::delete(FALSE);
-          foreach ($params as $field => $val) {
-            $delete->addWhere($field, '=', $val);
+        try {
+          if ($action == 'Assign') {
+            CRM_Batch_BAO_EntityBatch::create($params);
+          }
+          else {
+            $delete = \Civi\Api4\EntityBatch::delete(FALSE);
+            foreach ($params as $field => $val) {
+              $delete->addWhere($field, '=', $val);
+            }
+            $delete->execute()->count();
           }
-          $updated = $delete->execute()->count();
+        }
+        catch (\CRM_Core_Exception $e) {
+          $errorMessage = $e->getMessage();
         }
       }
     }
-    if ($updated) {
-      $status = ['status' => 'record-updated-success'];
+    if ($errorMessage ?? FALSE) {
+      $status = ['status' => $errorMessage];
     }
     else {
-      $status = ['status' => ts("This batch is configured to include only transactions using %1 payment method. If you want to include other transactions, please edit the batch first and modify the Payment Method.", [1 => $paymentInstrument])];
+      $status = ['status' => 'record-updated-success'];
     }
     CRM_Utils_JSON::output($status);
   }
 
-  public static function getBatchSummary() {
-    $batchID = CRM_Utils_Type::escape($_REQUEST['batchID'], 'String');
-    $params = ['id' => $batchID];
-
-    $batchSummary = self::makeBatchSummary($batchID, $params);
-
-    CRM_Utils_JSON::output($batchSummary);
+  /**
+   * @throws \API_Exception
+   * @throws \CRM_Core_Exception
+   */
+  public static function getBatchSummary(): void {
+    CRM_Utils_JSON::output(self::makeBatchSummary(CRM_Utils_Type::escape($_REQUEST['batchID'], 'Integer')));
   }
 
   /**
-   * Makes an array of the batch's summary and returns array to parent getBatchSummary() function.
+   * Get a summary of the batch..
    *
    * @param $batchID
-   * @param $params
    *
    * @return array
+   * @throws \API_Exception
+   * @throws \CRM_Core_Exception
    */
-  public static function makeBatchSummary($batchID, $params) {
-    $batchInfo = CRM_Batch_BAO_Batch::retrieve($params, $value);
+  public static function makeBatchSummary(int $batchID): array {
+    // We use permissions false because the old function did that & we
+    // have not tested to ensure permissions are correct - but ideally
+    // we would setCheckPermissions = TRUE.
+    $batchInfo = Batch::get(FALSE)
+      ->addWhere('id', '=', $batchID)
+      ->addSelect(
+        'description',
+        'item_count',
+        'total',
+        'created_date',
+        'created_id.display_name',
+        'status_id:label',
+        'payment_instrument_id:label'
+      )
+      ->execute()->first();
     $batchTotals = CRM_Batch_BAO_Batch::batchTotals([$batchID]);
-    $batchSummary = [
-      'created_by' => CRM_Contact_BAO_Contact::displayName($batchInfo->created_id),
-      'status' => CRM_Core_PseudoConstant::getLabel('CRM_Batch_BAO_Batch', 'status_id', $batchInfo->status_id),
-      'description' => $batchInfo->description,
-      'payment_instrument' => CRM_Core_PseudoConstant::getLabel('CRM_Batch_BAO_Batch', 'payment_instrument_id', $batchInfo->payment_instrument_id),
-      'item_count' => $batchInfo->item_count,
+    return [
+      'created_by' => $batchInfo['created_id.display_name'],
+      'status' => $batchInfo['status_id:label'],
+      'description' => $batchInfo['description'],
+      'payment_instrument' => $batchInfo['payment_instrument_id:label'],
+      'item_count' => $batchInfo['item_count'],
       'assigned_item_count' => $batchTotals[$batchID]['item_count'],
-      'total' => CRM_Utils_Money::format($batchInfo->total),
-      'assigned_total' => CRM_Utils_Money::format($batchTotals[$batchID]['total']),
-      'opened_date' => CRM_Utils_Date::customFormat($batchInfo->created_date),
+      'total' => Civi::format()->money($batchInfo['total']),
+      'assigned_total' => Civi::format()->money($batchTotals[$batchID]['total']),
+      'opened_date' => CRM_Utils_Date::customFormat($batchInfo['created_date']),
     ];
-
-    return $batchSummary;
   }
 
 }
diff --git a/civicrm/CRM/Financial/Page/FinancialType.php b/civicrm/CRM/Financial/Page/FinancialType.php
index adb78a4ef8..5c9f2d4c64 100644
--- a/civicrm/CRM/Financial/Page/FinancialType.php
+++ b/civicrm/CRM/Financial/Page/FinancialType.php
@@ -84,12 +84,6 @@ class CRM_Financial_Page_FinancialType extends CRM_Core_Page_Basic {
    * Browse all financial types.
    */
   public function browse() {
-    // Check permission for Financial Type when ACL-FT is enabled
-    if (CRM_Financial_BAO_FinancialType::isACLFinancialTypeStatus()
-      && !CRM_Core_Permission::check('administer CiviCRM Financial Types')
-    ) {
-      CRM_Core_Error::statusBounce(ts('You do not have permission to access this page.'));
-    }
     // get all financial types sorted by weight
     $financialType = [];
     $dao = new CRM_Financial_DAO_FinancialType();
diff --git a/civicrm/CRM/Friend/BAO/Friend.php b/civicrm/CRM/Friend/BAO/Friend.php
index df14f59082..216242af2e 100644
--- a/civicrm/CRM/Friend/BAO/Friend.php
+++ b/civicrm/CRM/Friend/BAO/Friend.php
@@ -28,12 +28,6 @@ class CRM_Friend_BAO_Friend extends CRM_Friend_DAO_Friend {
    */
   public $_friendId;
 
-  /**
-   */
-  public function __construct() {
-    parent::__construct();
-  }
-
   /**
    * Takes an associative array and creates a friend object.
    *
diff --git a/civicrm/CRM/Friend/DAO/Friend.php b/civicrm/CRM/Friend/DAO/Friend.php
index e5a77e498d..19dac5041d 100644
--- a/civicrm/CRM/Friend/DAO/Friend.php
+++ b/civicrm/CRM/Friend/DAO/Friend.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Friend/Friend.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:cddccd848fafb980eb26245c21f47f76)
+ * (GenCodeChecksum:49f46991da84d0d0067ea70ab6276f15)
  */
 
 /**
@@ -33,7 +33,9 @@ class CRM_Friend_DAO_Friend extends CRM_Core_DAO {
   /**
    * Friend ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
@@ -41,58 +43,76 @@ class CRM_Friend_DAO_Friend extends CRM_Core_DAO {
    * Name of table where item being referenced is stored.
    *
    * @var string
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $entity_table;
 
   /**
    * Foreign key to the referenced item.
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $entity_id;
 
   /**
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $title;
 
   /**
    * Introductory message to contributor or participant displayed on the Tell a Friend form.
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $intro;
 
   /**
    * Suggested message to friends, provided as default on the Tell A Friend form.
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $suggested_message;
 
   /**
    * URL for general info about the organization - included in the email sent to friends.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $general_link;
 
   /**
    * Text for Tell a Friend thank you page header and HTML title.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $thankyou_title;
 
   /**
    * Thank you message displayed on success page.
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $thankyou_text;
 
   /**
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_active;
 
diff --git a/civicrm/CRM/Grant/Info.php b/civicrm/CRM/Grant/Info.php
deleted file mode 100644
index e4093715f3..0000000000
--- a/civicrm/CRM/Grant/Info.php
+++ /dev/null
@@ -1,152 +0,0 @@
-<?php
-/*
- +--------------------------------------------------------------------+
- | Copyright CiviCRM LLC. All rights reserved.                        |
- |                                                                    |
- | This work is published under the GNU AGPLv3 license with some      |
- | permitted exceptions and without any warranty. For full license    |
- | and copyright information, see https://civicrm.org/licensing       |
- +--------------------------------------------------------------------+
- */
-
-/**
- * This class introduces component to the system and provides all the
- * information about it. It needs to extend CRM_Core_Component_Info
- * abstract class.
- *
- * @package CRM
- * @copyright CiviCRM LLC https://civicrm.org/licensing
- */
-class CRM_Grant_Info extends CRM_Core_Component_Info {
-
-  /**
-   * @var string
-   * @inheritDoc
-   */
-  protected $keyword = 'grant';
-
-  /**
-   * @inheritDoc
-   * @return array
-   */
-  public function getInfo() {
-    return [
-      'name' => 'CiviGrant',
-      'translatedName' => ts('CiviGrant'),
-      'title' => 'CiviCRM Grant Management Engine',
-      'path' => 'CRM_Grant_',
-      'search' => 1,
-      'showActivitiesInCore' => 1,
-    ];
-  }
-
-  /**
-   * @inheritDoc
-   * @param bool $getAllUnconditionally
-   * @param bool $descriptions
-   *   Whether to return permission descriptions
-   *
-   * @return array
-   */
-  public function getPermissions($getAllUnconditionally = FALSE, $descriptions = FALSE) {
-    $permissions = [
-      'access CiviGrant' => [
-        ts('access CiviGrant'),
-        ts('View all grants'),
-      ],
-      'edit grants' => [
-        ts('edit grants'),
-        ts('Create and update grants'),
-      ],
-      'delete in CiviGrant' => [
-        ts('delete in CiviGrant'),
-        ts('Delete grants'),
-      ],
-    ];
-
-    if (!$descriptions) {
-      foreach ($permissions as $name => $attr) {
-        $permissions[$name] = array_shift($attr);
-      }
-    }
-
-    return $permissions;
-  }
-
-  /**
-   * @inheritDoc
-   * @return null
-   */
-  public function getUserDashboardElement() {
-    // no dashboard element for this component
-    return NULL;
-  }
-
-  /**
-   * @inheritDoc
-   * @return null
-   */
-  public function getUserDashboardObject() {
-    // no dashboard element for this component
-    return NULL;
-  }
-
-  /**
-   * @inheritDoc
-   * @return array
-   */
-  public function registerTab() {
-    return [
-      'title' => ts('Grants'),
-      'url' => 'grant',
-      'weight' => 60,
-    ];
-  }
-
-  /**
-   * @inheritDoc
-   * @return string
-   */
-  public function getIcon() {
-    return 'crm-i fa-money';
-  }
-
-  /**
-   * @inheritDoc
-   * @return array
-   */
-  public function registerAdvancedSearchPane() {
-    return [
-      'title' => ts('Grants'),
-      'weight' => 50,
-    ];
-  }
-
-  /**
-   * @inheritDoc
-   * @return null
-   */
-  public function getActivityTypes() {
-    return NULL;
-  }
-
-  /**
-   * add shortcut to Create New.
-   * @param $shortCuts
-   */
-  public function creatNewShortcut(&$shortCuts) {
-    if (CRM_Core_Permission::check('access CiviGrant') &&
-      CRM_Core_Permission::check('edit grants')
-    ) {
-      $shortCuts = array_merge($shortCuts, [
-        [
-          'path' => 'civicrm/grant/add',
-          'query' => "reset=1&action=add&context=standalone",
-          'ref' => 'new-grant',
-          'title' => ts('Grant'),
-        ],
-      ]);
-    }
-  }
-
-}
diff --git a/civicrm/CRM/Group/Controller.php b/civicrm/CRM/Group/Controller.php
index 3f54e4078f..7437b4bed5 100644
--- a/civicrm/CRM/Group/Controller.php
+++ b/civicrm/CRM/Group/Controller.php
@@ -21,7 +21,7 @@ class CRM_Group_Controller extends CRM_Core_Controller {
   /**
    * Class constructor.
    *
-   * @param null $title
+   * @param string $title
    * @param bool|int $action
    * @param bool $modal
    */
diff --git a/civicrm/CRM/Import/Parser.php b/civicrm/CRM/Import/Parser.php
index 68ef35a23d..eb05e31038 100644
--- a/civicrm/CRM/Import/Parser.php
+++ b/civicrm/CRM/Import/Parser.php
@@ -569,7 +569,7 @@ abstract class CRM_Import_Parser {
             $break = TRUE;
           }
           if (!$break) {
-            _civicrm_api3_deprecated_add_formatted_param($value, $contactFormatted);
+            $this->_civicrm_api3_deprecated_add_formatted_param($value, $contactFormatted);
           }
         }
         continue;
@@ -585,7 +585,7 @@ abstract class CRM_Import_Parser {
         $value['contact_type'] = $contactType;
       }
 
-      _civicrm_api3_deprecated_add_formatted_param($value, $contactFormatted);
+      $this->_civicrm_api3_deprecated_add_formatted_param($value, $contactFormatted);
     }
 
     $contactFormatted['contact_type'] = $contactType;
@@ -593,6 +593,345 @@ abstract class CRM_Import_Parser {
     return _civicrm_api3_deprecated_duplicate_formatted_contact($contactFormatted);
   }
 
+  /**
+   * This function adds the contact variable in $values to the
+   * parameter list $params.  For most cases, $values should have length 1.  If
+   * the variable being added is a child of Location, a location_type_id must
+   * also be included.  If it is a child of phone, a phone_type must be included.
+   *
+   * @param array $values
+   *   The variable(s) to be added.
+   * @param array $params
+   *   The structured parameter list.
+   *
+   * @return bool|CRM_Utils_Error
+   */
+  private function _civicrm_api3_deprecated_add_formatted_param(&$values, &$params) {
+    // @todo - like most functions in import ... most of this is cruft....
+    // Crawl through the possible classes:
+    // Contact
+    //      Individual
+    //      Household
+    //      Organization
+    //          Location
+    //              Address
+    //              Email
+    //              Phone
+    //              IM
+    //      Note
+    //      Custom
+
+    // Cache the various object fields
+    static $fields = NULL;
+
+    if ($fields == NULL) {
+      $fields = [];
+    }
+
+    // first add core contact values since for other Civi modules they are not added
+    require_once 'CRM/Contact/BAO/Contact.php';
+    $contactFields = CRM_Contact_DAO_Contact::fields();
+    _civicrm_api3_store_values($contactFields, $values, $params);
+
+    if (isset($values['contact_type'])) {
+      // we're an individual/household/org property
+
+      $fields[$values['contact_type']] = CRM_Contact_DAO_Contact::fields();
+
+      _civicrm_api3_store_values($fields[$values['contact_type']], $values, $params);
+      return TRUE;
+    }
+
+    if (isset($values['individual_prefix'])) {
+      if (!empty($params['prefix_id'])) {
+        $prefixes = CRM_Core_PseudoConstant::get('CRM_Contact_DAO_Contact', 'prefix_id');
+        $params['prefix'] = $prefixes[$params['prefix_id']];
+      }
+      else {
+        $params['prefix'] = $values['individual_prefix'];
+      }
+      return TRUE;
+    }
+
+    if (isset($values['individual_suffix'])) {
+      if (!empty($params['suffix_id'])) {
+        $suffixes = CRM_Core_PseudoConstant::get('CRM_Contact_DAO_Contact', 'suffix_id');
+        $params['suffix'] = $suffixes[$params['suffix_id']];
+      }
+      else {
+        $params['suffix'] = $values['individual_suffix'];
+      }
+      return TRUE;
+    }
+
+    // CRM-4575
+    if (isset($values['email_greeting'])) {
+      if (!empty($params['email_greeting_id'])) {
+        $emailGreetingFilter = [
+          'contact_type' => $params['contact_type'] ?? NULL,
+          'greeting_type' => 'email_greeting',
+        ];
+        $emailGreetings = CRM_Core_PseudoConstant::greeting($emailGreetingFilter);
+        $params['email_greeting'] = $emailGreetings[$params['email_greeting_id']];
+      }
+      else {
+        $params['email_greeting'] = $values['email_greeting'];
+      }
+
+      return TRUE;
+    }
+
+    if (isset($values['postal_greeting'])) {
+      if (!empty($params['postal_greeting_id'])) {
+        $postalGreetingFilter = [
+          'contact_type' => $params['contact_type'] ?? NULL,
+          'greeting_type' => 'postal_greeting',
+        ];
+        $postalGreetings = CRM_Core_PseudoConstant::greeting($postalGreetingFilter);
+        $params['postal_greeting'] = $postalGreetings[$params['postal_greeting_id']];
+      }
+      else {
+        $params['postal_greeting'] = $values['postal_greeting'];
+      }
+      return TRUE;
+    }
+
+    if (isset($values['addressee'])) {
+      $params['addressee'] = $values['addressee'];
+      return TRUE;
+    }
+
+    if (isset($values['gender'])) {
+      if (!empty($params['gender_id'])) {
+        $genders = CRM_Core_PseudoConstant::get('CRM_Contact_DAO_Contact', 'gender_id');
+        $params['gender'] = $genders[$params['gender_id']];
+      }
+      else {
+        $params['gender'] = $values['gender'];
+      }
+      return TRUE;
+    }
+
+    if (!empty($values['preferred_communication_method'])) {
+      $comm = [];
+      $pcm = array_change_key_case(array_flip(CRM_Core_PseudoConstant::get('CRM_Contact_DAO_Contact', 'preferred_communication_method')), CASE_LOWER);
+
+      $preffComm = explode(',', $values['preferred_communication_method']);
+      foreach ($preffComm as $v) {
+        $v = strtolower(trim($v));
+        if (array_key_exists($v, $pcm)) {
+          $comm[$pcm[$v]] = 1;
+        }
+      }
+
+      $params['preferred_communication_method'] = $comm;
+      return TRUE;
+    }
+
+    // format the website params.
+    if (!empty($values['url'])) {
+      static $websiteFields;
+      if (!is_array($websiteFields)) {
+        require_once 'CRM/Core/DAO/Website.php';
+        $websiteFields = CRM_Core_DAO_Website::fields();
+      }
+      if (!array_key_exists('website', $params) ||
+        !is_array($params['website'])
+      ) {
+        $params['website'] = [];
+      }
+
+      $websiteCount = count($params['website']);
+      _civicrm_api3_store_values($websiteFields, $values,
+        $params['website'][++$websiteCount]
+      );
+
+      return TRUE;
+    }
+
+    // get the formatted location blocks into params - w/ 3.0 format, CRM-4605
+    if (!empty($values['location_type_id'])) {
+      static $fields = NULL;
+      if ($fields == NULL) {
+        $fields = [];
+      }
+
+      foreach (['Phone', 'Email', 'IM', 'OpenID', 'Phone_Ext'] as $block) {
+        $name = strtolower($block);
+        if (!array_key_exists($name, $values)) {
+          continue;
+        }
+
+        if ($name === 'phone_ext') {
+          $block = 'Phone';
+        }
+
+        // block present in value array.
+        if (!array_key_exists($name, $params) || !is_array($params[$name])) {
+          $params[$name] = [];
+        }
+
+        if (!array_key_exists($block, $fields)) {
+          $className = "CRM_Core_DAO_$block";
+          $fields[$block] =& $className::fields();
+        }
+
+        $blockCnt = count($params[$name]);
+
+        // copy value to dao field name.
+        if ($name == 'im') {
+          $values['name'] = $values[$name];
+        }
+
+        _civicrm_api3_store_values($fields[$block], $values,
+          $params[$name][++$blockCnt]
+        );
+
+        if (empty($params['id']) && ($blockCnt == 1)) {
+          $params[$name][$blockCnt]['is_primary'] = TRUE;
+        }
+
+        // we only process single block at a time.
+        return TRUE;
+      }
+
+      // handle address fields.
+      if (!array_key_exists('address', $params) || !is_array($params['address'])) {
+        $params['address'] = [];
+      }
+
+      $addressCnt = 1;
+      foreach ($params['address'] as $cnt => $addressBlock) {
+        if (CRM_Utils_Array::value('location_type_id', $values) ==
+          CRM_Utils_Array::value('location_type_id', $addressBlock)
+        ) {
+          $addressCnt = $cnt;
+          break;
+        }
+        $addressCnt++;
+      }
+
+      if (!array_key_exists('Address', $fields)) {
+        $fields['Address'] = CRM_Core_DAO_Address::fields();
+      }
+
+      // Note: we doing multiple value formatting here for address custom fields, plus putting into right format.
+      // The actual formatting (like date, country ..etc) for address custom fields is taken care of while saving
+      // the address in CRM_Core_BAO_Address::create method
+      if (!empty($values['location_type_id'])) {
+        static $customFields = [];
+        if (empty($customFields)) {
+          $customFields = CRM_Core_BAO_CustomField::getFields('Address');
+        }
+        // make a copy of values, as we going to make changes
+        $newValues = $values;
+        foreach ($values as $key => $val) {
+          $customFieldID = CRM_Core_BAO_CustomField::getKeyID($key);
+          if ($customFieldID && array_key_exists($customFieldID, $customFields)) {
+            // mark an entry in fields array since we want the value of custom field to be copied
+            $fields['Address'][$key] = NULL;
+
+            $htmlType = $customFields[$customFieldID]['html_type'] ?? NULL;
+            if (CRM_Core_BAO_CustomField::isSerialized($customFields[$customFieldID]) && $val) {
+              $mulValues = explode(',', $val);
+              $customOption = CRM_Core_BAO_CustomOption::getCustomOption($customFieldID, TRUE);
+              $newValues[$key] = [];
+              foreach ($mulValues as $v1) {
+                foreach ($customOption as $v2) {
+                  if ((strtolower($v2['label']) == strtolower(trim($v1))) ||
+                    (strtolower($v2['value']) == strtolower(trim($v1)))
+                  ) {
+                    if ($htmlType == 'CheckBox') {
+                      $newValues[$key][$v2['value']] = 1;
+                    }
+                    else {
+                      $newValues[$key][] = $v2['value'];
+                    }
+                  }
+                }
+              }
+            }
+          }
+        }
+        // consider new values
+        $values = $newValues;
+      }
+
+      _civicrm_api3_store_values($fields['Address'], $values, $params['address'][$addressCnt]);
+
+      $addressFields = [
+        'county',
+        'country',
+        'state_province',
+        'supplemental_address_1',
+        'supplemental_address_2',
+        'supplemental_address_3',
+        'StateProvince.name',
+      ];
+
+      foreach ($addressFields as $field) {
+        if (array_key_exists($field, $values)) {
+          if (!array_key_exists('address', $params)) {
+            $params['address'] = [];
+          }
+          $params['address'][$addressCnt][$field] = $values[$field];
+        }
+      }
+
+      if ($addressCnt == 1) {
+
+        $params['address'][$addressCnt]['is_primary'] = TRUE;
+      }
+      return TRUE;
+    }
+
+    if (isset($values['note'])) {
+      // add a note field
+      if (!isset($params['note'])) {
+        $params['note'] = [];
+      }
+      $noteBlock = count($params['note']) + 1;
+
+      $params['note'][$noteBlock] = [];
+      if (!isset($fields['Note'])) {
+        $fields['Note'] = CRM_Core_DAO_Note::fields();
+      }
+
+      // get the current logged in civicrm user
+      $session = CRM_Core_Session::singleton();
+      $userID = $session->get('userID');
+
+      if ($userID) {
+        $values['contact_id'] = $userID;
+      }
+
+      _civicrm_api3_store_values($fields['Note'], $values, $params['note'][$noteBlock]);
+
+      return TRUE;
+    }
+
+    // Check for custom field values
+
+    if (empty($fields['custom'])) {
+      $fields['custom'] = &CRM_Core_BAO_CustomField::getFields(CRM_Utils_Array::value('contact_type', $values),
+        FALSE, FALSE, NULL, NULL, FALSE, FALSE, FALSE
+      );
+    }
+
+    foreach ($values as $key => $value) {
+      if ($customFieldID = CRM_Core_BAO_CustomField::getKeyID($key)) {
+        // check if it's a valid custom field id
+
+        if (!array_key_exists($customFieldID, $fields['custom'])) {
+          return civicrm_api3_create_error('Invalid custom field ID');
+        }
+        else {
+          $params[$key] = $value;
+        }
+      }
+    }
+  }
+
   /**
    * Parse a field which could be represented by a label or name value rather than the DB value.
    *
diff --git a/civicrm/CRM/Logging/Schema.php b/civicrm/CRM/Logging/Schema.php
index d9a633c77d..a8ef7185ad 100644
--- a/civicrm/CRM/Logging/Schema.php
+++ b/civicrm/CRM/Logging/Schema.php
@@ -924,7 +924,7 @@ COLS;
    * Get trigger info.
    *
    * @param array $info
-   * @param null $tableName
+   * @param string|null $tableName
    * @param bool $force
    */
   public function triggerInfo(&$info, $tableName = NULL, $force = FALSE) {
diff --git a/civicrm/CRM/Mailing/BAO/BouncePattern.php b/civicrm/CRM/Mailing/BAO/BouncePattern.php
index b8ffd594c2..4af9768073 100644
--- a/civicrm/CRM/Mailing/BAO/BouncePattern.php
+++ b/civicrm/CRM/Mailing/BAO/BouncePattern.php
@@ -22,13 +22,6 @@ class CRM_Mailing_BAO_BouncePattern extends CRM_Mailing_DAO_BouncePattern {
    */
   public static $_patterns = NULL;
 
-  /**
-   * Class constructor.
-   */
-  public function __construct() {
-    parent::__construct();
-  }
-
   /**
    * Build the static pattern array.
    */
@@ -60,7 +53,7 @@ class CRM_Mailing_BAO_BouncePattern extends CRM_Mailing_DAO_BouncePattern {
    * @return array
    *   Tuple (bounce_type, bounce_reason)
    */
-  public static function &match(&$message) {
+  public static function match($message) {
     // clean up $message and replace all white space by a single space, CRM-4767
     $message = preg_replace('/\s+/', ' ', $message);
 
diff --git a/civicrm/CRM/Mailing/BAO/Mailing.php b/civicrm/CRM/Mailing/BAO/Mailing.php
index 7c68125455..158d6f0e37 100644
--- a/civicrm/CRM/Mailing/BAO/Mailing.php
+++ b/civicrm/CRM/Mailing/BAO/Mailing.php
@@ -51,13 +51,13 @@ class CRM_Mailing_BAO_Mailing extends CRM_Mailing_DAO_Mailing {
 
   /**
    * The header associated with this mailing.
-   * @var string
+   * @var CRM_Mailing_BAO_MailingComponent
    */
   private $header = NULL;
 
   /**
    * The footer associated with this mailing.
-   * @var string
+   * @var CRM_Mailing_BAO_MailingComponent
    */
   private $footer = NULL;
 
@@ -79,13 +79,6 @@ class CRM_Mailing_BAO_Mailing extends CRM_Mailing_DAO_Mailing {
    */
   private $_domain = NULL;
 
-  /**
-   * Class constructor.
-   */
-  public function __construct() {
-    parent::__construct();
-  }
-
   /**
    * @deprecated
    *
@@ -2691,7 +2684,8 @@ WHERE  civicrm_mailing_job.id = %1
   }
 
   /**
-   * @param null $mode
+   * @param string|null $mode
+   *   Either 'sms' or null
    *
    * @return bool
    * @throws Exception
diff --git a/civicrm/CRM/Mailing/BAO/MailingAB.php b/civicrm/CRM/Mailing/BAO/MailingAB.php
index e035ec6962..fd1d3fe3bc 100644
--- a/civicrm/CRM/Mailing/BAO/MailingAB.php
+++ b/civicrm/CRM/Mailing/BAO/MailingAB.php
@@ -20,13 +20,6 @@
  */
 class CRM_Mailing_BAO_MailingAB extends CRM_Mailing_DAO_MailingAB {
 
-  /**
-   * class constructor.
-   */
-  public function __construct() {
-    parent::__construct();
-  }
-
   /**
    * Construct a new mailingab object.
    *
diff --git a/civicrm/CRM/Mailing/BAO/MailingJob.php b/civicrm/CRM/Mailing/BAO/MailingJob.php
index cb4073a10a..8ce0203223 100644
--- a/civicrm/CRM/Mailing/BAO/MailingJob.php
+++ b/civicrm/CRM/Mailing/BAO/MailingJob.php
@@ -32,13 +32,6 @@ class CRM_Mailing_BAO_MailingJob extends CRM_Mailing_DAO_MailingJob {
    */
   public static $mailsProcessed = 0;
 
-  /**
-   * Class constructor.
-   */
-  public function __construct() {
-    parent::__construct();
-  }
-
   /**
    * Create mailing job.
    *
@@ -68,7 +61,8 @@ class CRM_Mailing_BAO_MailingJob extends CRM_Mailing_DAO_MailingJob {
    * Initiate all pending/ready jobs.
    *
    * @param array $testParams
-   * @param string $mode
+   * @param string|null $mode
+   *   Either 'sms' or null
    *
    * @return bool|null
    */
@@ -215,7 +209,8 @@ class CRM_Mailing_BAO_MailingJob extends CRM_Mailing_DAO_MailingJob {
   /**
    * Post process to determine if the parent job
    * as well as the mailing is complete after the run.
-   * @param null $mode
+   * @param string|null $mode
+   *   Either 'sms' or null
    */
   public static function runJobs_post($mode = NULL) {
 
@@ -289,7 +284,8 @@ class CRM_Mailing_BAO_MailingJob extends CRM_Mailing_DAO_MailingJob {
   /**
    * before we run jobs, we need to split the jobs
    * @param int $offset
-   * @param null $mode
+   * @param string|null $mode
+   *   Either 'sms' or null
    */
   public static function runJobs_pre($offset = 200, $mode = NULL) {
     $job = new CRM_Mailing_BAO_MailingJob();
diff --git a/civicrm/CRM/Mailing/BAO/Recipients.php b/civicrm/CRM/Mailing/BAO/Recipients.php
index 53cf180207..b904aa952e 100644
--- a/civicrm/CRM/Mailing/BAO/Recipients.php
+++ b/civicrm/CRM/Mailing/BAO/Recipients.php
@@ -16,13 +16,6 @@
  */
 class CRM_Mailing_BAO_Recipients extends CRM_Mailing_DAO_Recipients {
 
-  /**
-   * Class constructor.
-   */
-  public function __construct() {
-    parent::__construct();
-  }
-
   /**
    * @param int $mailingID
    *
diff --git a/civicrm/CRM/Mailing/BAO/Spool.php b/civicrm/CRM/Mailing/BAO/Spool.php
index bf098e48bd..dc88a6fc7a 100644
--- a/civicrm/CRM/Mailing/BAO/Spool.php
+++ b/civicrm/CRM/Mailing/BAO/Spool.php
@@ -16,13 +16,6 @@
  */
 class CRM_Mailing_BAO_Spool extends CRM_Mailing_DAO_Spool {
 
-  /**
-   * Class constructor.
-   */
-  public function __construct() {
-    parent::__construct();
-  }
-
   /**
    * Store Mails into Spool table.
    *
diff --git a/civicrm/CRM/Mailing/BAO/TrackableURL.php b/civicrm/CRM/Mailing/BAO/TrackableURL.php
index 7026e718f7..f857f6eb9c 100644
--- a/civicrm/CRM/Mailing/BAO/TrackableURL.php
+++ b/civicrm/CRM/Mailing/BAO/TrackableURL.php
@@ -16,13 +16,6 @@
  */
 class CRM_Mailing_BAO_TrackableURL extends CRM_Mailing_DAO_TrackableURL {
 
-  /**
-   * Class constructor.
-   */
-  public function __construct() {
-    parent::__construct();
-  }
-
   /**
    * Given a url, mailing id and queue event id, find or construct a
    * trackable url and redirect url.
diff --git a/civicrm/CRM/Mailing/Controller/Send.php b/civicrm/CRM/Mailing/Controller/Send.php
index b989372f52..fffeeee171 100644
--- a/civicrm/CRM/Mailing/Controller/Send.php
+++ b/civicrm/CRM/Mailing/Controller/Send.php
@@ -19,7 +19,7 @@ class CRM_Mailing_Controller_Send extends CRM_Core_Controller {
   /**
    * Class constructor.
    *
-   * @param null $title
+   * @param string $title
    * @param bool|int $action
    * @param bool $modal
    *
diff --git a/civicrm/CRM/Mailing/DAO/BouncePattern.php b/civicrm/CRM/Mailing/DAO/BouncePattern.php
index 091639a689..92ca3b8eb2 100644
--- a/civicrm/CRM/Mailing/DAO/BouncePattern.php
+++ b/civicrm/CRM/Mailing/DAO/BouncePattern.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Mailing/BouncePattern.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:c69a86cc75621a05e32951247e12f06b)
+ * (GenCodeChecksum:15aed9731c3f63c29d9d3c0c57297619)
  */
 
 /**
@@ -32,21 +32,27 @@ class CRM_Mailing_DAO_BouncePattern extends CRM_Core_DAO {
   public static $_log = FALSE;
 
   /**
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * Type of bounce
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $bounce_type_id;
 
   /**
    * A regexp to match a message to a bounce type
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $pattern;
 
diff --git a/civicrm/CRM/Mailing/DAO/BounceType.php b/civicrm/CRM/Mailing/DAO/BounceType.php
index 8a274e8392..c9e6acf97b 100644
--- a/civicrm/CRM/Mailing/DAO/BounceType.php
+++ b/civicrm/CRM/Mailing/DAO/BounceType.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Mailing/BounceType.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:cde25653865971ad7f5692dfd0eb7c39)
+ * (GenCodeChecksum:ef69aba971b0a118a9ec2238a180c7c5)
  */
 
 /**
@@ -32,7 +32,9 @@ class CRM_Mailing_DAO_BounceType extends CRM_Core_DAO {
   public static $_log = FALSE;
 
   /**
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
@@ -40,20 +42,26 @@ class CRM_Mailing_DAO_BounceType extends CRM_Core_DAO {
    * Type of bounce
    *
    * @var string
+   *   (SQL type: varchar(24))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $name;
 
   /**
    * A description of this bounce type
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $description;
 
   /**
    * Number of bounces of this type required before the email address is put on bounce hold
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $hold_threshold;
 
diff --git a/civicrm/CRM/Mailing/DAO/Mailing.php b/civicrm/CRM/Mailing/DAO/Mailing.php
index 93ec4b8630..eef22e75d7 100644
--- a/civicrm/CRM/Mailing/DAO/Mailing.php
+++ b/civicrm/CRM/Mailing/DAO/Mailing.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Mailing/Mailing.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:0889788ebb2ad430999bb9eda9524621)
+ * (GenCodeChecksum:9815b093c77eedc9aa2c97c338a0e75d)
  */
 
 /**
@@ -49,89 +49,115 @@ class CRM_Mailing_DAO_Mailing extends CRM_Core_DAO {
   ];
 
   /**
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * Which site is this mailing for
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $domain_id;
 
   /**
    * FK to the header component.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $header_id;
 
   /**
    * FK to the footer component.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $footer_id;
 
   /**
    * FK to the auto-responder component.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $reply_id;
 
   /**
    * FK to the unsubscribe component.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $unsubscribe_id;
 
   /**
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $resubscribe_id;
 
   /**
    * FK to the opt-out component.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $optout_id;
 
   /**
    * Mailing Name.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(128))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $name;
 
   /**
    * differentiate between standalone mailings, A/B tests, and A/B final-winner
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(32))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $mailing_type;
 
   /**
    * From Header of mailing
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(128))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $from_name;
 
   /**
    * From Email of mailing
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(128))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $from_email;
 
   /**
    * Reply-To Email of mailing
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(128))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $replyto_email;
 
@@ -139,207 +165,267 @@ class CRM_Mailing_DAO_Mailing extends CRM_Core_DAO {
    * The language/processing system used for email templates.
    *
    * @var string
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $template_type;
 
   /**
    * Advanced options used by the email templating system. (JSON encoded)
    *
-   * @var longtext
+   * @var string|null
+   *   (SQL type: longtext)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $template_options;
 
   /**
    * Subject of mailing
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(128))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $subject;
 
   /**
    * Body of the mailing in text format.
    *
-   * @var longtext
+   * @var string|null
+   *   (SQL type: longtext)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $body_text;
 
   /**
    * Body of the mailing in html format.
    *
-   * @var longtext
+   * @var string|null
+   *   (SQL type: longtext)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $body_html;
 
   /**
    * Should we track URL click-throughs for this mailing?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $url_tracking;
 
   /**
    * Should we forward replies back to the author?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $forward_replies;
 
   /**
    * Should we enable the auto-responder?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $auto_responder;
 
   /**
    * Should we track when recipients open/read this mailing?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $open_tracking;
 
   /**
    * Has at least one job associated with this mailing finished?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_completed;
 
   /**
    * FK to the message template.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $msg_template_id;
 
   /**
    * Overwrite the VERP address in Reply-To
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $override_verp;
 
   /**
    * FK to Contact ID who first created this mailing
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $created_id;
 
   /**
    * Date and time this mailing was created.
    *
-   * @var timestamp
+   * @var string
+   *   (SQL type: timestamp)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $created_date;
 
   /**
    * When the mailing (or closely related entity) was created or modified or deleted.
    *
-   * @var timestamp
+   * @var string
+   *   (SQL type: timestamp)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $modified_date;
 
   /**
    * FK to Contact ID who scheduled this mailing
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $scheduled_id;
 
   /**
    * Date and time this mailing was scheduled.
    *
-   * @var timestamp
+   * @var string
+   *   (SQL type: timestamp)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $scheduled_date;
 
   /**
    * FK to Contact ID who approved this mailing
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $approver_id;
 
   /**
    * Date and time this mailing was approved.
    *
-   * @var timestamp
+   * @var string
+   *   (SQL type: timestamp)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $approval_date;
 
   /**
    * The status of this mailing. Values: none, approved, rejected
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $approval_status_id;
 
   /**
    * Note behind the decision.
    *
-   * @var longtext
+   * @var string|null
+   *   (SQL type: longtext)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $approval_note;
 
   /**
    * Is this mailing archived?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_archived;
 
   /**
    * In what context(s) is the mailing contents visible (online viewing)
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(40))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $visibility;
 
   /**
    * The campaign for which this mailing has been initiated.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $campaign_id;
 
   /**
    * Remove duplicate emails?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $dedupe_email;
 
   /**
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $sms_provider_id;
 
   /**
    * Key for validating requests related to this mailing.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(16))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $hash;
 
   /**
    * With email_selection_method, determines which email address to use
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $location_type_id;
 
   /**
    * With location_type_id, determine how to choose the email address to use.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(20))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $email_selection_method;
 
   /**
    * Language of the content of the mailing. Useful for tokens.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(5))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $language;
 
diff --git a/civicrm/CRM/Mailing/DAO/MailingAB.php b/civicrm/CRM/Mailing/DAO/MailingAB.php
index 0e3e3ad5e5..f97cada046 100644
--- a/civicrm/CRM/Mailing/DAO/MailingAB.php
+++ b/civicrm/CRM/Mailing/DAO/MailingAB.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Mailing/MailingAB.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:021242562cab688e65a6c13247c61636)
+ * (GenCodeChecksum:c385d0cae9e88e5a44770cd3ae6fd9d2)
  */
 
 /**
@@ -32,92 +32,120 @@ class CRM_Mailing_DAO_MailingAB extends CRM_Core_DAO {
   public static $_log = FALSE;
 
   /**
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * Name of the A/B test
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(128))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $name;
 
   /**
    * Status
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(32))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $status;
 
   /**
    * The first experimental mailing ("A" condition)
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $mailing_id_a;
 
   /**
    * The second experimental mailing ("B" condition)
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $mailing_id_b;
 
   /**
    * The final, general mailing (derived from A or B)
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $mailing_id_c;
 
   /**
    * Which site is this mailing for
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $domain_id;
 
   /**
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(32))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $testing_criteria;
 
   /**
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(32))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $winner_criteria;
 
   /**
    * What specific url to track
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $specific_url;
 
   /**
    * In how much time to declare winner
    *
-   * @var datetime
+   * @var string|null
+   *   (SQL type: datetime)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $declare_winning_time;
 
   /**
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $group_percentage;
 
   /**
    * FK to Contact ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $created_id;
 
   /**
    * When was this item created
    *
-   * @var timestamp
+   * @var string
+   *   (SQL type: timestamp)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $created_date;
 
diff --git a/civicrm/CRM/Mailing/DAO/MailingComponent.php b/civicrm/CRM/Mailing/DAO/MailingComponent.php
index 281181c445..0f77ebdfb5 100644
--- a/civicrm/CRM/Mailing/DAO/MailingComponent.php
+++ b/civicrm/CRM/Mailing/DAO/MailingComponent.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Mailing/MailingComponent.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:41af94f2313c33bb228194f142fc8e0b)
+ * (GenCodeChecksum:07a2027aee545a570c9fd99294f98d9a)
  */
 
 /**
@@ -32,54 +32,70 @@ class CRM_Mailing_DAO_MailingComponent extends CRM_Core_DAO {
   public static $_log = FALSE;
 
   /**
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * The name of this component
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $name;
 
   /**
    * Type of Component.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(12))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $component_type;
 
   /**
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $subject;
 
   /**
    * Body of the component in html format.
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $body_html;
 
   /**
    * Body of the component in text format.
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $body_text;
 
   /**
    * Is this the default component for this component_type?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_default;
 
   /**
    * Is this property active?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_active;
 
diff --git a/civicrm/CRM/Mailing/DAO/MailingGroup.php b/civicrm/CRM/Mailing/DAO/MailingGroup.php
index 0fd5b1f894..84118eb8e9 100644
--- a/civicrm/CRM/Mailing/DAO/MailingGroup.php
+++ b/civicrm/CRM/Mailing/DAO/MailingGroup.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Mailing/MailingGroup.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:1e483c2e468defc82c46dd66146595bb)
+ * (GenCodeChecksum:454b529a2ced8428fa3ec9a080fb4887)
  */
 
 /**
@@ -32,21 +32,27 @@ class CRM_Mailing_DAO_MailingGroup extends CRM_Core_DAO {
   public static $_log = FALSE;
 
   /**
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * The ID of a previous mailing to include/exclude recipients.
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $mailing_id;
 
   /**
    * Are the members of the group included or excluded?.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(8))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $group_type;
 
@@ -54,27 +60,35 @@ class CRM_Mailing_DAO_MailingGroup extends CRM_Core_DAO {
    * Name of table where item being referenced is stored.
    *
    * @var string
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $entity_table;
 
   /**
    * Foreign key to the referenced item.
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $entity_id;
 
   /**
    * The filtering search. custom search id or -1 for civicrm api search
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $search_id;
 
   /**
    * The arguments to be sent to the search function
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $search_args;
 
diff --git a/civicrm/CRM/Mailing/DAO/MailingJob.php b/civicrm/CRM/Mailing/DAO/MailingJob.php
index 7058a2751a..3ba252d040 100644
--- a/civicrm/CRM/Mailing/DAO/MailingJob.php
+++ b/civicrm/CRM/Mailing/DAO/MailingJob.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Mailing/MailingJob.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:2527bca832d0e7751c69a42d33f28159)
+ * (GenCodeChecksum:fdca7fda2701c59049924abfdb6adf3b)
  */
 
 /**
@@ -32,77 +32,99 @@ class CRM_Mailing_DAO_MailingJob extends CRM_Core_DAO {
   public static $_log = FALSE;
 
   /**
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * The ID of the mailing this Job will send.
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $mailing_id;
 
   /**
    * date on which this job was scheduled.
    *
-   * @var timestamp
+   * @var string
+   *   (SQL type: timestamp)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $scheduled_date;
 
   /**
    * date on which this job was started.
    *
-   * @var timestamp
+   * @var string
+   *   (SQL type: timestamp)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $start_date;
 
   /**
    * date on which this job ended.
    *
-   * @var timestamp
+   * @var string
+   *   (SQL type: timestamp)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $end_date;
 
   /**
    * The state of this job
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(12))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $status;
 
   /**
    * Is this job for a test mail?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_test;
 
   /**
    * Type of mailling job: null | child
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $job_type;
 
   /**
    * Parent job id
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $parent_id;
 
   /**
    * Offset of the child job
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $job_offset;
 
   /**
    * Queue size limit for each child job
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $job_limit;
 
diff --git a/civicrm/CRM/Mailing/DAO/Recipients.php b/civicrm/CRM/Mailing/DAO/Recipients.php
index 7bc6325be6..88d565694d 100644
--- a/civicrm/CRM/Mailing/DAO/Recipients.php
+++ b/civicrm/CRM/Mailing/DAO/Recipients.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Mailing/Recipients.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:b3c4d09f9c6afa1f96dc0d1cdbaec935)
+ * (GenCodeChecksum:9b1fd81feabb976bc4447e5df79fb8ad)
  */
 
 /**
@@ -32,35 +32,45 @@ class CRM_Mailing_DAO_Recipients extends CRM_Core_DAO {
   public static $_log = FALSE;
 
   /**
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * The ID of the mailing this Job will send.
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $mailing_id;
 
   /**
    * FK to Contact
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $contact_id;
 
   /**
    * FK to Email
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $email_id;
 
   /**
    * FK to Phone
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $phone_id;
 
diff --git a/civicrm/CRM/Mailing/DAO/Spool.php b/civicrm/CRM/Mailing/DAO/Spool.php
index b5a4afc996..891ec8b5c0 100644
--- a/civicrm/CRM/Mailing/DAO/Spool.php
+++ b/civicrm/CRM/Mailing/DAO/Spool.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Mailing/Spool.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:37cfd90aa2697070996f893259692b4b)
+ * (GenCodeChecksum:be1b386bf2b06844863726171878fb37)
  */
 
 /**
@@ -32,49 +32,63 @@ class CRM_Mailing_DAO_Spool extends CRM_Core_DAO {
   public static $_log = FALSE;
 
   /**
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * The ID of the Job .
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $job_id;
 
   /**
    * The email of the recipients this mail is to be sent.
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $recipient_email;
 
   /**
    * The header information of this mailing .
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $headers;
 
   /**
    * The body of this mailing.
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $body;
 
   /**
    * date on which this job was added.
    *
-   * @var timestamp
+   * @var string
+   *   (SQL type: timestamp)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $added_at;
 
   /**
    * date on which this job was removed.
    *
-   * @var timestamp
+   * @var string
+   *   (SQL type: timestamp)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $removed_at;
 
diff --git a/civicrm/CRM/Mailing/DAO/TrackableURL.php b/civicrm/CRM/Mailing/DAO/TrackableURL.php
index 2c018815e7..e3fa29db83 100644
--- a/civicrm/CRM/Mailing/DAO/TrackableURL.php
+++ b/civicrm/CRM/Mailing/DAO/TrackableURL.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Mailing/TrackableURL.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:4c224c28653ab679c03fb8e98ddc3401)
+ * (GenCodeChecksum:2eba75ecb9fc002adcc4a66cae55650a)
  */
 
 /**
@@ -32,21 +32,27 @@ class CRM_Mailing_DAO_TrackableURL extends CRM_Core_DAO {
   public static $_log = FALSE;
 
   /**
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * The URL to be tracked.
    *
-   * @var text
+   * @var string
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $url;
 
   /**
    * FK to the mailing
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $mailing_id;
 
diff --git a/civicrm/CRM/Mailing/Event/BAO/Bounce.php b/civicrm/CRM/Mailing/Event/BAO/Bounce.php
index 57c8c3a99b..cc78d62638 100644
--- a/civicrm/CRM/Mailing/Event/BAO/Bounce.php
+++ b/civicrm/CRM/Mailing/Event/BAO/Bounce.php
@@ -16,17 +16,10 @@
  */
 class CRM_Mailing_Event_BAO_Bounce extends CRM_Mailing_Event_DAO_Bounce {
 
-  /**
-   * Class constructor.
-   */
-  public function __construct() {
-    parent::__construct();
-  }
-
   /**
    * Create a new bounce event, update the email address if necessary
    *
-   * @param $params
+   * @param array $params
    *
    * @return bool|null
    */
diff --git a/civicrm/CRM/Mailing/Event/BAO/Confirm.php b/civicrm/CRM/Mailing/Event/BAO/Confirm.php
index 15f16ab6eb..a94ecb089e 100644
--- a/civicrm/CRM/Mailing/Event/BAO/Confirm.php
+++ b/civicrm/CRM/Mailing/Event/BAO/Confirm.php
@@ -22,13 +22,6 @@ require_once 'Mail/mime.php';
  */
 class CRM_Mailing_Event_BAO_Confirm extends CRM_Mailing_Event_DAO_Confirm {
 
-  /**
-   * Class constructor.
-   */
-  public function __construct() {
-    parent::__construct();
-  }
-
   /**
    * Confirm a pending subscription.
    *
diff --git a/civicrm/CRM/Mailing/Event/BAO/Delivered.php b/civicrm/CRM/Mailing/Event/BAO/Delivered.php
index 477faa61da..481a8e7cd2 100644
--- a/civicrm/CRM/Mailing/Event/BAO/Delivered.php
+++ b/civicrm/CRM/Mailing/Event/BAO/Delivered.php
@@ -16,13 +16,6 @@
  */
 class CRM_Mailing_Event_BAO_Delivered extends CRM_Mailing_Event_DAO_Delivered {
 
-  /**
-   * Class constructor.
-   */
-  public function __construct() {
-    parent::__construct();
-  }
-
   /**
    * Create a new delivery event.
    *
diff --git a/civicrm/CRM/Mailing/Event/BAO/Forward.php b/civicrm/CRM/Mailing/Event/BAO/Forward.php
index b8900a6b9a..e6ca6bc2cc 100644
--- a/civicrm/CRM/Mailing/Event/BAO/Forward.php
+++ b/civicrm/CRM/Mailing/Event/BAO/Forward.php
@@ -16,13 +16,6 @@
  */
 class CRM_Mailing_Event_BAO_Forward extends CRM_Mailing_Event_DAO_Forward {
 
-  /**
-   * Class constructor.
-   */
-  public function __construct() {
-    parent::__construct();
-  }
-
   /**
    * Create a new forward event, create a new contact if necessary
    *
@@ -103,8 +96,7 @@ class CRM_Mailing_Event_BAO_Forward extends CRM_Mailing_Event_DAO_Forward {
         'email' => $forward_email,
         'location_type_id' => $locationType->id,
       ];
-      require_once 'CRM/Utils/DeprecatedUtils.php';
-      _civicrm_api3_deprecated_add_formatted_param($value, $formatted);
+      self::_civicrm_api3_deprecated_add_formatted_param($value, $formatted);
       $formatted['onDuplicate'] = CRM_Import_Parser::DUPLICATE_SKIP;
       $formatted['fixAddress'] = TRUE;
       $contact = civicrm_api('contact', 'create', $formatted);
@@ -199,6 +191,183 @@ class CRM_Mailing_Event_BAO_Forward extends CRM_Mailing_Event_DAO_Forward {
     return $successfulForward;
   }
 
+  /**
+   * This function adds the contact variable in $values to the
+   * parameter list $params.  For most cases, $values should have length 1.  If
+   * the variable being added is a child of Location, a location_type_id must
+   * also be included.  If it is a child of phone, a phone_type must be included.
+   *
+   * @param array $values
+   *   The variable(s) to be added.
+   * @param array $params
+   *   The structured parameter list.
+   *
+   * @return bool|CRM_Utils_Error
+   */
+  protected static function _civicrm_api3_deprecated_add_formatted_param(&$values, &$params) {
+    // @todo - most of this code is UNREACHABLE.
+    // Crawl through the possible classes:
+    // Contact
+    //      Individual
+    //      Household
+    //      Organization
+    //          Location
+    //              Address
+    //              Email
+    //              Phone
+    //              IM
+    //      Note
+    //      Custom
+
+    // Cache the various object fields
+    static $fields = NULL;
+
+    if ($fields == NULL) {
+      $fields = [];
+    }
+
+    // first add core contact values since for other Civi modules they are not added
+    require_once 'CRM/Contact/BAO/Contact.php';
+    $contactFields = CRM_Contact_DAO_Contact::fields();
+    _civicrm_api3_store_values($contactFields, $values, $params);
+
+    // get the formatted location blocks into params - w/ 3.0 format, CRM-4605
+    if (!empty($values['location_type_id'])) {
+      static $fields = NULL;
+      if ($fields == NULL) {
+        $fields = [];
+      }
+
+      foreach (['Phone', 'Email', 'IM', 'OpenID', 'Phone_Ext'] as $block) {
+        $name = strtolower($block);
+        if (!array_key_exists($name, $values)) {
+          continue;
+        }
+
+        if ($name === 'phone_ext') {
+          $block = 'Phone';
+        }
+
+        // block present in value array.
+        if (!array_key_exists($name, $params) || !is_array($params[$name])) {
+          $params[$name] = [];
+        }
+
+        if (!array_key_exists($block, $fields)) {
+          $className = "CRM_Core_DAO_$block";
+          $fields[$block] =& $className::fields();
+        }
+
+        $blockCnt = count($params[$name]);
+
+        // copy value to dao field name.
+        if ($name == 'im') {
+          $values['name'] = $values[$name];
+        }
+
+        _civicrm_api3_store_values($fields[$block], $values,
+          $params[$name][++$blockCnt]
+        );
+
+        if (empty($params['id']) && ($blockCnt == 1)) {
+          $params[$name][$blockCnt]['is_primary'] = TRUE;
+        }
+
+        // we only process single block at a time.
+        return TRUE;
+      }
+
+      // handle address fields.
+      if (!array_key_exists('address', $params) || !is_array($params['address'])) {
+        $params['address'] = [];
+      }
+
+      $addressCnt = 1;
+      foreach ($params['address'] as $cnt => $addressBlock) {
+        if (CRM_Utils_Array::value('location_type_id', $values) ==
+          CRM_Utils_Array::value('location_type_id', $addressBlock)
+        ) {
+          $addressCnt = $cnt;
+          break;
+        }
+        $addressCnt++;
+      }
+
+      if (!array_key_exists('Address', $fields)) {
+        $fields['Address'] = CRM_Core_DAO_Address::fields();
+      }
+
+      // Note: we doing multiple value formatting here for address custom fields, plus putting into right format.
+      // The actual formatting (like date, country ..etc) for address custom fields is taken care of while saving
+      // the address in CRM_Core_BAO_Address::create method
+      if (!empty($values['location_type_id'])) {
+        static $customFields = [];
+        if (empty($customFields)) {
+          $customFields = CRM_Core_BAO_CustomField::getFields('Address');
+        }
+        // make a copy of values, as we going to make changes
+        $newValues = $values;
+        foreach ($values as $key => $val) {
+          $customFieldID = CRM_Core_BAO_CustomField::getKeyID($key);
+          if ($customFieldID && array_key_exists($customFieldID, $customFields)) {
+            // mark an entry in fields array since we want the value of custom field to be copied
+            $fields['Address'][$key] = NULL;
+
+            $htmlType = $customFields[$customFieldID]['html_type'] ?? NULL;
+            if (CRM_Core_BAO_CustomField::isSerialized($customFields[$customFieldID]) && $val) {
+              $mulValues = explode(',', $val);
+              $customOption = CRM_Core_BAO_CustomOption::getCustomOption($customFieldID, TRUE);
+              $newValues[$key] = [];
+              foreach ($mulValues as $v1) {
+                foreach ($customOption as $v2) {
+                  if ((strtolower($v2['label']) == strtolower(trim($v1))) ||
+                    (strtolower($v2['value']) == strtolower(trim($v1)))
+                  ) {
+                    if ($htmlType == 'CheckBox') {
+                      $newValues[$key][$v2['value']] = 1;
+                    }
+                    else {
+                      $newValues[$key][] = $v2['value'];
+                    }
+                  }
+                }
+              }
+            }
+          }
+        }
+        // consider new values
+        $values = $newValues;
+      }
+
+      _civicrm_api3_store_values($fields['Address'], $values, $params['address'][$addressCnt]);
+
+      $addressFields = [
+        'county',
+        'country',
+        'state_province',
+        'supplemental_address_1',
+        'supplemental_address_2',
+        'supplemental_address_3',
+        'StateProvince.name',
+      ];
+
+      foreach ($addressFields as $field) {
+        if (array_key_exists($field, $values)) {
+          if (!array_key_exists('address', $params)) {
+            $params['address'] = [];
+          }
+          $params['address'][$addressCnt][$field] = $values[$field];
+        }
+      }
+
+      if ($addressCnt == 1) {
+
+        $params['address'][$addressCnt]['is_primary'] = TRUE;
+      }
+      return TRUE;
+    }
+  }
+
   /**
    * Get row count for the event selector.
    *
diff --git a/civicrm/CRM/Mailing/Event/BAO/Opened.php b/civicrm/CRM/Mailing/Event/BAO/Opened.php
index 1ecc078839..81a57a16a0 100644
--- a/civicrm/CRM/Mailing/Event/BAO/Opened.php
+++ b/civicrm/CRM/Mailing/Event/BAO/Opened.php
@@ -16,13 +16,6 @@
  */
 class CRM_Mailing_Event_BAO_Opened extends CRM_Mailing_Event_DAO_Opened {
 
-  /**
-   * Class constructor.
-   */
-  public function __construct() {
-    parent::__construct();
-  }
-
   /**
    * Register an open event.
    *
@@ -152,7 +145,7 @@ class CRM_Mailing_Event_BAO_Opened extends CRM_Mailing_Event_DAO_Opened {
   /**
    * Get opened count for each mailing for a given set of mailing IDs and a specific contact.
    *
-   * @param int $mailingIDs
+   * @param int[] $mailingIDs
    *   IDs of the mailing (comma separated).
    * @param int $contactID
    *   ID of the contact.
diff --git a/civicrm/CRM/Mailing/Event/BAO/Queue.php b/civicrm/CRM/Mailing/Event/BAO/Queue.php
index 3f27463f47..22cfe10fa4 100644
--- a/civicrm/CRM/Mailing/Event/BAO/Queue.php
+++ b/civicrm/CRM/Mailing/Event/BAO/Queue.php
@@ -16,13 +16,6 @@
  */
 class CRM_Mailing_Event_BAO_Queue extends CRM_Mailing_Event_DAO_Queue {
 
-  /**
-   * Class constructor.
-   */
-  public function __construct() {
-    parent::__construct();
-  }
-
   /**
    * Queue a new recipient.
    *
@@ -47,7 +40,7 @@ class CRM_Mailing_Event_BAO_Queue extends CRM_Mailing_Event_DAO_Queue {
    *
    * @param array $params
    *
-   * @return int
+   * @return string
    *   The hash
    */
   public static function hash($params) {
diff --git a/civicrm/CRM/Mailing/Event/BAO/Reply.php b/civicrm/CRM/Mailing/Event/BAO/Reply.php
index d618b20143..6ecf68e6ad 100644
--- a/civicrm/CRM/Mailing/Event/BAO/Reply.php
+++ b/civicrm/CRM/Mailing/Event/BAO/Reply.php
@@ -22,13 +22,6 @@ require_once 'Mail/mime.php';
  */
 class CRM_Mailing_Event_BAO_Reply extends CRM_Mailing_Event_DAO_Reply {
 
-  /**
-   * Class constructor.
-   */
-  public function __construct() {
-    parent::__construct();
-  }
-
   /**
    * Register a reply event.
    *
@@ -263,7 +256,7 @@ class CRM_Mailing_Event_BAO_Reply extends CRM_Mailing_Event_DAO_Reply {
     $params['html'] = $html;
     $params['text'] = $text;
 
-    CRM_Mailing_BAO_Mailing::addMessageIdHeader($params, 'a', $eq->job_id, queue_id, $eq->hash);
+    CRM_Mailing_BAO_Mailing::addMessageIdHeader($params, 'a', $eq->job_id, $queue_id, $eq->hash);
     if (CRM_Core_BAO_MailSettings::includeMessageId()) {
       $params['messageId'] = $params['Message-ID'];
     }
diff --git a/civicrm/CRM/Mailing/Event/BAO/Subscribe.php b/civicrm/CRM/Mailing/Event/BAO/Subscribe.php
index b02455d0cb..c31849b7da 100644
--- a/civicrm/CRM/Mailing/Event/BAO/Subscribe.php
+++ b/civicrm/CRM/Mailing/Event/BAO/Subscribe.php
@@ -23,13 +23,6 @@ require_once 'Mail/mime.php';
  */
 class CRM_Mailing_Event_BAO_Subscribe extends CRM_Mailing_Event_DAO_Subscribe {
 
-  /**
-   * Class constructor.
-   */
-  public function __construct() {
-    parent::__construct();
-  }
-
   /**
    * Register a subscription event.  Create a new contact if one does not
    * already exist.
@@ -44,8 +37,8 @@ class CRM_Mailing_Event_BAO_Subscribe extends CRM_Mailing_Event_DAO_Subscribe {
    *   during event registration.
    * @param string $context
    *
-   * @return int|null
-   *   $se_id      The id of the subscription event, null on failure
+   * @return CRM_Mailing_Event_BAO_Subscribe|null
+   *   $se_id      The subscription event object, null on failure
    */
   public static function &subscribe($group_id, $email, $contactId = NULL, $context = NULL) {
     // CRM-1797 - allow subscription only to public groups
diff --git a/civicrm/CRM/Mailing/Event/BAO/TrackableURLOpen.php b/civicrm/CRM/Mailing/Event/BAO/TrackableURLOpen.php
index 530fa1ece3..95ea3f6920 100644
--- a/civicrm/CRM/Mailing/Event/BAO/TrackableURLOpen.php
+++ b/civicrm/CRM/Mailing/Event/BAO/TrackableURLOpen.php
@@ -16,13 +16,6 @@
  */
 class CRM_Mailing_Event_BAO_TrackableURLOpen extends CRM_Mailing_Event_DAO_TrackableURLOpen {
 
-  /**
-   * Class constructor.
-   */
-  public function __construct() {
-    parent::__construct();
-  }
-
   /**
    * Track a click-through and return the URL to redirect.
    *
@@ -208,7 +201,7 @@ class CRM_Mailing_Event_BAO_TrackableURLOpen extends CRM_Mailing_Event_DAO_Track
   /**
    * Get tracked url count for each mailing for a given set of mailing IDs.
    *
-   * @param int $mailingIDs
+   * @param int[] $mailingIDs
    *   IDs of the mailing (comma separated).
    * @param int $contactID
    *   ID of the contact.
diff --git a/civicrm/CRM/Mailing/Event/BAO/Unsubscribe.php b/civicrm/CRM/Mailing/Event/BAO/Unsubscribe.php
index d1349a664c..ecc2b5e3da 100644
--- a/civicrm/CRM/Mailing/Event/BAO/Unsubscribe.php
+++ b/civicrm/CRM/Mailing/Event/BAO/Unsubscribe.php
@@ -22,13 +22,6 @@ require_once 'Mail/mime.php';
  */
 class CRM_Mailing_Event_BAO_Unsubscribe extends CRM_Mailing_Event_DAO_Unsubscribe {
 
-  /**
-   * Class constructor.
-   */
-  public function __construct() {
-    parent::__construct();
-  }
-
   /**
    * Unsubscribe a contact from the domain.
    *
@@ -300,9 +293,9 @@ WHERE  email = %2
    * Send a response email informing the contact of the groups from which he.
    * has been unsubscribed.
    *
-   * @param string $queue_id
+   * @param int $queue_id
    *   The queue event ID.
-   * @param array $groups
+   * @param array|null $groups
    *   List of group IDs.
    * @param bool $is_domain
    *   Is this domain-level?.
diff --git a/civicrm/CRM/Mailing/Event/DAO/Bounce.php b/civicrm/CRM/Mailing/Event/DAO/Bounce.php
index aebb50a011..0c1d94d0aa 100644
--- a/civicrm/CRM/Mailing/Event/DAO/Bounce.php
+++ b/civicrm/CRM/Mailing/Event/DAO/Bounce.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Mailing/Event/Bounce.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:6f3c41c50e9baa89d14295479d66975c)
+ * (GenCodeChecksum:d4f63c10a945788a302f4c199cfc52f0)
  */
 
 /**
@@ -32,35 +32,45 @@ class CRM_Mailing_Event_DAO_Bounce extends CRM_Core_DAO {
   public static $_log = FALSE;
 
   /**
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * FK to EventQueue
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $event_queue_id;
 
   /**
    * What type of bounce was it?
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $bounce_type_id;
 
   /**
    * The reason the email bounced.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $bounce_reason;
 
   /**
    * When this bounce event occurred.
    *
-   * @var timestamp
+   * @var string
+   *   (SQL type: timestamp)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $time_stamp;
 
diff --git a/civicrm/CRM/Mailing/Event/DAO/Confirm.php b/civicrm/CRM/Mailing/Event/DAO/Confirm.php
index b8bde92ad9..04701df189 100644
--- a/civicrm/CRM/Mailing/Event/DAO/Confirm.php
+++ b/civicrm/CRM/Mailing/Event/DAO/Confirm.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Mailing/Event/Confirm.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:666c5eb15eb75fd23bebb088db0bc004)
+ * (GenCodeChecksum:70037cdb7d4ba64a26993149a95135a9)
  */
 
 /**
@@ -32,21 +32,27 @@ class CRM_Mailing_Event_DAO_Confirm extends CRM_Core_DAO {
   public static $_log = FALSE;
 
   /**
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * FK to civicrm_mailing_event_subscribe
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $event_subscribe_id;
 
   /**
    * When this confirmation event occurred.
    *
-   * @var timestamp
+   * @var string
+   *   (SQL type: timestamp)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $time_stamp;
 
diff --git a/civicrm/CRM/Mailing/Event/DAO/Delivered.php b/civicrm/CRM/Mailing/Event/DAO/Delivered.php
index 7713ee98bc..c3ef1eccbb 100644
--- a/civicrm/CRM/Mailing/Event/DAO/Delivered.php
+++ b/civicrm/CRM/Mailing/Event/DAO/Delivered.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Mailing/Event/Delivered.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:01ce8759ea940b4dd34213f25b15e7d3)
+ * (GenCodeChecksum:0868640ae2c11be9c92be341ca74d0bc)
  */
 
 /**
@@ -32,21 +32,27 @@ class CRM_Mailing_Event_DAO_Delivered extends CRM_Core_DAO {
   public static $_log = FALSE;
 
   /**
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * FK to EventQueue
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $event_queue_id;
 
   /**
    * When this delivery event occurred.
    *
-   * @var timestamp
+   * @var string
+   *   (SQL type: timestamp)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $time_stamp;
 
diff --git a/civicrm/CRM/Mailing/Event/DAO/Forward.php b/civicrm/CRM/Mailing/Event/DAO/Forward.php
index 01cca5af26..763c5f6d63 100644
--- a/civicrm/CRM/Mailing/Event/DAO/Forward.php
+++ b/civicrm/CRM/Mailing/Event/DAO/Forward.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Mailing/Event/Forward.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:60c155254c97ad953fc07b9244440f4e)
+ * (GenCodeChecksum:4fc0787d204ec05deef20a6b3f3f0de0)
  */
 
 /**
@@ -32,28 +32,36 @@ class CRM_Mailing_Event_DAO_Forward extends CRM_Core_DAO {
   public static $_log = FALSE;
 
   /**
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * FK to EventQueue
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $event_queue_id;
 
   /**
    * FK to EventQueue for destination
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $dest_queue_id;
 
   /**
    * When this forward event occurred.
    *
-   * @var timestamp
+   * @var string
+   *   (SQL type: timestamp)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $time_stamp;
 
diff --git a/civicrm/CRM/Mailing/Event/DAO/Opened.php b/civicrm/CRM/Mailing/Event/DAO/Opened.php
index 2b340f50d4..d0ef057592 100644
--- a/civicrm/CRM/Mailing/Event/DAO/Opened.php
+++ b/civicrm/CRM/Mailing/Event/DAO/Opened.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Mailing/Event/Opened.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:eb80ba7a01169cc0320fb2807c873291)
+ * (GenCodeChecksum:a1d86a2d8080e57f206e2a7adcbbc276)
  */
 
 /**
@@ -32,21 +32,27 @@ class CRM_Mailing_Event_DAO_Opened extends CRM_Core_DAO {
   public static $_log = FALSE;
 
   /**
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * FK to EventQueue
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $event_queue_id;
 
   /**
    * When this open event occurred.
    *
-   * @var timestamp
+   * @var string
+   *   (SQL type: timestamp)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $time_stamp;
 
diff --git a/civicrm/CRM/Mailing/Event/DAO/Queue.php b/civicrm/CRM/Mailing/Event/DAO/Queue.php
index c5ef84e299..1cdc4dd5c8 100644
--- a/civicrm/CRM/Mailing/Event/DAO/Queue.php
+++ b/civicrm/CRM/Mailing/Event/DAO/Queue.php
@@ -6,11 +6,11 @@
  *
  * Generated from xml/schema/CRM/Mailing/Event/Queue.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:64ec9770e9d859c3dba4512005c188be)
+ * (GenCodeChecksum:774aa2cfd13fdd3f0e27e051453c3dc1)
  */
 
 /**
- * Database access object for the Queue entity.
+ * Database access object for the MailingEventQueue entity.
  */
 class CRM_Mailing_Event_DAO_Queue extends CRM_Core_DAO {
   const EXT = 'civicrm';
@@ -32,28 +32,36 @@ class CRM_Mailing_Event_DAO_Queue extends CRM_Core_DAO {
   public static $_log = FALSE;
 
   /**
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * FK to Job
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $job_id;
 
   /**
    * FK to Email
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $email_id;
 
   /**
    * FK to Contact
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $contact_id;
 
@@ -61,13 +69,17 @@ class CRM_Mailing_Event_DAO_Queue extends CRM_Core_DAO {
    * Security hash
    *
    * @var string
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $hash;
 
   /**
    * FK to Phone
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $phone_id;
 
@@ -122,7 +134,7 @@ class CRM_Mailing_Event_DAO_Queue extends CRM_Core_DAO {
           'required' => TRUE,
           'where' => 'civicrm_mailing_event_queue.id',
           'table_name' => 'civicrm_mailing_event_queue',
-          'entity' => 'Queue',
+          'entity' => 'MailingEventQueue',
           'bao' => 'CRM_Mailing_Event_BAO_Queue',
           'localizable' => 0,
           'html' => [
@@ -139,7 +151,7 @@ class CRM_Mailing_Event_DAO_Queue extends CRM_Core_DAO {
           'required' => TRUE,
           'where' => 'civicrm_mailing_event_queue.job_id',
           'table_name' => 'civicrm_mailing_event_queue',
-          'entity' => 'Queue',
+          'entity' => 'MailingEventQueue',
           'bao' => 'CRM_Mailing_Event_BAO_Queue',
           'localizable' => 0,
           'FKClassName' => 'CRM_Mailing_DAO_MailingJob',
@@ -156,7 +168,7 @@ class CRM_Mailing_Event_DAO_Queue extends CRM_Core_DAO {
           'where' => 'civicrm_mailing_event_queue.email_id',
           'default' => NULL,
           'table_name' => 'civicrm_mailing_event_queue',
-          'entity' => 'Queue',
+          'entity' => 'MailingEventQueue',
           'bao' => 'CRM_Mailing_Event_BAO_Queue',
           'localizable' => 0,
           'FKClassName' => 'CRM_Core_DAO_Email',
@@ -173,7 +185,7 @@ class CRM_Mailing_Event_DAO_Queue extends CRM_Core_DAO {
           'required' => TRUE,
           'where' => 'civicrm_mailing_event_queue.contact_id',
           'table_name' => 'civicrm_mailing_event_queue',
-          'entity' => 'Queue',
+          'entity' => 'MailingEventQueue',
           'bao' => 'CRM_Mailing_Event_BAO_Queue',
           'localizable' => 0,
           'FKClassName' => 'CRM_Contact_DAO_Contact',
@@ -192,7 +204,7 @@ class CRM_Mailing_Event_DAO_Queue extends CRM_Core_DAO {
           'size' => CRM_Utils_Type::HUGE,
           'where' => 'civicrm_mailing_event_queue.hash',
           'table_name' => 'civicrm_mailing_event_queue',
-          'entity' => 'Queue',
+          'entity' => 'MailingEventQueue',
           'bao' => 'CRM_Mailing_Event_BAO_Queue',
           'localizable' => 0,
           'add' => NULL,
@@ -205,7 +217,7 @@ class CRM_Mailing_Event_DAO_Queue extends CRM_Core_DAO {
           'where' => 'civicrm_mailing_event_queue.phone_id',
           'default' => NULL,
           'table_name' => 'civicrm_mailing_event_queue',
-          'entity' => 'Queue',
+          'entity' => 'MailingEventQueue',
           'bao' => 'CRM_Mailing_Event_BAO_Queue',
           'localizable' => 0,
           'FKClassName' => 'CRM_Core_DAO_Phone',
diff --git a/civicrm/CRM/Mailing/Event/DAO/Reply.php b/civicrm/CRM/Mailing/Event/DAO/Reply.php
index 0e3dfdd870..3b7d04b7bb 100644
--- a/civicrm/CRM/Mailing/Event/DAO/Reply.php
+++ b/civicrm/CRM/Mailing/Event/DAO/Reply.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Mailing/Event/Reply.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:500b838b63185072b949c9e1a308f9d0)
+ * (GenCodeChecksum:530a4b8ec0e37cbd23bf0acf8be67181)
  */
 
 /**
@@ -32,21 +32,27 @@ class CRM_Mailing_Event_DAO_Reply extends CRM_Core_DAO {
   public static $_log = FALSE;
 
   /**
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * FK to EventQueue
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $event_queue_id;
 
   /**
    * When this reply event occurred.
    *
-   * @var timestamp
+   * @var string
+   *   (SQL type: timestamp)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $time_stamp;
 
diff --git a/civicrm/CRM/Mailing/Event/DAO/Subscribe.php b/civicrm/CRM/Mailing/Event/DAO/Subscribe.php
index 95e65c8e3c..f8e6ea7f95 100644
--- a/civicrm/CRM/Mailing/Event/DAO/Subscribe.php
+++ b/civicrm/CRM/Mailing/Event/DAO/Subscribe.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Mailing/Event/Subscribe.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:e9d5fb2bce9ebd0adb366e76b39d3e84)
+ * (GenCodeChecksum:e58268ec0a5deff45a3b5ab2527bed48)
  */
 
 /**
@@ -32,21 +32,27 @@ class CRM_Mailing_Event_DAO_Subscribe extends CRM_Core_DAO {
   public static $_log = FALSE;
 
   /**
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * FK to Group
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $group_id;
 
   /**
    * FK to Contact
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $contact_id;
 
@@ -54,13 +60,17 @@ class CRM_Mailing_Event_DAO_Subscribe extends CRM_Core_DAO {
    * Security hash
    *
    * @var string
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $hash;
 
   /**
    * When this subscription event occurred.
    *
-   * @var timestamp
+   * @var string
+   *   (SQL type: timestamp)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $time_stamp;
 
diff --git a/civicrm/CRM/Mailing/Event/DAO/TrackableURLOpen.php b/civicrm/CRM/Mailing/Event/DAO/TrackableURLOpen.php
index 1b99093812..7aeefdacac 100644
--- a/civicrm/CRM/Mailing/Event/DAO/TrackableURLOpen.php
+++ b/civicrm/CRM/Mailing/Event/DAO/TrackableURLOpen.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Mailing/Event/TrackableURLOpen.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:5eed5ab9c156c3f774a049f39546cbac)
+ * (GenCodeChecksum:a49c335dfa1bde412a6123d715c9ef34)
  */
 
 /**
@@ -32,28 +32,36 @@ class CRM_Mailing_Event_DAO_TrackableURLOpen extends CRM_Core_DAO {
   public static $_log = FALSE;
 
   /**
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * FK to EventQueue
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $event_queue_id;
 
   /**
    * FK to TrackableURL
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $trackable_url_id;
 
   /**
    * When this trackable URL open occurred.
    *
-   * @var timestamp
+   * @var string
+   *   (SQL type: timestamp)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $time_stamp;
 
diff --git a/civicrm/CRM/Mailing/Event/DAO/Unsubscribe.php b/civicrm/CRM/Mailing/Event/DAO/Unsubscribe.php
index 9e0bd515af..86351e54e7 100644
--- a/civicrm/CRM/Mailing/Event/DAO/Unsubscribe.php
+++ b/civicrm/CRM/Mailing/Event/DAO/Unsubscribe.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Mailing/Event/Unsubscribe.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:c1409a676271a172fdc33339a4414951)
+ * (GenCodeChecksum:3df64dd9a8d374056fcf215672b365d6)
  */
 
 /**
@@ -32,28 +32,36 @@ class CRM_Mailing_Event_DAO_Unsubscribe extends CRM_Core_DAO {
   public static $_log = FALSE;
 
   /**
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * FK to EventQueue
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $event_queue_id;
 
   /**
    * Unsubscribe at org- or group-level
    *
-   * @var bool
+   * @var bool|string
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $org_unsubscribe;
 
   /**
    * When this delivery event occurred.
    *
-   * @var timestamp
+   * @var string
+   *   (SQL type: timestamp)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $time_stamp;
 
diff --git a/civicrm/CRM/Mailing/Form/Task/Print.php b/civicrm/CRM/Mailing/Form/Task/Print.php
index 217d4cf67f..6cc8f2eb2d 100644
--- a/civicrm/CRM/Mailing/Form/Task/Print.php
+++ b/civicrm/CRM/Mailing/Form/Task/Print.php
@@ -27,7 +27,7 @@ class CRM_Mailing_Form_Task_Print extends CRM_Mailing_Form_Task {
     parent::preprocess();
 
     // set print view, so that print templates are called
-    $this->controller->setPrint(1);
+    $this->controller->setPrint(CRM_Core_Smarty::PRINT_PAGE);
 
     // get the formatted params
     $queryParams = $this->get('queryParams');
diff --git a/civicrm/CRM/Mailing/Info.php b/civicrm/CRM/Mailing/Info.php
index c670df0d96..bca7024211 100644
--- a/civicrm/CRM/Mailing/Info.php
+++ b/civicrm/CRM/Mailing/Info.php
@@ -41,7 +41,6 @@ class CRM_Mailing_Info extends CRM_Core_Component_Info {
       }
     }
 
-    $config = CRM_Core_Config::singleton();
     $session = CRM_Core_Session::singleton();
     $contactID = $session->get('userID');
 
@@ -95,7 +94,7 @@ class CRM_Mailing_Info extends CRM_Core_Component_Info {
     $crmMailingSettings = [
       'templateTypes' => CRM_Mailing_BAO_Mailing::getTemplateTypes(),
       'civiMails' => [],
-      'campaignEnabled' => in_array('CiviCampaign', $config->enableComponents),
+      'campaignEnabled' => CRM_Core_Component::isEnabled('CiviCampaign'),
       'groupNames' => [],
       // @todo this is not used in core. Remove once Mosaico no longer depends on it.
       'testGroupNames' => $groupNames['values'],
diff --git a/civicrm/CRM/Mailing/Selector/Search.php b/civicrm/CRM/Mailing/Selector/Search.php
index b37a2cc323..8f54d1e888 100644
--- a/civicrm/CRM/Mailing/Selector/Search.php
+++ b/civicrm/CRM/Mailing/Selector/Search.php
@@ -107,7 +107,7 @@ class CRM_Mailing_Selector_Search extends CRM_Core_Selector_Base implements CRM_
   /**
    * The query object.
    *
-   * @var string
+   * @var CRM_Contact_BAO_Query
    */
   protected $_query;
 
diff --git a/civicrm/CRM/Member/BAO/Membership.php b/civicrm/CRM/Member/BAO/Membership.php
index 3a04e646c9..b6aba09135 100644
--- a/civicrm/CRM/Member/BAO/Membership.php
+++ b/civicrm/CRM/Member/BAO/Membership.php
@@ -30,13 +30,6 @@ class CRM_Member_BAO_Membership extends CRM_Member_DAO_Membership {
 
   public static $_signupActType = NULL;
 
-  /**
-   * Class constructor.
-   */
-  public function __construct() {
-    parent::__construct();
-  }
-
   /**
    * Takes an associative array and creates a membership object.
    *
diff --git a/civicrm/CRM/Member/BAO/MembershipBlock.php b/civicrm/CRM/Member/BAO/MembershipBlock.php
index 6c5dfdc931..08458deee8 100644
--- a/civicrm/CRM/Member/BAO/MembershipBlock.php
+++ b/civicrm/CRM/Member/BAO/MembershipBlock.php
@@ -16,13 +16,6 @@
  */
 class CRM_Member_BAO_MembershipBlock extends CRM_Member_DAO_MembershipBlock {
 
-  /**
-   * Class constructor.
-   */
-  public function __construct() {
-    parent::__construct();
-  }
-
   /**
    * Create or update a MembershipBlock.
    *
diff --git a/civicrm/CRM/Member/BAO/MembershipPayment.php b/civicrm/CRM/Member/BAO/MembershipPayment.php
index e19b1fdbf2..a87adb5f43 100644
--- a/civicrm/CRM/Member/BAO/MembershipPayment.php
+++ b/civicrm/CRM/Member/BAO/MembershipPayment.php
@@ -16,13 +16,6 @@
  */
 class CRM_Member_BAO_MembershipPayment extends CRM_Member_DAO_MembershipPayment {
 
-  /**
-   * Class constructor.
-   */
-  public function __construct() {
-    parent::__construct();
-  }
-
   /**
    * Add the membership Payments.
    *
diff --git a/civicrm/CRM/Member/BAO/MembershipType.php b/civicrm/CRM/Member/BAO/MembershipType.php
index 2093eea878..3b77fa2875 100644
--- a/civicrm/CRM/Member/BAO/MembershipType.php
+++ b/civicrm/CRM/Member/BAO/MembershipType.php
@@ -24,13 +24,6 @@ class CRM_Member_BAO_MembershipType extends CRM_Member_DAO_MembershipType implem
 
   public static $_membershipTypeInfo = [];
 
-  /**
-   * Class constructor.
-   */
-  public function __construct() {
-    parent::__construct();
-  }
-
   /**
    * Fetch object based on array of properties.
    *
@@ -91,14 +84,8 @@ class CRM_Member_BAO_MembershipType extends CRM_Member_DAO_MembershipType implem
 
     $membershipTypeId = $params['id'] ?? NULL;
 
-    if (!$membershipTypeId) {
-      if (!isset($params['is_active'])) {
-        // do we need this?
-        $params['is_active'] = FALSE;
-      }
-      if (!isset($params['domain_id'])) {
-        $params['domain_id'] = CRM_Core_Config::domainID();
-      }
+    if (!$membershipTypeId && !isset($params['domain_id'])) {
+      $params['domain_id'] = CRM_Core_Config::domainID();
     }
 
     // $previousID is the old organization id for membership type i.e 'member_of_contact_id'. This is used when an organization is changed.
diff --git a/civicrm/CRM/Member/DAO/Membership.php b/civicrm/CRM/Member/DAO/Membership.php
index e378b8876e..94bcb0f9b0 100644
--- a/civicrm/CRM/Member/DAO/Membership.php
+++ b/civicrm/CRM/Member/DAO/Membership.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Member/Membership.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:fd3bcddc97a226b449f26e3280ef2ace)
+ * (GenCodeChecksum:0619aa3946bcadcab1919672c9ecf35a)
  */
 
 /**
@@ -53,106 +53,138 @@ class CRM_Member_DAO_Membership extends CRM_Core_DAO {
   /**
    * Membership ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * FK to Contact ID
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $contact_id;
 
   /**
    * FK to Membership Type
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $membership_type_id;
 
   /**
    * Beginning of initial membership period (member since...).
    *
-   * @var date
+   * @var string|null
+   *   (SQL type: date)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $join_date;
 
   /**
    * Beginning of current uninterrupted membership period.
    *
-   * @var date
+   * @var string|null
+   *   (SQL type: date)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $start_date;
 
   /**
    * Current membership period expire date.
    *
-   * @var date
+   * @var string|null
+   *   (SQL type: date)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $end_date;
 
   /**
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(128))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $source;
 
   /**
    * FK to Membership Status
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $status_id;
 
   /**
    * Admin users may set a manual status which overrides the calculated status. When this flag is true, automated status update scripts should NOT modify status for the record.
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_override;
 
   /**
    * Then end date of membership status override if 'Override until selected date' override type is selected.
    *
-   * @var date
+   * @var string|null
+   *   (SQL type: date)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $status_override_end_date;
 
   /**
    * Optional FK to Parent Membership.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $owner_membership_id;
 
   /**
    * Maximum number of related memberships (membership_type override).
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $max_related;
 
   /**
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_test;
 
   /**
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_pay_later;
 
   /**
    * Conditional foreign key to civicrm_contribution_recur id. Each membership in connection with a recurring contribution carries a foreign key to the recurring contribution record. This assumes we can track these processor initiated events.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $contribution_recur_id;
 
   /**
    * The campaign for which this membership is attached.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $campaign_id;
 
diff --git a/civicrm/CRM/Member/DAO/MembershipBlock.php b/civicrm/CRM/Member/DAO/MembershipBlock.php
index 891dc5b991..a8fdf704d6 100644
--- a/civicrm/CRM/Member/DAO/MembershipBlock.php
+++ b/civicrm/CRM/Member/DAO/MembershipBlock.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Member/MembershipBlock.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:1f5c13fb36ae0853ed5982f6ca40d65a)
+ * (GenCodeChecksum:8e0e93f6f480d279cbf4ac53db86a8f3)
  */
 
 /**
@@ -34,91 +34,117 @@ class CRM_Member_DAO_MembershipBlock extends CRM_Core_DAO {
   /**
    * Membership ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * Name for Membership Status
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $entity_table;
 
   /**
    * FK to civicrm_contribution_page.id
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $entity_id;
 
   /**
    * Membership types to be exposed by this block
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(1024))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $membership_types;
 
   /**
    * Optional foreign key to membership_type
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $membership_type_default;
 
   /**
    * Display minimum membership fee
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $display_min_fee;
 
   /**
    * Should membership transactions be processed separately
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_separate_payment;
 
   /**
    * Title to display at top of block
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $new_title;
 
   /**
    * Text to display below title
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $new_text;
 
   /**
    * Title for renewal
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $renewal_title;
 
   /**
    * Text to display for member renewal
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $renewal_text;
 
   /**
    * Is membership sign up optional
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_required;
 
   /**
    * Is this membership_block enabled
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_active;
 
diff --git a/civicrm/CRM/Member/DAO/MembershipLog.php b/civicrm/CRM/Member/DAO/MembershipLog.php
index 2d13cc86d0..ead87623ba 100644
--- a/civicrm/CRM/Member/DAO/MembershipLog.php
+++ b/civicrm/CRM/Member/DAO/MembershipLog.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Member/MembershipLog.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:cca53e3abe058a7b585138271658d90c)
+ * (GenCodeChecksum:0064664a5741cb1f9ba8fea392dcef22)
  */
 
 /**
@@ -32,63 +32,81 @@ class CRM_Member_DAO_MembershipLog extends CRM_Core_DAO {
   public static $_log = TRUE;
 
   /**
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * FK to Membership table
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $membership_id;
 
   /**
    * New status assigned to membership by this action. FK to Membership Status
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $status_id;
 
   /**
    * New membership period start date
    *
-   * @var date
+   * @var string|null
+   *   (SQL type: date)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $start_date;
 
   /**
    * New membership period expiration date.
    *
-   * @var date
+   * @var string|null
+   *   (SQL type: date)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $end_date;
 
   /**
    * FK to Contact ID of person under whose credentials this data modification was made.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $modified_id;
 
   /**
    * Date this membership modification action was logged.
    *
-   * @var date
+   * @var string|null
+   *   (SQL type: date)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $modified_date;
 
   /**
    * FK to Membership Type.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $membership_type_id;
 
   /**
    * Maximum number of related memberships.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $max_related;
 
diff --git a/civicrm/CRM/Member/DAO/MembershipPayment.php b/civicrm/CRM/Member/DAO/MembershipPayment.php
index a549158e02..e8dbf3e64e 100644
--- a/civicrm/CRM/Member/DAO/MembershipPayment.php
+++ b/civicrm/CRM/Member/DAO/MembershipPayment.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Member/MembershipPayment.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:cb00d5477470230f8ab9b18bc56ca910)
+ * (GenCodeChecksum:ff33ff800a373cf9cf5e58ad1d5a3c94)
  */
 
 /**
@@ -32,21 +32,27 @@ class CRM_Member_DAO_MembershipPayment extends CRM_Core_DAO {
   public static $_log = TRUE;
 
   /**
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * FK to Membership table
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $membership_id;
 
   /**
    * FK to contribution table.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $contribution_id;
 
diff --git a/civicrm/CRM/Member/DAO/MembershipStatus.php b/civicrm/CRM/Member/DAO/MembershipStatus.php
index cea61d91d1..764946fbb8 100644
--- a/civicrm/CRM/Member/DAO/MembershipStatus.php
+++ b/civicrm/CRM/Member/DAO/MembershipStatus.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Member/MembershipStatus.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:e60a982e078b6f3b7d14b16ea2139f14)
+ * (GenCodeChecksum:5c4442b352b42ed23368f5dbb0bc0531)
  */
 
 /**
@@ -41,7 +41,9 @@ class CRM_Member_DAO_MembershipStatus extends CRM_Core_DAO {
   /**
    * Membership ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
@@ -49,95 +51,123 @@ class CRM_Member_DAO_MembershipStatus extends CRM_Core_DAO {
    * Name for Membership Status
    *
    * @var string
+   *   (SQL type: varchar(128))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $name;
 
   /**
    * Label for Membership Status
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(128))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $label;
 
   /**
    * Event when this status starts.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(12))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $start_event;
 
   /**
    * Unit used for adjusting from start_event.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(8))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $start_event_adjust_unit;
 
   /**
    * Status range begins this many units from start_event.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $start_event_adjust_interval;
 
   /**
    * Event after which this status ends.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(12))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $end_event;
 
   /**
    * Unit used for adjusting from the ending event.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(8))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $end_event_adjust_unit;
 
   /**
    * Status range ends this many units from end_event.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $end_event_adjust_interval;
 
   /**
    * Does this status aggregate to current members (e.g. New, Renewed, Grace might all be TRUE... while Unrenewed, Lapsed, Inactive would be FALSE).
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_current_member;
 
   /**
    * Is this status for admin/manual assignment only.
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_admin;
 
   /**
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $weight;
 
   /**
    * Assign this status to a membership record if no other status match is found.
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_default;
 
   /**
    * Is this membership_status enabled.
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_active;
 
   /**
    * Is this membership_status reserved.
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_reserved;
 
diff --git a/civicrm/CRM/Member/DAO/MembershipType.php b/civicrm/CRM/Member/DAO/MembershipType.php
index 50038a30a7..40e9b671d3 100644
--- a/civicrm/CRM/Member/DAO/MembershipType.php
+++ b/civicrm/CRM/Member/DAO/MembershipType.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Member/MembershipType.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:9cb69957096aad15ee7d55a4efceb53e)
+ * (GenCodeChecksum:ebffd1b4dde86196cd988e43adcd6ad8)
  */
 
 /**
@@ -41,14 +41,18 @@ class CRM_Member_DAO_MembershipType extends CRM_Core_DAO {
   /**
    * Membership ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * Which Domain is this match entry for
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $domain_id;
 
@@ -56,34 +60,44 @@ class CRM_Member_DAO_MembershipType extends CRM_Core_DAO {
    * Name of Membership Type
    *
    * @var string
+   *   (SQL type: varchar(128))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $name;
 
   /**
    * Description of Membership Type
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $description;
 
   /**
    * Owner organization for this membership type. FK to Contact ID
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $member_of_contact_id;
 
   /**
    * If membership is paid by a contribution - what financial type should be used. FK to civicrm_financial_type.id
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $financial_type_id;
 
   /**
    * Minimum fee for this membership (0 for free/complimentary memberships).
    *
-   * @var float
+   * @var float|string|null
+   *   (SQL type: decimal(18,9))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $minimum_fee;
 
@@ -91,13 +105,17 @@ class CRM_Member_DAO_MembershipType extends CRM_Core_DAO {
    * Unit in which membership period is expressed.
    *
    * @var string
+   *   (SQL type: varchar(8))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $duration_unit;
 
   /**
    * Number of duration units in membership period (e.g. 1 year, 12 months).
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $duration_interval;
 
@@ -105,77 +123,101 @@ class CRM_Member_DAO_MembershipType extends CRM_Core_DAO {
    * Rolling membership period starts on signup date. Fixed membership periods start on fixed_period_start_day.
    *
    * @var string
+   *   (SQL type: varchar(8))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $period_type;
 
   /**
    * For fixed period memberships, month and day (mmdd) on which subscription/membership will start. Period start is back-dated unless after rollover day.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $fixed_period_start_day;
 
   /**
    * For fixed period memberships, signups after this day (mmdd) rollover to next period.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $fixed_period_rollover_day;
 
   /**
    * FK to Relationship Type ID
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $relationship_type_id;
 
   /**
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(128))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $relationship_direction;
 
   /**
    * Maximum number of related memberships.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $max_related;
 
   /**
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $visibility;
 
   /**
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $weight;
 
   /**
    * Receipt Text for membership signup
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $receipt_text_signup;
 
   /**
    * Receipt Text for membership renewal
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $receipt_text_renewal;
 
   /**
    * 0 = No auto-renew option; 1 = Give option, but not required; 2 = Auto-renew required;
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $auto_renew;
 
   /**
    * Is this membership_type enabled
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_active;
 
diff --git a/civicrm/CRM/Member/Form.php b/civicrm/CRM/Member/Form.php
index 9ec7b8be7a..a8ffd62a2a 100644
--- a/civicrm/CRM/Member/Form.php
+++ b/civicrm/CRM/Member/Form.php
@@ -99,7 +99,7 @@ class CRM_Member_Form extends CRM_Contribute_Form_AbstractEditPayment {
   /**
    * Add to the status message.
    *
-   * @param $message
+   * @param string $message
    */
   protected function addStatusMessage($message) {
     $this->statusMessage[] = $message;
diff --git a/civicrm/CRM/Member/Form/Membership.php b/civicrm/CRM/Member/Form/Membership.php
index 8654b6aa83..9766a5e3d5 100644
--- a/civicrm/CRM/Member/Form/Membership.php
+++ b/civicrm/CRM/Member/Form/Membership.php
@@ -1518,7 +1518,7 @@ DESC limit 1");
   /**
    * Get status message for create action.
    *
-   * @return array|string
+   * @return string
    * @throws \CiviCRM_API3_Exception
    */
   protected function getStatusMessageForCreate(): string {
diff --git a/civicrm/CRM/Member/Form/MembershipRenewal.php b/civicrm/CRM/Member/Form/MembershipRenewal.php
index d00e5b51b4..03018c8dfd 100644
--- a/civicrm/CRM/Member/Form/MembershipRenewal.php
+++ b/civicrm/CRM/Member/Form/MembershipRenewal.php
@@ -408,7 +408,7 @@ class CRM_Member_Form_MembershipRenewal extends CRM_Member_Form {
    * @param array $params
    *   (ref.) an assoc array of name/value pairs.
    * @param $files
-   * @param $self
+   * @param self $self
    *
    * @return bool|array
    *   mixed true or array of errors
diff --git a/civicrm/CRM/Member/Form/Task/Print.php b/civicrm/CRM/Member/Form/Task/Print.php
index 665561e3ee..eda7243290 100644
--- a/civicrm/CRM/Member/Form/Task/Print.php
+++ b/civicrm/CRM/Member/Form/Task/Print.php
@@ -29,7 +29,7 @@ class CRM_Member_Form_Task_Print extends CRM_Member_Form_Task {
     parent::preprocess();
 
     // set print view, so that print templates are called
-    $this->controller->setPrint(1);
+    $this->controller->setPrint(CRM_Core_Smarty::PRINT_PAGE);
 
     // get the formatted params
     $queryParams = $this->get('queryParams');
diff --git a/civicrm/CRM/Member/Import/Form/MapField.php b/civicrm/CRM/Member/Import/Form/MapField.php
index de1f18b1d7..0b1ee0e938 100644
--- a/civicrm/CRM/Member/Import/Form/MapField.php
+++ b/civicrm/CRM/Member/Import/Form/MapField.php
@@ -285,7 +285,7 @@ class CRM_Member_Import_Form_MapField extends CRM_Import_Form_MapField {
    *   Posted values of the form.
    *
    * @param $files
-   * @param $self
+   * @param self $self
    *
    * @return array
    *   list of errors to be posted back to the form
diff --git a/civicrm/CRM/Member/Page/DashBoard.php b/civicrm/CRM/Member/Page/DashBoard.php
index 353ceeb75a..8a931b38c9 100644
--- a/civicrm/CRM/Member/Page/DashBoard.php
+++ b/civicrm/CRM/Member/Page/DashBoard.php
@@ -86,51 +86,61 @@ class CRM_Member_Page_DashBoard extends CRM_Core_Page {
       $membershipSummary[$key]['premonth']['new'] = array(
         'count' => CRM_Member_BAO_Membership::getMembershipJoins($key, $preMonth, $preMonthEnd),
         'name' => $value,
+        'url' => FALSE,
       );
 
       $membershipSummary[$key]['premonth']['renew'] = array(
         'count' => CRM_Member_BAO_Membership::getMembershipRenewals($key, $preMonth, $preMonthEnd),
         'name' => $value,
+        'url' => FALSE,
       );
 
       $membershipSummary[$key]['premonth']['total'] = array(
         'count' => CRM_Member_BAO_Membership::getMembershipStarts($key, $preMonth, $preMonthEnd),
         'name' => $value,
+        'url' => FALSE,
       );
 
       $membershipSummary[$key]['month']['new'] = array(
         'count' => CRM_Member_BAO_Membership::getMembershipJoins($key, $monthStart, $ymd),
         'name' => $value,
+        'url' => FALSE,
       );
 
       $membershipSummary[$key]['month']['renew'] = array(
         'count' => CRM_Member_BAO_Membership::getMembershipRenewals($key, $monthStart, $ymd),
         'name' => $value,
+        'url' => FALSE,
       );
 
       $membershipSummary[$key]['month']['total'] = array(
         'count' => CRM_Member_BAO_Membership::getMembershipStarts($key, $monthStart, $ymd),
         'name' => $value,
+        'url' => FALSE,
       );
 
       $membershipSummary[$key]['year']['new'] = array(
         'count' => CRM_Member_BAO_Membership::getMembershipJoins($key, $yearStart, $ymd),
         'name' => $value,
+        'url' => FALSE,
       );
 
       $membershipSummary[$key]['year']['renew'] = array(
         'count' => CRM_Member_BAO_Membership::getMembershipRenewals($key, $yearStart, $ymd),
         'name' => $value,
+        'url' => FALSE,
       );
 
       $membershipSummary[$key]['year']['total'] = array(
         'count' => CRM_Member_BAO_Membership::getMembershipStarts($key, $yearStart, $ymd),
         'name' => $value,
+        'url' => FALSE,
       );
 
       $membershipSummary[$key]['current']['total'] = array(
         'count' => CRM_Member_BAO_Membership::getMembershipCount($key, $current),
         'name' => $value,
+        'url' => FALSE,
       );
 
       $membershipSummary[$key]['total']['total'] = array('count' => CRM_Member_BAO_Membership::getMembershipCount($key, $ymd));
@@ -139,21 +149,25 @@ class CRM_Member_Page_DashBoard extends CRM_Core_Page {
       $membershipSummary[$key]['premonth_owner']['premonth_owner'] = array(
         'count' => CRM_Member_BAO_Membership::getMembershipStarts($key, $preMonth, $preMonthEnd, 0, 1),
         'name' => $value,
+        'url' => FALSE,
       );
 
       $membershipSummary[$key]['month_owner']['month_owner'] = array(
         'count' => CRM_Member_BAO_Membership::getMembershipStarts($key, $monthStart, $ymd, 0, 1),
         'name' => $value,
+        'url' => FALSE,
       );
 
       $membershipSummary[$key]['year_owner']['year_owner'] = array(
         'count' => CRM_Member_BAO_Membership::getMembershipStarts($key, $yearStart, $ymd, 0, 1),
         'name' => $value,
+        'url' => FALSE,
       );
 
       $membershipSummary[$key]['current_owner']['current_owner'] = array(
         'count' => CRM_Member_BAO_Membership::getMembershipCount($key, $current, 0, 1),
         'name' => $value,
+        'url' => FALSE,
       );
 
       $membershipSummary[$key]['total_owner']['total_owner'] = array('count' => CRM_Member_BAO_Membership::getMembershipCount($key, $ymd, 0, 1));
@@ -210,38 +224,47 @@ class CRM_Member_Page_DashBoard extends CRM_Core_Page {
 
     $totalCount['premonth']['new'] = array(
       'count' => $newCountPreMonth,
+      'url' => FALSE,
     );
 
     $totalCount['premonth']['renew'] = array(
       'count' => $renewCountPreMonth,
+      'url' => FALSE,
     );
 
     $totalCount['premonth']['total'] = array(
       'count' => $totalCountPreMonth,
+      'url' => FALSE,
     );
 
     $totalCount['month']['new'] = array(
       'count' => $newCountMonth,
+      'url' => FALSE,
     );
 
     $totalCount['month']['renew'] = array(
       'count' => $renewCountMonth,
+      'url' => FALSE,
     );
 
     $totalCount['month']['total'] = array(
       'count' => $totalCountMonth,
+      'url' => FALSE,
     );
 
     $totalCount['year']['new'] = array(
       'count' => $newCountYear,
+      'url' => FALSE,
     );
 
     $totalCount['year']['renew'] = array(
       'count' => $renewCountYear,
+      'url' => FALSE,
     );
 
     $totalCount['year']['total'] = array(
       'count' => $totalCountYear,
+      'url' => FALSE,
     );
 
     $totalCount['current']['total'] = array(
@@ -272,32 +295,38 @@ class CRM_Member_Page_DashBoard extends CRM_Core_Page {
     //LCD add owner values
     $totalCount['premonth_owner']['premonth_owner'] = array(
       'count' => $totalCountPreMonth_owner,
+      'url' => FALSE,
       //  'url' => CRM_Utils_System::url('civicrm/member/search', "reset=1&force=1&membership_status_id=$status&start=$preMonth&end=$preMonthEnd&owner=1"),
     );
 
     $totalCount['month_owner']['month_owner'] = array(
       'count' => $totalCountMonth_owner,
+      'url' => FALSE,
       //  'url' => CRM_Utils_System::url('civicrm/member/search', "reset=1&force=1&membership_status_id=$status&start=$monthStart&end=$ymd&owner=1"),
     );
 
     $totalCount['year_owner']['year_owner'] = array(
       'count' => $totalCountYear_owner,
+      'url' => FALSE,
       //  'url' => CRM_Utils_System::url('civicrm/member/search', "reset=1&force=1&membership_status_id=$status&start=$yearStart&end=$ymd&owner=1"),
     );
 
     $totalCount['current_owner']['current_owner'] = array(
       'count' => $totalCountCurrent_owner,
+      'url' => FALSE,
       //  'url' => CRM_Utils_System::url('civicrm/member/search', "reset=1&force=1&membership_status_id=$status&owner=1"),
     );
 
     $totalCount['total_owner']['total_owner'] = array(
       'count' => $totalCountTotal_owner,
+      'url' => FALSE,
       //  'url' => CRM_Utils_System::url('civicrm/member/search', "reset=1&force=1&membership_status_id=$status&owner=1"),
     );
 
     if (!$isCurrentMonth) {
       $totalCount['total_owner']['total_owner'] = array(
         'count' => $totalCountTotal_owner,
+        'url' => FALSE,
         //  'url' => CRM_Utils_System::url('civicrm/member/search', "reset=1&force=1&membership_status_id=$status&start=&end=$ymd&owner=1"),
       );
     }
diff --git a/civicrm/CRM/Member/Page/Tab.php b/civicrm/CRM/Member/Page/Tab.php
index 965354c365..085212a2e8 100644
--- a/civicrm/CRM/Member/Page/Tab.php
+++ b/civicrm/CRM/Member/Page/Tab.php
@@ -27,6 +27,16 @@ class CRM_Member_Page_Tab extends CRM_Core_Page {
   public $_permission = NULL;
   public $_contactId = NULL;
 
+  /**
+   * @var bool
+   */
+  private $_isPaymentProcessor = FALSE;
+
+  /**
+   * @var bool
+   */
+  private $_accessContribution = FALSE;
+
   /**
    * called when action is browse.
    */
@@ -118,8 +128,8 @@ class CRM_Member_Page_Tab extends CRM_Core_Page {
         $isCancelSupported = CRM_Member_BAO_Membership::isCancelSubscriptionSupported(
           $membership[$dao->id]['membership_id']);
         $links = self::links('all',
-            NULL,
-            NULL,
+            FALSE,
+            FALSE,
             $isCancelSupported,
             $isUpdateBilling
         );
@@ -240,7 +250,7 @@ class CRM_Member_Page_Tab extends CRM_Core_Page {
   /**
    * called when action is view.
    *
-   * @return null
+   * @return mixed
    */
   public function view() {
     $controller = new CRM_Core_Controller_Simple(
@@ -258,7 +268,7 @@ class CRM_Member_Page_Tab extends CRM_Core_Page {
   /**
    * called when action is update or new.
    *
-   * @return null
+   * @return mixed
    */
   public function edit() {
     // We're trying to edit existing memberships or create a new one so we'll first check that a membership
@@ -486,8 +496,8 @@ class CRM_Member_Page_Tab extends CRM_Core_Page {
    * Get action links.
    *
    * @param string $status
-   * @param null $isPaymentProcessor
-   * @param null $accessContribution
+   * @param bool $isPaymentProcessor
+   * @param bool $accessContribution
    * @param bool $isCancelSupported
    * @param bool $isUpdateBilling
    *
@@ -496,8 +506,8 @@ class CRM_Member_Page_Tab extends CRM_Core_Page {
    */
   public static function &links(
     $status = 'all',
-    $isPaymentProcessor = NULL,
-    $accessContribution = NULL,
+    $isPaymentProcessor = FALSE,
+    $accessContribution = FALSE,
     $isCancelSupported = FALSE,
     $isUpdateBilling = FALSE
   ) {
diff --git a/civicrm/CRM/Member/Selector/Search.php b/civicrm/CRM/Member/Selector/Search.php
index e47d96f71e..f31c34d0f8 100644
--- a/civicrm/CRM/Member/Selector/Search.php
+++ b/civicrm/CRM/Member/Selector/Search.php
@@ -165,17 +165,17 @@ class CRM_Member_Selector_Search extends CRM_Core_Selector_Base implements CRM_C
    *
    * @param string $status
    * @param bool $isPaymentProcessor
-   * @param null $accessContribution
-   * @param null $qfKey
-   * @param null $context
+   * @param bool $accessContribution
+   * @param string|null $qfKey
+   * @param string|null $context
    * @param bool $isCancelSupported
    *
    * @return array
    */
   public static function &links(
     $status = 'all',
-    $isPaymentProcessor = NULL,
-    $accessContribution = NULL,
+    $isPaymentProcessor = FALSE,
+    $accessContribution = FALSE,
     $qfKey = NULL,
     $context = NULL,
     $isCancelSupported = FALSE
@@ -308,19 +308,15 @@ class CRM_Member_Selector_Search extends CRM_Core_Selector_Base implements CRM_C
     $processors = CRM_Core_PseudoConstant::paymentProcessor(FALSE, FALSE,
       "billing_mode IN ( 1, 3 )"
     );
+    $isPaymentProcessor = FALSE;
     if (count($processors) > 0) {
-      $this->_isPaymentProcessor = TRUE;
-    }
-    else {
-      $this->_isPaymentProcessor = FALSE;
+      $isPaymentProcessor = TRUE;
     }
 
     // Only show credit card membership signup and renewal if user has CiviContribute permission
+    $accessContribution = FALSE;
     if (CRM_Core_Permission::access('CiviContribute')) {
-      $this->_accessContribution = TRUE;
-    }
-    else {
-      $this->_accessContribution = FALSE;
+      $accessContribution = TRUE;
     }
 
     //get all campaigns.
@@ -375,8 +371,8 @@ class CRM_Member_Selector_Search extends CRM_Core_Selector_Base implements CRM_C
 
         $isCancelSupported = CRM_Member_BAO_Membership::isCancelSubscriptionSupported($row['membership_id']);
         $links = self::links('all',
-          $this->_isPaymentProcessor,
-          $this->_accessContribution,
+          $isPaymentProcessor,
+          $accessContribution,
           $this->_key,
           $this->_context,
           $isCancelSupported
@@ -524,7 +520,7 @@ class CRM_Member_Selector_Search extends CRM_Core_Selector_Base implements CRM_C
   /**
    * Alphabet query.
    *
-   * @return mixed
+   * @return CRM_Core_DAO
    */
   public function alphabetQuery() {
     return $this->_query->alphabetQuery();
diff --git a/civicrm/CRM/PCP/BAO/PCP.php b/civicrm/CRM/PCP/BAO/PCP.php
index 3cd88f0a4c..c6138349eb 100644
--- a/civicrm/CRM/PCP/BAO/PCP.php
+++ b/civicrm/CRM/PCP/BAO/PCP.php
@@ -23,13 +23,6 @@ class CRM_PCP_BAO_PCP extends CRM_PCP_DAO_PCP {
    */
   public static $_pcpLinks = NULL;
 
-  /**
-   * Class constructor.
-   */
-  public function __construct() {
-    parent::__construct();
-  }
-
   /**
    * Add or update either a Personal Campaign Page OR a PCP Block.
    *
@@ -89,8 +82,12 @@ WHERE  civicrm_pcp.contact_id = civicrm_contact.id
    */
   public static function getPcpDashboardInfo($contactId) {
     $query = '
-SELECT pcp.*, block.is_tellfriend_enabled FROM civicrm_pcp pcp
+SELECT pcp.*, block.is_tellfriend_enabled,
+COALESCE(cp.end_date, event.end_date) as end_date
+FROM civicrm_pcp pcp
 LEFT JOIN civicrm_pcp_block block ON block.id = pcp.pcp_block_id
+LEFT OUTER JOIN civicrm_contribution_page cp ON (cp.id = pcp.page_id AND pcp.page_type = "contribute")
+LEFT OUTER JOIN civicrm_event event ON (event.id = pcp.page_id AND pcp.page_type = "event")
 WHERE pcp.is_active = 1
   AND pcp.contact_id = %1
 ORDER BY page_type, page_id';
@@ -140,6 +137,7 @@ ORDER BY page_type, page_id';
         'pcpId' => $pcpInfoDao->id,
         'pcpTitle' => $pcpInfoDao->title,
         'pcpStatus' => CRM_Core_PseudoConstant::getLabel('CRM_PCP_BAO_PCP', 'status_id', $pcpInfoDao->status_id),
+        'end_date' => $pcpInfoDao->end_date,
         'action' => $action,
         'class' => $class,
       ];
@@ -158,12 +156,19 @@ AND target_entity_id NOT IN ( " . implode(',', $entityIds) . ") )";
     }
 
     $query = "
-SELECT *
+SELECT block.*,
+COALESCE(cp.end_date, event.end_date) as end_date
 FROM civicrm_pcp_block block
-LEFT JOIN civicrm_pcp pcp ON pcp.pcp_block_id = block.id
+LEFT OUTER JOIN civicrm_contribution_page cp ON (cp.id = block.target_entity_id AND block.target_entity_type = 'contribute')
+LEFT OUTER JOIN civicrm_event event ON (event.id = block.target_entity_id AND block.target_entity_type = 'event')
 WHERE block.is_active = 1
 {$clause}
-GROUP BY block.id, pcp.id
+  AND (cp.is_active = 1 OR event.is_active = 1)
+  AND (
+    (block.target_entity_type = 'contribute' AND (cp.end_date >= DATE_FORMAT(NOW(), '%Y-%m-%d %H:%i:%s') OR cp.end_date IS NULL))
+    OR
+    (block.target_entity_type = 'event' AND (event.end_date >= DATE_FORMAT(NOW(), '%Y-%m-%d %H:%i:%s') OR event.end_date IS NULL)))
+GROUP BY block.id, block.target_entity_id
 ORDER BY target_entity_type, target_entity_id
 ";
     $pcpBlockDao = CRM_Core_DAO::executeQuery($query);
@@ -184,7 +189,9 @@ ORDER BY target_entity_type, target_entity_id
       if ($pageTitle) {
         $pcpBlock[] = [
           'pageId' => $pcpBlockDao->target_entity_id,
+          'pageComponent' => $pcpBlockDao->target_entity_type,
           'pageTitle' => $pageTitle,
+          'end_date' => $pcpBlockDao->end_date,
           'action' => $action,
         ];
       }
diff --git a/civicrm/CRM/PCP/DAO/PCP.php b/civicrm/CRM/PCP/DAO/PCP.php
index 70d9137abe..f0996d982c 100644
--- a/civicrm/CRM/PCP/DAO/PCP.php
+++ b/civicrm/CRM/PCP/DAO/PCP.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/PCP/PCP.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:0d2fc92a3a801a3eb5eca71989b21557)
+ * (GenCodeChecksum:9f11f3e21038c8027ad0e97497ccc356)
  */
 
 /**
@@ -34,98 +34,130 @@ class CRM_PCP_DAO_PCP extends CRM_Core_DAO {
   /**
    * Personal Campaign Page ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * FK to Contact ID
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $contact_id;
 
   /**
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $status_id;
 
   /**
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $title;
 
   /**
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $intro_text;
 
   /**
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $page_text;
 
   /**
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $donate_link_text;
 
   /**
    * The Contribution or Event Page which triggered this pcp
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $page_id;
 
   /**
    * The type of PCP this is: contribute or event
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $page_type;
 
   /**
    * The pcp block that this pcp page was created from
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $pcp_block_id;
 
   /**
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_thermometer;
 
   /**
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_honor_roll;
 
   /**
    * Goal amount of this Personal Campaign Page.
    *
-   * @var float
+   * @var float|string|null
+   *   (SQL type: decimal(20,2))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $goal_amount;
 
   /**
    * 3 character string, value from config setting or input via user.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(3))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $currency;
 
   /**
    * Is Personal Campaign Page enabled/active?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_active;
 
   /**
    * Notify owner via email when someone donates to page?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_notify;
 
diff --git a/civicrm/CRM/PCP/DAO/PCPBlock.php b/civicrm/CRM/PCP/DAO/PCPBlock.php
index 57c7fc9fa4..351bb1b483 100644
--- a/civicrm/CRM/PCP/DAO/PCPBlock.php
+++ b/civicrm/CRM/PCP/DAO/PCPBlock.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/PCP/PCPBlock.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:4b5ca843e0a3a2e4b439d03513b20682)
+ * (GenCodeChecksum:5528529230e5f5dbcfa0466ada0514d1)
  */
 
 /**
@@ -34,19 +34,25 @@ class CRM_PCP_DAO_PCPBlock extends CRM_Core_DAO {
   /**
    * PCP block ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $entity_table;
 
   /**
    * FK to civicrm_contribution_page.id OR civicrm_event.id
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $entity_id;
 
@@ -54,69 +60,89 @@ class CRM_PCP_DAO_PCPBlock extends CRM_Core_DAO {
    * The type of entity that this pcp targets
    *
    * @var string
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $target_entity_type;
 
   /**
    * The entity that this pcp targets
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $target_entity_id;
 
   /**
    * FK to civicrm_uf_group.id. Does Personal Campaign Page require manual activation by administrator? (is inactive by default after setup)?
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $supporter_profile_id;
 
   /**
    * FK to civicrm_option_group with name = PCP owner notifications
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $owner_notify_id;
 
   /**
    * Does Personal Campaign Page require manual activation by administrator? (is inactive by default after setup)?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_approval_needed;
 
   /**
    * Does Personal Campaign Page allow using tell a friend?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_tellfriend_enabled;
 
   /**
    * Maximum recipient fields allowed in tell a friend
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $tellfriend_limit;
 
   /**
    * Link text for PCP.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $link_text;
 
   /**
    * Is Personal Campaign Page Block enabled/active?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_active;
 
   /**
    * If set, notification is automatically emailed to this email-address on create/update Personal Campaign Page
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $notify_email;
 
diff --git a/civicrm/CRM/PCP/Form/Campaign.php b/civicrm/CRM/PCP/Form/Campaign.php
index 538300bb4a..40efeadcd7 100644
--- a/civicrm/CRM/PCP/Form/Campaign.php
+++ b/civicrm/CRM/PCP/Form/Campaign.php
@@ -157,7 +157,7 @@ class CRM_PCP_Form_Campaign extends CRM_Core_Form {
    *   The input form values.
    * @param array $files
    *   The uploaded files if any.
-   * @param $self
+   * @param self $self
    *
    *
    * @return bool|array
diff --git a/civicrm/CRM/PCP/Form/Contribute.php b/civicrm/CRM/PCP/Form/Contribute.php
index 8c5b82c7d9..c97df89bec 100644
--- a/civicrm/CRM/PCP/Form/Contribute.php
+++ b/civicrm/CRM/PCP/Form/Contribute.php
@@ -88,7 +88,7 @@ class CRM_PCP_Form_Contribute extends CRM_Contribute_Form_ContributionPage {
    *   (ref.) an assoc array of name/value pairs.
    *
    * @param $files
-   * @param $self
+   * @param self $self
    *
    * @return bool|array
    *   mixed true or array of errors
diff --git a/civicrm/CRM/PCP/Form/Event.php b/civicrm/CRM/PCP/Form/Event.php
index 3a0f95f745..22034defd5 100644
--- a/civicrm/CRM/PCP/Form/Event.php
+++ b/civicrm/CRM/PCP/Form/Event.php
@@ -118,7 +118,7 @@ class CRM_PCP_Form_Event extends CRM_Event_Form_ManageEvent {
    *   (ref.) an assoc array of name/value pairs.
    *
    * @param $files
-   * @param $self
+   * @param self $self
    *
    * @return bool|array
    *   mixed true or array of errors
diff --git a/civicrm/CRM/PCP/Form/PCPAccount.php b/civicrm/CRM/PCP/Form/PCPAccount.php
index fd148fdd3e..bc052f7e14 100644
--- a/civicrm/CRM/PCP/Form/PCPAccount.php
+++ b/civicrm/CRM/PCP/Form/PCPAccount.php
@@ -214,7 +214,7 @@ class CRM_PCP_Form_PCPAccount extends CRM_Core_Form {
    *   The input form values.
    * @param array $files
    *   The uploaded files if any.
-   * @param $self
+   * @param self $self
    *
    *
    * @return bool|array
diff --git a/civicrm/CRM/Pledge/BAO/Pledge.php b/civicrm/CRM/Pledge/BAO/Pledge.php
index 06412eda4c..bdc26352bd 100644
--- a/civicrm/CRM/Pledge/BAO/Pledge.php
+++ b/civicrm/CRM/Pledge/BAO/Pledge.php
@@ -23,13 +23,6 @@ class CRM_Pledge_BAO_Pledge extends CRM_Pledge_DAO_Pledge {
    */
   public static $_exportableFields = NULL;
 
-  /**
-   * Class constructor.
-   */
-  public function __construct() {
-    parent::__construct();
-  }
-
   /**
    * Retrieve DB object based on input parameters.
    *
@@ -153,24 +146,7 @@ class CRM_Pledge_BAO_Pledge extends CRM_Pledge_DAO_Pledge {
     }
     $paymentParams['status_id'] = $params['status_id'] ?? NULL;
 
-    CRM_Utils_Hook::pre($action, 'Pledge', $params['id'] ?? NULL, $params);
-    $pledge = new CRM_Pledge_DAO_Pledge();
-
-    // if pledge is complete update end date as current date
-    if ($pledge->status_id == 1) {
-      $pledge->end_date = date('Ymd');
-    }
-
-    $pledge->copyValues($params);
-    $pledge->save();
-    CRM_Utils_Hook::post($action, 'Pledge', $pledge->id, $pledge);
-
-    // handle custom data.
-    if (!empty($params['custom']) &&
-      is_array($params['custom'])
-    ) {
-      CRM_Core_BAO_CustomValueTable::store($params['custom'], 'civicrm_pledge', $pledge->id);
-    }
+    $pledge = self::writeRecord($params);
 
     // skip payment stuff in edit mode
     if (empty($params['id']) || $isRecalculatePledgePayment) {
diff --git a/civicrm/CRM/Pledge/BAO/PledgeBlock.php b/civicrm/CRM/Pledge/BAO/PledgeBlock.php
index 68304860c2..55d0f4c7f4 100644
--- a/civicrm/CRM/Pledge/BAO/PledgeBlock.php
+++ b/civicrm/CRM/Pledge/BAO/PledgeBlock.php
@@ -16,13 +16,6 @@
  */
 class CRM_Pledge_BAO_PledgeBlock extends CRM_Pledge_DAO_PledgeBlock {
 
-  /**
-   * Class constructor.
-   */
-  public function __construct() {
-    parent::__construct();
-  }
-
   /**
    * Retrieve DB object based on input parameters.
    *
diff --git a/civicrm/CRM/Pledge/BAO/PledgePayment.php b/civicrm/CRM/Pledge/BAO/PledgePayment.php
index e48e2788a4..ebacab842d 100644
--- a/civicrm/CRM/Pledge/BAO/PledgePayment.php
+++ b/civicrm/CRM/Pledge/BAO/PledgePayment.php
@@ -16,13 +16,6 @@
  */
 class CRM_Pledge_BAO_PledgePayment extends CRM_Pledge_DAO_PledgePayment {
 
-  /**
-   * Class constructor.
-   */
-  public function __construct() {
-    parent::__construct();
-  }
-
   /**
    * Get pledge payment details.
    *
@@ -471,8 +464,8 @@ WHERE  civicrm_pledge.id = %2
    *
    * @param array $params
    *
-   * @return array
-   *   Next scheduled date as an array
+   * @return string
+   *   Next scheduled date in the format YmdHis
    */
   public static function calculateBaseScheduleDate(&$params) {
     $date = [];
diff --git a/civicrm/CRM/Pledge/DAO/Pledge.php b/civicrm/CRM/Pledge/DAO/Pledge.php
index 3fc96ac9f7..330bcb9732 100644
--- a/civicrm/CRM/Pledge/DAO/Pledge.php
+++ b/civicrm/CRM/Pledge/DAO/Pledge.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Pledge/Pledge.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:bcc7d49479de858804a09bf49c1ebda9)
+ * (GenCodeChecksum:cbecc4833b44f7758722ef898cb8670b)
  */
 
 /**
@@ -41,49 +41,63 @@ class CRM_Pledge_DAO_Pledge extends CRM_Core_DAO {
   /**
    * Pledge ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * Foreign key to civicrm_contact.id .
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $contact_id;
 
   /**
    * FK to Financial Type
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $financial_type_id;
 
   /**
    * The Contribution Page which triggered this contribution
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $contribution_page_id;
 
   /**
    * Total pledged amount.
    *
-   * @var float
+   * @var float|string
+   *   (SQL type: decimal(20,2))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $amount;
 
   /**
    * Original amount for each of the installments.
    *
-   * @var float
+   * @var float|string
+   *   (SQL type: decimal(20,2))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $original_installment_amount;
 
   /**
    * 3 character string, value from config setting or input via user.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(3))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $currency;
 
@@ -91,109 +105,141 @@ class CRM_Pledge_DAO_Pledge extends CRM_Core_DAO {
    * Time units for recurrence of pledge payments.
    *
    * @var string
+   *   (SQL type: varchar(8))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $frequency_unit;
 
   /**
    * Number of time units for recurrence of pledge payments.
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $frequency_interval;
 
   /**
    * Day in the period when the pledge payment is due e.g. 1st of month, 15th etc. Use this to set the scheduled dates for pledge payments.
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $frequency_day;
 
   /**
    * Total number of payments to be made.
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $installments;
 
   /**
    * The date the first scheduled pledge occurs.
    *
-   * @var datetime
+   * @var string
+   *   (SQL type: datetime)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $start_date;
 
   /**
    * When this pledge record was created.
    *
-   * @var datetime
+   * @var string
+   *   (SQL type: datetime)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $create_date;
 
   /**
    * When a pledge acknowledgement message was sent to the contributor.
    *
-   * @var datetime
+   * @var string|null
+   *   (SQL type: datetime)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $acknowledge_date;
 
   /**
    * Last updated date for this pledge record.
    *
-   * @var datetime
+   * @var string|null
+   *   (SQL type: datetime)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $modified_date;
 
   /**
    * Date this pledge was cancelled by contributor.
    *
-   * @var datetime
+   * @var string|null
+   *   (SQL type: datetime)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $cancel_date;
 
   /**
    * Date this pledge finished successfully (total pledge payments equal to or greater than pledged amount).
    *
-   * @var datetime
+   * @var string|null
+   *   (SQL type: datetime)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $end_date;
 
   /**
    * The maximum number of payment reminders to send for any given payment.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $max_reminders;
 
   /**
    * Send initial reminder this many days prior to the payment due date.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $initial_reminder_day;
 
   /**
    * Send additional reminder this many days after last one sent, up to maximum number of reminders.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $additional_reminder_day;
 
   /**
    * Implicit foreign key to civicrm_option_values in the pledge_status option group.
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $status_id;
 
   /**
-   * @var bool
+   * @var bool|string
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_test;
 
   /**
    * The campaign for which this pledge has been initiated.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $campaign_id;
 
diff --git a/civicrm/CRM/Pledge/DAO/PledgeBlock.php b/civicrm/CRM/Pledge/DAO/PledgeBlock.php
index 209e60a3aa..020203b280 100644
--- a/civicrm/CRM/Pledge/DAO/PledgeBlock.php
+++ b/civicrm/CRM/Pledge/DAO/PledgeBlock.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Pledge/PledgeBlock.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:37dd1b6ee946c78093489ce7a98c55e0)
+ * (GenCodeChecksum:a3bd49cda507ac9872922e16ff37a645)
  */
 
 /**
@@ -34,77 +34,99 @@ class CRM_Pledge_DAO_PledgeBlock extends CRM_Core_DAO {
   /**
    * Pledge ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * physical tablename for entity being joined to pledge, e.g. civicrm_contact
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $entity_table;
 
   /**
    * FK to entity table specified in entity_table column.
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $entity_id;
 
   /**
    * Delimited list of supported frequency units
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(128))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $pledge_frequency_unit;
 
   /**
    * Is frequency interval exposed on the contribution form.
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_pledge_interval;
 
   /**
    * The maximum number of payment reminders to send for any given payment.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $max_reminders;
 
   /**
    * Send initial reminder this many days prior to the payment due date.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $initial_reminder_day;
 
   /**
    * Send additional reminder this many days after last one sent, up to maximum number of reminders.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $additional_reminder_day;
 
   /**
    * The date the first scheduled pledge occurs.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $pledge_start_date;
 
   /**
    * If true - recurring start date is shown.
    *
-   * @var bool
+   * @var bool|string
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_pledge_start_date_visible;
 
   /**
    * If true - recurring start date is editable.
    *
-   * @var bool
+   * @var bool|string
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_pledge_start_date_editable;
 
diff --git a/civicrm/CRM/Pledge/DAO/PledgePayment.php b/civicrm/CRM/Pledge/DAO/PledgePayment.php
index f00e378564..74b6e56dae 100644
--- a/civicrm/CRM/Pledge/DAO/PledgePayment.php
+++ b/civicrm/CRM/Pledge/DAO/PledgePayment.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Pledge/PledgePayment.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:bfa7183802af9f28111c1d7c7dc6af5a)
+ * (GenCodeChecksum:8d427bd23082d6b6dbad3492e9f668ca)
  */
 
 /**
@@ -32,68 +32,88 @@ class CRM_Pledge_DAO_PledgePayment extends CRM_Core_DAO {
   public static $_log = TRUE;
 
   /**
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * FK to Pledge table
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $pledge_id;
 
   /**
    * FK to contribution table.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $contribution_id;
 
   /**
    * Pledged amount for this payment (the actual contribution amount might be different).
    *
-   * @var float
+   * @var float|string
+   *   (SQL type: decimal(20,2))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $scheduled_amount;
 
   /**
    * Actual amount that is paid as the Pledged installment amount.
    *
-   * @var float
+   * @var float|string|null
+   *   (SQL type: decimal(20,2))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $actual_amount;
 
   /**
    * 3 character string, value from config setting or input via user.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(3))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $currency;
 
   /**
    * The date the pledge payment is supposed to happen.
    *
-   * @var datetime
+   * @var string
+   *   (SQL type: datetime)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $scheduled_date;
 
   /**
    * The date that the most recent payment reminder was sent.
    *
-   * @var datetime
+   * @var string|null
+   *   (SQL type: datetime)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $reminder_date;
 
   /**
    * The number of payment reminders sent.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $reminder_count;
 
   /**
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $status_id;
 
diff --git a/civicrm/CRM/Pledge/Form/Pledge.php b/civicrm/CRM/Pledge/Form/Pledge.php
index 5543b6cfe7..1f0b15f14e 100644
--- a/civicrm/CRM/Pledge/Form/Pledge.php
+++ b/civicrm/CRM/Pledge/Form/Pledge.php
@@ -385,7 +385,7 @@ class CRM_Pledge_Form_Pledge extends CRM_Core_Form {
    *   The input form values.
    * @param array $files
    *   The uploaded files if any.
-   * @param $self
+   * @param self $self
    *
    *
    * @return bool|array
diff --git a/civicrm/CRM/Pledge/Form/Task/Print.php b/civicrm/CRM/Pledge/Form/Task/Print.php
index 06b0602270..8ce25f435a 100644
--- a/civicrm/CRM/Pledge/Form/Task/Print.php
+++ b/civicrm/CRM/Pledge/Form/Task/Print.php
@@ -28,7 +28,7 @@ class CRM_Pledge_Form_Task_Print extends CRM_Pledge_Form_Task {
     parent::preprocess();
 
     // set print view, so that print templates are called
-    $this->controller->setPrint(1);
+    $this->controller->setPrint(CRM_Core_Smarty::PRINT_PAGE);
 
     // get the formatted params
     $queryParams = $this->get('queryParams');
diff --git a/civicrm/CRM/Price/BAO/PriceSet.php b/civicrm/CRM/Price/BAO/PriceSet.php
index d8bed03718..2070e2c936 100644
--- a/civicrm/CRM/Price/BAO/PriceSet.php
+++ b/civicrm/CRM/Price/BAO/PriceSet.php
@@ -28,13 +28,6 @@ class CRM_Price_BAO_PriceSet extends CRM_Price_DAO_PriceSet {
    */
   public static $_defaultPriceSet = NULL;
 
-  /**
-   * Class constructor.
-   */
-  public function __construct() {
-    parent::__construct();
-  }
-
   /**
    * Takes an associative array and creates a price set object.
    *
diff --git a/civicrm/CRM/Price/DAO/LineItem.php b/civicrm/CRM/Price/DAO/LineItem.php
index 4255cffa27..8eaf5a0997 100644
--- a/civicrm/CRM/Price/DAO/LineItem.php
+++ b/civicrm/CRM/Price/DAO/LineItem.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Price/LineItem.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:27940b7d9e1152223c1fde0e32a8e909)
+ * (GenCodeChecksum:188e934ee3cca79e58490e0125c3b51b)
  */
 
 /**
@@ -34,7 +34,9 @@ class CRM_Price_DAO_LineItem extends CRM_Core_DAO {
   /**
    * Line Item
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
@@ -42,97 +44,125 @@ class CRM_Price_DAO_LineItem extends CRM_Core_DAO {
    * May contain civicrm_contribution, civicrm_participant or civicrm_membership
    *
    * @var string
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $entity_table;
 
   /**
    * entry in table
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $entity_id;
 
   /**
    * FK to civicrm_contribution
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $contribution_id;
 
   /**
    * FK to civicrm_price_field
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $price_field_id;
 
   /**
    * descriptive label for item - from price_field_value.label
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $label;
 
   /**
    * How many items ordered
    *
-   * @var float
+   * @var float|string
+   *   (SQL type: decimal(20,2))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $qty;
 
   /**
    * price of each item
    *
-   * @var float
+   * @var float|string
+   *   (SQL type: decimal(20,2))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $unit_price;
 
   /**
    * qty * unit_price
    *
-   * @var float
+   * @var float|string
+   *   (SQL type: decimal(20,2))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $line_total;
 
   /**
    * Participant count for field
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $participant_count;
 
   /**
    * FK to civicrm_price_field_value
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $price_field_value_id;
 
   /**
    * FK to Financial Type.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $financial_type_id;
 
   /**
    * Portion of total amount which is NOT tax deductible.
    *
-   * @var float
+   * @var float|string
+   *   (SQL type: decimal(20,2))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $non_deductible_amount;
 
   /**
    * tax of each item
    *
-   * @var float
+   * @var float|string|null
+   *   (SQL type: decimal(20,2))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $tax_amount;
 
   /**
    * Number of terms for this membership (only supported in Order->Payment flow). If the field is NULL it means unknown and it will be assumed to be 1 during payment.create if entity_table is civicrm_membership
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $membership_num_terms;
 
diff --git a/civicrm/CRM/Price/DAO/PriceField.php b/civicrm/CRM/Price/DAO/PriceField.php
index 157576b0ba..809ccf6d48 100644
--- a/civicrm/CRM/Price/DAO/PriceField.php
+++ b/civicrm/CRM/Price/DAO/PriceField.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Price/PriceField.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:9449b207c28052d794e6d0c9d179f51c)
+ * (GenCodeChecksum:e8aa16285c520e7ce5288da53397f9df)
  */
 
 /**
@@ -34,14 +34,18 @@ class CRM_Price_DAO_PriceField extends CRM_Core_DAO {
   /**
    * Price Field
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * FK to civicrm_price_set
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $price_set_id;
 
@@ -49,6 +53,8 @@ class CRM_Price_DAO_PriceField extends CRM_Core_DAO {
    * Variable name/programmatic handle for this field.
    *
    * @var string
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $name;
 
@@ -56,95 +62,123 @@ class CRM_Price_DAO_PriceField extends CRM_Core_DAO {
    * Text for form field label (also friendly name for administering this field).
    *
    * @var string
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $label;
 
   /**
    * @var string
+   *   (SQL type: varchar(12))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $html_type;
 
   /**
    * Enter a quantity for this field?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_enter_qty;
 
   /**
    * Description and/or help text to display before this field.
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $help_pre;
 
   /**
    * Description and/or help text to display after this field.
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $help_post;
 
   /**
    * Order in which the fields should appear
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $weight;
 
   /**
    * Should the price be displayed next to the label for each option?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_display_amounts;
 
   /**
    * number of options per line for checkbox and radio
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $options_per_line;
 
   /**
    * Is this price field active
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_active;
 
   /**
    * Is this price field required (value must be > 1)
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_required;
 
   /**
    * If non-zero, do not show this field before the date specified
    *
-   * @var datetime
+   * @var string|null
+   *   (SQL type: datetime)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $active_on;
 
   /**
    * If non-zero, do not show this field after the date specified
    *
-   * @var datetime
+   * @var string|null
+   *   (SQL type: datetime)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $expire_on;
 
   /**
    * Optional scripting attributes for field
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $javascript;
 
   /**
    * Implicit FK to civicrm_option_group with name = 'visibility'
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $visibility_id;
 
diff --git a/civicrm/CRM/Price/DAO/PriceFieldValue.php b/civicrm/CRM/Price/DAO/PriceFieldValue.php
index d43cc16485..0eb232139d 100644
--- a/civicrm/CRM/Price/DAO/PriceFieldValue.php
+++ b/civicrm/CRM/Price/DAO/PriceFieldValue.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Price/PriceFieldValue.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:7da3309222cffae75ba3d149e8acb395)
+ * (GenCodeChecksum:3596e8942576c06b6a393c4d16226de9)
  */
 
 /**
@@ -34,126 +34,162 @@ class CRM_Price_DAO_PriceFieldValue extends CRM_Core_DAO {
   /**
    * Price Field Value
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * FK to civicrm_price_field
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $price_field_id;
 
   /**
    * Price field option name
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $name;
 
   /**
    * Price field option label
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $label;
 
   /**
    * Price field option description.
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $description;
 
   /**
    * Price field option pre help text.
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $help_pre;
 
   /**
    * Price field option post field help.
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $help_post;
 
   /**
    * Price field option amount
    *
-   * @var float
+   * @var float|string
+   *   (SQL type: decimal(18,9))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $amount;
 
   /**
    * Number of participants per field option
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $count;
 
   /**
    * Max number of participants per field options
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $max_value;
 
   /**
    * Order in which the field options should appear
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $weight;
 
   /**
    * FK to Membership Type
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $membership_type_id;
 
   /**
    * Number of terms for this membership
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $membership_num_terms;
 
   /**
    * Is this default price field option
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_default;
 
   /**
    * Is this price field value active
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_active;
 
   /**
    * FK to Financial Type.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $financial_type_id;
 
   /**
    * Portion of total amount which is NOT tax deductible.
    *
-   * @var float
+   * @var float|string
+   *   (SQL type: decimal(20,2))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $non_deductible_amount;
 
   /**
    * Implicit FK to civicrm_option_group with name = 'visibility'
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $visibility_id;
 
diff --git a/civicrm/CRM/Price/DAO/PriceSet.php b/civicrm/CRM/Price/DAO/PriceSet.php
index 3204d42e92..e434d718b5 100644
--- a/civicrm/CRM/Price/DAO/PriceSet.php
+++ b/civicrm/CRM/Price/DAO/PriceSet.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Price/PriceSet.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:5c5630b1371dd1c8894a25b58ffbb5d9)
+ * (GenCodeChecksum:128263766d018b5c021df384b3ab6c92)
  */
 
 /**
@@ -34,14 +34,18 @@ class CRM_Price_DAO_PriceSet extends CRM_Core_DAO {
   /**
    * Price Set
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * Which Domain is this price-set for
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $domain_id;
 
@@ -49,6 +53,8 @@ class CRM_Price_DAO_PriceSet extends CRM_Core_DAO {
    * Variable name/programmatic handle for this set of price fields.
    *
    * @var string
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $name;
 
@@ -56,34 +62,44 @@ class CRM_Price_DAO_PriceSet extends CRM_Core_DAO {
    * Displayed title for the Price Set.
    *
    * @var string
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $title;
 
   /**
    * Is this price set active
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_active;
 
   /**
    * Description and/or help text to display before fields in form.
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $help_pre;
 
   /**
    * Description and/or help text to display after fields in form.
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $help_post;
 
   /**
    * Optional Javascript script function(s) included on the form with this price_set. Can be used for conditional
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $javascript;
 
@@ -91,34 +107,44 @@ class CRM_Price_DAO_PriceSet extends CRM_Core_DAO {
    * What components are using this price set?
    *
    * @var string
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $extends;
 
   /**
    * FK to Financial Type(for membership price sets only).
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $financial_type_id;
 
   /**
    * Is set if edited on Contribution or Event Page rather than through Manage Price Sets
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_quick_config;
 
   /**
    * Is this a predefined system price set  (i.e. it can not be deleted, edited)?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_reserved;
 
   /**
    * Minimum Amount required for this set.
    *
-   * @var float
+   * @var float|string|null
+   *   (SQL type: decimal(20,2))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $min_amount;
 
diff --git a/civicrm/CRM/Price/DAO/PriceSetEntity.php b/civicrm/CRM/Price/DAO/PriceSetEntity.php
index 9d13d2992c..d78bef47da 100644
--- a/civicrm/CRM/Price/DAO/PriceSetEntity.php
+++ b/civicrm/CRM/Price/DAO/PriceSetEntity.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Price/PriceSetEntity.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:0be314d066d9e72b66c86a2de6d681a9)
+ * (GenCodeChecksum:a582c36064eb9613d9172b4eebcbc37e)
  */
 
 /**
@@ -34,7 +34,9 @@ class CRM_Price_DAO_PriceSetEntity extends CRM_Core_DAO {
   /**
    * Price Set Entity
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
@@ -42,20 +44,26 @@ class CRM_Price_DAO_PriceSetEntity extends CRM_Core_DAO {
    * Table which uses this price set
    *
    * @var string
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $entity_table;
 
   /**
    * Item in table
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $entity_id;
 
   /**
    * price set being used
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $price_set_id;
 
diff --git a/civicrm/CRM/Price/Form/Field.php b/civicrm/CRM/Price/Form/Field.php
index 3b1170e833..7a1386af03 100644
--- a/civicrm/CRM/Price/Form/Field.php
+++ b/civicrm/CRM/Price/Form/Field.php
@@ -257,7 +257,7 @@ class CRM_Price_Form_Field extends CRM_Core_Form {
     }
 
     // form fields of Custom Option rows
-    $_showHide = new CRM_Core_ShowHideBlocks('', '');
+    $_showHide = new CRM_Core_ShowHideBlocks();
 
     for ($i = 1; $i <= self::NUM_OPTION; $i++) {
 
@@ -427,20 +427,6 @@ class CRM_Price_Form_Field extends CRM_Core_Form {
       }
     }
 
-    //avoid the same price field label in Within PriceSet
-    $priceFieldLabel = new CRM_Price_DAO_PriceField();
-    $priceFieldLabel->label = $fields['label'];
-    $priceFieldLabel->price_set_id = $form->_sid;
-
-    $dupeLabel = FALSE;
-    if ($priceFieldLabel->find(TRUE) && $form->getEntityId() != $priceFieldLabel->id) {
-      $dupeLabel = TRUE;
-    }
-
-    if ($dupeLabel) {
-      $errors['label'] = ts('Name already exists in Database.');
-    }
-
     if ((is_numeric(CRM_Utils_Array::value('count', $fields)) &&
         empty($fields['count'])
       ) &&
@@ -454,7 +440,7 @@ class CRM_Price_Form_Field extends CRM_Core_Form {
         $countemptyrows = 0;
         $publicOptionCount = $_flagOption = $_rowError = 0;
 
-        $_showHide = new CRM_Core_ShowHideBlocks('', '');
+        $_showHide = new CRM_Core_ShowHideBlocks();
         $visibilityOptions = CRM_Price_BAO_PriceFieldValue::buildOptions('visibility_id', 'validate');
 
         for ($index = 1; $index <= self::NUM_OPTION; $index++) {
diff --git a/civicrm/CRM/Price/Page/Set.php b/civicrm/CRM/Price/Page/Set.php
index 340b205453..c88e4a8d40 100644
--- a/civicrm/CRM/Price/Page/Set.php
+++ b/civicrm/CRM/Price/Page/Set.php
@@ -109,6 +109,7 @@ class CRM_Price_Page_Set extends CRM_Core_Page {
     );
 
     // assign vars to templates
+    $this->assign('usedBy', FALSE);
     $this->assign('action', $action);
     $sid = CRM_Utils_Request::retrieve('sid', 'Positive',
       $this, FALSE, 0
diff --git a/civicrm/CRM/Profile/Form.php b/civicrm/CRM/Profile/Form.php
index e8e58cb7f7..e503e72886 100644
--- a/civicrm/CRM/Profile/Form.php
+++ b/civicrm/CRM/Profile/Form.php
@@ -1353,9 +1353,12 @@ class CRM_Profile_Form extends CRM_Core_Form {
   }
 
   /**
-   * @param null $suffix
+   * Check template file exists.
    *
-   * @return null|string
+   * @param string|null $suffix
+   *
+   * @return string|null
+   *   Template file path, else null
    */
   public function checkTemplateFileExists($suffix = NULL) {
     if ($this->_gid) {
diff --git a/civicrm/CRM/Profile/Page/Dynamic.php b/civicrm/CRM/Profile/Page/Dynamic.php
index 2e05630f61..fe01add149 100644
--- a/civicrm/CRM/Profile/Page/Dynamic.php
+++ b/civicrm/CRM/Profile/Page/Dynamic.php
@@ -104,7 +104,7 @@ class CRM_Profile_Page_Dynamic extends CRM_Core_Page {
    *
    * @param $restrict
    * @param bool $skipPermission
-   * @param null $profileIds
+   * @param int[]|null $profileIds
    *
    * @param bool $isShowEmailTaskLink
    *
@@ -388,11 +388,14 @@ class CRM_Profile_Page_Dynamic extends CRM_Core_Page {
   }
 
   /**
-   * @param string $suffix
+   * Check template file exists.
    *
-   * @return null|string
+   * @param string|null $suffix
+   *
+   * @return string|null
+   *   Template file path, else null
    */
-  public function checkTemplateFileExists($suffix = '') {
+  public function checkTemplateFileExists($suffix = NULL) {
     if ($this->_gid) {
       $templateFile = "CRM/Profile/Page/{$this->_gid}/Dynamic.{$suffix}tpl";
       $template = CRM_Core_Page::getTemplate();
diff --git a/civicrm/CRM/Profile/Page/Listings.php b/civicrm/CRM/Profile/Page/Listings.php
index 38bfdb35d7..0cec9a36ba 100644
--- a/civicrm/CRM/Profile/Page/Listings.php
+++ b/civicrm/CRM/Profile/Page/Listings.php
@@ -17,7 +17,7 @@
 
 /**
  * This implements the profile page for all contacts. It uses a selector
- * object to do the actual dispay. The fields displayd are controlled by
+ * object to do the actual display. The fields displayed are controlled by
  * the admin.
  */
 class CRM_Profile_Page_Listings extends CRM_Core_Page {
@@ -449,11 +449,14 @@ class CRM_Profile_Page_Listings extends CRM_Core_Page {
   }
 
   /**
-   * @param string $suffix
+   * Check template file exists.
    *
-   * @return null|string
+   * @param string|null $suffix
+   *
+   * @return string|null
+   *   Template file path, else null
    */
-  public function checkTemplateFileExists($suffix = '') {
+  public function checkTemplateFileExists($suffix = NULL) {
     if ($this->_gid) {
       $templateFile = "CRM/Profile/Page/{$this->_gid}/Listings.{$suffix}tpl";
       $template = CRM_Core_Page::getTemplate();
diff --git a/civicrm/CRM/Profile/Page/View.php b/civicrm/CRM/Profile/Page/View.php
index 185980e8ed..90d8351496 100644
--- a/civicrm/CRM/Profile/Page/View.php
+++ b/civicrm/CRM/Profile/Page/View.php
@@ -161,11 +161,14 @@ class CRM_Profile_Page_View extends CRM_Core_Page {
   }
 
   /**
-   * @param string $suffix
+   * Check template file exists.
    *
-   * @return null|string
+   * @param string|null $suffix
+   *
+   * @return string|null
+   *   Template file path, else null
    */
-  public function checkTemplateFileExists($suffix = '') {
+  public function checkTemplateFileExists($suffix = NULL) {
     if ($this->_gid) {
       $templateFile = "CRM/Profile/Page/{$this->_gid}/View.{$suffix}tpl";
       $template = CRM_Core_Page::getTemplate();
diff --git a/civicrm/CRM/Profile/Selector/Listings.php b/civicrm/CRM/Profile/Selector/Listings.php
index 72cad9e97d..6aefb13117 100644
--- a/civicrm/CRM/Profile/Selector/Listings.php
+++ b/civicrm/CRM/Profile/Selector/Listings.php
@@ -181,7 +181,7 @@ class CRM_Profile_Selector_Listings extends CRM_Core_Selector_Base implements CR
    * @param bool $map
    * @param bool $editLink
    * @param bool $ufLink
-   * @param null $gids
+   * @param int[]|null $gids
    *
    * @return array
    */
diff --git a/civicrm/CRM/Queue/BAO/Queue.php b/civicrm/CRM/Queue/BAO/Queue.php
new file mode 100644
index 0000000000..4c5f027bf8
--- /dev/null
+++ b/civicrm/CRM/Queue/BAO/Queue.php
@@ -0,0 +1,36 @@
+<?php
+/*
+ +--------------------------------------------------------------------+
+ | Copyright CiviCRM LLC. All rights reserved.                        |
+ |                                                                    |
+ | This work is published under the GNU AGPLv3 license with some      |
+ | permitted exceptions and without any warranty. For full license    |
+ | and copyright information, see https://civicrm.org/licensing       |
+ +--------------------------------------------------------------------+
+ */
+
+/**
+ *
+ * @package CRM
+ * @copyright CiviCRM LLC https://civicrm.org/licensing
+ */
+
+/**
+ * Track a list of known queues.
+ */
+class CRM_Queue_BAO_Queue extends CRM_Queue_DAO_Queue {
+
+  /**
+   * Get a list of valid queue types.
+   *
+   * @return string[]
+   */
+  public static function getTypes($context = NULL) {
+    return [
+      'Memory' => ts('Memory (Linear)'),
+      'Sql' => ts('SQL (Linear)'),
+      'SqlParallel' => ts('SQL (Parallel)'),
+    ];
+  }
+
+}
diff --git a/civicrm/CRM/Queue/DAO/Queue.php b/civicrm/CRM/Queue/DAO/Queue.php
new file mode 100644
index 0000000000..fc5ce93eff
--- /dev/null
+++ b/civicrm/CRM/Queue/DAO/Queue.php
@@ -0,0 +1,247 @@
+<?php
+
+/**
+ * @package CRM
+ * @copyright CiviCRM LLC https://civicrm.org/licensing
+ *
+ * Generated from xml/schema/CRM/Queue/Queue.xml
+ * DO NOT EDIT.  Generated by CRM_Core_CodeGen
+ * (GenCodeChecksum:5a49f8a2765460d48e4266efa9d447f2)
+ */
+
+/**
+ * Database access object for the Queue entity.
+ */
+class CRM_Queue_DAO_Queue extends CRM_Core_DAO {
+  const EXT = 'civicrm';
+  const TABLE_ADDED = '5.47';
+
+  /**
+   * Static instance to hold the table name.
+   *
+   * @var string
+   */
+  public static $_tableName = 'civicrm_queue';
+
+  /**
+   * Should CiviCRM log any modifications to this table in the civicrm_log table.
+   *
+   * @var bool
+   */
+  public static $_log = FALSE;
+
+  /**
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
+   */
+  public $id;
+
+  /**
+   * Name of the queue
+   *
+   * @var string
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
+   */
+  public $name;
+
+  /**
+   * Type of the queue
+   *
+   * @var string
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
+   */
+  public $type;
+
+  /**
+   * Should the standard background attempt to autorun tasks in this queue?
+   *
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
+   */
+  public $is_autorun;
+
+  /**
+   * Class constructor.
+   */
+  public function __construct() {
+    $this->__table = 'civicrm_queue';
+    parent::__construct();
+  }
+
+  /**
+   * Returns localized title of this entity.
+   *
+   * @param bool $plural
+   *   Whether to return the plural version of the title.
+   */
+  public static function getEntityTitle($plural = FALSE) {
+    return $plural ? ts('Queues') : ts('Queue');
+  }
+
+  /**
+   * Returns all the column names of this table
+   *
+   * @return array
+   */
+  public static function &fields() {
+    if (!isset(Civi::$statics[__CLASS__]['fields'])) {
+      Civi::$statics[__CLASS__]['fields'] = [
+        'id' => [
+          'name' => 'id',
+          'type' => CRM_Utils_Type::T_INT,
+          'title' => ts('System Queue ID'),
+          'required' => TRUE,
+          'where' => 'civicrm_queue.id',
+          'table_name' => 'civicrm_queue',
+          'entity' => 'Queue',
+          'bao' => 'CRM_Queue_BAO_Queue',
+          'localizable' => 0,
+          'html' => [
+            'type' => 'Number',
+          ],
+          'readonly' => TRUE,
+          'add' => '5.47',
+        ],
+        'name' => [
+          'name' => 'name',
+          'type' => CRM_Utils_Type::T_STRING,
+          'title' => ts('Name'),
+          'description' => ts('Name of the queue'),
+          'required' => TRUE,
+          'maxlength' => 64,
+          'size' => CRM_Utils_Type::BIG,
+          'where' => 'civicrm_queue.name',
+          'table_name' => 'civicrm_queue',
+          'entity' => 'Queue',
+          'bao' => 'CRM_Queue_BAO_Queue',
+          'localizable' => 0,
+          'html' => [
+            'type' => 'Text',
+          ],
+          'add' => '5.47',
+        ],
+        'type' => [
+          'name' => 'type',
+          'type' => CRM_Utils_Type::T_STRING,
+          'title' => ts('Type'),
+          'description' => ts('Type of the queue'),
+          'required' => TRUE,
+          'maxlength' => 64,
+          'size' => CRM_Utils_Type::BIG,
+          'where' => 'civicrm_queue.type',
+          'table_name' => 'civicrm_queue',
+          'entity' => 'Queue',
+          'bao' => 'CRM_Queue_BAO_Queue',
+          'localizable' => 0,
+          'html' => [
+            'type' => 'Text',
+          ],
+          'pseudoconstant' => [
+            'callback' => 'CRM_Queue_BAO_Queue::getTypes',
+          ],
+          'add' => '5.47',
+        ],
+        'is_autorun' => [
+          'name' => 'is_autorun',
+          'type' => CRM_Utils_Type::T_BOOLEAN,
+          'title' => ts('Enable Autorun'),
+          'description' => ts('Should the standard background attempt to autorun tasks in this queue?'),
+          'where' => 'civicrm_queue.is_autorun',
+          'table_name' => 'civicrm_queue',
+          'entity' => 'Queue',
+          'bao' => 'CRM_Queue_BAO_Queue',
+          'localizable' => 0,
+          'html' => [
+            'type' => 'CheckBox',
+            'label' => ts("Auto Run"),
+          ],
+          'add' => NULL,
+        ],
+      ];
+      CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'fields_callback', Civi::$statics[__CLASS__]['fields']);
+    }
+    return Civi::$statics[__CLASS__]['fields'];
+  }
+
+  /**
+   * Return a mapping from field-name to the corresponding key (as used in fields()).
+   *
+   * @return array
+   *   Array(string $name => string $uniqueName).
+   */
+  public static function &fieldKeys() {
+    if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
+      Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
+    }
+    return Civi::$statics[__CLASS__]['fieldKeys'];
+  }
+
+  /**
+   * Returns the names of this table
+   *
+   * @return string
+   */
+  public static function getTableName() {
+    return self::$_tableName;
+  }
+
+  /**
+   * Returns if this table needs to be logged
+   *
+   * @return bool
+   */
+  public function getLog() {
+    return self::$_log;
+  }
+
+  /**
+   * Returns the list of fields that can be imported
+   *
+   * @param bool $prefix
+   *
+   * @return array
+   */
+  public static function &import($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'queue', $prefix, []);
+    return $r;
+  }
+
+  /**
+   * Returns the list of fields that can be exported
+   *
+   * @param bool $prefix
+   *
+   * @return array
+   */
+  public static function &export($prefix = FALSE) {
+    $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'queue', $prefix, []);
+    return $r;
+  }
+
+  /**
+   * Returns the list of indices
+   *
+   * @param bool $localize
+   *
+   * @return array
+   */
+  public static function indices($localize = TRUE) {
+    $indices = [
+      'UI_name' => [
+        'name' => 'UI_name',
+        'field' => [
+          0 => 'name',
+        ],
+        'localizable' => FALSE,
+        'unique' => TRUE,
+        'sig' => 'civicrm_queue::1::name',
+      ],
+    ];
+    return ($localize && !empty($indices)) ? CRM_Core_DAO_AllCoreTables::multilingualize(__CLASS__, $indices) : $indices;
+  }
+
+}
diff --git a/civicrm/CRM/Queue/DAO/QueueItem.php b/civicrm/CRM/Queue/DAO/QueueItem.php
index db5d14ab80..7d4979ca95 100644
--- a/civicrm/CRM/Queue/DAO/QueueItem.php
+++ b/civicrm/CRM/Queue/DAO/QueueItem.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Queue/QueueItem.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:c509d1bc7563d1cddf1b5c823520b32c)
+ * (GenCodeChecksum:36871610524adb64bc8aa3bb24b295f4)
  */
 
 /**
@@ -31,7 +31,9 @@ class CRM_Queue_DAO_QueueItem extends CRM_Core_DAO {
   public static $_log = FALSE;
 
   /**
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
@@ -39,32 +41,42 @@ class CRM_Queue_DAO_QueueItem extends CRM_Core_DAO {
    * Name of the queue which includes this item
    *
    * @var string
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $queue_name;
 
   /**
-   * @var int
+   * @var int|string
+   *   (SQL type: int)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $weight;
 
   /**
    * date on which this item was submitted to the queue
    *
-   * @var datetime
+   * @var string
+   *   (SQL type: datetime)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $submit_time;
 
   /**
    * date on which this job becomes available; null if ASAP
    *
-   * @var datetime
+   * @var string|null
+   *   (SQL type: datetime)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $release_time;
 
   /**
    * Serialized queue data
    *
-   * @var longtext
+   * @var string|null
+   *   (SQL type: longtext)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $data;
 
@@ -97,7 +109,7 @@ class CRM_Queue_DAO_QueueItem extends CRM_Core_DAO {
         'id' => [
           'name' => 'id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Queue ID'),
+          'title' => ts('Queue Item ID'),
           'required' => TRUE,
           'where' => 'civicrm_queue_item.id',
           'table_name' => 'civicrm_queue_item',
diff --git a/civicrm/CRM/Queue/Queue/Sql.php b/civicrm/CRM/Queue/Queue/Sql.php
index 3f6c474a94..1cee3894c3 100644
--- a/civicrm/CRM/Queue/Queue/Sql.php
+++ b/civicrm/CRM/Queue/Queue/Sql.php
@@ -14,6 +14,8 @@
  */
 class CRM_Queue_Queue_Sql extends CRM_Queue_Queue {
 
+  use CRM_Queue_Queue_SqlTrait;
+
   /**
    * Create a reference to queue. After constructing the queue, one should
    * usually call createQueue (if it's a new queue) or loadQueue (if it's
@@ -32,74 +34,6 @@ class CRM_Queue_Queue_Sql extends CRM_Queue_Queue {
     parent::__construct($queueSpec);
   }
 
-  /**
-   * Perform any registation or resource-allocation for a new queue
-   */
-  public function createQueue() {
-    // nothing to do -- just start CRUDing items in the appropriate table
-  }
-
-  /**
-   * Perform any loading or pre-fetch for an existing queue.
-   */
-  public function loadQueue() {
-    // nothing to do -- just start CRUDing items in the appropriate table
-  }
-
-  /**
-   * Release any resources claimed by the queue (memory, DB rows, etc)
-   */
-  public function deleteQueue() {
-    return CRM_Core_DAO::singleValueQuery("
-      DELETE FROM civicrm_queue_item
-      WHERE queue_name = %1
-    ", [
-      1 => [$this->getName(), 'String'],
-    ]);
-  }
-
-  /**
-   * Check if the queue exists.
-   *
-   * @return bool
-   */
-  public function existsQueue() {
-    return ($this->numberOfItems() > 0);
-  }
-
-  /**
-   * Add a new item to the queue.
-   *
-   * @param mixed $data
-   *   Serializable PHP object or array.
-   * @param array $options
-   *   Queue-dependent options; for example, if this is a
-   *   priority-queue, then $options might specify the item's priority.
-   */
-  public function createItem($data, $options = []) {
-    $dao = new CRM_Queue_DAO_QueueItem();
-    $dao->queue_name = $this->getName();
-    $dao->submit_time = CRM_Utils_Time::getTime('YmdHis');
-    $dao->data = serialize($data);
-    $dao->weight = CRM_Utils_Array::value('weight', $options, 0);
-    $dao->save();
-  }
-
-  /**
-   * Determine number of items remaining in the queue.
-   *
-   * @return int
-   */
-  public function numberOfItems() {
-    return CRM_Core_DAO::singleValueQuery("
-      SELECT count(*)
-      FROM civicrm_queue_item
-      WHERE queue_name = %1
-    ", [
-      1 => [$this->getName(), 'String'],
-    ]);
-  }
-
   /**
    * Get the next item.
    *
@@ -185,28 +119,4 @@ class CRM_Queue_Queue_Sql extends CRM_Queue_Queue {
     }
   }
 
-  /**
-   * Remove an item from the queue.
-   *
-   * @param CRM_Core_DAO $dao
-   *   The item returned by claimItem.
-   */
-  public function deleteItem($dao) {
-    $dao->delete();
-  }
-
-  /**
-   * Return an item that could not be processed.
-   *
-   * @param CRM_Core_DAO $dao
-   *   The item returned by claimItem.
-   */
-  public function releaseItem($dao) {
-    $sql = "UPDATE civicrm_queue_item SET release_time = NULL WHERE id = %1";
-    $params = [
-      1 => [$dao->id, 'Integer'],
-    ];
-    CRM_Core_DAO::executeQuery($sql, $params);
-  }
-
 }
diff --git a/civicrm/CRM/Queue/Queue/SqlParallel.php b/civicrm/CRM/Queue/Queue/SqlParallel.php
index 369e7d2cef..bf48d45e93 100644
--- a/civicrm/CRM/Queue/Queue/SqlParallel.php
+++ b/civicrm/CRM/Queue/Queue/SqlParallel.php
@@ -14,6 +14,8 @@
  */
 class CRM_Queue_Queue_SqlParallel extends CRM_Queue_Queue {
 
+  use CRM_Queue_Queue_SqlTrait;
+
   /**
    * Create a reference to queue. After constructing the queue, one should
    * usually call createQueue (if it's a new queue) or loadQueue (if it's
@@ -32,74 +34,6 @@ class CRM_Queue_Queue_SqlParallel extends CRM_Queue_Queue {
     parent::__construct($queueSpec);
   }
 
-  /**
-   * Perform any registation or resource-allocation for a new queue
-   */
-  public function createQueue() {
-    // nothing to do -- just start CRUDing items in the appropriate table
-  }
-
-  /**
-   * Perform any loading or pre-fetch for an existing queue.
-   */
-  public function loadQueue() {
-    // nothing to do -- just start CRUDing items in the appropriate table
-  }
-
-  /**
-   * Release any resources claimed by the queue (memory, DB rows, etc)
-   */
-  public function deleteQueue() {
-    return CRM_Core_DAO::singleValueQuery("
-      DELETE FROM civicrm_queue_item
-      WHERE queue_name = %1
-    ", [
-      1 => [$this->getName(), 'String'],
-    ]);
-  }
-
-  /**
-   * Check if the queue exists.
-   *
-   * @return bool
-   */
-  public function existsQueue() {
-    return ($this->numberOfItems() > 0);
-  }
-
-  /**
-   * Add a new item to the queue.
-   *
-   * @param mixed $data
-   *   Serializable PHP object or array.
-   * @param array $options
-   *   Queue-dependent options; for example, if this is a
-   *   priority-queue, then $options might specify the item's priority.
-   */
-  public function createItem($data, $options = []) {
-    $dao = new CRM_Queue_DAO_QueueItem();
-    $dao->queue_name = $this->getName();
-    $dao->submit_time = CRM_Utils_Time::getTime('YmdHis');
-    $dao->data = serialize($data);
-    $dao->weight = CRM_Utils_Array::value('weight', $options, 0);
-    $dao->save();
-  }
-
-  /**
-   * Determine number of items remaining in the queue.
-   *
-   * @return int
-   */
-  public function numberOfItems() {
-    return CRM_Core_DAO::singleValueQuery("
-      SELECT count(*)
-      FROM civicrm_queue_item
-      WHERE queue_name = %1
-    ", [
-      1 => [$this->getName(), 'String'],
-    ]);
-  }
-
   /**
    * Get the next item.
    *
@@ -182,30 +116,4 @@ class CRM_Queue_Queue_SqlParallel extends CRM_Queue_Queue {
     }
   }
 
-  /**
-   * Remove an item from the queue.
-   *
-   * @param CRM_Core_DAO $dao
-   *   The item returned by claimItem.
-   */
-  public function deleteItem($dao) {
-    $dao->delete();
-    $dao->free();
-  }
-
-  /**
-   * Return an item that could not be processed.
-   *
-   * @param CRM_Core_DAO $dao
-   *   The item returned by claimItem.
-   */
-  public function releaseItem($dao) {
-    $sql = "UPDATE civicrm_queue_item SET release_time = NULL WHERE id = %1";
-    $params = [
-      1 => [$dao->id, 'Integer'],
-    ];
-    CRM_Core_DAO::executeQuery($sql, $params);
-    $dao->free();
-  }
-
 }
diff --git a/civicrm/CRM/Queue/Queue/SqlTrait.php b/civicrm/CRM/Queue/Queue/SqlTrait.php
new file mode 100644
index 0000000000..4c93e2d320
--- /dev/null
+++ b/civicrm/CRM/Queue/Queue/SqlTrait.php
@@ -0,0 +1,112 @@
+<?php
+
+/*
+ +--------------------------------------------------------------------+
+ | Copyright CiviCRM LLC. All rights reserved.                        |
+ |                                                                    |
+ | This work is published under the GNU AGPLv3 license with some      |
+ | permitted exceptions and without any warranty. For full license    |
+ | and copyright information, see https://civicrm.org/licensing       |
+ +--------------------------------------------------------------------+
+ */
+
+/**
+ * Trait defines methods that are commonly used to implement a SQL-backed queue.
+ */
+trait CRM_Queue_Queue_SqlTrait {
+
+  /**
+   * Perform any registation or resource-allocation for a new queue
+   */
+  public function createQueue() {
+    // nothing to do -- just start CRUDing items in the appropriate table
+  }
+
+  /**
+   * Perform any loading or pre-fetch for an existing queue.
+   */
+  public function loadQueue() {
+    // nothing to do -- just start CRUDing items in the appropriate table
+  }
+
+  /**
+   * Release any resources claimed by the queue (memory, DB rows, etc)
+   */
+  public function deleteQueue() {
+    return CRM_Core_DAO::singleValueQuery("
+      DELETE FROM civicrm_queue_item
+      WHERE queue_name = %1
+    ", [
+      1 => [$this->getName(), 'String'],
+    ]);
+  }
+
+  /**
+   * Check if the queue exists.
+   *
+   * @return bool
+   */
+  public function existsQueue() {
+    return ($this->numberOfItems() > 0);
+  }
+
+  /**
+   * Determine number of items remaining in the queue.
+   *
+   * @return int
+   */
+  public function numberOfItems() {
+    return CRM_Core_DAO::singleValueQuery("
+      SELECT count(*)
+      FROM civicrm_queue_item
+      WHERE queue_name = %1
+    ", [
+      1 => [$this->getName(), 'String'],
+    ]);
+  }
+
+  /**
+   * Add a new item to the queue.
+   *
+   * @param mixed $data
+   *   Serializable PHP object or array.
+   * @param array $options
+   *   Queue-dependent options; for example, if this is a
+   *   priority-queue, then $options might specify the item's priority.
+   */
+  public function createItem($data, $options = []) {
+    $dao = new CRM_Queue_DAO_QueueItem();
+    $dao->queue_name = $this->getName();
+    $dao->submit_time = CRM_Utils_Time::getTime('YmdHis');
+    $dao->data = serialize($data);
+    $dao->weight = CRM_Utils_Array::value('weight', $options, 0);
+    $dao->save();
+  }
+
+  /**
+   * Remove an item from the queue.
+   *
+   * @param CRM_Core_DAO|stdClass $dao
+   *   The item returned by claimItem.
+   */
+  public function deleteItem($dao) {
+    $dao->delete();
+    $dao->free();
+  }
+
+  /**
+   * Return an item that could not be processed.
+   *
+   * @param CRM_Core_DAO $dao
+   *   The item returned by claimItem.
+   */
+  public function releaseItem($dao) {
+    $sql = "UPDATE civicrm_queue_item SET release_time = NULL WHERE id = %1";
+    $params = [
+      1 => [$dao->id, 'Integer'],
+    ];
+    CRM_Core_DAO::executeQuery($sql, $params);
+    $dao->free();
+  }
+
+}
diff --git a/civicrm/CRM/Queue/Runner.php b/civicrm/CRM/Queue/Runner.php
index 0652629c15..4985bda768 100644
--- a/civicrm/CRM/Queue/Runner.php
+++ b/civicrm/CRM/Queue/Runner.php
@@ -10,11 +10,25 @@
  */
 
 /**
- * The queue runner is a helper which runs all jobs in a queue.
+ * `CRM_Queue_Runner` runs a list tasks from a queue. It originally supported the database-upgrade
+ * queue. Consequently, this runner is optimal for queues which are:
  *
- * The queue runner is most useful for one-off queues (such as an upgrade);
- * if the intention is to develop a dedicated, long-running worker thread,
- * then one should consider writing a new queue consumer.
+ * - Short lived and discrete. You have a fixed list of tasks that will be run to completion.
+ * - Strictly linear. Tasks must run 1-by-1. Often, one task depends on the success of a previous task.
+ * - Slightly dangerous. An error, omission, or mistake indicates that the database is in an
+ *   inconsistent state. Errors call for skilled human intervention.
+ *
+ * This runner supports a few modes of operation, eg
+ *
+ * - `runAllViaWeb()`: Use a web-browser and a series of AJAX requests to perform all steps.
+ *   If there is an error, prompt the sysadmin/user to decide how to handle it.
+ * - `runAll()`: Run all tasks, 1-by-1, back-to-back. If there is an error, give up.
+ *   This is used by some CLI upgrades.
+ *
+ * This runner is not appropriate for all queues or workloads, so you might choose or create
+ * a different runner. For example, `CRM_Queue_Autorunner` is geared toward background task lists.
+ *
+ * @see CRM_Queue_Autorunner
  */
 class CRM_Queue_Runner {
 
@@ -203,7 +217,7 @@ class CRM_Queue_Runner {
           $exception = new Exception('Task returned false');
         }
       }
-      catch (Exception$e) {
+      catch (Exception $e) {
         $isOK = FALSE;
         $exception = $e;
       }
@@ -302,7 +316,7 @@ class CRM_Queue_Runner {
    *
    * @param bool $isOK
    *   TRUE if the task completed successfully.
-   * @param Exception|NULL $exception
+   * @param Exception|null $exception
    *   If applicable, an unhandled exception that arose during execution.
    *
    * @return array
diff --git a/civicrm/CRM/Queue/Service.php b/civicrm/CRM/Queue/Service.php
index 119c76efe1..576f76cdf2 100644
--- a/civicrm/CRM/Queue/Service.php
+++ b/civicrm/CRM/Queue/Service.php
@@ -74,12 +74,14 @@ class CRM_Queue_Service {
    *
    * @param array $queueSpec
    *   Array with keys:
-   *   - type: string, required, e.g. "interactive", "immediate", "stomp",
-   *    "beanstalk"
+   *   - type: string, required, e.g. `Sql`, `SqlParallel`, `Memory`
    *   - name: string, required, e.g. "upgrade-tasks"
    *   - reset: bool, optional; if a queue is found, then it should be
    *     flushed; default to TRUE
    *   - (additional keys depending on the queue provider).
+   *   - is_persistent: bool, optional; if true, then this queue is loaded from `civicrm_queue` list
+   *   - is_autorun: bool, optional; if true, then this queue will be auto-scanned
+   *     by background task-runners
    *
    * @return CRM_Queue_Queue
    */
@@ -88,6 +90,9 @@ class CRM_Queue_Service {
       return $this->queues[$queueSpec['name']];
     }
 
+    if (!empty($queueSpec['is_persistent'])) {
+      $queueSpec = $this->findCreateQueueSpec($queueSpec);
+    }
     $queue = $this->instantiateQueueObject($queueSpec);
     $exists = $queue->existsQueue();
     if (!$exists) {
@@ -104,15 +109,45 @@ class CRM_Queue_Service {
     return $queue;
   }
 
+  /**
+   * Find/create the queue-spec. Specifically:
+   *
+   * - If there is a stored queue, use its spec.
+   * - If there is no stored queue, and if we have enough information, then create queue.
+   *
+   * @param array $queueSpec
+   * @return array
+   *   Updated queueSpec.
+   * @throws \CRM_Core_Exception
+   */
+  protected function findCreateQueueSpec(array $queueSpec): array {
+    $storageFields = ['type', 'is_autorun'];
+    $dao = new CRM_Queue_DAO_Queue();
+    $dao->name = $queueSpec['name'];
+    if ($dao->find(TRUE)) {
+      return array_merge($queueSpec, CRM_Utils_Array::subset($dao->toArray(), $storageFields));
+    }
+
+    if (empty($queueSpec['type'])) {
+      throw new \CRM_Core_Exception(sprintf('Failed to find or create persistent queue "%s". Missing field "%s".',
+        $queueSpec['name'], 'type'));
+    }
+    $queueSpec = array_merge(['is_autorun' => FALSE], $queueSpec);
+    $dao->copyValues($queueSpec);
+    $dao->insert();
+
+    return $queueSpec;
+  }
+
   /**
    * Look up an existing queue.
    *
    * @param array $queueSpec
    *   Array with keys:
-   *   - type: string, required, e.g. "interactive", "immediate", "stomp",
-   *     "beanstalk"
+   *   - type: string, required, e.g. `Sql`, `SqlParallel`, `Memory`
    *   - name: string, required, e.g. "upgrade-tasks"
    *   - (additional keys depending on the queue provider).
+   *   - is_persistent: bool, optional; if true, then this queue is loaded from `civicrm_queue` list
    *
    * @return CRM_Queue_Queue
    */
@@ -120,6 +155,9 @@ class CRM_Queue_Service {
     if (is_object($this->queues[$queueSpec['name']] ?? NULL)) {
       return $this->queues[$queueSpec['name']];
     }
+    if (!empty($queueSpec['is_persistent'])) {
+      $queueSpec = $this->findCreateQueueSpec($queueSpec);
+    }
     $queue = $this->instantiateQueueObject($queueSpec);
     $queue->loadQueue();
     $this->queues[$queueSpec['name']] = $queue;
@@ -130,8 +168,7 @@ class CRM_Queue_Service {
    * Convert a queue "type" name to a class name.
    *
    * @param string $type
-   *   E.g. "interactive", "immediate", "stomp", "beanstalk".
-   *
+   *   - type: string, required, e.g. `Sql`, `SqlParallel`, `Memory`
    * @return string
    *   Class-name
    */
diff --git a/civicrm/CRM/Queue/Task.php b/civicrm/CRM/Queue/Task.php
index b2d74b393a..cb510da205 100644
--- a/civicrm/CRM/Queue/Task.php
+++ b/civicrm/CRM/Queue/Task.php
@@ -59,12 +59,11 @@ class CRM_Queue_Task {
   /**
    * Perform the task.
    *
-   * @param array $taskCtx
-   *   Array with keys:
-   *   - log: object 'Log'
-   *
+   * @param \CRM_Queue_TaskContext $taskCtx
    * @throws Exception
-   * @return bool, TRUE if task completes successfully
+   * @return bool
+   *   TRUE if task completes successfully.
+   *   FALSE or exception if task fails.
    */
   public function run($taskCtx) {
     $args = $this->arguments;
diff --git a/civicrm/CRM/Report/DAO/ReportInstance.php b/civicrm/CRM/Report/DAO/ReportInstance.php
index 2a1de9cd45..f5ce8c7171 100644
--- a/civicrm/CRM/Report/DAO/ReportInstance.php
+++ b/civicrm/CRM/Report/DAO/ReportInstance.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/Report/ReportInstance.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:8119de0836afac038bfa8eeed2c0fb63)
+ * (GenCodeChecksum:0cc1db696d0899940ac62d266cb55a0a)
  */
 
 /**
@@ -41,21 +41,27 @@ class CRM_Report_DAO_ReportInstance extends CRM_Core_DAO {
   /**
    * Report Instance ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * Which Domain is this instance for
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $domain_id;
 
   /**
    * Report Instance Title.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $title;
 
@@ -63,123 +69,159 @@ class CRM_Report_DAO_ReportInstance extends CRM_Core_DAO {
    * FK to civicrm_option_value for the report template
    *
    * @var string
+   *   (SQL type: varchar(512))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $report_id;
 
   /**
    * when combined with report_id/template uniquely identifies the instance
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $name;
 
   /**
    * arguments that are passed in the url when invoking the instance
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $args;
 
   /**
    * Report Instance description.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $description;
 
   /**
    * permission required to be able to run this instance
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $permission;
 
   /**
    * role required to be able to run this instance
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(1024))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $grouprole;
 
   /**
    * Submitted form values for this report
    *
-   * @var longtext
+   * @var string|null
+   *   (SQL type: longtext)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $form_values;
 
   /**
    * Is this entry active?
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_active;
 
   /**
    * FK to contact table.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $created_id;
 
   /**
    * FK to contact table.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $owner_id;
 
   /**
    * Subject of email
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $email_subject;
 
   /**
    * comma-separated list of email addresses to send the report to
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $email_to;
 
   /**
    * comma-separated list of email addresses to send the report to
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $email_cc;
 
   /**
    * comma-separated list of email addresses to send the report to
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $header;
 
   /**
    * comma-separated list of email addresses to send the report to
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $footer;
 
   /**
    * FK to navigation ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $navigation_id;
 
   /**
    * FK to instance ID drilldown to
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $drilldown_id;
 
   /**
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_reserved;
 
diff --git a/civicrm/CRM/Report/Form.php b/civicrm/CRM/Report/Form.php
index 78ba43e17b..692894151b 100644
--- a/civicrm/CRM/Report/Form.php
+++ b/civicrm/CRM/Report/Form.php
@@ -555,7 +555,7 @@ class CRM_Report_Form extends CRM_Core_Form {
 
   /**
    * set the number of rows to show
-   * @param $rowCount int
+   * @param int $rowCount
    */
   public function setRowCount($rowCount): void {
     $this->_rowCount = $rowCount;
@@ -1115,7 +1115,7 @@ class CRM_Report_Form extends CRM_Core_Form {
    * @param string $group
    * @param string $grpFieldName
    *
-   * @return bool
+   * @return object|bool
    */
   public function getElementFromGroup($group, $grpFieldName) {
     $eleObj = $this->getElement($group);
@@ -1841,7 +1841,7 @@ class CRM_Report_Form extends CRM_Core_Form {
    *
    * Note: $fieldName param allows inheriting class to build operationPairs specific to a field.
    *
-   * @param string $type
+   * @param int|string $type
    * @param string $fieldName
    *
    * @return array
@@ -2224,7 +2224,7 @@ class CRM_Report_Form extends CRM_Core_Form {
 
   /**
    * Get SQL where clause for contact subtypes
-   * @param string $field
+   * @param array $field Field specifications
    * @param mixed $value
    * @param string $op SQL Operator
    *
@@ -3742,7 +3742,7 @@ WHERE cg.extends IN ('" . implode("','", $this->_customGroupExtends) . "') AND
    *
    * @deprecated
    *
-   * @param string $field
+   * @param array $field
    * @param mixed $value
    * @param string $op
    *
@@ -3797,7 +3797,7 @@ WHERE cg.extends IN ('" . implode("','", $this->_customGroupExtends) . "') AND
   /**
    * Build where clause for groups.
    *
-   * @param string $field
+   * @param array $field
    * @param mixed $value
    * @param string $op
    *
@@ -3847,7 +3847,7 @@ WHERE cg.extends IN ('" . implode("','", $this->_customGroupExtends) . "') AND
   /**
    * Build where clause for tags.
    *
-   * @param string $field
+   * @param array $field
    * @param mixed $value
    * @param string $op
    *
@@ -4267,7 +4267,7 @@ LEFT JOIN civicrm_contact {$field['alias']} ON {$field['alias']}.id = {$this->_a
    */
   public function preProcessOrderBy(&$formValues) {
     // Object to show/hide form elements
-    $_showHide = new CRM_Core_ShowHideBlocks('', '');
+    $_showHide = new CRM_Core_ShowHideBlocks();
 
     $_showHide->addShow('optionField_1');
 
@@ -4399,9 +4399,7 @@ LEFT JOIN civicrm_contact {$field['alias']} ON {$field['alias']}.id = {$this->_a
    */
   public function addCampaignFields($entityTable = 'civicrm_contribution', $groupBy = FALSE, $orderBy = FALSE, $filters = TRUE) {
     // Check if CiviCampaign is a) enabled and b) has active campaigns
-    $config = CRM_Core_Config::singleton();
-    $campaignEnabled = in_array('CiviCampaign', $config->enableComponents);
-    if ($campaignEnabled) {
+    if (CRM_Core_Component::isEnabled('CiviCampaign')) {
       $getCampaigns = CRM_Campaign_BAO_Campaign::getPermissionedCampaigns(NULL, NULL, FALSE, FALSE, TRUE);
       // If we have a campaign, build out the relevant elements
       if (!empty($getCampaigns['campaigns'])) {
@@ -4587,8 +4585,8 @@ LEFT JOIN civicrm_contact {$field['alias']} ON {$field['alias']}.id = {$this->_a
    * @param array $row
    * @param array $rows
    * @param int $rowNum
-   * @param string $baseUrl
-   * @param string $linkText
+   * @param string|null $baseUrl
+   * @param string|null $linkText
    * @param string $separator
    *
    * @return bool
@@ -4637,8 +4635,8 @@ LEFT JOIN civicrm_contact {$field['alias']} ON {$field['alias']}.id = {$this->_a
    * @param array $row
    * @param array $rows
    * @param int $rowNum
-   * @param string $baseUrl
-   * @param string $linkText
+   * @param string|null $baseUrl
+   * @param string|null $linkText
    *
    * @return bool
    */
@@ -5221,7 +5219,7 @@ LEFT JOIN civicrm_contact {$field['alias']} ON {$field['alias']}.id = {$this->_a
    *
    * @param string $baseTable
    * @param string $field
-   * @param null $tableAlias
+   * @param string|null $tableAlias
    */
   public function setFromBase($baseTable, $field = 'id', $tableAlias = NULL) {
     if (!$tableAlias) {
diff --git a/civicrm/CRM/Report/Form/Activity.php b/civicrm/CRM/Report/Form/Activity.php
index d85edac156..9fda9efae5 100644
--- a/civicrm/CRM/Report/Form/Activity.php
+++ b/civicrm/CRM/Report/Form/Activity.php
@@ -397,7 +397,7 @@ class CRM_Report_Form_Activity extends CRM_Report_Form {
    * @todo get rid of $recordType param. It's only because 3 separate contact tables
    * are mis-declared as one that we need it.
    *
-   * @param null $recordType deprecated
+   * @param string $recordType deprecated
    *   Parameter to hack around the bad decision made in construct to misrepresent
    *   different tables as the same table.
    */
@@ -619,7 +619,7 @@ class CRM_Report_Form_Activity extends CRM_Report_Form {
   /**
    * Build ACL clause.
    *
-   * @param string $tableAlias
+   * @param array $tableAlias
    *
    * @throws \CRM_Core_Exception
    */
@@ -694,14 +694,13 @@ GROUP BY civicrm_activity_id $having {$this->_orderBy}";
   /**
    * @param $fields
    * @param $files
-   * @param $self
+   * @param self $self
    *
    * @return array
    */
   public static function formRule($fields, $files, $self) {
     $errors = [];
-    $config = CRM_Core_Config::singleton();
-    if (in_array("CiviCase", $config->enableComponents)) {
+    if (CRM_Core_Component::isEnabled('CiviCase')) {
       $componentId = CRM_Core_Component::getComponentID('CiviCase');
       $caseActivityTypes = CRM_Core_OptionGroup::values('activity_type', TRUE, FALSE, FALSE, " AND v.component_id={$componentId}");
       if (!empty($fields['activity_type_id_value']) && is_array($fields['activity_type_id_value']) && empty($fields['include_case_activities_value'])) {
diff --git a/civicrm/CRM/Report/Form/ActivitySummary.php b/civicrm/CRM/Report/Form/ActivitySummary.php
index 38e20f360e..d66b710d7a 100644
--- a/civicrm/CRM/Report/Form/ActivitySummary.php
+++ b/civicrm/CRM/Report/Form/ActivitySummary.php
@@ -561,7 +561,7 @@ class CRM_Report_Form_ActivitySummary extends CRM_Report_Form {
   /**
    * @param $fields
    * @param $files
-   * @param $self
+   * @param self $self
    *
    * @return array
    */
@@ -602,7 +602,7 @@ class CRM_Report_Form_ActivitySummary extends CRM_Report_Form {
   }
 
   /**
-   * @param $rows
+   * @param array $rows
    *
    * @return array
    */
diff --git a/civicrm/CRM/Report/Form/Campaign/SurveyDetails.php b/civicrm/CRM/Report/Form/Campaign/SurveyDetails.php
index b7a34aec01..32ccc01804 100644
--- a/civicrm/CRM/Report/Form/Campaign/SurveyDetails.php
+++ b/civicrm/CRM/Report/Form/Campaign/SurveyDetails.php
@@ -493,7 +493,7 @@ INNER JOIN  civicrm_option_value val ON ( val.option_group_id = survey.result_id
   }
 
   /**
-   * @param $rows
+   * @param array $rows
    */
   private function _formatSurveyResult(&$rows) {
     $surveyIds = $this->_params['survey_id_value'] ?? NULL;
@@ -544,7 +544,7 @@ INNER JOIN  civicrm_survey survey ON ( survey.result_id = grp.id )
   }
 
   /**
-   * @param $rows
+   * @param array $rows
    */
   private function _formatSurveyResponseData(&$rows) {
     $surveyIds = $this->_params['survey_id_value'] ?? NULL;
diff --git a/civicrm/CRM/Report/Form/Case/Demographics.php b/civicrm/CRM/Report/Form/Case/Demographics.php
index 99346e02e7..b24b06443b 100644
--- a/civicrm/CRM/Report/Form/Case/Demographics.php
+++ b/civicrm/CRM/Report/Form/Case/Demographics.php
@@ -263,7 +263,7 @@ where (cg.extends='Contact' OR cg.extends='Individual' OR cg.extends_entity_colu
   /**
    * @param $fields
    * @param $files
-   * @param $self
+   * @param self $self
    *
    * @return array
    */
diff --git a/civicrm/CRM/Report/Form/Case/Detail.php b/civicrm/CRM/Report/Form/Case/Detail.php
index 053e21c540..bf13f2934a 100644
--- a/civicrm/CRM/Report/Form/Case/Detail.php
+++ b/civicrm/CRM/Report/Form/Case/Detail.php
@@ -468,7 +468,7 @@ class CRM_Report_Form_Case_Detail extends CRM_Report_Form {
   }
 
   /**
-   * @param $rows
+   * @param array $rows
    *
    * @return array
    */
diff --git a/civicrm/CRM/Report/Form/Case/Summary.php b/civicrm/CRM/Report/Form/Case/Summary.php
index 52fb291cc1..7f2114988d 100644
--- a/civicrm/CRM/Report/Form/Case/Summary.php
+++ b/civicrm/CRM/Report/Form/Case/Summary.php
@@ -223,7 +223,7 @@ class CRM_Report_Form_Case_Summary extends CRM_Report_Form {
   /**
    * @param $fields
    * @param $files
-   * @param $self
+   * @param self $self
    *
    * @return array
    */
diff --git a/civicrm/CRM/Report/Form/Case/TimeSpent.php b/civicrm/CRM/Report/Form/Case/TimeSpent.php
index 53572ae20b..25a4eaded2 100644
--- a/civicrm/CRM/Report/Form/Case/TimeSpent.php
+++ b/civicrm/CRM/Report/Form/Case/TimeSpent.php
@@ -307,7 +307,7 @@ class CRM_Report_Form_Case_TimeSpent extends CRM_Report_Form {
   /**
    * @param $fields
    * @param $files
-   * @param $self
+   * @param self $self
    *
    * @return array
    */
diff --git a/civicrm/CRM/Report/Form/Contact/Detail.php b/civicrm/CRM/Report/Form/Contact/Detail.php
index 56fcb47c60..e0a59e9c41 100644
--- a/civicrm/CRM/Report/Form/Contact/Detail.php
+++ b/civicrm/CRM/Report/Form/Contact/Detail.php
@@ -440,7 +440,7 @@ class CRM_Report_Form_Contact_Detail extends CRM_Report_Form {
   /**
    * @param $fields
    * @param $files
-   * @param $self
+   * @param self $self
    *
    * @return array
    */
@@ -785,7 +785,7 @@ HERESQL;
   }
 
   /**
-   * @param $rows
+   * @param array $rows
    *
    * @return array
    */
diff --git a/civicrm/CRM/Report/Form/Contact/Log.php b/civicrm/CRM/Report/Form/Contact/Log.php
index 3fbec11212..61c2b161d4 100644
--- a/civicrm/CRM/Report/Form/Contact/Log.php
+++ b/civicrm/CRM/Report/Form/Contact/Log.php
@@ -149,7 +149,7 @@ class CRM_Report_Form_Contact_Log extends CRM_Report_Form {
   /**
    * @param $fields
    * @param $files
-   * @param $self
+   * @param self $self
    *
    * @return array
    */
diff --git a/civicrm/CRM/Report/Form/Contact/Relationship.php b/civicrm/CRM/Report/Form/Contact/Relationship.php
index 7937353467..6db13e2822 100644
--- a/civicrm/CRM/Report/Form/Contact/Relationship.php
+++ b/civicrm/CRM/Report/Form/Contact/Relationship.php
@@ -414,11 +414,7 @@ class CRM_Report_Form_Contact_Relationship extends CRM_Report_Form {
 
     // Include Email Field.
     if ($this->_emailField_a) {
-      $this->_from .= "
-             LEFT JOIN civicrm_email {$this->_aliases['civicrm_email']}
-                       ON ( {$this->_aliases['civicrm_contact']}.id =
-                            {$this->_aliases['civicrm_email']}.contact_id AND
-                            {$this->_aliases['civicrm_email']}.is_primary = 1 )";
+      $this->joinEmailFromContact();
     }
     if ($this->_emailField_b) {
       $this->_from .= "
@@ -429,11 +425,7 @@ class CRM_Report_Form_Contact_Relationship extends CRM_Report_Form {
     }
     // Include Phone Field.
     if ($this->_phoneField_a) {
-      $this->_from .= "
-             LEFT JOIN civicrm_phone {$this->_aliases['civicrm_phone']}
-                       ON ( {$this->_aliases['civicrm_contact']}.id =
-                            {$this->_aliases['civicrm_phone']}.contact_id AND
-                            {$this->_aliases['civicrm_phone']}.is_primary = 1 )";
+      $this->joinPhoneFromContact();
     }
     if ($this->_phoneField_b) {
       $this->_from .= "
@@ -561,7 +553,7 @@ class CRM_Report_Form_Contact_Relationship extends CRM_Report_Form {
   }
 
   /**
-   * @param $rows
+   * @param array $rows
    *
    * @return array
    */
diff --git a/civicrm/CRM/Report/Form/Contact/Summary.php b/civicrm/CRM/Report/Form/Contact/Summary.php
index 2adf144166..0d330b3ae7 100644
--- a/civicrm/CRM/Report/Form/Contact/Summary.php
+++ b/civicrm/CRM/Report/Form/Contact/Summary.php
@@ -128,7 +128,7 @@ class CRM_Report_Form_Contact_Summary extends CRM_Report_Form {
   /**
    * @param $fields
    * @param $files
-   * @param $self
+   * @param self $self
    *
    * @return array
    */
diff --git a/civicrm/CRM/Report/Form/Contribute/Bookkeeping.php b/civicrm/CRM/Report/Form/Contribute/Bookkeeping.php
index b96c804409..31869ac265 100644
--- a/civicrm/CRM/Report/Form/Contribute/Bookkeeping.php
+++ b/civicrm/CRM/Report/Form/Contribute/Bookkeeping.php
@@ -480,7 +480,7 @@ class CRM_Report_Form_Contribute_Bookkeeping extends CRM_Report_Form {
   }
 
   /**
-   * @param $rows
+   * @param array $rows
    *
    * @return array
    */
diff --git a/civicrm/CRM/Report/Form/Contribute/Detail.php b/civicrm/CRM/Report/Form/Contribute/Detail.php
index 219f4f3d82..70965b4bd5 100644
--- a/civicrm/CRM/Report/Form/Contribute/Detail.php
+++ b/civicrm/CRM/Report/Form/Contribute/Detail.php
@@ -408,7 +408,7 @@ class CRM_Report_Form_Contribute_Detail extends CRM_Report_Form {
   }
 
   /**
-   * @param $rows
+   * @param array $rows
    *
    * @return array
    * @throws \CRM_Core_Exception
diff --git a/civicrm/CRM/Report/Form/Contribute/History.php b/civicrm/CRM/Report/Form/Contribute/History.php
index ba2dd4212c..b97f1adb5c 100644
--- a/civicrm/CRM/Report/Form/Contribute/History.php
+++ b/civicrm/CRM/Report/Form/Contribute/History.php
@@ -164,6 +164,14 @@ class CRM_Report_Form_Contribute_History extends CRM_Report_Form {
             'no_repeat' => TRUE,
           ],
         ],
+        'filters' => [
+          'on_hold' => [
+            'title' => ts('On Hold'),
+            'type' => CRM_Utils_Type::T_INT,
+            'operatorType' => CRM_Report_Form::OP_MULTISELECT,
+            'options' => ['' => ts('Any')] + CRM_Core_PseudoConstant::emailOnHoldOptions(),
+          ],
+        ],
         'grouping' => 'contact-fields',
       ],
       'civicrm_phone' => [
@@ -497,7 +505,7 @@ class CRM_Report_Form_Contribute_History extends CRM_Report_Form {
   }
 
   /**
-   * @param $rows
+   * @param array $rows
    *
    * @return array
    */
@@ -527,7 +535,7 @@ class CRM_Report_Form_Contribute_History extends CRM_Report_Form {
   /**
    * @param $fields
    * @param $files
-   * @param $self
+   * @param self $self
    *
    * @return array
    */
diff --git a/civicrm/CRM/Report/Form/Contribute/HouseholdSummary.php b/civicrm/CRM/Report/Form/Contribute/HouseholdSummary.php
index 13e028a1a9..64537a2c64 100644
--- a/civicrm/CRM/Report/Form/Contribute/HouseholdSummary.php
+++ b/civicrm/CRM/Report/Form/Contribute/HouseholdSummary.php
@@ -183,6 +183,14 @@ class CRM_Report_Form_Contribute_HouseholdSummary extends CRM_Report_Form {
         'fields' => [
           'email' => NULL,
         ],
+        'filters' => [
+          'on_hold' => [
+            'title' => ts('On Hold'),
+            'type' => CRM_Utils_Type::T_INT,
+            'operatorType' => CRM_Report_Form::OP_MULTISELECT,
+            'options' => ['' => ts('Any')] + CRM_Core_PseudoConstant::emailOnHoldOptions(),
+          ],
+        ],
         'grouping' => 'contact-fields',
       ],
     ];
@@ -307,7 +315,7 @@ class CRM_Report_Form_Contribute_HouseholdSummary extends CRM_Report_Form {
   }
 
   /**
-   * @param $rows
+   * @param array $rows
    *
    * @return array
    */
diff --git a/civicrm/CRM/Report/Form/Contribute/Lybunt.php b/civicrm/CRM/Report/Form/Contribute/Lybunt.php
index 782ade73c4..5ab5423e2e 100644
--- a/civicrm/CRM/Report/Form/Contribute/Lybunt.php
+++ b/civicrm/CRM/Report/Form/Contribute/Lybunt.php
@@ -147,8 +147,9 @@ class CRM_Report_Form_Contribute_Lybunt extends CRM_Report_Form {
         'filters' => [
           'on_hold' => [
             'title' => ts('On Hold'),
-            'type' => CRM_Utils_Type::T_BOOLEAN,
-            'options' => ['' => ts('Any')] + CRM_Core_SelectValues::boolean(),
+            'type' => CRM_Utils_Type::T_INT,
+            'operatorType' => CRM_Report_Form::OP_MULTISELECT,
+            'options' => ['' => ts('Any')] + CRM_Core_PseudoConstant::emailOnHoldOptions(),
           ],
         ],
       ],
@@ -483,7 +484,7 @@ class CRM_Report_Form_Contribute_Lybunt extends CRM_Report_Form {
   }
 
   /**
-   * @param $rows
+   * @param array $rows
    *
    * @return array
    */
diff --git a/civicrm/CRM/Report/Form/Contribute/OrganizationSummary.php b/civicrm/CRM/Report/Form/Contribute/OrganizationSummary.php
index 1da83c809a..6f030d62f0 100644
--- a/civicrm/CRM/Report/Form/Contribute/OrganizationSummary.php
+++ b/civicrm/CRM/Report/Form/Contribute/OrganizationSummary.php
@@ -168,6 +168,14 @@ class CRM_Report_Form_Contribute_OrganizationSummary extends CRM_Report_Form {
       'civicrm_email' => [
         'dao' => 'CRM_Core_DAO_Email',
         'fields' => ['email' => NULL],
+        'filters' => [
+          'on_hold' => [
+            'title' => ts('On Hold'),
+            'type' => CRM_Utils_Type::T_INT,
+            'operatorType' => CRM_Report_Form::OP_MULTISELECT,
+            'options' => ['' => ts('Any')] + CRM_Core_PseudoConstant::emailOnHoldOptions(),
+          ],
+        ],
         'grouping' => 'contact-fields',
       ],
       'civicrm_financial_trxn' => [
@@ -315,7 +323,7 @@ class CRM_Report_Form_Contribute_OrganizationSummary extends CRM_Report_Form {
   }
 
   /**
-   * @param $rows
+   * @param array $rows
    *
    * @return array
    */
diff --git a/civicrm/CRM/Report/Form/Contribute/PCP.php b/civicrm/CRM/Report/Form/Contribute/PCP.php
index d2ec81d21c..37edb4eedc 100644
--- a/civicrm/CRM/Report/Form/Contribute/PCP.php
+++ b/civicrm/CRM/Report/Form/Contribute/PCP.php
@@ -296,7 +296,7 @@ LEFT JOIN civicrm_event {$this->_aliases['civicrm_event']}
   }
 
   /**
-   * @param $rows
+   * @param array $rows
    *
    * @return array
    */
diff --git a/civicrm/CRM/Report/Form/Contribute/Repeat.php b/civicrm/CRM/Report/Form/Contribute/Repeat.php
index 3f3bc2d6d9..54656a0528 100644
--- a/civicrm/CRM/Report/Form/Contribute/Repeat.php
+++ b/civicrm/CRM/Report/Form/Contribute/Repeat.php
@@ -144,6 +144,14 @@ class CRM_Report_Form_Contribute_Repeat extends CRM_Report_Form {
             'no_repeat' => TRUE,
           ),
         ),
+        'filters' => [
+          'on_hold' => [
+            'title' => ts('On Hold'),
+            'type' => CRM_Utils_Type::T_INT,
+            'operatorType' => CRM_Report_Form::OP_MULTISELECT,
+            'options' => ['' => ts('Any')] + CRM_Core_PseudoConstant::emailOnHoldOptions(),
+          ],
+        ],
         'grouping' => 'contact-fields',
       ),
       'civicrm_phone' => array(
@@ -602,7 +610,7 @@ LEFT JOIN $this->tempTableRepeat2 {$this->_aliases['civicrm_contribution']}2
 
     foreach ($checkDate as $date_range => $range_data) {
       foreach ($range_data as $key => $value) {
-        if (CRM_Utils_Date::isDate($value)) {
+        if (!CRM_Utils_System::isNull($value)) {
           $errorCount[$date_range][$key]['valid'] = 'true';
           $errorCount[$date_range][$key]['is_empty'] = 'false';
         }
@@ -664,7 +672,7 @@ LEFT JOIN $this->tempTableRepeat2 {$this->_aliases['civicrm_contribution']}2
   }
 
   /**
-   * @param $rows
+   * @param array $rows
    *
    * @return array
    */
diff --git a/civicrm/CRM/Report/Form/Contribute/SoftCredit.php b/civicrm/CRM/Report/Form/Contribute/SoftCredit.php
index 15db3e5c93..3def8e3188 100644
--- a/civicrm/CRM/Report/Form/Contribute/SoftCredit.php
+++ b/civicrm/CRM/Report/Form/Contribute/SoftCredit.php
@@ -468,7 +468,7 @@ GROUP BY {$this->_aliases['civicrm_contribution_soft']}.contact_id, constituentn
   }
 
   /**
-   * @param $rows
+   * @param array $rows
    *
    * @return array
    */
diff --git a/civicrm/CRM/Report/Form/Contribute/Sybunt.php b/civicrm/CRM/Report/Form/Contribute/Sybunt.php
index 7b77b6827e..6c83f63113 100644
--- a/civicrm/CRM/Report/Form/Contribute/Sybunt.php
+++ b/civicrm/CRM/Report/Form/Contribute/Sybunt.php
@@ -154,6 +154,14 @@ class CRM_Report_Form_Contribute_Sybunt extends CRM_Report_Form {
             'default' => TRUE,
           ],
         ],
+        'filters' => [
+          'on_hold' => [
+            'title' => ts('On Hold'),
+            'type' => CRM_Utils_Type::T_INT,
+            'operatorType' => CRM_Report_Form::OP_MULTISELECT,
+            'options' => ['' => ts('Any')] + CRM_Core_PseudoConstant::emailOnHoldOptions(),
+          ],
+        ],
       ],
       'civicrm_phone' => [
         'dao' => 'CRM_Core_DAO_Phone',
@@ -392,7 +400,7 @@ class CRM_Report_Form_Contribute_Sybunt extends CRM_Report_Form {
   }
 
   /**
-   * @param $rows
+   * @param array $rows
    *
    * @return array
    */
diff --git a/civicrm/CRM/Report/Form/Contribute/TopDonor.php b/civicrm/CRM/Report/Form/Contribute/TopDonor.php
index 4f11326c08..fa40ee3d8b 100644
--- a/civicrm/CRM/Report/Form/Contribute/TopDonor.php
+++ b/civicrm/CRM/Report/Form/Contribute/TopDonor.php
@@ -167,6 +167,14 @@ class CRM_Report_Form_Contribute_TopDonor extends CRM_Report_Form {
             'no_repeat' => TRUE,
           ],
         ],
+        'filters' => [
+          'on_hold' => [
+            'title' => ts('On Hold'),
+            'type' => CRM_Utils_Type::T_INT,
+            'operatorType' => CRM_Report_Form::OP_MULTISELECT,
+            'options' => ['' => ts('Any')] + CRM_Core_PseudoConstant::emailOnHoldOptions(),
+          ],
+        ],
         'grouping' => 'email-fields',
       ],
       'civicrm_phone' => [
@@ -198,7 +206,7 @@ class CRM_Report_Form_Contribute_TopDonor extends CRM_Report_Form {
   /**
    * @param $fields
    * @param $files
-   * @param $self
+   * @param self $self
    *
    * @return array
    */
diff --git a/civicrm/CRM/Report/Form/Event/Income.php b/civicrm/CRM/Report/Form/Event/Income.php
index d25a840054..24c6cead37 100644
--- a/civicrm/CRM/Report/Form/Event/Income.php
+++ b/civicrm/CRM/Report/Form/Event/Income.php
@@ -206,7 +206,7 @@ class CRM_Report_Form_Event_Income extends CRM_Report_Form {
   }
 
   /**
-   * @param $eventIDs
+   * @param array $eventIDs
    *
    * @return array
    */
@@ -298,6 +298,7 @@ class CRM_Report_Form_Event_Income extends CRM_Report_Form {
       $numRows = $this->_limit;
 
       if (CRM_Utils_Array::value('id_op', $this->_params, 'in') == 'in' || $noSelection) {
+        $rowCount = $this->getRowCount();
         while ($count < $rowCount) {
           if (!isset($this->_params['id_value'][$numRows])) {
             break;
diff --git a/civicrm/CRM/Report/Form/Event/IncomeCountSummary.php b/civicrm/CRM/Report/Form/Event/IncomeCountSummary.php
index c5b7bb2705..68e78f3428 100644
--- a/civicrm/CRM/Report/Form/Event/IncomeCountSummary.php
+++ b/civicrm/CRM/Report/Form/Event/IncomeCountSummary.php
@@ -247,7 +247,7 @@ class CRM_Report_Form_Event_IncomeCountSummary extends CRM_Report_Form {
   }
 
   /**
-   * @param $rows
+   * @param array $rows
    *
    * @return array
    */
diff --git a/civicrm/CRM/Report/Form/Event/ParticipantListCount.php b/civicrm/CRM/Report/Form/Event/ParticipantListCount.php
index 6e98f4be8b..4e3bdc277e 100644
--- a/civicrm/CRM/Report/Form/Event/ParticipantListCount.php
+++ b/civicrm/CRM/Report/Form/Event/ParticipantListCount.php
@@ -335,8 +335,7 @@ class CRM_Report_Form_Event_ParticipantListCount extends CRM_Report_Form {
   }
 
   /**
-   * Add The statistics.
-   * @param $rows
+   * @param array $rows
    *
    * @return array
    */
@@ -426,7 +425,7 @@ class CRM_Report_Form_Event_ParticipantListCount extends CRM_Report_Form {
   /**
    * @param $fields
    * @param $files
-   * @param $self
+   * @param self $self
    *
    * @return array
    */
diff --git a/civicrm/CRM/Report/Form/Event/ParticipantListing.php b/civicrm/CRM/Report/Form/Event/ParticipantListing.php
index c302223728..8404338b26 100644
--- a/civicrm/CRM/Report/Form/Event/ParticipantListing.php
+++ b/civicrm/CRM/Report/Form/Event/ParticipantListing.php
@@ -476,7 +476,7 @@ ORDER BY  cv.label
   /**
    * @param $fields
    * @param $files
-   * @param $self
+   * @param self $self
    *
    * @return array
    */
diff --git a/civicrm/CRM/Report/Form/Mailing/Bounce.php b/civicrm/CRM/Report/Form/Mailing/Bounce.php
index 27027d3586..45f23d00ca 100644
--- a/civicrm/CRM/Report/Form/Mailing/Bounce.php
+++ b/civicrm/CRM/Report/Form/Mailing/Bounce.php
@@ -291,7 +291,7 @@ class CRM_Report_Form_Mailing_Bounce extends CRM_Report_Form {
   /**
    * @param $fields
    * @param $files
-   * @param $self
+   * @param self $self
    *
    * @return array
    */
diff --git a/civicrm/CRM/Report/Form/Mailing/Clicks.php b/civicrm/CRM/Report/Form/Mailing/Clicks.php
index d56739014c..d4cd2cec11 100644
--- a/civicrm/CRM/Report/Form/Mailing/Clicks.php
+++ b/civicrm/CRM/Report/Form/Mailing/Clicks.php
@@ -247,7 +247,7 @@ class CRM_Report_Form_Mailing_Clicks extends CRM_Report_Form {
   /**
    * @param $fields
    * @param $files
-   * @param $self
+   * @param self $self
    *
    * @return array
    */
diff --git a/civicrm/CRM/Report/Form/Mailing/Opened.php b/civicrm/CRM/Report/Form/Mailing/Opened.php
index c7a68f2cb4..4f5b76d655 100644
--- a/civicrm/CRM/Report/Form/Mailing/Opened.php
+++ b/civicrm/CRM/Report/Form/Mailing/Opened.php
@@ -238,7 +238,7 @@ class CRM_Report_Form_Mailing_Opened extends CRM_Report_Form {
   /**
    * @param $fields
    * @param $files
-   * @param $self
+   * @param self $self
    *
    * @return array
    */
diff --git a/civicrm/CRM/Report/Form/Mailing/Summary.php b/civicrm/CRM/Report/Form/Mailing/Summary.php
index 4b3f5a2b8e..1521f737c7 100644
--- a/civicrm/CRM/Report/Form/Mailing/Summary.php
+++ b/civicrm/CRM/Report/Form/Mailing/Summary.php
@@ -515,7 +515,7 @@ class CRM_Report_Form_Mailing_Summary extends CRM_Report_Form {
   /**
    * @param $fields
    * @param $files
-   * @param $self
+   * @param self $self
    *
    * @return array
    */
diff --git a/civicrm/CRM/Report/Form/Member/ContributionDetail.php b/civicrm/CRM/Report/Form/Member/ContributionDetail.php
index b032020a9f..985b55ca5c 100644
--- a/civicrm/CRM/Report/Form/Member/ContributionDetail.php
+++ b/civicrm/CRM/Report/Form/Member/ContributionDetail.php
@@ -576,7 +576,7 @@ class CRM_Report_Form_Member_ContributionDetail extends CRM_Report_Form {
   }
 
   /**
-   * @param $rows
+   * @param array $rows
    *
    * @return array
    */
diff --git a/civicrm/CRM/Report/Form/Member/Lapse.php b/civicrm/CRM/Report/Form/Member/Lapse.php
index dad64c28fb..236c4cd309 100644
--- a/civicrm/CRM/Report/Form/Member/Lapse.php
+++ b/civicrm/CRM/Report/Form/Member/Lapse.php
@@ -181,7 +181,7 @@ class CRM_Report_Form_Member_Lapse extends CRM_Report_Form {
   /**
    * @param $fields
    * @param $files
-   * @param $self
+   * @param self $self
    *
    * @return array
    */
diff --git a/civicrm/CRM/Report/Form/Member/Summary.php b/civicrm/CRM/Report/Form/Member/Summary.php
index 38ca5d7f8b..2bacccf5a8 100644
--- a/civicrm/CRM/Report/Form/Member/Summary.php
+++ b/civicrm/CRM/Report/Form/Member/Summary.php
@@ -363,7 +363,7 @@ class CRM_Report_Form_Member_Summary extends CRM_Report_Form {
   }
 
   /**
-   * @param $rows
+   * @param array $rows
    *
    * @return array
    */
diff --git a/civicrm/CRM/Report/Form/Pledge/Detail.php b/civicrm/CRM/Report/Form/Pledge/Detail.php
index 75de4ab4e7..599d65b4bc 100644
--- a/civicrm/CRM/Report/Form/Pledge/Detail.php
+++ b/civicrm/CRM/Report/Form/Pledge/Detail.php
@@ -255,7 +255,7 @@ class CRM_Report_Form_Pledge_Detail extends CRM_Report_Form {
   }
 
   /**
-   * @param $rows
+   * @param array $rows
    *
    * @return array
    */
diff --git a/civicrm/CRM/Report/Form/Pledge/Summary.php b/civicrm/CRM/Report/Form/Pledge/Summary.php
index d3f853e806..c49e7b5a7f 100644
--- a/civicrm/CRM/Report/Form/Pledge/Summary.php
+++ b/civicrm/CRM/Report/Form/Pledge/Summary.php
@@ -261,7 +261,7 @@ class CRM_Report_Form_Pledge_Summary extends CRM_Report_Form {
   }
 
   /**
-   * @param $rows
+   * @param array $rows
    *
    * @return array
    */
diff --git a/civicrm/CRM/Report/Form/Register.php b/civicrm/CRM/Report/Form/Register.php
index f1ccbfc59d..c4a8f65945 100644
--- a/civicrm/CRM/Report/Form/Register.php
+++ b/civicrm/CRM/Report/Form/Register.php
@@ -116,7 +116,7 @@ class CRM_Report_Form_Register extends CRM_Core_Form {
   /**
    * @param $fields
    * @param $files
-   * @param $self
+   * @param self $self
    *
    * @return array
    */
diff --git a/civicrm/CRM/Report/Page/InstanceList.php b/civicrm/CRM/Report/Page/InstanceList.php
index 96c31a4799..a327304d37 100644
--- a/civicrm/CRM/Report/Page/InstanceList.php
+++ b/civicrm/CRM/Report/Page/InstanceList.php
@@ -134,7 +134,6 @@ class CRM_Report_Page_InstanceList extends CRM_Core_Page {
 
     $dao = CRM_Core_DAO::executeQuery($sql, $queryParams);
 
-    $config = CRM_Core_Config::singleton();
     $rows = [];
     $url = 'civicrm/report/instance';
     $my_reports_grouping = 'My';
@@ -143,7 +142,7 @@ class CRM_Report_Page_InstanceList extends CRM_Core_Page {
         continue;
       }
 
-      $enabled = in_array("Civi{$dao->compName}", $config->enableComponents);
+      $enabled = CRM_Core_Component::isEnabled("Civi{$dao->compName}");
       if ($dao->compName == 'Contact' || $dao->compName == $dao->grouping) {
         $enabled = TRUE;
       }
diff --git a/civicrm/CRM/Report/Page/Options.php b/civicrm/CRM/Report/Page/Options.php
index 894ba22e3a..f0d88838dd 100644
--- a/civicrm/CRM/Report/Page/Options.php
+++ b/civicrm/CRM/Report/Page/Options.php
@@ -32,21 +32,21 @@ class CRM_Report_Page_Options extends CRM_Core_Page_Basic {
   /**
    * The option group name.
    *
-   * @var array
+   * @var string|null
    */
   public static $_gName = NULL;
 
   /**
    * The option group name in display format (capitalized, without underscores...etc)
    *
-   * @var array
+   * @var string|null
    */
-  public static $_GName = NULL;
+  public static $_gLabel = NULL;
 
   /**
    * The option group id.
    *
-   * @var array
+   * @var int|null
    */
   public static $_gId = NULL;
 
@@ -58,17 +58,11 @@ class CRM_Report_Page_Options extends CRM_Core_Page_Basic {
     $this->_id = CRM_Utils_Request::retrieve('id', 'String', $this, FALSE);
 
     self::$_gName = "report_template";
+    self::$_gLabel = ts("Report Template");
+    self::$_gId = CRM_Core_DAO::getFieldValue('CRM_Core_DAO_OptionGroup', self::$_gName, 'id', 'name');
 
-    if (self::$_gName) {
-      self::$_gId = CRM_Core_DAO::getFieldValue('CRM_Core_DAO_OptionGroup', self::$_gName, 'id', 'name');
-    }
-    else {
-      CRM_Core_Error::statusBounce(ts('Unable to determine the Option Group'));
-    }
-
-    self::$_GName = ucwords(str_replace('_', ' ', self::$_gName));
-
-    $this->assign('GName', self::$_GName);
+    $this->assign('gName', self::$_gName);
+    $this->assign('gLabel', self::$_gLabel);
     $newReportURL = CRM_Utils_System::url("civicrm/admin/report/register",
       'reset=1'
     );
@@ -99,23 +93,23 @@ class CRM_Report_Page_Options extends CRM_Core_Page_Basic {
           'name' => ts('Edit'),
           'url' => 'civicrm/admin/report/register/' . self::$_gName,
           'qs' => 'action=update&id=%%id%%&reset=1',
-          'title' => ts('Edit %1', [1 => self::$_gName]),
+          'title' => ts('Edit %1', [1 => self::$_gLabel]),
         ],
         CRM_Core_Action::DISABLE => [
           'name' => ts('Disable'),
           'ref' => 'crm-enable-disable',
-          'title' => ts('Disable %1', [1 => self::$_gName]),
+          'title' => ts('Disable %1', [1 => self::$_gLabel]),
         ],
         CRM_Core_Action::ENABLE => [
           'name' => ts('Enable'),
           'ref' => 'crm-enable-disable',
-          'title' => ts('Enable %1', [1 => self::$_gName]),
+          'title' => ts('Enable %1', [1 => self::$_gLabel]),
         ],
         CRM_Core_Action::DELETE => [
           'name' => ts('Delete'),
           'url' => 'civicrm/admin/report/register/' . self::$_gName,
           'qs' => 'action=delete&id=%%id%%&reset=1',
-          'title' => ts('Delete %1 Type', [1 => self::$_gName]),
+          'title' => ts('Delete %1 Type', [1 => self::$_gLabel]),
         ],
       ];
     }
@@ -168,7 +162,7 @@ class CRM_Report_Page_Options extends CRM_Core_Page_Basic {
    *   name of this page.
    */
   public function editName() {
-    return self::$_GName;
+    return self::$_gLabel;
   }
 
   /**
diff --git a/civicrm/CRM/Report/Page/TemplateList.php b/civicrm/CRM/Report/Page/TemplateList.php
index 289b817598..2b69ada6f5 100644
--- a/civicrm/CRM/Report/Page/TemplateList.php
+++ b/civicrm/CRM/Report/Page/TemplateList.php
@@ -22,7 +22,7 @@ class CRM_Report_Page_TemplateList extends CRM_Core_Page {
 
   /**
    * @param int $compID
-   * @param null $grouping
+   * @param string|null $grouping
    *
    * @return array
    */
@@ -68,10 +68,9 @@ LEFT  JOIN civicrm_component comp
 
     $dao = CRM_Core_DAO::executeQuery($sql);
     $rows = [];
-    $config = CRM_Core_Config::singleton();
     while ($dao->fetch()) {
       if ($dao->component_name != 'Contact' && $dao->component_name != $dao->grouping &&
-        !in_array("Civi{$dao->component_name}", $config->enableComponents)
+        !CRM_Core_Component::isEnabled("Civi{$dao->component_name}")
       ) {
         continue;
       }
diff --git a/civicrm/CRM/SMS/BAO/Provider.php b/civicrm/CRM/SMS/BAO/Provider.php
index b2c2e45e22..0c205bc0c3 100644
--- a/civicrm/CRM/SMS/BAO/Provider.php
+++ b/civicrm/CRM/SMS/BAO/Provider.php
@@ -16,13 +16,6 @@
  */
 class CRM_SMS_BAO_Provider extends CRM_SMS_DAO_Provider {
 
-  /**
-   * Class constructor.
-   */
-  public function __construct() {
-    parent::__construct();
-  }
-
   /**
    * @return null|string
    */
@@ -141,8 +134,8 @@ class CRM_SMS_BAO_Provider extends CRM_SMS_DAO_Provider {
 
   /**
    * @param int $providerID
-   * @param null $returnParam
-   * @param null $returnDefaultString
+   * @param string|null $returnParam
+   * @param string|null $returnDefaultString
    *
    * @return mixed
    */
diff --git a/civicrm/CRM/SMS/DAO/Provider.php b/civicrm/CRM/SMS/DAO/Provider.php
index 37ed7ffcc5..290bcf0955 100644
--- a/civicrm/CRM/SMS/DAO/Provider.php
+++ b/civicrm/CRM/SMS/DAO/Provider.php
@@ -6,7 +6,7 @@
  *
  * Generated from xml/schema/CRM/SMS/Provider.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:0411ce23fd693f810e4b17271b84e567)
+ * (GenCodeChecksum:0fc3229e1bb7ff0e9203e6c5c7ba3d6a)
  */
 
 /**
@@ -33,67 +33,89 @@ class CRM_SMS_DAO_Provider extends CRM_Core_DAO {
   /**
    * SMS Provider ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * Provider internal name points to option_value of option_group sms_provider_name
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $name;
 
   /**
    * Provider name visible to user
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(64))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $title;
 
   /**
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $username;
 
   /**
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $password;
 
   /**
    * points to value in civicrm_option_value for group sms_api_type
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $api_type;
 
   /**
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(128))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $api_url;
 
   /**
    * the api params in xml, http or smtp format
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $api_params;
 
   /**
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_default;
 
   /**
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_active;
 
   /**
    * Which Domain is this sms provider for
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $domain_id;
 
diff --git a/civicrm/CRM/SMS/Form/Schedule.php b/civicrm/CRM/SMS/Form/Schedule.php
index 04d68bda9f..00afbb84e8 100644
--- a/civicrm/CRM/SMS/Form/Schedule.php
+++ b/civicrm/CRM/SMS/Form/Schedule.php
@@ -100,7 +100,7 @@ class CRM_SMS_Form_Schedule extends CRM_Core_Form {
    *   The form values.
    *
    * @param $files
-   * @param $self
+   * @param self $self
    *
    * @return bool
    *   True if either we deliver immediately, or the date is properly
diff --git a/civicrm/CRM/SMS/Form/Upload.php b/civicrm/CRM/SMS/Form/Upload.php
index 64078f123c..e33c9244a7 100644
--- a/civicrm/CRM/SMS/Form/Upload.php
+++ b/civicrm/CRM/SMS/Form/Upload.php
@@ -245,7 +245,7 @@ class CRM_SMS_Form_Upload extends CRM_Core_Form {
    *   (ref.) an assoc array of name/value pairs.
    *
    * @param $files
-   * @param $self
+   * @param self $self
    *
    * @return bool|array
    *   mixed true or array of errors
diff --git a/civicrm/CRM/SMS/Provider.php b/civicrm/CRM/SMS/Provider.php
index 896302ea13..c1f740b5b2 100644
--- a/civicrm/CRM/SMS/Provider.php
+++ b/civicrm/CRM/SMS/Provider.php
@@ -88,7 +88,7 @@ abstract class CRM_SMS_Provider {
    *
    * Child class could override this function to have better control over the message being sent.
    *
-   * @param string $message
+   * @param Mail_mime $message
    * @param int $contactID
    * @param array $contactDetails
    *
diff --git a/civicrm/CRM/UF/Form/Field.php b/civicrm/CRM/UF/Form/Field.php
index b639b71b14..f6376d6780 100644
--- a/civicrm/CRM/UF/Form/Field.php
+++ b/civicrm/CRM/UF/Form/Field.php
@@ -464,17 +464,6 @@ class CRM_UF_Form_Field extends CRM_Core_Form {
 
     $this->addFormRule(['CRM_UF_Form_Field', 'formRule'], $this);
 
-    // if view mode pls freeze it with the done button.
-    if ($this->_action & CRM_Core_Action::VIEW) {
-      $this->freeze();
-      $this->addElement('xbutton', 'done', ts('Done'),
-        [
-          'type' => 'button',
-          'onclick' => "location.href='civicrm/admin/uf/group/field?reset=1&action=browse&gid=" . $this->_gid . "'",
-        ]
-      );
-    }
-
     $this->setDefaults($defaults);
   }
 
@@ -728,7 +717,7 @@ class CRM_UF_Form_Field extends CRM_Core_Form {
    *   Posted values of the form.
    *
    * @param $files
-   * @param $self
+   * @param self $self
    *
    * @return array
    *   list of errors to be posted back to the form
diff --git a/civicrm/CRM/UF/Form/Group.php b/civicrm/CRM/UF/Form/Group.php
index a270ae03ed..3b9b39132d 100644
--- a/civicrm/CRM/UF/Form/Group.php
+++ b/civicrm/CRM/UF/Form/Group.php
@@ -235,15 +235,6 @@ class CRM_UF_Form_Group extends CRM_Core_Form {
       ],
     ]);
 
-    // views are implemented as frozen form
-    if ($this->_action & CRM_Core_Action::VIEW) {
-      $this->freeze();
-      $this->addElement('xbutton', 'done', ts('Done'), [
-        'type' => 'button',
-        'onclick' => "location.href='civicrm/admin/uf/group?reset=1&action=browse'",
-      ]);
-    }
-
     $this->addFormRule(['CRM_UF_Form_Group', 'formRule'], $this);
   }
 
@@ -326,7 +317,7 @@ class CRM_UF_Form_Group extends CRM_Core_Form {
    *   The input form values.
    * @param array $files
    *   The uploaded files if any.
-   * @param array $self
+   * @param self $self
    *   Current form object.
    *
    * @return bool|array
diff --git a/civicrm/CRM/Upgrade/Controller.php b/civicrm/CRM/Upgrade/Controller.php
index d794287955..081d99e7b6 100644
--- a/civicrm/CRM/Upgrade/Controller.php
+++ b/civicrm/CRM/Upgrade/Controller.php
@@ -19,7 +19,7 @@ class CRM_Upgrade_Controller extends CRM_Core_Controller {
   /**
    * Class constructor.
    *
-   * @param null $title
+   * @param string $title
    * @param bool|int $action
    * @param bool $modal
    */
diff --git a/civicrm/CRM/Upgrade/Form.php b/civicrm/CRM/Upgrade/Form.php
index d69e9bd20b..bd8e609cc2 100644
--- a/civicrm/CRM/Upgrade/Form.php
+++ b/civicrm/CRM/Upgrade/Form.php
@@ -499,6 +499,14 @@ SET    version = '$version'
   /**
    * Fill the queue with upgrade tasks.
    *
+   * The queue is a priority-queue (sorted by tuple weight+id). Here are some common weights:
+   *
+   * - `weight=0`: Add a typical upgrade step for revising core schema.
+   * - `weight=-1`: In the middle of the upgrade, add an extra step for immediate execution.
+   * - `weight=1000`: Add some general core upgrade-logic that runs after all schema have change.d
+   * - `weight=2000`: Add some post-upgrade logic. If a task absolutely requires full system services
+   *    (eg enabling a new extension), then place it here.
+   *
    * @param string $currentVer
    *   the original revision.
    * @param string $latestVer
@@ -526,14 +534,14 @@ SET    version = '$version'
       [$postUpgradeMessageFile],
       "Cleanup old files"
     );
-    $queue->createItem($task);
+    $queue->createItem($task, ['weight' => 0]);
 
     $task = new CRM_Queue_Task(
       ['CRM_Upgrade_Form', 'disableOldExtensions'],
       [$postUpgradeMessageFile],
       "Checking extensions"
     );
-    $queue->createItem($task);
+    $queue->createItem($task, ['weight' => 0]);
 
     $revisions = $upgrade->getRevisionSequence();
     $maxRevision = empty($revisions) ? NULL : end($revisions);
@@ -552,7 +560,7 @@ SET    version = '$version'
           [$rev],
           "Begin Upgrade to $rev"
         );
-        $queue->createItem($beginTask);
+        $queue->createItem($beginTask, ['weight' => 0]);
 
         $task = new CRM_Queue_Task(
         // callback
@@ -561,7 +569,7 @@ SET    version = '$version'
           [$rev, $currentVer, $latestVer, $postUpgradeMessageFile],
           "Upgrade DB to $rev"
         );
-        $queue->createItem($task);
+        $queue->createItem($task, ['weight' => 0]);
 
         $task = new CRM_Queue_Task(
         // callback
@@ -570,7 +578,7 @@ SET    version = '$version'
           [$rev, $currentVer, $latestVer, $postUpgradeMessageFile],
           "Finish Upgrade DB to $rev"
         );
-        $queue->createItem($task);
+        $queue->createItem($task, ['weight' => 0]);
       }
     }
 
@@ -581,9 +589,16 @@ SET    version = '$version'
         [$rev, $latestVer, $latestVer, $postUpgradeMessageFile],
         "Finish Upgrade DB to $latestVer"
       );
-      $queue->createItem($task);
+      $queue->createItem($task, ['weight' => 0]);
     }
 
+    $task = new CRM_Queue_Task(
+      ['CRM_Upgrade_Form', 'doCoreFinish'],
+      [$rev, $latestVer, $latestVer, $postUpgradeMessageFile],
+      "Finish core DB updates $latestVer"
+    );
+    $queue->createItem($task, ['weight' => 1000]);
+
     return $queue;
   }
 
@@ -780,7 +795,13 @@ SET    version = '$version'
     return TRUE;
   }
 
-  public static function doFinish() {
+  /**
+   * Finalize the core upgrade.
+   *
+   * @return bool
+   * @throws \CRM_Core_Exception
+   */
+  public static function doCoreFinish(): bool {
     Civi::dispatcher()->setDispatchPolicy(\CRM_Upgrade_DispatchPolicy::get('upgrade.finish'));
     $restore = \CRM_Utils_AutoClean::with(function() {
       Civi::dispatcher()->setDispatchPolicy(\CRM_Upgrade_DispatchPolicy::get('upgrade.main'));
@@ -805,6 +826,21 @@ SET    version = '$version'
     $logging->fixSchemaDifferences();
     // Force a rebuild of CiviCRM asset cache in case things have changed.
     \Civi::service('asset_builder')->clear(FALSE);
+
+    return TRUE;
+  }
+
+  /**
+   * After finishing the queue, the upgrade-runner calls `doFinish()`.
+   *
+   * This is called by all upgrade-runners (inside or outside of `civicrm-core.git`).
+   * Removing it would be a breaky-annoying process; it would foreclose future use;
+   * and it would produce no tangible benefits.
+   *
+   * @return bool
+   */
+  public static function doFinish(): bool {
+    return TRUE;
   }
 
   /**
diff --git a/civicrm/CRM/Upgrade/Incremental/Base.php b/civicrm/CRM/Upgrade/Incremental/Base.php
index 49568dc51a..be5e72d90f 100644
--- a/civicrm/CRM/Upgrade/Incremental/Base.php
+++ b/civicrm/CRM/Upgrade/Incremental/Base.php
@@ -158,6 +158,48 @@ class CRM_Upgrade_Incremental_Base {
     $queue->createItem($task, ['weight' => -1]);
   }
 
+  /**
+   * Add a task to activate an extension. This task will run post-upgrade (after all
+   * changes to core DB are settled).
+   *
+   * @param string $title
+   * @param string[] $keys
+   *   List of extensions to enable.
+   */
+  protected function addExtensionTask(string $title, array $keys): void {
+    Civi::queue(CRM_Upgrade_Form::QUEUE_NAME)->createItem(
+      new CRM_Queue_Task([static::CLASS, 'enableExtension'], [$keys], $title),
+      ['weight' => 2000]
+    );
+  }
+
+  /**
+   * @param \CRM_Queue_TaskContext $ctx
+   * @param string[] $keys
+   *   List of extensions to enable.
+   * @return bool
+   */
+  public static function enableExtension(CRM_Queue_TaskContext $ctx, array $keys): bool {
+    // The `enableExtension` has a very high value of `weight`, so this runs after all
+    // core DB schema updates have been resolved. We can use high-level services.
+
+    Civi::dispatcher()->setDispatchPolicy(\CRM_Upgrade_DispatchPolicy::get('upgrade.finish'));
+    $restore = \CRM_Utils_AutoClean::with(function() {
+      Civi::dispatcher()->setDispatchPolicy(\CRM_Upgrade_DispatchPolicy::get('upgrade.main'));
+    });
+
+    $manager = CRM_Extension_System::singleton()->getManager();
+    $manager->enable($manager->findInstallRequirements($keys));
+
+    // Hrm, `enable()` normally does these things... but not during upgrade...
+    // Note: A good test-scenario is to install 5.45; enable logging and CiviGrant; disable searchkit+afform; then upgrade to 5.47.
+    $schema = new CRM_Logging_Schema();
+    $schema->fixSchemaDifferences();
+    CRM_Core_Invoke::rebuildMenuAndCaches(FALSE, TRUE);
+
+    return TRUE;
+  }
+
   /**
    * Remove a payment processor if not in use
    *
diff --git a/civicrm/CRM/Upgrade/Incremental/MessageTemplates.php b/civicrm/CRM/Upgrade/Incremental/MessageTemplates.php
index 8de89e46b9..54f37cee5a 100644
--- a/civicrm/CRM/Upgrade/Incremental/MessageTemplates.php
+++ b/civicrm/CRM/Upgrade/Incremental/MessageTemplates.php
@@ -314,6 +314,26 @@ class CRM_Upgrade_Incremental_MessageTemplates {
           ['name' => 'participant_confirm', 'type' => 'html'],
         ],
       ],
+      [
+        'version' => '5.47.alpha1',
+        'upgrade_descriptor' => ts('Add time zone to Event dates'),
+        'templates' => [
+          ['name' => 'event_online_receipt', 'type' => 'html'],
+          ['name' => 'event_online_receipt', 'type' => 'text'],
+          ['name' => 'event_offline_receipt', 'type' => 'html'],
+          ['name' => 'event_offline_receipt', 'type' => 'text'],
+          ['name' => 'participant_cancelled', 'type' => 'html'],
+          ['name' => 'participant_cancelled', 'type' => 'text'],
+          ['name' => 'participant_confirm', 'type' => 'html'],
+          ['name' => 'participant_confirm', 'type' => 'text'],
+          ['name' => 'participant_expired', 'type' => 'html'],
+          ['name' => 'participant_expired', 'type' => 'text'],
+          ['name' => 'participant_transferred', 'type' => 'html'],
+          ['name' => 'participant_transferred', 'type' => 'text'],
+          ['name' => 'payment_or_refund_notification', 'type' => 'html'],
+          ['name' => 'payment_or_refund_notification', 'type' => 'text'],
+        ],
+      ],
     ];
   }
 
diff --git a/civicrm/CRM/Upgrade/Incremental/php/FiveFortySeven.php b/civicrm/CRM/Upgrade/Incremental/php/FiveFortySeven.php
new file mode 100644
index 0000000000..4cc9616442
--- /dev/null
+++ b/civicrm/CRM/Upgrade/Incremental/php/FiveFortySeven.php
@@ -0,0 +1,361 @@
+<?php
+/*
+ +--------------------------------------------------------------------+
+ | Copyright CiviCRM LLC. All rights reserved.                        |
+ |                                                                    |
+ | This work is published under the GNU AGPLv3 license with some      |
+ | permitted exceptions and without any warranty. For full license    |
+ | and copyright information, see https://civicrm.org/licensing       |
+ +--------------------------------------------------------------------+
+ */
+
+/**
+ * Upgrade logic for the 5.47.x series.
+ *
+ * Each minor version in the series is handled by either a `5.47.x.mysql.tpl` file,
+ * or a function in this class named `upgrade_5_47_x`.
+ * If only a .tpl file exists for a version, it will be run automatically.
+ * If the function exists, it must explicitly add the 'runSql' task if there is a corresponding .mysql.tpl.
+ *
+ * This class may also implement `setPreUpgradeMessage()` and `setPostUpgradeMessage()` functions.
+ */
+class CRM_Upgrade_Incremental_php_FiveFortySeven extends CRM_Upgrade_Incremental_Base {
+
+  /**
+   * Compute any messages which should be displayed before upgrade.
+   *
+   * Note: This function is called iteratively for each incremental upgrade step.
+   * There must be a concrete step (eg 'X.Y.Z.mysql.tpl' or 'upgrade_X_Y_Z()').
+   *
+   * @param string $preUpgradeMessage
+   * @param string $rev
+   *   a version number, e.g. '4.4.alpha1', '4.4.beta3', '4.4.0'.
+   * @param null $currentVer
+   */
+  public function setPreUpgradeMessage(&$preUpgradeMessage, $rev, $currentVer = NULL): void {
+    if ($rev === '5.47.alpha1') {
+      $count = CRM_Core_DAO::singleValueQuery('SELECT count(*) FROM civicrm_contact WHERE preferred_mail_format != "Both"');
+      if ($count) {
+        $preUpgradeMessage .= '<p>' . ts('The contact field preferred mail format is being phased out. Modern email clients can handle receiving both formats so CiviCRM is moving towards always sending both and the field will be incrementally removed from the UI.')
+        . ' <a href="https://lab.civicrm.org/dev/core/-/issues/2866">' . ts('See the issue for more detail') . '</a></p>';
+      }
+      // Check for custom groups with duplicate names
+      $dupes = CRM_Core_DAO::singleValueQuery('SELECT COUNT(g1.id) FROM civicrm_custom_group g1, civicrm_custom_group g2 WHERE g1.name = g2.name AND g1.id > g2.id');
+      if ($dupes) {
+        $preUpgradeMessage .= '<p>' .
+          ts('Your system has custom field groups with duplicate internal names. To ensure data integrity, the internal names will be automatically changed; user-facing titles will not be affected. Please review any custom code you may be using which relies on custom field group names.') .
+          '</p>';
+      }
+    }
+  }
+
+  /**
+   * Upgrade step; adds tasks including 'runSql'.
+   *
+   * @param string $rev
+   *   The version number matching this function name
+   */
+  public function upgrade_5_47_alpha1($rev): void {
+    $this->addTask(ts('Upgrade DB to %1: SQL', [1 => $rev]), 'runSql', $rev);
+    $this->addTask('Migrate CiviGrant component to an extension', 'migrateCiviGrant');
+    if (CRM_Core_Component::isEnabled('CiviGrant')) {
+      $this->addExtensionTask('Enable CiviGrant extension', ['civigrant']);
+    }
+    $this->addTask('Add created_date to civicrm_relationship', 'addColumn', 'civicrm_relationship', 'created_date',
+      "timestamp NOT NULL  DEFAULT CURRENT_TIMESTAMP COMMENT 'Relationship created date'"
+    );
+    $this->addTask('Add modified_date column to civicrm_relationship', 'addColumn',
+      'civicrm_relationship', 'modified_date',
+      "timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT 'Relationship last modified.'"
+    );
+    $this->addTask('Set initial value for relationship created_date and modified_date to start_date', 'updateRelationshipDates');
+    $this->addTask('core-issue#2122 - Add timezone column to Events', 'addColumn',
+      'civicrm_event', 'event_tz', "text NULL DEFAULT NULL COMMENT 'Event\'s native time zone'"
+    );
+    $this->addTask('core-issue#2122 - Set the timezone to the default for existing Events', 'setEventTZDefault');
+    $this->addTask('Drop CustomGroup UI_name_extends index', 'dropIndex', 'civicrm_custom_group', 'UI_name_extends');
+    $this->addTask('Add CustomGroup UI_name index', 'addIndex', 'civicrm_custom_group', ['name'], 'UI');
+    if (CRM_Core_DAO::checkTableExists('civicrm_search_display')) {
+      $this->addTask('Add SearchDisplay.acl_bypass', 'addColumn',
+        'civicrm_search_display', 'acl_bypass',
+        "tinyint DEFAULT 0 COMMENT 'Skip permission checks and ACLs when running this display.'"
+      );
+    }
+  }
+
+  /**
+   * @param \CRM_Queue_TaskContext $ctx
+   *
+   * @return bool
+   */
+  public static function updateRelationshipDates(CRM_Queue_TaskContext $ctx): bool {
+    CRM_Core_DAO::executeQuery('
+      UPDATE civicrm_relationship SET created_date = start_date, modified_date = start_date
+      WHERE start_date IS NOT NULL AND start_date > "1970-01-01"
+    ');
+    return TRUE;
+  }
+
+  /**
+   * @param \CRM_Queue_TaskContext $ctx
+   *
+   * @return bool
+   * @throws \API_Exception
+   * @throws \CRM_Core_Exception
+   * @throws \Civi\API\Exception\NotImplementedException
+   */
+  public static function migrateCiviGrant(CRM_Queue_TaskContext $ctx): bool {
+    $civiGrantEnabled = CRM_Core_Component::isEnabled('CiviGrant');
+    if ($civiGrantEnabled) {
+      CRM_Core_BAO_ConfigSetting::disableComponent('CiviGrant');
+    }
+    $civiGrantId = CRM_Core_DAO::getFieldValue('CRM_Core_DAO_Component', 'CiviGrant', 'id', 'name');
+    if ($civiGrantId) {
+      foreach (['civicrm_menu', 'civicrm_option_value'] as $table) {
+        CRM_Core_DAO::executeQuery("UPDATE $table SET component_id = NULL WHERE component_id = $civiGrantId", [], TRUE, NULL, FALSE, FALSE);
+      }
+      CRM_Core_DAO::executeQuery("DELETE FROM civicrm_component WHERE name = 'CiviGrant'", [], TRUE, NULL, FALSE, FALSE);
+    }
+
+    // There are existing records which should be managed by `civigrant`. To assign ownership, we need
+    // placeholders in `civicrm_extension` and `civicrm_managed`.
+    $ext = new CRM_Core_DAO_Extension();
+    $ext->full_name = 'civigrant';
+    if (!$ext->find(TRUE)) {
+      $ext->type = 'module';
+      $ext->name = 'CiviGrant';
+      $ext->label = ts('CiviGrant');
+      $ext->file = 'civigrant';
+      $ext->is_active = 0; /* Not active _yet_. If site uses CiviGrant, we will re-activate once the core-schema has been revised. */
+      $ext->save();
+      CRM_Extension_System::singleton()->getManager()->refresh();
+
+      $managedItems = [
+        'OptionGroup_advanced_search_options_OptionValue_CiviGrant' => [
+          'entity' => 'OptionValue',
+          'values' => [
+            'option_group_id:name' => 'advanced_search_options',
+            'name' => 'CiviGrant',
+          ],
+        ],
+        'OptionGroup_contact_view_options_OptionValue_CiviGrant' => [
+          'entity' => 'OptionValue',
+          'values' => [
+            'option_group_id:name' => 'contact_view_options',
+            'name' => 'CiviGrant',
+          ],
+        ],
+        'OptionGroup_mapping_type_OptionValue_Export Grant' => [
+          'entity' => 'OptionValue',
+          'values' => [
+            'option_group_id:name' => 'mapping_type',
+            'name' => 'Export Grant',
+          ],
+        ],
+        'OptionGroup_grant_status' => [
+          'entity' => 'OptionGroup',
+          'values' => [
+            'name' => 'grant_status',
+          ],
+        ],
+        'OptionGroup_grant_status_OptionValue_Submitted' => [
+          'entity' => 'OptionValue',
+          'values' => [
+            'option_group_id:name' => 'grant_status',
+            'name' => 'Submitted',
+          ],
+        ],
+        'OptionGroup_grant_status_OptionValue_Eligible' => [
+          'entity' => 'OptionValue',
+          'values' => [
+            'option_group_id:name' => 'grant_status',
+            'name' => 'Eligible',
+          ],
+        ],
+        'OptionGroup_grant_status_OptionValue_Ineligible' => [
+          'entity' => 'OptionValue',
+          'values' => [
+            'option_group_id:name' => 'grant_status',
+            'name' => 'Ineligible',
+          ],
+        ],
+        'OptionGroup_grant_status_OptionValue_Paid' => [
+          'entity' => 'OptionValue',
+          'values' => [
+            'option_group_id:name' => 'grant_status',
+            'name' => 'Paid',
+          ],
+        ],
+        'OptionGroup_grant_status_OptionValue_Awaiting Information' => [
+          'entity' => 'OptionValue',
+          'values' => [
+            'option_group_id:name' => 'grant_status',
+            'name' => 'Awaiting Information',
+          ],
+        ],
+        'OptionGroup_grant_status_OptionValue_Withdrawn' => [
+          'entity' => 'OptionValue',
+          'values' => [
+            'option_group_id:name' => 'grant_status',
+            'name' => 'Withdrawn',
+          ],
+        ],
+        'OptionGroup_grant_status_OptionValue_Approved for Payment' => [
+          'entity' => 'OptionValue',
+          'values' => [
+            'option_group_id:name' => 'grant_status',
+            'name' => 'Approved for Payment',
+          ],
+        ],
+        'OptionGroup_grant_type' => [
+          'entity' => 'OptionGroup',
+          'values' => [
+            'name' => 'grant_type',
+          ],
+        ],
+        'OptionGroup_grant_type_OptionValue_Emergency' => [
+          'entity' => 'OptionValue',
+          'values' => [
+            'option_group_id:name' => 'grant_type',
+            'name' => 'Emergency',
+          ],
+        ],
+        'OptionGroup_grant_type_OptionValue_Family Support' => [
+          'entity' => 'OptionValue',
+          'values' => [
+            'option_group_id:name' => 'grant_type',
+            'name' => 'Family Support',
+          ],
+        ],
+        'OptionGroup_grant_type_OptionValue_General Protection' => [
+          'entity' => 'OptionValue',
+          'values' => [
+            'option_group_id:name' => 'grant_type',
+            'name' => 'General Protection',
+          ],
+        ],
+        'OptionGroup_grant_type_OptionValue_Impunity' => [
+          'entity' => 'OptionValue',
+          'values' => [
+            'option_group_id:name' => 'grant_type',
+            'name' => 'Impunity',
+          ],
+        ],
+        'OptionGroup_report_template_OptionValue_CRM_Report_Form_Grant_Detail' => [
+          'entity' => 'OptionValue',
+          'values' => [
+            'option_group_id:name' => 'report_template',
+            'name' => 'CRM_Report_Form_Grant_Detail',
+          ],
+        ],
+        'OptionGroup_report_template_OptionValue_CRM_Report_Form_Grant_Statistics' => [
+          'entity' => 'OptionValue',
+          'values' => [
+            'option_group_id:name' => 'report_template',
+            'name' => 'CRM_Report_Form_Grant_Statistics',
+          ],
+        ],
+        'Navigation_Grants' => [
+          'entity' => 'Navigation',
+          'values' => [
+            'name' => 'Grants',
+            'domain_id' => 'current_domain',
+          ],
+        ],
+        'Navigation_Grants_Navigation_Dashboard' => [
+          'entity' => 'Navigation',
+          'values' => [
+            'name' => 'Dashboard',
+            'url' => 'civicrm/grant?reset=1',
+            'domain_id' => 'current_domain',
+          ],
+        ],
+        'Navigation_Grants_Navigation_New_Grant' => [
+          'entity' => 'Navigation',
+          'values' => [
+            'name' => 'New Grant',
+            'url' => 'civicrm/grant/add?reset=1&action=add&context=standalone',
+            'domain_id' => 'current_domain',
+          ],
+        ],
+        'Navigation_Grants_Navigation_Find_Grants' => [
+          'entity' => 'Navigation',
+          'values' => [
+            'name' => 'Find Grants',
+            'url' => 'civicrm/grant/search?reset=1',
+            'domain_id' => 'current_domain',
+          ],
+        ],
+        'Navigation_CiviGrant' => [
+          'entity' => 'Navigation',
+          'values' => [
+            'name' => 'CiviGrant',
+            'domain_id' => 'current_domain',
+          ],
+        ],
+        'Navigation_CiviGrant_Navigation_Grant_Types' => [
+          'entity' => 'Navigation',
+          'values' => [
+            'name' => 'Grant Types',
+            'domain_id' => 'current_domain',
+          ],
+        ],
+        'Navigation_CiviGrant_Navigation_Grant_Status' => [
+          'entity' => 'Navigation',
+          'values' => [
+            'name' => 'Grant Status',
+            'domain_id' => 'current_domain',
+          ],
+        ],
+        'Navigation_Grants_Navigation_Grant_Reports' => [
+          'entity' => 'Navigation',
+          'values' => [
+            'name' => 'Grant Reports',
+            'domain_id' => 'current_domain',
+          ],
+        ],
+      ];
+      // Create an entry in civicrm_managed for each existing record that will be managed by the extension
+      foreach ($managedItems as $name => $item) {
+        $params = ['checkPermissions' => FALSE];
+        foreach ($item['values'] as $k => $v) {
+          $params['where'][] = [$k, '=', $v];
+        }
+        $record = civicrm_api4($item['entity'], 'get', $params)->first();
+        if ($record) {
+          $mgd = new CRM_Core_DAO_Managed();
+          $mgd->name = $name;
+          $mgd->module = 'civigrant';
+          $mgd->entity_type = $item['entity'];
+          if (!$mgd->find(TRUE)) {
+            $mgd->entity_id = $record['id'];
+            $mgd->cleanup = 'unused';
+            $mgd->save();
+          }
+          // Disable record if CiviGrant disabled
+          if (!$civiGrantEnabled && !empty($record['is_active'])) {
+            civicrm_api4($item['entity'], 'update', [
+              'checkPermissions' => FALSE,
+              'values' => ['id' => $record['id'], 'is_active' => FALSE],
+            ]);
+          }
+        }
+      }
+    }
+    return TRUE;
+  }
+
+  /**
+   * Set the timezone to the default for existing Events.
+   *
+   * @param \CRM_Queue_TaskContext $ctx
+   * @return bool
+   */
+  public static function setEventTZDefault(CRM_Queue_TaskContext $ctx) {
+    // Set default for CiviCRM Events to user system timezone (most reasonable default);
+    $defaultTZ = CRM_Core_Config::singleton()->userSystem->getTimeZoneString();
+    CRM_Core_DAO::executeQuery('UPDATE `civicrm_event` SET `event_tz` = %1 WHERE `event_tz` IS NULL;', [1 => [$defaultTZ, 'String']]);
+    return TRUE;
+  }
+
+}
diff --git a/civicrm/CRM/Upgrade/Incremental/php/FiveFortyThree.php b/civicrm/CRM/Upgrade/Incremental/php/FiveFortyThree.php
index 5262a52fc1..b1c0a42c76 100644
--- a/civicrm/CRM/Upgrade/Incremental/php/FiveFortyThree.php
+++ b/civicrm/CRM/Upgrade/Incremental/php/FiveFortyThree.php
@@ -26,7 +26,7 @@ class CRM_Upgrade_Incremental_php_FiveFortyThree extends CRM_Upgrade_Incremental
    * @param null $currentVer
    */
   public function setPreUpgradeMessage(&$preUpgradeMessage, $rev, $currentVer = NULL): void {
-    if ($rev === '5.43.alpha1' && !empty(CRM_Core_Component::getEnabledComponents()['CiviCase'])) {
+    if ($rev === '5.43.alpha1' && CRM_Core_Component::isEnabled('CiviCase')) {
       $preUpgradeMessage .= '<p>' . ts('Minor changes have been made to how the tokens to render case.is_deleted, case.created_date and case.modified_date. See https://docs.civicrm.org/sysadmin/en/latest/upgrade/version-specific/ for more') . '</p>';
     }
   }
diff --git a/civicrm/CRM/Upgrade/Incremental/php/FiveThirteen.php b/civicrm/CRM/Upgrade/Incremental/php/FiveThirteen.php
index c898677d06..74fc0321bf 100644
--- a/civicrm/CRM/Upgrade/Incremental/php/FiveThirteen.php
+++ b/civicrm/CRM/Upgrade/Incremental/php/FiveThirteen.php
@@ -23,9 +23,7 @@ class CRM_Upgrade_Incremental_php_FiveThirteen extends CRM_Upgrade_Incremental_B
    *   an intermediate version; note that setPostUpgradeMessage is called repeatedly with different $revs.
    */
   public function setPostUpgradeMessage(&$postUpgradeMessage, $rev) {
-    $config = CRM_Core_Config::singleton();
-    $campaignEnabled = in_array("CiviCampaign", $config->enableComponents);
-    if ($rev == '5.13.alpha1' && $campaignEnabled) {
+    if ($rev == '5.13.alpha1' && CRM_Core_Component::isEnabled('CiviCampaign')) {
       $postUpgradeMessage .= '<br /><br />' . ts("If you have created a report based on the Mailing Summary Report template and it outputs or filters on campaigns, You will need to go back to that report and re-save the report after selecting and or setting the campaign filters up again");
     }
   }
diff --git a/civicrm/CRM/Upgrade/Incremental/php/FiveTwenty.php b/civicrm/CRM/Upgrade/Incremental/php/FiveTwenty.php
index df77f052c8..1edbef463c 100644
--- a/civicrm/CRM/Upgrade/Incremental/php/FiveTwenty.php
+++ b/civicrm/CRM/Upgrade/Incremental/php/FiveTwenty.php
@@ -39,8 +39,7 @@ class CRM_Upgrade_Incremental_php_FiveTwenty extends CRM_Upgrade_Incremental_Bas
         ]);
       }
 
-      $config = CRM_Core_Config::singleton();
-      if (in_array('CiviCase', $config->enableComponents)) {
+      if (CRM_Core_Component::isEnabled('CiviCase')) {
         // Do dry-run to get warning messages.
         $messages = self::_changeCaseTypeLabelToName(TRUE);
         foreach ($messages as $message) {
@@ -62,8 +61,7 @@ class CRM_Upgrade_Incremental_php_FiveTwenty extends CRM_Upgrade_Incremental_Bas
       "tinyint(4) DEFAULT '0' COMMENT 'Shows this is a template for recurring contributions.'", FALSE, '5.20.alpha1');
     $this->addTask('Add order_reference field to civicrm_financial_trxn', 'addColumn', 'civicrm_financial_trxn', 'order_reference',
       "varchar(255) COMMENT 'Payment Processor external order reference'", FALSE, '5.20.alpha1');
-    $config = CRM_Core_Config::singleton();
-    if (in_array('CiviCase', $config->enableComponents)) {
+    if (CRM_Core_Component::isEnabled('CiviCase')) {
       $this->addTask('Change direction of autoassignees in case type xml', 'changeCaseTypeAutoassignee');
       $this->addTask('Change labels back to names in case type xml', 'changeCaseTypeLabelToName');
     }
@@ -118,8 +116,8 @@ class CRM_Upgrade_Incremental_php_FiveTwenty extends CRM_Upgrade_Incremental_Bas
   /**
    * Process a single case type
    *
-   * @param $caseTypeId int
-   * @param $definition string
+   * @param int $caseTypeId
+   * @param string $definition
    *   xml string
    */
   public static function processCaseTypeAutoassignee($caseTypeId, $definition) {
@@ -160,7 +158,7 @@ class CRM_Upgrade_Incremental_php_FiveTwenty extends CRM_Upgrade_Incremental_Bas
    * we're using this we don't care too much about the edge case where name
    * might not also be bidirectional.
    *
-   * @param $relationshipTypeId int
+   * @param int $relationshipTypeId
    *
    * @return bool
    */
@@ -190,7 +188,7 @@ class CRM_Upgrade_Incremental_php_FiveTwenty extends CRM_Upgrade_Incremental_Bas
    * ONLY for ones using database storage - don't want to "fork" case types
    * that aren't currently forked.
    *
-   * @param $isDryRun bool
+   * @param bool $isDryRun
    *   If TRUE then don't actually change anything just report warnings.
    *
    * @return array List of warning messages.
@@ -213,9 +211,9 @@ class CRM_Upgrade_Incremental_php_FiveTwenty extends CRM_Upgrade_Incremental_Bas
   /**
    * Process a single case type for _changeCaseTypeLabelToName()
    *
-   * @param $isDryRun bool
+   * @param bool $isDryRun
    *   If TRUE then don't actually change anything just report warnings.
-   * @param $caseTypeId int
+   * @param int $caseTypeId
    */
   private static function _processCaseTypeLabelName($isDryRun, $caseTypeId) {
     $messages = [];
@@ -326,9 +324,9 @@ class CRM_Upgrade_Incremental_php_FiveTwenty extends CRM_Upgrade_Incremental_Bas
    * If it's unidirectional, we can't convert it if there's an edge case
    * where there's another type that has the same label.
    *
-   * @param $relationshipType array
-   * @param $caseTypeName string
-   * @param $xmlRoleName string
+   * @param array $relationshipType
+   * @param string $caseTypeName
+   * @param string $xmlRoleName
    *
    * @return string|NULL
    */
diff --git a/civicrm/CRM/Upgrade/Incremental/php/Template.php b/civicrm/CRM/Upgrade/Incremental/php/Template.php
index 8400001ecf..4cefb200aa 100644
--- a/civicrm/CRM/Upgrade/Incremental/php/Template.php
+++ b/civicrm/CRM/Upgrade/Incremental/php/Template.php
@@ -22,7 +22,7 @@ echo "<?php\n";
  * If only a .tpl file exists for a version, it will be run automatically.
  * If the function exists, it must explicitly add the 'runSql' task if there is a corresponding .mysql.tpl.
  *
- * This class may also implement `setPreUpgradeMessage()` and `setPreUpgradeMessage()` functions.
+ * This class may also implement `setPreUpgradeMessage()` and `setPostUpgradeMessage()` functions.
  */
 class CRM_Upgrade_Incremental_php_<?php echo $camelNumber; ?> extends CRM_Upgrade_Incremental_Base {
 
diff --git a/civicrm/CRM/Upgrade/Incremental/sql/5.47.alpha1.mysql.tpl b/civicrm/CRM/Upgrade/Incremental/sql/5.47.alpha1.mysql.tpl
new file mode 100644
index 0000000000..3943ae4308
--- /dev/null
+++ b/civicrm/CRM/Upgrade/Incremental/sql/5.47.alpha1.mysql.tpl
@@ -0,0 +1,31 @@
+{* file to handle db changes in 5.47.alpha1 during upgrade *}
+
+CREATE TABLE IF NOT EXISTS `civicrm_queue` (
+  `id` int unsigned NOT NULL AUTO_INCREMENT,
+  `name` varchar(64) NOT NULL COMMENT 'Name of the queue',
+  `type` varchar(64) NOT NULL COMMENT 'Type of the queue',
+  `is_autorun` tinyint COMMENT 'Should the standard background attempt to autorun tasks in this queue?',
+  PRIMARY KEY (`id`),
+  UNIQUE INDEX `UI_name`(name)
+)
+ENGINE=InnoDB DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC;
+
+UPDATE `civicrm_navigation` SET `is_active` = 0 WHERE `is_active` IS NULL;
+UPDATE `civicrm_navigation` SET `weight` = 0 WHERE `weight` IS NULL;
+ALTER TABLE `civicrm_navigation`
+  MODIFY COLUMN `is_active` tinyint NOT NULL DEFAULT 1 COMMENT 'Is this navigation item active?',
+  MODIFY COLUMN `weight` int NOT NULL DEFAULT 0 COMMENT 'Ordering of the navigation items in various blocks.';
+
+{* https://lab.civicrm.org/dev/core/-/issues/2122 *}
+UPDATE `civicrm_event` SET `start_date` = NULL WHERE `start_date` < 19700102;
+UPDATE `civicrm_event` SET `end_date` = NULL WHERE `end_date` < 19700102;
+UPDATE `civicrm_event` SET `registration_start_date` = NULL WHERE `registration_start_date` < 19700102;
+UPDATE `civicrm_event` SET `registration_end_date` = NULL WHERE `registration_end_date` < 19700102;
+ALTER TABLE `civicrm_event`
+  MODIFY COLUMN `start_date` timestamp NULL DEFAULT NULL COMMENT 'Date and time that event starts.',
+  MODIFY COLUMN `end_date` timestamp NULL DEFAULT NULL COMMENT 'Date and time that event ends. May be NULL if no defined end date/time',
+  MODIFY COLUMN `registration_start_date` timestamp NULL DEFAULT NULL COMMENT 'Date and time that online registration starts.',
+  MODIFY COLUMN `registration_end_date` timestamp NULL DEFAULT NULL COMMENT 'Date and time that online registration ends.';
+
+{* Ensure CustomGroup.name is unique *}
+UPDATE civicrm_custom_group g1, civicrm_custom_group g2 SET g1.name = CONCAT(g1.name, '_1') WHERE g1.name = g2.name AND g1.id > g2.id;
diff --git a/civicrm/CRM/Utils/Address.php b/civicrm/CRM/Utils/Address.php
index 5b8331ec60..efba5738dc 100644
--- a/civicrm/CRM/Utils/Address.php
+++ b/civicrm/CRM/Utils/Address.php
@@ -34,7 +34,7 @@ class CRM_Utils_Address {
    *   If true indicates, the address to be built in hcard-microformat standard.
    * @param bool $mailing
    *   If true indicates, the call has been made from mailing label.
-   * @param null $tokenFields
+   * @param string[] $tokenFields
    *
    * @return string
    *   formatted address string
@@ -265,7 +265,7 @@ class CRM_Utils_Address {
   }
 
   /**
-   * @param $format
+   * @param string $format
    *
    * @return array
    */
diff --git a/civicrm/CRM/Utils/Array.php b/civicrm/CRM/Utils/Array.php
index a4778fe286..627e27d0c1 100644
--- a/civicrm/CRM/Utils/Array.php
+++ b/civicrm/CRM/Utils/Array.php
@@ -109,8 +109,8 @@ class CRM_Utils_Array {
   /**
    * Recursively searches through a given array for all matches
    *
-   * @param $collection
-   * @param $predicate
+   * @param array|null $collection
+   * @param array|callable|string $predicate
    * @return array
    */
   public static function findAll($collection, $predicate) {
diff --git a/civicrm/CRM/Utils/Cache.php b/civicrm/CRM/Utils/Cache.php
index 6243a72bf3..1497d323d9 100644
--- a/civicrm/CRM/Utils/Cache.php
+++ b/civicrm/CRM/Utils/Cache.php
@@ -65,7 +65,7 @@ class CRM_Utils_Cache {
   /**
    * Get cache relevant settings.
    *
-   * @param $cachePlugin
+   * @param string $cachePlugin
    *
    * @return array
    *   associative array of settings for the cache
diff --git a/civicrm/CRM/Utils/Cache/SqlGroup.php b/civicrm/CRM/Utils/Cache/SqlGroup.php
index 8d0205a8e6..84618bd263 100644
--- a/civicrm/CRM/Utils/Cache/SqlGroup.php
+++ b/civicrm/CRM/Utils/Cache/SqlGroup.php
@@ -185,7 +185,7 @@ class CRM_Utils_Cache_SqlGroup implements CRM_Utils_Cache_Interface {
 
   /**
    * @param string $key
-   * @param null $default
+   * @param mixed $default
    *
    * @return mixed
    */
diff --git a/civicrm/CRM/Utils/Chart.php b/civicrm/CRM/Utils/Chart.php
index 9a5b90a71c..ff74cf8fbf 100644
--- a/civicrm/CRM/Utils/Chart.php
+++ b/civicrm/CRM/Utils/Chart.php
@@ -21,26 +21,7 @@
 class CRM_Utils_Chart {
 
   /**
-   * Colours.
-   * @var array
-   */
-  private static $_colours = [
-    "#C3CC38",
-    "#C8B935",
-    "#CEA632",
-    "#D3932F",
-    "#D9802C",
-    "#FA6900",
-    "#DC9B57",
-    "#F78F01",
-    "#5AB56E",
-    "#6F8069",
-    "#C92200",
-    "#EB6C5C",
-  ];
-
-  /**
-   * Build The Bar Gharph.
+   * Build The Bar Graph.
    *
    * @param array $params
    *   Assoc array of name/value pairs.
@@ -145,9 +126,9 @@ class CRM_Utils_Chart {
   }
 
   /**
-   * @param $rows
-   * @param $chart
-   * @param $interval
+   * @param array $rows
+   * @param string $chart
+   * @param string $interval
    *
    * @return array
    */
@@ -229,10 +210,10 @@ class CRM_Utils_Chart {
   }
 
   /**
-   * @param $rows
-   * @param $chart
-   * @param $interval
-   * @param $chartInfo
+   * @param array $rows
+   * @param string $chart
+   * @param array $interval
+   * @param array $chartInfo
    *
    * @return array
    */
@@ -270,7 +251,7 @@ class CRM_Utils_Chart {
 
   /**
    * @param array $params
-   * @param $chart
+   * @param string $chart
    *
    * @return array
    */
diff --git a/civicrm/CRM/Utils/Check.php b/civicrm/CRM/Utils/Check.php
index 618b332b7b..08dd65b5be 100644
--- a/civicrm/CRM/Utils/Check.php
+++ b/civicrm/CRM/Utils/Check.php
@@ -146,7 +146,7 @@ class CRM_Utils_Check {
   /**
    * Throw an exception if any of the checks fail.
    *
-   * @param array|NULL $messages
+   * @param array|null $messages
    *   [CRM_Utils_Check_Message]
    * @param string $threshold
    *
diff --git a/civicrm/CRM/Utils/Check/Component/Env.php b/civicrm/CRM/Utils/Check/Component/Env.php
index 9324a63125..064f5f0122 100644
--- a/civicrm/CRM/Utils/Check/Component/Env.php
+++ b/civicrm/CRM/Utils/Check/Component/Env.php
@@ -251,9 +251,7 @@ class CRM_Utils_Check_Component_Env extends CRM_Utils_Check_Component {
       return $messages;
     }
 
-    $config = CRM_Core_Config::singleton();
-
-    if (in_array('CiviMail', $config->enableComponents) &&
+    if (CRM_Core_Component::isEnabled('CiviMail') &&
       CRM_Core_BAO_MailSettings::defaultDomain() == "EXAMPLE.ORG"
     ) {
       $message = new CRM_Utils_Check_Message(
@@ -1044,4 +1042,26 @@ class CRM_Utils_Check_Component_Env extends CRM_Utils_Check_Component {
     return $messages;
   }
 
+  /**
+   * Ensure that the CMS is providing a supported timezone.
+   *
+   * @return CRM_Utils_Check_Message[]
+   */
+  public function checkUFTimezoneValid() {
+    $messages = [];
+    $check_tz = CRM_Core_Config::singleton()->userSystem->getTimeZoneString();
+
+    if (!array_key_exists($check_tz, CRM_Core_SelectValues::timezone())) {
+      $messages[] = new CRM_Utils_Check_Message(
+        __FUNCTION__,
+        ts('This system has an invalid timezone set. Please verify that your CMS has a timezone configured that is listed under the <a href="%1">PHP List of Supported Timezones</a>.', [1 => 'https://www.php.net/manual/en/timezones.php']),
+        ts('Missing or Invalid Timezone'),
+        \Psr\Log\LogLevel::ERROR,
+        'fa-clock-o'
+      );
+    }
+
+    return $messages;
+  }
+
 }
diff --git a/civicrm/CRM/Utils/Check/Component/Event.php b/civicrm/CRM/Utils/Check/Component/Event.php
new file mode 100644
index 0000000000..1ac9f94d26
--- /dev/null
+++ b/civicrm/CRM/Utils/Check/Component/Event.php
@@ -0,0 +1,54 @@
+<?php
+
+/**
+ * @package CRM
+ */
+class CRM_Utils_Check_Component_Event extends CRM_Utils_Check_Component {
+
+  /**
+   * Check events have timezone set.
+   *
+   * @return CRM_Utils_Check_Message[]
+   * @throws \API_Exception
+   */
+  public function checkTimezones() {
+    $messages = [];
+
+    try {
+      $count = \Civi\Api4\Event::get(FALSE)
+        ->selectRowCount()
+        ->addWhere('event_tz', 'IS EMPTY')
+        ->execute()
+        ->rowCount;
+
+      if ($count) {
+        $msg = new CRM_Utils_Check_Message(
+          __FUNCTION__,
+          '<p>' . ts('%count Event has no timezone set', ['count' => $count, 'plural' => '%count Events have no timezone set.']) . '</p>',
+          ts('Events with Missing Timezone'),
+          \Psr\Log\LogLevel::WARNING,
+          'fa-calendar'
+        );
+        $msg->addAction(
+          ts('Fix Events with Missing Timezone'),
+          ts('This will set the system default timezone "%1" for all Events with no timezone set.', [1 => CRM_Core_Config::singleton()->userSystem->getTimeZoneString()]),
+          'api3',
+          ['Event', 'addMissingTimezones']
+        );
+        $messages[] = $msg;
+      }
+    }
+    catch (API_Exception $e) {
+      $messages[] = new CRM_Utils_Check_Message(
+        __FUNCTION__,
+        ts('API Exception: %1 while checking events for timezones.', ['1' => $e->getMessage()]),
+        ts('Event timezone check failed'),
+        \Psr\Log\LogLevel::ERROR,
+        'fa-calendar'
+      );
+    }
+
+    return $messages;
+  }
+
+}
diff --git a/civicrm/CRM/Utils/Check/Component/Security.php b/civicrm/CRM/Utils/Check/Component/Security.php
index 2036e1b015..e6ce5a0709 100644
--- a/civicrm/CRM/Utils/Check/Component/Security.php
+++ b/civicrm/CRM/Utils/Check/Component/Security.php
@@ -362,7 +362,7 @@ class CRM_Utils_Check_Component_Security extends CRM_Utils_Check_Component {
   }
 
   /**
-   * @param $topic
+   * @param string $topic
    *
    * @return string
    */
diff --git a/civicrm/CRM/Utils/Check/Message.php b/civicrm/CRM/Utils/Check/Message.php
index e0a7d51d7b..770d14d3ea 100644
--- a/civicrm/CRM/Utils/Check/Message.php
+++ b/civicrm/CRM/Utils/Check/Message.php
@@ -149,7 +149,7 @@ class CRM_Utils_Check_Message {
    *
    * @param string $title
    *   Text displayed on the status message as a link or button.
-   * @param string $confirmation
+   * @param string|false $confirmation
    *   Optional confirmation message before performing action
    * @param string $type
    *   Currently supports: api3 or href
diff --git a/civicrm/CRM/Utils/Color.php b/civicrm/CRM/Utils/Color.php
index 35e9937132..e7a231b7ea 100644
--- a/civicrm/CRM/Utils/Color.php
+++ b/civicrm/CRM/Utils/Color.php
@@ -74,7 +74,7 @@ class CRM_Utils_Color {
   /**
    * Calculate a highlight color from a base color
    *
-   * @param $color
+   * @param string $color
    * @return string
    */
   public static function getHighlight($color) {
@@ -96,7 +96,7 @@ class CRM_Utils_Color {
   /**
    * Convert named color (e.g. springgreen) to hex
    *
-   * @param $colorName
+   * @param string $colorName
    * @return string|null
    */
   public static function nameToHex($colorName) {
diff --git a/civicrm/CRM/Utils/Date.php b/civicrm/CRM/Utils/Date.php
index d2a7bab78d..b050ace270 100644
--- a/civicrm/CRM/Utils/Date.php
+++ b/civicrm/CRM/Utils/Date.php
@@ -267,7 +267,7 @@ class CRM_Utils_Date {
   }
 
   /**
-   * @param $string
+   * @param string $string
    *
    * @return int
    */
@@ -540,8 +540,6 @@ class CRM_Utils_Date {
    */
   public static function convertToDefaultDate(&$params, $dateType, $dateParam) {
     $now = getdate();
-    $cen = substr($now['year'], 0, 2);
-    $prevCen = $cen - 1;
 
     $value = NULL;
     if (!empty($params[$dateParam])) {
@@ -693,15 +691,15 @@ class CRM_Utils_Date {
     $month = ($month < 10) ? "0" . "$month" : $month;
     $day = ($day < 10) ? "0" . "$day" : $day;
 
-    $year = (int ) $year;
-    // simple heuristic to determine what century to use
-    // 00 - 20 is always 2000 - 2020
-    // 21 - 99 is always 1921 - 1999
-    if ($year < 21) {
-      $year = (strlen($year) == 1) ? $cen . '0' . $year : $cen . $year;
-    }
-    elseif ($year < 100) {
-      $year = $prevCen . $year;
+    $year = (int) $year;
+    if ($year < 100) {
+      $year = substr($now['year'], 0, 2) * 100 + $year;
+      if ($year > ($now['year'] + 5)) {
+        $year = $year - 100;
+      }
+      elseif ($year <= ($now['year'] - 95)) {
+        $year = $year + 100;
+      }
     }
 
     if ($params[$dateParam]) {
@@ -714,22 +712,10 @@ class CRM_Utils_Date {
     return FALSE;
   }
 
-  /**
-   * @param $date
-   *
-   * @return bool
-   */
-  public static function isDate(&$date) {
-    if (CRM_Utils_System::isNull($date)) {
-      return FALSE;
-    }
-    return TRUE;
-  }
-
   /**
    * Translate a TTL to a concrete expiration time.
    *
-   * @param NULL|int|DateInterval $ttl
+   * @param null|int|DateInterval $ttl
    * @param int $default
    *   The value to use if $ttl is not specified (NULL).
    * @return int
@@ -755,7 +741,7 @@ class CRM_Utils_Date {
   /**
    * Normalize a TTL.
    *
-   * @param NULL|int|DateInterval $ttl
+   * @param null|int|DateInterval $ttl
    * @param int $default
    *   The value to use if $ttl is not specified (NULL).
    * @return int
@@ -778,7 +764,7 @@ class CRM_Utils_Date {
   }
 
   /**
-   * @param null $timeStamp
+   * @param int|false|null $timeStamp
    *
    * @return bool|string
    */
@@ -913,7 +899,7 @@ class CRM_Utils_Date {
    * @param date $targetDate
    *   Target Date. (show age on specific date)
    *
-   * @return int
+   * @return array
    *   array $results contains years or months
    */
   public static function calculateAge($birthDate, $targetDate = NULL) {
@@ -2229,4 +2215,72 @@ class CRM_Utils_Date {
     return $dateObject->format($format);
   }
 
+  /**
+   * Convert a date string between time zones
+   *
+   * @param string $date - date string using $format
+   * @param string $tz_to - new time zone for date
+   * @param string $tz_from - current time zone for date
+   * @param string $format - format string specification as per DateTime::createFromFormat; defaults to 'Y-m-d H:i:s'
+   *
+   * @throws \CRM_Core_Exception
+   *
+   * @return string;
+   */
+  public static function convertTimeZone(string $date, string $tz_to = NULL, string $tz_from = NULL, $format = NULL) {
+    if (!$tz_from) {
+      $tz_from = CRM_Core_Config::singleton()->userSystem->getTimeZoneString();
+    }
+    if (!$tz_to) {
+      $tz_to = CRM_Core_Config::singleton()->userSystem->getTimeZoneString();
+    }
+
+    // Return early if both timezones are the same.
+    if ($tz_from == $tz_to) {
+      return $date;
+    }
+
+    $tz_from = new DateTimeZone($tz_from);
+    $tz_to = new DateTimeZone($tz_to);
+
+    if (is_null($format)) {
+      // Detect "mysql" format dates and adjust format accordingly
+      $format = preg_match('/^(\d{4})(\d{2}){0,5}$/', $date, $m) ? 'YmdHis' : 'Y-m-d H:i:s';
+    }
+
+    try {
+      $date_object = DateTime::createFromFormat('!' . $format, $date, $tz_from);
+      $dt_errors = DateTime::getLastErrors();
+
+      if (!$date_object) {
+        Civi::log()->warning(ts('Attempted to convert time zone with incorrect date format %1', ['%1' => $date]));
+
+        $dt_errors = DateTime::getLastErrors();
+
+        $date_object = new DateTime($date, $tz_from);
+      }
+      elseif ($dt_errors['warning_count'] && array_intersect($dt_errors['warnings'], ['The parsed date was invalid'])) {
+        throw new Exception('The parsed date was invalid');
+      }
+
+      $date_object->setTimezone($tz_to);
+
+      return $date_object->format($format);
+    }
+    catch (Exception $e) {
+      if ($dt_errors['error_count'] || $dt_errors['warning_count']) {
+        throw new CRM_Core_Exception(ts(
+          'Failed to parse date with %1 errors and %2 warnings',
+          [
+            '%1' => $dt_errors['error_count'],
+            '%2' => $dt_errors['warning_count'],
+          ]
+        ), 0, ['format' => $format, 'date' => $date] + $dt_errors);
+      }
+      else {
+        throw $e;
+      }
+    }
+  }
+
 }
diff --git a/civicrm/CRM/Utils/DeprecatedUtils.php b/civicrm/CRM/Utils/DeprecatedUtils.php
index d7e4fcbce7..f2b718c06d 100644
--- a/civicrm/CRM/Utils/DeprecatedUtils.php
+++ b/civicrm/CRM/Utils/DeprecatedUtils.php
@@ -24,350 +24,6 @@
 
 require_once 'api/v3/utils.php';
 
-/**
- * This function adds the contact variable in $values to the
- * parameter list $params.  For most cases, $values should have length 1.  If
- * the variable being added is a child of Location, a location_type_id must
- * also be included.  If it is a child of phone, a phone_type must be included.
- *
- * @param array $values
- *   The variable(s) to be added.
- * @param array $params
- *   The structured parameter list.
- *
- * @return bool|CRM_Utils_Error
- */
-function _civicrm_api3_deprecated_add_formatted_param(&$values, &$params) {
-  // Crawl through the possible classes:
-  // Contact
-  //      Individual
-  //      Household
-  //      Organization
-  //          Location
-  //              Address
-  //              Email
-  //              Phone
-  //              IM
-  //      Note
-  //      Custom
-
-  // Cache the various object fields
-  static $fields = NULL;
-
-  if ($fields == NULL) {
-    $fields = [];
-  }
-
-  // first add core contact values since for other Civi modules they are not added
-  require_once 'CRM/Contact/BAO/Contact.php';
-  $contactFields = CRM_Contact_DAO_Contact::fields();
-  _civicrm_api3_store_values($contactFields, $values, $params);
-
-  if (isset($values['contact_type'])) {
-    // we're an individual/household/org property
-
-    $fields[$values['contact_type']] = CRM_Contact_DAO_Contact::fields();
-
-    _civicrm_api3_store_values($fields[$values['contact_type']], $values, $params);
-    return TRUE;
-  }
-
-  if (isset($values['individual_prefix'])) {
-    if (!empty($params['prefix_id'])) {
-      $prefixes = CRM_Core_PseudoConstant::get('CRM_Contact_DAO_Contact', 'prefix_id');
-      $params['prefix'] = $prefixes[$params['prefix_id']];
-    }
-    else {
-      $params['prefix'] = $values['individual_prefix'];
-    }
-    return TRUE;
-  }
-
-  if (isset($values['individual_suffix'])) {
-    if (!empty($params['suffix_id'])) {
-      $suffixes = CRM_Core_PseudoConstant::get('CRM_Contact_DAO_Contact', 'suffix_id');
-      $params['suffix'] = $suffixes[$params['suffix_id']];
-    }
-    else {
-      $params['suffix'] = $values['individual_suffix'];
-    }
-    return TRUE;
-  }
-
-  // CRM-4575
-  if (isset($values['email_greeting'])) {
-    if (!empty($params['email_greeting_id'])) {
-      $emailGreetingFilter = [
-        'contact_type' => $params['contact_type'] ?? NULL,
-        'greeting_type' => 'email_greeting',
-      ];
-      $emailGreetings = CRM_Core_PseudoConstant::greeting($emailGreetingFilter);
-      $params['email_greeting'] = $emailGreetings[$params['email_greeting_id']];
-    }
-    else {
-      $params['email_greeting'] = $values['email_greeting'];
-    }
-
-    return TRUE;
-  }
-
-  if (isset($values['postal_greeting'])) {
-    if (!empty($params['postal_greeting_id'])) {
-      $postalGreetingFilter = [
-        'contact_type' => $params['contact_type'] ?? NULL,
-        'greeting_type' => 'postal_greeting',
-      ];
-      $postalGreetings = CRM_Core_PseudoConstant::greeting($postalGreetingFilter);
-      $params['postal_greeting'] = $postalGreetings[$params['postal_greeting_id']];
-    }
-    else {
-      $params['postal_greeting'] = $values['postal_greeting'];
-    }
-    return TRUE;
-  }
-
-  if (isset($values['addressee'])) {
-    $params['addressee'] = $values['addressee'];
-    return TRUE;
-  }
-
-  if (isset($values['gender'])) {
-    if (!empty($params['gender_id'])) {
-      $genders = CRM_Core_PseudoConstant::get('CRM_Contact_DAO_Contact', 'gender_id');
-      $params['gender'] = $genders[$params['gender_id']];
-    }
-    else {
-      $params['gender'] = $values['gender'];
-    }
-    return TRUE;
-  }
-
-  if (!empty($values['preferred_communication_method'])) {
-    $comm = [];
-    $pcm = array_change_key_case(array_flip(CRM_Core_PseudoConstant::get('CRM_Contact_DAO_Contact', 'preferred_communication_method')), CASE_LOWER);
-
-    $preffComm = explode(',', $values['preferred_communication_method']);
-    foreach ($preffComm as $v) {
-      $v = strtolower(trim($v));
-      if (array_key_exists($v, $pcm)) {
-        $comm[$pcm[$v]] = 1;
-      }
-    }
-
-    $params['preferred_communication_method'] = $comm;
-    return TRUE;
-  }
-
-  // format the website params.
-  if (!empty($values['url'])) {
-    static $websiteFields;
-    if (!is_array($websiteFields)) {
-      require_once 'CRM/Core/DAO/Website.php';
-      $websiteFields = CRM_Core_DAO_Website::fields();
-    }
-    if (!array_key_exists('website', $params) ||
-      !is_array($params['website'])
-    ) {
-      $params['website'] = [];
-    }
-
-    $websiteCount = count($params['website']);
-    _civicrm_api3_store_values($websiteFields, $values,
-      $params['website'][++$websiteCount]
-    );
-
-    return TRUE;
-  }
-
-  // get the formatted location blocks into params - w/ 3.0 format, CRM-4605
-  if (!empty($values['location_type_id'])) {
-    static $fields = NULL;
-    if ($fields == NULL) {
-      $fields = [];
-    }
-
-    foreach ([
-      'Phone',
-      'Email',
-      'IM',
-      'OpenID',
-      'Phone_Ext',
-    ] as $block) {
-      $name = strtolower($block);
-      if (!array_key_exists($name, $values)) {
-        continue;
-      }
-
-      if ($name == 'phone_ext') {
-        $block = 'Phone';
-      }
-
-      // block present in value array.
-      if (!array_key_exists($name, $params) || !is_array($params[$name])) {
-        $params[$name] = [];
-      }
-
-      if (!array_key_exists($block, $fields)) {
-        $className = "CRM_Core_DAO_$block";
-        $fields[$block] =& $className::fields();
-      }
-
-      $blockCnt = count($params[$name]);
-
-      // copy value to dao field name.
-      if ($name == 'im') {
-        $values['name'] = $values[$name];
-      }
-
-      _civicrm_api3_store_values($fields[$block], $values,
-        $params[$name][++$blockCnt]
-      );
-
-      if (empty($params['id']) && ($blockCnt == 1)) {
-        $params[$name][$blockCnt]['is_primary'] = TRUE;
-      }
-
-      // we only process single block at a time.
-      return TRUE;
-    }
-
-    // handle address fields.
-    if (!array_key_exists('address', $params) || !is_array($params['address'])) {
-      $params['address'] = [];
-    }
-
-    $addressCnt = 1;
-    foreach ($params['address'] as $cnt => $addressBlock) {
-      if (CRM_Utils_Array::value('location_type_id', $values) ==
-        CRM_Utils_Array::value('location_type_id', $addressBlock)
-      ) {
-        $addressCnt = $cnt;
-        break;
-      }
-      $addressCnt++;
-    }
-
-    if (!array_key_exists('Address', $fields)) {
-      $fields['Address'] = CRM_Core_DAO_Address::fields();
-    }
-
-    // Note: we doing multiple value formatting here for address custom fields, plus putting into right format.
-    // The actual formatting (like date, country ..etc) for address custom fields is taken care of while saving
-    // the address in CRM_Core_BAO_Address::create method
-    if (!empty($values['location_type_id'])) {
-      static $customFields = [];
-      if (empty($customFields)) {
-        $customFields = CRM_Core_BAO_CustomField::getFields('Address');
-      }
-      // make a copy of values, as we going to make changes
-      $newValues = $values;
-      foreach ($values as $key => $val) {
-        $customFieldID = CRM_Core_BAO_CustomField::getKeyID($key);
-        if ($customFieldID && array_key_exists($customFieldID, $customFields)) {
-          // mark an entry in fields array since we want the value of custom field to be copied
-          $fields['Address'][$key] = NULL;
-
-          $htmlType = $customFields[$customFieldID]['html_type'] ?? NULL;
-          if (CRM_Core_BAO_CustomField::isSerialized($customFields[$customFieldID]) && $val) {
-            $mulValues = explode(',', $val);
-            $customOption = CRM_Core_BAO_CustomOption::getCustomOption($customFieldID, TRUE);
-            $newValues[$key] = [];
-            foreach ($mulValues as $v1) {
-              foreach ($customOption as $v2) {
-                if ((strtolower($v2['label']) == strtolower(trim($v1))) ||
-                  (strtolower($v2['value']) == strtolower(trim($v1)))
-                ) {
-                  if ($htmlType == 'CheckBox') {
-                    $newValues[$key][$v2['value']] = 1;
-                  }
-                  else {
-                    $newValues[$key][] = $v2['value'];
-                  }
-                }
-              }
-            }
-          }
-        }
-      }
-      // consider new values
-      $values = $newValues;
-    }
-
-    _civicrm_api3_store_values($fields['Address'], $values, $params['address'][$addressCnt]);
-
-    $addressFields = [
-      'county',
-      'country',
-      'state_province',
-      'supplemental_address_1',
-      'supplemental_address_2',
-      'supplemental_address_3',
-      'StateProvince.name',
-    ];
-
-    foreach ($addressFields as $field) {
-      if (array_key_exists($field, $values)) {
-        if (!array_key_exists('address', $params)) {
-          $params['address'] = [];
-        }
-        $params['address'][$addressCnt][$field] = $values[$field];
-      }
-    }
-
-    if ($addressCnt == 1) {
-
-      $params['address'][$addressCnt]['is_primary'] = TRUE;
-    }
-    return TRUE;
-  }
-
-  if (isset($values['note'])) {
-    // add a note field
-    if (!isset($params['note'])) {
-      $params['note'] = [];
-    }
-    $noteBlock = count($params['note']) + 1;
-
-    $params['note'][$noteBlock] = [];
-    if (!isset($fields['Note'])) {
-      $fields['Note'] = CRM_Core_DAO_Note::fields();
-    }
-
-    // get the current logged in civicrm user
-    $session = CRM_Core_Session::singleton();
-    $userID = $session->get('userID');
-
-    if ($userID) {
-      $values['contact_id'] = $userID;
-    }
-
-    _civicrm_api3_store_values($fields['Note'], $values, $params['note'][$noteBlock]);
-
-    return TRUE;
-  }
-
-  // Check for custom field values
-
-  if (empty($fields['custom'])) {
-    $fields['custom'] = &CRM_Core_BAO_CustomField::getFields(CRM_Utils_Array::value('contact_type', $values),
-      FALSE, FALSE, NULL, NULL, FALSE, FALSE, FALSE
-    );
-  }
-
-  foreach ($values as $key => $value) {
-    if ($customFieldID = CRM_Core_BAO_CustomField::getKeyID($key)) {
-      // check if it's a valid custom field id
-
-      if (!array_key_exists($customFieldID, $fields['custom'])) {
-        return civicrm_api3_create_error('Invalid custom field ID');
-      }
-      else {
-        $params[$key] = $value;
-      }
-    }
-  }
-}
-
 /**
  *
  * @param array $params
diff --git a/civicrm/CRM/Utils/File.php b/civicrm/CRM/Utils/File.php
index dbdcca1608..cdda9aa217 100644
--- a/civicrm/CRM/Utils/File.php
+++ b/civicrm/CRM/Utils/File.php
@@ -293,7 +293,7 @@ class CRM_Utils_File {
   }
 
   /**
-   * @param string|NULL $dsn
+   * @param string|null $dsn
    *   Use NULL to load the default/active connection from CRM_Core_DAO.
    *   Otherwise, give a full DSN string.
    * @param string $fileName
@@ -312,7 +312,7 @@ class CRM_Utils_File {
 
   /**
    *
-   * @param string|NULL $dsn
+   * @param string|null $dsn
    * @param string $queryString
    * @param string $prefix
    * @param bool $dieOnErrors
@@ -377,7 +377,7 @@ class CRM_Utils_File {
   }
 
   /**
-   * @param $ext
+   * @param string $ext
    *
    * @return bool
    */
diff --git a/civicrm/CRM/Utils/Hook.php b/civicrm/CRM/Utils/Hook.php
index 641e28c4e2..a9679480a0 100644
--- a/civicrm/CRM/Utils/Hook.php
+++ b/civicrm/CRM/Utils/Hook.php
@@ -331,7 +331,7 @@ abstract class CRM_Utils_Hook {
    *   The type of operation being performed.
    * @param string $objectName
    *   The name of the object.
-   * @param int $id
+   * @param int|null $id
    *   The object id if available.
    * @param array $params
    *   The parameters used for object creation / editing.
@@ -2361,12 +2361,12 @@ abstract class CRM_Utils_Hook {
    * Issue CRM-14276
    * Add a hook for altering the display name
    *
-   * hook_civicrm_contact_get_displayname(&$display_name, $objContact)
+   * hook_civicrm_contact_get_displayname(&$display_name, $contactId, $dao)
    *
    * @param string $displayName
    * @param int $contactId
-   * @param object $dao
-   *   The contact object.
+   * @param CRM_Core_DAO $dao
+   *   A DAO object containing contact fields + primary email field as "email".
    *
    * @return mixed
    */
@@ -2589,11 +2589,8 @@ abstract class CRM_Utils_Hook {
    * inserted in civicrm_financial_trxn table
    *
    * @param array $deferredRevenues
-   *
-   * @param array $contributionDetails
-   *
+   * @param CRM_Contribute_BAO_Contribution $contributionDetails
    * @param bool $update
-   *
    * @param string $context
    *
    * @return mixed
diff --git a/civicrm/CRM/Utils/HttpClient.php b/civicrm/CRM/Utils/HttpClient.php
index 0286c4f793..3a34e18970 100644
--- a/civicrm/CRM/Utils/HttpClient.php
+++ b/civicrm/CRM/Utils/HttpClient.php
@@ -48,7 +48,8 @@ class CRM_Utils_HttpClient {
   }
 
   /**
-   * @param null $connectionTimeout
+   * @param int|null $connectionTimeout
+   *   seconds; or NULL to use system default
    */
   public function __construct($connectionTimeout = NULL) {
     $this->connectionTimeout = $connectionTimeout;
diff --git a/civicrm/CRM/Utils/ICalendar.php b/civicrm/CRM/Utils/ICalendar.php
index 3e2d0a84e3..7eee09c9eb 100644
--- a/civicrm/CRM/Utils/ICalendar.php
+++ b/civicrm/CRM/Utils/ICalendar.php
@@ -61,7 +61,7 @@ class CRM_Utils_ICalendar {
   /**
    * Escape date elements for safe ICalendar use.
    *
-   * @param $date
+   * @param string $date
    *   Date to escape.
    *
    * @param bool $gdata
diff --git a/civicrm/CRM/Utils/JS.php b/civicrm/CRM/Utils/JS.php
index dbb5644a09..27c4d45245 100644
--- a/civicrm/CRM/Utils/JS.php
+++ b/civicrm/CRM/Utils/JS.php
@@ -218,7 +218,7 @@ class CRM_Utils_JS {
    *   'bar' => 'function() {return "bar";}',
    * ]
    *
-   * @param $js
+   * @param string $js
    * @return array
    * @throws Exception
    */
diff --git a/civicrm/CRM/Utils/Mail.php b/civicrm/CRM/Utils/Mail.php
index 2043f9494d..beb0ad3263 100644
--- a/civicrm/CRM/Utils/Mail.php
+++ b/civicrm/CRM/Utils/Mail.php
@@ -159,6 +159,7 @@ class CRM_Utils_Mail {
    *   fullPath : complete pathname to the file
    *   mime_type: mime type of the attachment
    *   cleanName: the user friendly name of the attachmment
+   * contactId : contact id to send the email to (optional)
    *
    * @param array $params
    *   (by reference).
@@ -183,14 +184,20 @@ class CRM_Utils_Mail {
       return FALSE;
     }
 
-    $textMessage = $params['text'] ?? NULL;
-    $htmlMessage = $params['html'] ?? NULL;
-    $attachments = $params['attachments'] ?? NULL;
-
-    // CRM-6224
-    if (trim(CRM_Utils_String::htmlToText($htmlMessage)) == '') {
+    $htmlMessage = $params['html'] ?? FALSE;
+    if (trim(CRM_Utils_String::htmlToText((string) $htmlMessage)) === '') {
       $htmlMessage = FALSE;
     }
+    $attachments = $params['attachments'] ?? NULL;
+    if (!empty($params['text'])) {
+      $textMessage = $params['text'];
+    }
+    else {
+      $textMessage = CRM_Utils_String::htmlToText($htmlMessage);
+      // Render the &amp; entities in text mode, so that the links work.
+      // This is copied from the Action Schedule send code.
+      $textMessage = str_replace('&amp;', '&', $textMessage);
+    }
 
     $headers = [];
     // CRM-10699 support custom email headers
@@ -436,7 +443,7 @@ class CRM_Utils_Mail {
 
   /**
    * @param string $name
-   * @param $email
+   * @param string $email
    * @param bool $useQuote
    *
    * @return null|string
diff --git a/civicrm/CRM/Utils/Mail/Incoming.php b/civicrm/CRM/Utils/Mail/Incoming.php
index cf2f7978b1..77b2c020cc 100644
--- a/civicrm/CRM/Utils/Mail/Incoming.php
+++ b/civicrm/CRM/Utils/Mail/Incoming.php
@@ -76,7 +76,7 @@ class CRM_Utils_Mail_Incoming {
       return NULL;
     }
 
-    return self::formatMailUnrecognisedPart($part);
+    return self::formatUnrecognisedPart($part);
   }
 
   /**
@@ -110,7 +110,7 @@ class CRM_Utils_Mail_Incoming {
       return self::formatMailDeliveryStatus($part);
     }
 
-    return self::formatMailUnrecognisedPart($part);
+    return self::formatUnrecognisedPart($part);
   }
 
   /**
@@ -452,7 +452,8 @@ class CRM_Utils_Mail_Incoming {
     $contactID = NULL;
     if ($dao) {
       $contactID = $dao->contact_id;
-    } else {
+    }
+    else {
       $dao = CRM_Contact_BAO_Contact::matchContactOnEmail($email, 'Organization');
 
       if ($dao) {
diff --git a/civicrm/CRM/Utils/Mail/Logger.php b/civicrm/CRM/Utils/Mail/Logger.php
index 453554eddd..7290609c21 100644
--- a/civicrm/CRM/Utils/Mail/Logger.php
+++ b/civicrm/CRM/Utils/Mail/Logger.php
@@ -40,9 +40,9 @@ class CRM_Utils_Mail_Logger {
   }
 
   /**
-   * @param $to
-   * @param $headers
-   * @param $message
+   * @param string|string[] $to
+   * @param string[] $headers
+   * @param string $message
    */
   public static function log(&$to, &$headers, &$message) {
     if (is_array($to)) {
diff --git a/civicrm/CRM/Utils/Migrate/Export.php b/civicrm/CRM/Utils/Migrate/Export.php
index 9e88893bd1..60f5724eb2 100644
--- a/civicrm/CRM/Utils/Migrate/Export.php
+++ b/civicrm/CRM/Utils/Migrate/Export.php
@@ -383,7 +383,7 @@ class CRM_Utils_Migrate_Export {
   /**
    * @param string $groupName
    * @param string $daoName
-   * @param null $sql
+   * @param string $sql
    */
   public function fetch($groupName, $daoName, $sql = NULL) {
     $idNameFields = $this->_xml[$groupName]['idNameFields'] ?? NULL;
@@ -443,7 +443,7 @@ class CRM_Utils_Migrate_Export {
    * @param string $objectName
    *   Business-entity/xml-tag name.
    * @param CRM_Core_DAO $object
-   * @param $mappedFields
+   * @param array $mappedFields
    *
    * @return array
    */
diff --git a/civicrm/CRM/Utils/Migrate/ExportJSON.php b/civicrm/CRM/Utils/Migrate/ExportJSON.php
index a472aa44e6..accde154a0 100644
--- a/civicrm/CRM/Utils/Migrate/ExportJSON.php
+++ b/civicrm/CRM/Utils/Migrate/ExportJSON.php
@@ -127,7 +127,7 @@ class CRM_Utils_Migrate_ExportJSON {
   }
 
   /**
-   * @param $tables
+   * @param array $tables
    */
   public function auxTable($tables) {
     foreach ($tables as $tableName => $daoName) {
@@ -139,7 +139,7 @@ class CRM_Utils_Migrate_ExportJSON {
   }
 
   /**
-   * @param $optionGroupVars
+   * @param array $optionGroupVars
    */
   public function optionGroup($optionGroupVars) {
     $names = array_values($optionGroupVars);
@@ -168,11 +168,11 @@ WHERE      g.name IN ( $nameString )
   }
 
   /**
-   * @param $ids
+   * @param array $ids
    * @param string $tableName
-   * @param $fields
-   * @param $whereField
-   * @param null $additionalWhereCond
+   * @param array $fields
+   * @param string $whereField
+   * @param string|null $additionalWhereCond
    */
   public function table(
     &$ids,
@@ -201,9 +201,9 @@ SELECT *
   }
 
   /**
-   * @param $sql
+   * @param string $sql
    * @param string $tableName
-   * @param $fields
+   * @param array $fields
    */
   public function sql($sql, $tableName, &$fields) {
     $dao = &CRM_Core_DAO::executeQuery($sql);
@@ -223,7 +223,7 @@ SELECT *
   }
 
   /**
-   * @param $contactIDs
+   * @param array $contactIDs
    */
   public function contact(&$contactIDs) {
     $fields = &$this->dbFields('CRM_Contact_DAO_Contact', TRUE);
@@ -231,7 +231,7 @@ SELECT *
   }
 
   /**
-   * @param $contactIDs
+   * @param array $contactIDs
    */
   public function note(&$contactIDs) {
     $fields = &$this->dbFields('CRM_Core_DAO_Note', TRUE);
@@ -239,7 +239,7 @@ SELECT *
   }
 
   /**
-   * @param $contactIDs
+   * @param array $contactIDs
    */
   public function phone(&$contactIDs) {
     $fields = &$this->dbFields('CRM_Core_DAO_Phone', TRUE);
@@ -247,7 +247,7 @@ SELECT *
   }
 
   /**
-   * @param $contactIDs
+   * @param array $contactIDs
    */
   public function email(&$contactIDs) {
     $fields = &$this->dbFields('CRM_Core_DAO_Email', TRUE);
@@ -255,7 +255,7 @@ SELECT *
   }
 
   /**
-   * @param $contactIDs
+   * @param array $contactIDs
    */
   public function im(&$contactIDs) {
     $fields = &$this->dbFields('CRM_Core_DAO_IM', TRUE);
@@ -263,7 +263,7 @@ SELECT *
   }
 
   /**
-   * @param $contactIDs
+   * @param array $contactIDs
    */
   public function website(&$contactIDs) {
     $fields = &$this->dbFields('CRM_Core_DAO_Website', TRUE);
@@ -271,7 +271,7 @@ SELECT *
   }
 
   /**
-   * @param $contactIDs
+   * @param array $contactIDs
    */
   public function address(&$contactIDs) {
     $fields = &$this->dbFields('CRM_Core_DAO_Email', TRUE);
@@ -279,7 +279,7 @@ SELECT *
   }
 
   /**
-   * @param $contactIDs
+   * @param array $contactIDs
    */
   public function groupContact(&$contactIDs) {
     $fields = &$this->dbFields('CRM_Contact_DAO_GroupContact', TRUE);
@@ -291,7 +291,7 @@ SELECT *
    *
    * Parent child group ids are encoded in a text string
    *
-   * @param $contactIDs
+   * @param array $contactIDs
    */
   public function group(&$contactIDs) {
     // handle groups only once
@@ -321,7 +321,7 @@ WHERE  contact_id IN ( $ids )
 
   /**
    * @todo support search builder and custom saved searches
-   * @param $groupIDs
+   * @param array $groupIDs
    */
   public function savedSearch(&$groupIDs) {
     if (empty($groupIDs)) {
@@ -341,7 +341,7 @@ WHERE      g.id IN ( $idString )
   }
 
   /**
-   * @param $contactIDs
+   * @param array $contactIDs
    */
   public function entityTag(&$contactIDs) {
     $fields = &$this->dbFields('CRM_Core_DAO_EntityTag', TRUE);
@@ -349,7 +349,7 @@ WHERE      g.id IN ( $idString )
   }
 
   /**
-   * @param $contactIDs
+   * @param array $contactIDs
    */
   public function tag(&$contactIDs) {
     // handle tags only once
@@ -377,7 +377,7 @@ AND    entity_table = 'civicrm_contact'
   }
 
   /**
-   * @param $contactIDs
+   * @param array $contactIDs
    * @param $additionalContacts
    */
   public function relationship(&$contactIDs, &$additionalContacts) {
@@ -426,7 +426,7 @@ AND    entity_table = 'civicrm_contact'
   }
 
   /**
-   * @param $contactIDs
+   * @param array $contactIDs
    * @param $additionalContacts
    */
   public function activity(&$contactIDs, &$additionalContacts) {
@@ -486,7 +486,7 @@ WHERE ac.contact_id IN ( $ids )
   /**
    * @param int $id
    * @param string $name
-   * @param $value
+   * @param array $value
    */
   public function appendValue($id, $name, $value) {
     if (empty($value)) {
@@ -537,8 +537,8 @@ WHERE ac.contact_id IN ( $ids )
   }
 
   /**
-   * @param $contactIDs
-   * @param $additionalContacts
+   * @param array $contactIDs
+   * @param array $additionalContacts
    */
   public function addAdditionalContacts($contactIDs, &$additionalContacts) {
     if (!$this->_discoverContacts) {
@@ -556,7 +556,7 @@ WHERE ac.contact_id IN ( $ids )
   }
 
   /**
-   * @param $contactIDs
+   * @param array $contactIDs
    */
   public function export(&$contactIDs) {
     $chunks = &$this->splitContactIDs($contactIDs);
@@ -575,7 +575,7 @@ WHERE ac.contact_id IN ( $ids )
 
   /**
    * @param string $fileName
-   * @param null $lastExportTime
+   * @param string $lastExportTime
    * @param bool $discoverContacts
    */
   public function run(
diff --git a/civicrm/CRM/Utils/Migrate/Import.php b/civicrm/CRM/Utils/Migrate/Import.php
index aa4b937ef9..33154adbaf 100644
--- a/civicrm/CRM/Utils/Migrate/Import.php
+++ b/civicrm/CRM/Utils/Migrate/Import.php
@@ -76,9 +76,9 @@ class CRM_Utils_Migrate_Import {
 
   /**
    * @param CRM_Core_DAO $dao
-   * @param $xml
+   * @param SimpleXMLElement $xml
    * @param bool $save
-   * @param null $keyName
+   * @param string $keyName
    *
    * @return bool
    */
@@ -117,8 +117,8 @@ class CRM_Utils_Migrate_Import {
   }
 
   /**
-   * @param $xml
-   * @param $idMap
+   * @param SimpleXMLElement $xml
+   * @param array $idMap
    */
   public function optionGroups(&$xml, &$idMap) {
     foreach ($xml->OptionGroups as $optionGroupsXML) {
@@ -131,8 +131,8 @@ class CRM_Utils_Migrate_Import {
   }
 
   /**
-   * @param $xml
-   * @param $idMap
+   * @param SimpleXMLElement $xml
+   * @param array $idMap
    */
   public function optionValues(&$xml, &$idMap) {
     foreach ($xml->OptionValues as $optionValuesXML) {
@@ -159,7 +159,7 @@ WHERE      v.option_group_id = %1
   }
 
   /**
-   * @param $xml
+   * @param SimpleXMLElement $xml
    */
   public function relationshipTypes(&$xml) {
 
@@ -172,7 +172,7 @@ WHERE      v.option_group_id = %1
   }
 
   /**
-   * @param $xml
+   * @param SimpleXMLElement $xml
    */
   public function contributionTypes(&$xml) {
 
@@ -185,8 +185,8 @@ WHERE      v.option_group_id = %1
   }
 
   /**
-   * @param $xml
-   * @param $idMap
+   * @param SimpleXMLElement $xml
+   * @param array $idMap
    */
   public function customGroups(&$xml, &$idMap) {
     foreach ($xml->CustomGroups as $customGroupsXML) {
@@ -327,8 +327,8 @@ AND        v.name = %1
   }
 
   /**
-   * @param $xml
-   * @param $idMap
+   * @param SimpleXMLElement $xml
+   * @param array $idMap
    */
   public function customFields(&$xml, &$idMap) {
     // Re-index by group id so we can build out the custom fields one table
@@ -362,7 +362,7 @@ AND        v.name = %1
    * Returns an option group's ID, given its name.
    *
    * @param $groupName
-   * @param $idMap
+   * @param array $idMap
    *
    * @return int|null
    */
@@ -379,8 +379,8 @@ AND        v.name = %1
   }
 
   /**
-   * @param $xml
-   * @param $idMap
+   * @param SimpleXMLElement $xml
+   * @param array $idMap
    */
   public function profileGroups(&$xml, &$idMap) {
     foreach ($xml->ProfileGroups as $profileGroupsXML) {
@@ -394,8 +394,8 @@ AND        v.name = %1
   }
 
   /**
-   * @param $xml
-   * @param $idMap
+   * @param SimpleXMLElement $xml
+   * @param array $idMap
    *
    * @throws CRM_Core_Exception
    */
@@ -438,8 +438,8 @@ AND        f.column_name = %2
   }
 
   /**
-   * @param $xml
-   * @param $idMap
+   * @param SimpleXMLElement $xml
+   * @param array $idMap
    */
   public function profileJoins(&$xml, &$idMap) {
     foreach ($xml->ProfileJoins as $profileJoinsXML) {
diff --git a/civicrm/CRM/Utils/Migrate/ImportJSON.php b/civicrm/CRM/Utils/Migrate/ImportJSON.php
index 5f7f64dc5f..bceb75c148 100644
--- a/civicrm/CRM/Utils/Migrate/ImportJSON.php
+++ b/civicrm/CRM/Utils/Migrate/ImportJSON.php
@@ -189,8 +189,8 @@ class CRM_Utils_Migrate_ImportJSON {
   /**
    * @param $chunk
    * @param string $daoName
-   * @param null $lookUpMapping
-   * @param null $dateFields
+   * @param array|null $lookUpMapping
+   * @param array|null $dateFields
    */
   public function restore(&$chunk, $daoName, $lookUpMapping = NULL, $dateFields = NULL) {
     $object = new $daoName();
diff --git a/civicrm/CRM/Utils/Money.php b/civicrm/CRM/Utils/Money.php
index 2d59748678..3cc33e4226 100644
--- a/civicrm/CRM/Utils/Money.php
+++ b/civicrm/CRM/Utils/Money.php
@@ -146,9 +146,9 @@ class CRM_Utils_Money {
    * 1.234 != 1.236 with a currency precision of 2 decimal points
    * 1.300 != 1.200 with a currency precision of 2 decimal points
    *
-   * @param $value1
-   * @param $value2
-   * @param $currency
+   * @param int|float $value1
+   * @param int|float $value2
+   * @param string $currency
    *
    * @return bool
    */
diff --git a/civicrm/CRM/Utils/Network.php b/civicrm/CRM/Utils/Network.php
index fea2788711..a9437cba43 100644
--- a/civicrm/CRM/Utils/Network.php
+++ b/civicrm/CRM/Utils/Network.php
@@ -22,8 +22,8 @@ class CRM_Utils_Network {
   /**
    * Try connecting to a TCP service; if it fails, retry. Repeat until serverStartupTimeOut elapses.
    *
-   * @param $host
-   * @param $port
+   * @param string $host
+   * @param string $port
    * @param int $serverStartupTimeOut
    *   Seconds.
    * @param float $interval
diff --git a/civicrm/CRM/Utils/OptionBag.php b/civicrm/CRM/Utils/OptionBag.php
index 10000dbb67..c6c1ca20e9 100644
--- a/civicrm/CRM/Utils/OptionBag.php
+++ b/civicrm/CRM/Utils/OptionBag.php
@@ -61,7 +61,7 @@ class CRM_Utils_OptionBag implements ArrayAccess, IteratorAggregate, Countable {
   }
 
   /**
-   * @param $key
+   * @param mixed $key
    *
    * @return bool
    */
diff --git a/civicrm/CRM/Utils/PDF/Document.php b/civicrm/CRM/Utils/PDF/Document.php
index 0b796322a2..f0f623bc86 100644
--- a/civicrm/CRM/Utils/PDF/Document.php
+++ b/civicrm/CRM/Utils/PDF/Document.php
@@ -127,9 +127,9 @@ class CRM_Utils_PDF_Document {
   }
 
   /**
-   * @param $value
-   * @param $metric
-   * @return int
+   * @param int $value
+   * @param string $metric
+   * @return float
    */
   public static function toTwip($value, $metric) {
     $point = CRM_Utils_PDF_Utils::convertMetric($value, $metric, 'pt');
diff --git a/civicrm/CRM/Utils/PDF/Utils.php b/civicrm/CRM/Utils/PDF/Utils.php
index 8c97d681a8..a751baa1e3 100644
--- a/civicrm/CRM/Utils/PDF/Utils.php
+++ b/civicrm/CRM/Utils/PDF/Utils.php
@@ -28,7 +28,7 @@ class CRM_Utils_PDF_Utils {
    *   Ex: "HelloWorld.pdf".
    * @param bool $output
    *   FALSE to display PDF. TRUE to return as string.
-   * @param null $pdfFormat
+   * @param array|int|null $pdfFormat
    *   Unclear. Possibly PdfFormat or formValues.
    *
    * @return string|void
@@ -202,11 +202,11 @@ class CRM_Utils_PDF_Utils {
   }
 
   /**
-   * @param $paper_size
-   * @param $orientation
-   * @param $margins
-   * @param $html
-   * @param $output
+   * @param float|int[] $paper_size
+   * @param string $orientation
+   * @param array $margins
+   * @param string $html
+   * @param bool $output
    * @param string $fileName
    */
   public static function _html2pdf_wkhtmltopdf($paper_size, $orientation, $margins, $html, $output, $fileName) {
@@ -234,10 +234,10 @@ class CRM_Utils_PDF_Utils {
   /**
    * convert value from one metric to another.
    *
-   * @param $value
-   * @param $from
-   * @param $to
-   * @param null $precision
+   * @param int $value
+   * @param string $from
+   * @param string $to
+   * @param int|null $precision
    *
    * @return float|int
    */
diff --git a/civicrm/CRM/Utils/QueryFormatter.php b/civicrm/CRM/Utils/QueryFormatter.php
index d54cc0e782..e11fdced70 100644
--- a/civicrm/CRM/Utils/QueryFormatter.php
+++ b/civicrm/CRM/Utils/QueryFormatter.php
@@ -219,7 +219,7 @@ class CRM_Utils_QueryFormatter {
    * Format Fts.
    *
    * @param string $text
-   * @param $mode
+   * @param string $mode
    *
    * @return mixed
    */
@@ -270,7 +270,7 @@ class CRM_Utils_QueryFormatter {
    * Format FTS.
    *
    * @param string $text
-   * @param $mode
+   * @param string $mode
    *
    * @return mixed
    */
@@ -342,8 +342,8 @@ class CRM_Utils_QueryFormatter {
   /**
    * Format like.
    *
-   * @param $text
-   * @param $mode
+   * @param string $text
+   * @param string $mode
    *
    * @return mixed
    */
@@ -425,9 +425,9 @@ class CRM_Utils_QueryFormatter {
   }
 
   /**
-   * @param $text
-   * @param $wildcard
-   * @return mixed
+   * @param string|null $text
+   * @param string $wildcard
+   * @return string|null
    */
   protected function dedupeWildcards($text, $wildcard) {
     if ($text === NULL) {
@@ -471,7 +471,7 @@ class CRM_Utils_QueryFormatter {
   }
 
   /**
-   * @param $text
+   * @param string $text
    *
    * Ex: drush eval 'civicrm_initialize(); CRM_Utils_QueryFormatter::dumpExampleTable("firstword secondword");'
    */
diff --git a/civicrm/CRM/Utils/REST.php b/civicrm/CRM/Utils/REST.php
index 03c7c26d1c..c34b9e1be3 100644
--- a/civicrm/CRM/Utils/REST.php
+++ b/civicrm/CRM/Utils/REST.php
@@ -48,7 +48,7 @@ class CRM_Utils_REST {
    * @param string $var
    *   The string to be echoed.
    *
-   * @return string
+   * @return array
    */
   public static function ping($var = NULL) {
     $session = CRM_Core_Session::singleton();
@@ -399,9 +399,7 @@ class CRM_Utils_REST {
     unset($param['q']);
     $smarty->assign_by_ref("request", $param);
 
-    if (!array_key_exists('HTTP_X_REQUESTED_WITH', $_SERVER) ||
-      $_SERVER['HTTP_X_REQUESTED_WITH'] != "XMLHttpRequest"
-    ) {
+    if (!self::isWebServiceRequest()) {
 
       $smarty->assign('tplFile', $tpl);
       $config = CRM_Core_Config::singleton();
@@ -434,10 +432,7 @@ class CRM_Utils_REST {
 
     require_once 'api/v3/utils.php';
     $config = CRM_Core_Config::singleton();
-    if (!$config->debug && (!array_key_exists('HTTP_X_REQUESTED_WITH', $_SERVER) ||
-        $_SERVER['HTTP_X_REQUESTED_WITH'] != "XMLHttpRequest"
-      )
-    ) {
+    if (!$config->debug && !self::isWebServiceRequest()) {
       $error = civicrm_api3_create_error("SECURITY ALERT: Ajax requests can only be issued by javascript clients, eg. CRM.api3().",
         [
           'IP' => $_SERVER['REMOTE_ADDR'],
@@ -499,11 +494,7 @@ class CRM_Utils_REST {
     // restrict calls to this etc
     // the request has to be sent by an ajax call. First line of protection against csrf
     $config = CRM_Core_Config::singleton();
-    if (!$config->debug &&
-      (!array_key_exists('HTTP_X_REQUESTED_WITH', $_SERVER) ||
-        $_SERVER['HTTP_X_REQUESTED_WITH'] != "XMLHttpRequest"
-      )
-    ) {
+    if (!$config->debug && !self::isWebServiceRequest()) {
       require_once 'api/v3/utils.php';
       $error = civicrm_api3_create_error("SECURITY ALERT: Ajax requests can only be issued by javascript clients, eg. CRM.api3().",
         [
@@ -636,4 +627,51 @@ class CRM_Utils_REST {
     }
   }
 
+  /**
+   * Does this request appear to be a web-service request?
+   *
+   * It is important to distinguish regular browser-page-loads from web-service-requests. Regular
+   * page-loads can be CSRF vectors, and we don't web-services to run via CSRF.
+   *
+   * @return bool
+   *   TRUE if the current request appears to either XMLHttpRequest or non-browser-based.
+   *       Indicated by either (a) custom headers like `X-Request-With`/`X-Civi-Auth`
+   *       or (b) strong-secret-params that could theoretically appear in URL bar but which
+   *       cannot be meaningfully forged for CSRF purposes (like `?api_key=SECRET` or `?_authx=SECRET`).
+   *   FALSE if the current request looks like a standard browser request. This request may be generated by
+   *       <A HREF>, <IFRAME>, <IMG>, `Location:`, or similar CSRF vector.
+   */
+  public static function isWebServiceRequest(): bool {
+    if (($_SERVER['HTTP_X_REQUESTED_WITH'] ?? NULL) === 'XMLHttpRequest') {
+      return TRUE;
+    }
+
+    // If authx is enabled, and if the user gives a credential, it will store metadata.
+    $authx = \CRM_Core_Session::singleton()->get('authx');
+    $allowFlows = [
+      // Some flows are resistant to CSRF. Allow these:
+
+      // <legacyrest> Current request has valid `?api_key=SECRET&key=SECRET` ==> Strong-secret params
+      'legacyrest',
+
+      // <param> Current request has valid `?_authx=SECRET` ==> Strong-secret param
+      'param',
+
+      // <xheader> Current request has valid `X-Civi-Auth:` ==> Custom header AND strong-secret param
+      'xheader',
+
+      // Other flows are not resistant to CSRF on their own (need combo w/`X-Requested-With:`).
+      // Ignore these:
+      // <login> Relies on a session `Cookie:` (which browsers re-send automatically).
+      // <auto> First request might be resistant, but all others use session `Cookie:`.
+      // <header> Browsers often retain list of credentials and re-send automatically.
+    ];
+
+    if (!empty($authx) && in_array($authx['flow'], $allowFlows)) {
+      return TRUE;
+    }
+
+    return FALSE;
+  }
+
 }
diff --git a/civicrm/CRM/Utils/Recent.php b/civicrm/CRM/Utils/Recent.php
index d4fcf923ec..aed16f4132 100644
--- a/civicrm/CRM/Utils/Recent.php
+++ b/civicrm/CRM/Utils/Recent.php
@@ -24,7 +24,14 @@ class CRM_Utils_Recent {
    *
    * @var string
    */
-  const MAX_ITEMS = 30, STORE_NAME = 'CRM_Utils_Recent';
+  const STORE_NAME = 'CRM_Utils_Recent';
+
+  /**
+   * Max number of recent items to store
+   *
+   * @var int
+   */
+  const MAX_ITEMS = 30;
 
   /**
    * The list of recently viewed items.
@@ -76,7 +83,7 @@ class CRM_Utils_Recent {
    *   The link for the above title.
    * @param string $id
    *   Object id.
-   * @param $type
+   * @param string $type
    * @param int $contactId
    * @param string $contactName
    * @param array $others
diff --git a/civicrm/CRM/Utils/Rule.php b/civicrm/CRM/Utils/Rule.php
index 862e4603f7..79004f5ec1 100644
--- a/civicrm/CRM/Utils/Rule.php
+++ b/civicrm/CRM/Utils/Rule.php
@@ -23,7 +23,7 @@ require_once 'HTML/QuickForm/Rule/Email.php';
 class CRM_Utils_Rule {
 
   /**
-   * @param $str
+   * @param string|null $str
    * @param int $maxLength
    *
    * @return bool
@@ -44,7 +44,7 @@ class CRM_Utils_Rule {
   }
 
   /**
-   * @param $str
+   * @param string|null $str
    *
    * @return bool
    */
@@ -53,7 +53,7 @@ class CRM_Utils_Rule {
   }
 
   /**
-   * @param $str
+   * @param string|null $str
    *
    * @return bool
    */
@@ -74,7 +74,7 @@ class CRM_Utils_Rule {
   /**
    * Validate that a string is a valid MySQL column name or alias.
    *
-   * @param $str
+   * @param string|null $str
    *
    * @return bool
    */
@@ -104,7 +104,7 @@ class CRM_Utils_Rule {
    *
    * Empty string should be treated as invalid and ignored => default = ASC.
    *
-   * @param $str
+   * @param string $str
    * @return bool
    */
   public static function mysqlOrderByDirection($str) {
@@ -118,7 +118,7 @@ class CRM_Utils_Rule {
   /**
    * Validate that a string is valid order by clause.
    *
-   * @param $str
+   * @param string $str
    * @return bool
    */
   public static function mysqlOrderBy($str) {
@@ -150,7 +150,7 @@ class CRM_Utils_Rule {
   }
 
   /**
-   * @param $str
+   * @param string $str
    *
    * @return bool
    */
@@ -171,7 +171,7 @@ class CRM_Utils_Rule {
   }
 
   /**
-   * @param $phone
+   * @param string|null $phone
    *
    * @return bool
    */
@@ -189,7 +189,7 @@ class CRM_Utils_Rule {
   }
 
   /**
-   * @param $query
+   * @param string|null $query
    *
    * @return bool
    */
@@ -208,7 +208,7 @@ class CRM_Utils_Rule {
   }
 
   /**
-   * @param $url
+   * @param string|null $url
    *
    * @return bool
    */
@@ -225,7 +225,7 @@ class CRM_Utils_Rule {
   }
 
   /**
-   * @param $url
+   * @param string|null $url
    *
    * @return bool
    */
@@ -238,7 +238,7 @@ class CRM_Utils_Rule {
   }
 
   /**
-   * @param $string
+   * @param string $string
    *
    * @return bool
    */
@@ -248,7 +248,7 @@ class CRM_Utils_Rule {
   }
 
   /**
-   * @param $domain
+   * @param string $domain
    *
    * @return bool
    */
@@ -261,10 +261,10 @@ class CRM_Utils_Rule {
   }
 
   /**
-   * @param $value
-   * @param null $default
+   * @param string $value
+   * @param string|null $default
    *
-   * @return null
+   * @return string|null
    */
   public static function date($value, $default = NULL) {
     if (is_string($value) &&
@@ -276,10 +276,10 @@ class CRM_Utils_Rule {
   }
 
   /**
-   * @param $value
-   * @param null $default
+   * @param string $value
+   * @param string|null $default
    *
-   * @return null|string
+   * @return string|null
    */
   public static function dateTime($value, $default = NULL) {
     $result = $default;
@@ -410,7 +410,7 @@ class CRM_Utils_Rule {
   }
 
   /**
-   * @param $value
+   * @param mixed $value
    *
    * @return bool
    */
@@ -443,7 +443,7 @@ class CRM_Utils_Rule {
   }
 
   /**
-   * @param $value
+   * @param mixed $value
    *
    * @return bool
    */
@@ -462,7 +462,7 @@ class CRM_Utils_Rule {
   }
 
   /**
-   * @param $value
+   * @param mixed $value
    *
    * @return bool
    */
@@ -478,7 +478,7 @@ class CRM_Utils_Rule {
   }
 
   /**
-   * @param $value
+   * @param mixed $value
    *
    * @return bool
    */
@@ -504,7 +504,7 @@ class CRM_Utils_Rule {
    * @see \CRM_Utils_RuleTest::alphanumericData
    *   for examples of vales that give TRUE/FALSE here
    *
-   * @param $value
+   * @param string $value
    *
    * @return bool
    */
@@ -513,8 +513,8 @@ class CRM_Utils_Rule {
   }
 
   /**
-   * @param $value
-   * @param $noOfDigit
+   * @param string $value
+   * @param int $noOfDigit
    *
    * @return bool
    */
@@ -525,7 +525,7 @@ class CRM_Utils_Rule {
   /**
    * Strict validation of 6-digit hex color notation per html5 <input type="color">
    *
-   * @param $value
+   * @param string $value
    * @return bool
    */
   public static function color($value) {
@@ -587,7 +587,7 @@ class CRM_Utils_Rule {
   }
 
   /**
-   * @param $value
+   * @param string $value
    *
    * @return bool
    */
@@ -605,7 +605,7 @@ class CRM_Utils_Rule {
   }
 
   /**
-   * @param $value
+   * @param mixed $value
    * @param int $maxLength
    *
    * @return bool
@@ -620,7 +620,7 @@ class CRM_Utils_Rule {
   }
 
   /**
-   * @param $value
+   * @param bool|string $value
    *
    * @return bool
    */
@@ -635,7 +635,7 @@ class CRM_Utils_Rule {
   }
 
   /**
-   * @param $value
+   * @param mixed $value
    *
    * @return bool
    */
@@ -697,7 +697,7 @@ class CRM_Utils_Rule {
    * allow between 4-6 digits as postal code since india needs 6 and US needs 5 (or
    * if u disregard the first 0, 4 (thanx excel!)
    * FIXME: we need to figure out how to localize such rules
-   * @param $value
+   * @param string $value
    *
    * @return bool
    */
@@ -755,24 +755,6 @@ class CRM_Utils_Rule {
     return $success;
   }
 
-  /**
-   * See how file rules are written in HTML/QuickForm/file.php
-   * Checks to make sure the uploaded file is html
-   *
-   * @param array $elementValue
-   *
-   * @return bool
-   *   True if file has been uploaded, false otherwise
-   */
-  public static function htmlFile($elementValue) {
-    if ((isset($elementValue['error']) && $elementValue['error'] == 0) ||
-      (!empty($elementValue['tmp_name']) && $elementValue['tmp_name'] != 'none')
-    ) {
-      return CRM_Utils_File::isHtmlFile($elementValue['tmp_name']);
-    }
-    return FALSE;
-  }
-
   /**
    * Check if there is a record with the same name in the db.
    *
@@ -804,8 +786,8 @@ class CRM_Utils_Rule {
   }
 
   /**
-   * @param $value
-   * @param $type
+   * @param string $value
+   * @param string $type
    *
    * @return bool
    */
@@ -814,8 +796,8 @@ class CRM_Utils_Rule {
   }
 
   /**
-   * @param $value
-   * @param $type
+   * @param string $value
+   * @param string $type
    *
    * @return bool
    */
@@ -824,7 +806,7 @@ class CRM_Utils_Rule {
   }
 
   /**
-   * @param $value
+   * @param mixed $value
    *
    * @return bool
    */
@@ -856,7 +838,7 @@ class CRM_Utils_Rule {
   }
 
   /**
-   * @param $path
+   * @param string $path
    *
    * @return bool
    */
@@ -878,8 +860,8 @@ class CRM_Utils_Rule {
   }
 
   /**
-   * @param $value
-   * @param null $actualElementValue
+   * @param mixed $value
+   * @param mixed $actualElementValue
    *
    * @return bool
    */
@@ -944,7 +926,7 @@ class CRM_Utils_Rule {
   }
 
   /**
-   * @param $key
+   * @param mixed $key
    *
    * @return bool
    */
diff --git a/civicrm/CRM/Utils/SQL/BaseParamQuery.php b/civicrm/CRM/Utils/SQL/BaseParamQuery.php
index 20125db2bd..b0bf8633d0 100644
--- a/civicrm/CRM/Utils/SQL/BaseParamQuery.php
+++ b/civicrm/CRM/Utils/SQL/BaseParamQuery.php
@@ -139,7 +139,7 @@ class CRM_Utils_SQL_BaseParamQuery implements ArrayAccess {
   }
 
   /**
-   * @param string|NULL $value
+   * @param string|null $value
    * @return string
    *   SQL expression, e.g. "it\'s great" (with-quotes) or NULL (without-quotes)
    */
diff --git a/civicrm/CRM/Utils/SQL/Delete.php b/civicrm/CRM/Utils/SQL/Delete.php
index b31a7162eb..af7eba56f6 100644
--- a/civicrm/CRM/Utils/SQL/Delete.php
+++ b/civicrm/CRM/Utils/SQL/Delete.php
@@ -105,7 +105,7 @@ class CRM_Utils_SQL_Delete extends CRM_Utils_SQL_BaseParamQuery {
    * Merge something or other.
    *
    * @param CRM_Utils_SQL_Delete $other
-   * @param array|NULL $parts
+   * @param array|null $parts
    *   ex: 'wheres'
    * @return CRM_Utils_SQL_Delete
    */
@@ -177,7 +177,7 @@ class CRM_Utils_SQL_Delete extends CRM_Utils_SQL_BaseParamQuery {
   }
 
   /**
-   * @param array|NULL $parts
+   * @param array|null $parts
    *   List of fields to check (e.g. 'wheres').
    *   Defaults to all.
    * @return bool
@@ -224,7 +224,7 @@ class CRM_Utils_SQL_Delete extends CRM_Utils_SQL_BaseParamQuery {
    * To examine the results, use a function like `fetch()`, `fetchAll()`,
    * `fetchValue()`, or `fetchMap()`.
    *
-   * @param string|NULL $daoName
+   * @param string|null $daoName
    *   The return object should be an instance of this class.
    *   Ex: 'CRM_Contact_BAO_Contact'.
    * @param bool $i18nRewrite
diff --git a/civicrm/CRM/Utils/SQL/Insert.php b/civicrm/CRM/Utils/SQL/Insert.php
index f70cbc5d80..96970e23c5 100644
--- a/civicrm/CRM/Utils/SQL/Insert.php
+++ b/civicrm/CRM/Utils/SQL/Insert.php
@@ -158,7 +158,7 @@ class CRM_Utils_SQL_Insert {
   /**
    * Escape string.
    *
-   * @param string|NULL $value
+   * @param string|null $value
    *
    * @return string
    *   SQL expression, e.g. "it\'s great" (with-quotes) or NULL (without-quotes)
diff --git a/civicrm/CRM/Utils/SQL/Select.php b/civicrm/CRM/Utils/SQL/Select.php
index fa21fbde6f..94452cf946 100644
--- a/civicrm/CRM/Utils/SQL/Select.php
+++ b/civicrm/CRM/Utils/SQL/Select.php
@@ -128,7 +128,7 @@ class CRM_Utils_SQL_Select extends CRM_Utils_SQL_BaseParamQuery {
    * Merge something or other.
    *
    * @param array|CRM_Utils_SQL_Select $other
-   * @param array|NULL $parts
+   * @param array|null $parts
    *   ex: 'joins', 'wheres'
    * @return CRM_Utils_SQL_Select
    */
@@ -180,7 +180,7 @@ class CRM_Utils_SQL_Select extends CRM_Utils_SQL_BaseParamQuery {
    * Note: To add multiple JOINs at once, use $name===NULL and
    * pass an array of $exprs.
    *
-   * @param string|NULL $name
+   * @param string|null $name
    *   The effective alias of the joined table.
    * @param string|array $exprs
    *   The complete join expression (eg "INNER JOIN mytable myalias ON mytable.id = maintable.foo_id").
@@ -443,7 +443,7 @@ class CRM_Utils_SQL_Select extends CRM_Utils_SQL_BaseParamQuery {
   }
 
   /**
-   * @param array|NULL $parts
+   * @param array|null $parts
    *   List of fields to check (e.g. 'selects', 'joins').
    *   Defaults to all.
    * @return bool
@@ -540,7 +540,7 @@ class CRM_Utils_SQL_Select extends CRM_Utils_SQL_BaseParamQuery {
    * To examine the results, use a function like `fetch()`, `fetchAll()`,
    * `fetchValue()`, or `fetchMap()`.
    *
-   * @param string|NULL $daoName
+   * @param string|null $daoName
    *   The return object should be an instance of this class.
    *   Ex: 'CRM_Contact_BAO_Contact'.
    * @param bool $i18nRewrite
diff --git a/civicrm/CRM/Utils/SQL/TempTable.php b/civicrm/CRM/Utils/SQL/TempTable.php
index 89ed932432..567b282d56 100644
--- a/civicrm/CRM/Utils/SQL/TempTable.php
+++ b/civicrm/CRM/Utils/SQL/TempTable.php
@@ -187,7 +187,7 @@ class CRM_Utils_SQL_TempTable {
   /**
    * @param string $action
    *   Ex: 'CREATE', 'DROP'
-   * @param string|NULL $ifne
+   * @param string|null $ifne
    *   Ex: 'IF EXISTS', 'IF NOT EXISTS'.
    * @return string
    *   Ex: 'CREATE TEMPORARY TABLE `civicrm_tmp_e_foo_abcd1234`'
@@ -268,7 +268,7 @@ class CRM_Utils_SQL_TempTable {
   }
 
   /**
-   * @param string|NULL $category
+   * @param string|null $category
    *
    * @return CRM_Utils_SQL_TempTable
    */
diff --git a/civicrm/CRM/Utils/SameSite.php b/civicrm/CRM/Utils/SameSite.php
index 0431761aae..6ed0142256 100644
--- a/civicrm/CRM/Utils/SameSite.php
+++ b/civicrm/CRM/Utils/SameSite.php
@@ -33,7 +33,7 @@ class CRM_Utils_SameSite {
   /**
    * Determine if the current User Agent can handle the `SameSite=None` parameter.
    *
-   * @param str $userAgent The User Agent.
+   * @param string $userAgent
    * @return bool True if the User Agent is compatible, FALSE otherwise.
    */
   public static function shouldSendSameSiteNone($userAgent) {
@@ -43,7 +43,7 @@ class CRM_Utils_SameSite {
   /**
    * Detect classes of browsers known to be incompatible.
    *
-   * @param str $userAgent The User Agent.
+   * @param string $userAgent The User Agent.
    * @return bool True if the User Agent is determined to be incompatible, FALSE otherwise.
    */
   private static function isSameSiteNoneIncompatible($userAgent) {
@@ -58,7 +58,7 @@ class CRM_Utils_SameSite {
    * These versions will erroneously treat cookies marked with `SameSite=None`
    * as if they were marked `SameSite=Strict`.
    *
-   * @param str $userAgent The User Agent.
+   * @param string $userAgent The User Agent.
    * @return bool
    */
   private static function hasWebKitSameSiteBug($userAgent) {
@@ -74,7 +74,7 @@ class CRM_Utils_SameSite {
    * but with the addition of the new "None" value to the specification, this
    * behavior has been updated in newer versions of UC Browser.
    *
-   * @param str $userAgent The User Agent.
+   * @param string $userAgent The User Agent.
    * @return bool
    */
   private static function dropsUnrecognizedSameSiteCookies($userAgent) {
@@ -91,7 +91,7 @@ class CRM_Utils_SameSite {
    * Detect iOS version.
    *
    * @param int $major The major version to test.
-   * @param str $userAgent The User Agent.
+   * @param string $userAgent The User Agent.
    * @return bool
    */
   private static function isIosVersion($major, $userAgent) {
@@ -112,7 +112,7 @@ class CRM_Utils_SameSite {
    *
    * @param int $major The major version to test.
    * @param int $minor The minor version to test.
-   * @param str $userAgent The User Agent.
+   * @param string $userAgent The User Agent.
    * @return bool
    */
   private static function isMacosxVersion($major, $minor, $userAgent) {
@@ -131,7 +131,7 @@ class CRM_Utils_SameSite {
   /**
    * Detect MacOS Safari.
    *
-   * @param str $userAgent The User Agent.
+   * @param string $userAgent The User Agent.
    * @return bool
    */
   private static function isSafari($userAgent) {
@@ -142,7 +142,7 @@ class CRM_Utils_SameSite {
   /**
    * Detect MacOS embedded browser.
    *
-   * @param str $userAgent The User Agent.
+   * @param string $userAgent The User Agent.
    * @return FALSE|int
    */
   private static function isMacEmbeddedBrowser($userAgent) {
@@ -153,7 +153,7 @@ class CRM_Utils_SameSite {
   /**
    * Detect if browser is Chromium based.
    *
-   * @param str $userAgent The User Agent.
+   * @param string $userAgent The User Agent.
    * @return FALSE|int
    */
   private static function isChromiumBased($userAgent) {
@@ -165,8 +165,8 @@ class CRM_Utils_SameSite {
    * Detect if Chromium version meets requirements.
    *
    * @param int $major The major version to test.
-   * @param str $userAgent The User Agent.
-   * @param str $operator
+   * @param string $userAgent The User Agent.
+   * @param string $operator
    * @return bool|int
    */
   private static function isChromiumVersionAtLeast($major, $userAgent, $operator) {
@@ -184,7 +184,7 @@ class CRM_Utils_SameSite {
   /**
    * Detect UCBrowser.
    *
-   * @param str $userAgent The User Agent.
+   * @param string $userAgent The User Agent.
    * @return FALSE|int
    */
   private static function isUcBrowser($userAgent) {
@@ -198,7 +198,7 @@ class CRM_Utils_SameSite {
    * @param int $major The major version to test.
    * @param int $minor The minor version to test.
    * @param int $build The build version to test.
-   * @param str $userAgent The User Agent.
+   * @param string $userAgent The User Agent.
    * @return bool|int
    */
   private static function isUcBrowserVersionAtLeast($major, $minor, $build, $userAgent) {
diff --git a/civicrm/CRM/Utils/Sort.php b/civicrm/CRM/Utils/Sort.php
index a18e106118..691aef877f 100644
--- a/civicrm/CRM/Utils/Sort.php
+++ b/civicrm/CRM/Utils/Sort.php
@@ -29,14 +29,14 @@ class CRM_Utils_Sort {
    *
    * @var int
    */
-  const ASCENDING = 1, DESCENDING = 2, DONTCARE = 4,
+  const ASCENDING = 1, DESCENDING = 2, DONTCARE = 4;
 
-    /**
-     * The name for the sort GET/POST param
-     *
-     * @var string
-     */
-    SORT_ID = 'crmSID', SORT_DIRECTION = 'crmSortDirection', SORT_ORDER = 'crmSortOrder';
+  /**
+   * The name for the sort GET/POST param
+   *
+   * @var string
+   */
+  const SORT_ID = 'crmSID', SORT_DIRECTION = 'crmSortDirection', SORT_ORDER = 'crmSortOrder';
 
   /**
    * Name of the sort function. Used to isolate session variables
@@ -251,8 +251,8 @@ class CRM_Utils_Sort {
   /**
    * Universal callback function for sorting by weight, id, title or name
    *
-   * @param $a
-   * @param $b
+   * @param array $a
+   * @param array $b
    *
    * @return int
    *   (-1 or 1)
diff --git a/civicrm/CRM/Utils/String.php b/civicrm/CRM/Utils/String.php
index 1cb1e8cbc2..1acf1d68cd 100644
--- a/civicrm/CRM/Utils/String.php
+++ b/civicrm/CRM/Utils/String.php
@@ -43,12 +43,14 @@ class CRM_Utils_String {
   public static function titleToVar($title, $maxLength = 31) {
     $variable = self::munge($title, '_', $maxLength);
 
+    // FIXME: nothing below this line makes sense. The above call to self::munge will always
+    // return a safe string of the correct length, so why are we now checking if it's a safe
+    // string of the correct length?
     if (CRM_Utils_Rule::title($variable, $maxLength)) {
       return $variable;
     }
 
-    // if longer than the maxLength lets just return a substr of the
-    // md5 to prevent errors downstream
+    // FIXME: When would this ever be reachable?
     return substr(md5($title), 0, $maxLength);
   }
 
@@ -420,7 +422,7 @@ class CRM_Utils_String {
    * @param string $str
    *   The string to be translated.
    *
-   * @return bool
+   * @return string|false
    */
   public static function strtoboolstr($str) {
     if (!is_scalar($str)) {
@@ -690,10 +692,10 @@ class CRM_Utils_String {
    * "admin foo" => array(NULL,"admin foo")
    * "cms:admin foo" => array("cms", "admin foo")
    *
-   * @param $delim
+   * @param string $delim
    * @param string $string
    *   E.g. "view all contacts". Syntax: "[prefix:]name".
-   * @param null $defaultPrefix
+   * @param string|null $defaultPrefix
    *
    * @return array
    *   (0 => string|NULL $prefix, 1 => string $value)
@@ -951,7 +953,7 @@ class CRM_Utils_String {
    * safe, standard data interchange formats such as JSON rather than PHP's
    * serialization format when dealing with user input.
    *
-   * @param string|NULL $string
+   * @param string|null $string
    *
    * @return mixed
    */
diff --git a/civicrm/CRM/Utils/System.php b/civicrm/CRM/Utils/System.php
index b445a04e09..29c9bff456 100644
--- a/civicrm/CRM/Utils/System.php
+++ b/civicrm/CRM/Utils/System.php
@@ -22,21 +22,22 @@
  *
  * FIXME: This is a massive and random collection that could be split into smaller services
  *
+ * @method static void getCMSPermissionsUrlParams() Immediately stop script execution and display a 401 "Access Denied" page.
  * @method static mixed permissionDenied() Show access denied screen.
  * @method static mixed logout() Log out the current user.
  * @method static mixed updateCategories() Clear CMS caches related to the user registration/profile forms.
- * @method static appendBreadCrumb(array $breadCrumbs) Append an additional breadcrumb tag to the existing breadcrumbs.
- * @method static resetBreadCrumb() Reset an additional breadcrumb tag to the existing breadcrumb.
- * @method static addHTMLHead(string $bc) Append a string to the head of the HTML file.
+ * @method static void appendBreadCrumb(array $breadCrumbs) Append an additional breadcrumb tag to the existing breadcrumbs.
+ * @method static void resetBreadCrumb() Reset an additional breadcrumb tag to the existing breadcrumb.
+ * @method static void addHTMLHead(string $head) Append a string to the head of the HTML file.
  * @method static string postURL(int $action) Determine the post URL for a form.
  * @method static string|null getUFLocale() Get the locale of the CMS.
  * @method static bool setUFLocale(string $civicrm_language) Set the locale of the CMS.
  * @method static bool isUserLoggedIn() Check if user is logged in.
  * @method static int getLoggedInUfID() Get current logged in user id.
- * @method static setHttpHeader(string $name, string $value) Set http header.
+ * @method static void setHttpHeader(string $name, string $value) Set http header.
  * @method static array synchronizeUsers() Create CRM contacts for all existing CMS users.
- * @method static appendCoreResources(\Civi\Core\Event\GenericHookEvent $e) Callback for hook_civicrm_coreResourceList.
- * @method static alterAssetUrl(\Civi\Core\Event\GenericHookEvent $e) Callback for hook_civicrm_getAssetUrl.
+ * @method static void appendCoreResources(\Civi\Core\Event\GenericHookEvent $e) Callback for hook_civicrm_coreResourceList.
+ * @method static void alterAssetUrl(\Civi\Core\Event\GenericHookEvent $e) Callback for hook_civicrm_getAssetUrl.
  */
 class CRM_Utils_System {
 
@@ -949,7 +950,7 @@ class CRM_Utils_System {
    *   (optional) Whether to log the memory usage information.
    */
   public static function xMemory($title = NULL, $log = FALSE) {
-    $mem = (float ) xdebug_memory_usage() / (float ) (1024);
+    $mem = (float) xdebug_memory_usage() / (float) (1024);
     $mem = number_format($mem, 5) . ", " . time();
     if ($log) {
       echo "<p>$title: $mem<p>";
@@ -1246,7 +1247,7 @@ class CRM_Utils_System {
   /**
    * Redirect to SSL.
    *
-   * @param bool|FALSE $abort
+   * @param bool|false $abort
    *
    * @throws \CRM_Core_Exception
    */
@@ -1360,14 +1361,13 @@ class CRM_Utils_System {
    *   Title of documentation wiki page.
    * @param bool $URLonly
    *   (optional) Whether to return URL only or full HTML link (default).
-   * @param string $text
+   * @param string|null $text
    *   (optional) Text of HTML link (no effect if $URLonly = false).
-   * @param string $title
+   * @param string|null $title
    *   (optional) Tooltip text for HTML link (no effect if $URLonly = false)
-   * @param string $style
+   * @param string|null $style
    *   (optional) Style attribute value for HTML link (no effect if $URLonly = false)
-   *
-   * @param null $resource
+   * @param string|null $resource
    *
    * @return string
    *   URL or link to documentation page, based on provided parameters.
@@ -1824,7 +1824,7 @@ class CRM_Utils_System {
   /**
    * Evaluate any tokens in a URL.
    *
-   * @param string|FALSE $url
+   * @param string|false $url
    *
    * @return string|FALSE
    */
diff --git a/civicrm/CRM/Utils/System/Backdrop.php b/civicrm/CRM/Utils/System/Backdrop.php
index 692669e82f..8dbf872783 100644
--- a/civicrm/CRM/Utils/System/Backdrop.php
+++ b/civicrm/CRM/Utils/System/Backdrop.php
@@ -920,7 +920,8 @@ AND    u.status = 1
   /**
    * Check if a resource url is within the Backdrop directory and format appropriately.
    *
-   * @param $url (reference)
+   * @param string $url
+   *   URL (reference).
    *
    * @return bool
    *   TRUE for internal paths, FALSE for external. The backdrop_add_js fn is able to add js more
diff --git a/civicrm/CRM/Utils/System/Base.php b/civicrm/CRM/Utils/System/Base.php
index f163aea7dd..a4660834c5 100644
--- a/civicrm/CRM/Utils/System/Base.php
+++ b/civicrm/CRM/Utils/System/Base.php
@@ -357,7 +357,7 @@ abstract class CRM_Utils_System_Base {
   /**
    * Get the relative path to the sites base url.
    *
-   * @return bool
+   * @return string|false
    */
   public function getRelativeBaseURL() {
     $absoluteBaseURL = $this->getAbsoluteBaseURL();
diff --git a/civicrm/CRM/Utils/System/Drupal6.php b/civicrm/CRM/Utils/System/Drupal6.php
index 5db5f33d3c..18f737761d 100644
--- a/civicrm/CRM/Utils/System/Drupal6.php
+++ b/civicrm/CRM/Utils/System/Drupal6.php
@@ -246,7 +246,8 @@ class CRM_Utils_System_Drupal6 extends CRM_Utils_System_DrupalBase {
   /**
    * Add a css file.
    *
-   * @param $url : string, absolute path to file
+   * @param string $url
+   *   absolute path to file
    * @param string $region
    *   location within the document: 'html-header', 'page-header', 'page-footer'.
    *
diff --git a/civicrm/CRM/Utils/System/Drupal8.php b/civicrm/CRM/Utils/System/Drupal8.php
index 00c035499c..d52e4c457b 100644
--- a/civicrm/CRM/Utils/System/Drupal8.php
+++ b/civicrm/CRM/Utils/System/Drupal8.php
@@ -252,7 +252,7 @@ class CRM_Utils_System_Drupal8 extends CRM_Utils_System_DrupalBase {
    * FIXME: This is not a legacy function and the above is not a safe assumption.
    * External urls are allowed by CRM_Core_Resources and this needs to return the correct value.
    *
-   * @param $url
+   * @param string $url
    *
    * @return bool
    */
diff --git a/civicrm/CRM/Utils/System/DrupalBase.php b/civicrm/CRM/Utils/System/DrupalBase.php
index 075f9d973e..b25d6fc823 100644
--- a/civicrm/CRM/Utils/System/DrupalBase.php
+++ b/civicrm/CRM/Utils/System/DrupalBase.php
@@ -89,7 +89,8 @@ abstract class CRM_Utils_System_DrupalBase extends CRM_Utils_System_Base {
   /**
    * Check if a resource url is within the drupal directory and format appropriately.
    *
-   * @param $url (reference)
+   * @param string $url
+   *   URL (reference).
    *
    * @return bool
    *   TRUE for internal paths, FALSE for external. The drupal_add_js fn is able to add js more
diff --git a/civicrm/CRM/Utils/System/WordPress.php b/civicrm/CRM/Utils/System/WordPress.php
index ecb3abd394..241eeaca6c 100644
--- a/civicrm/CRM/Utils/System/WordPress.php
+++ b/civicrm/CRM/Utils/System/WordPress.php
@@ -783,7 +783,7 @@ class CRM_Utils_System_WordPress extends CRM_Utils_System_Base {
   }
 
   /**
-   * @param $dir
+   * @param string $dir
    *
    * @return bool
    */
@@ -963,7 +963,7 @@ class CRM_Utils_System_WordPress extends CRM_Utils_System_Base {
 
   /**
    * @param array $params
-   * @param $errors
+   * @param array $errors
    * @param string $emailName
    */
   public function checkUserNameEmailExists(&$params, &$errors, $emailName = 'email') {
@@ -1401,8 +1401,8 @@ class CRM_Utils_System_WordPress extends CRM_Utils_System_Base {
    * is only as of PHP 7.3.0 that the setcookie() method supports the "SameSite"
    * attribute in its options and will accept "None" as a valid value.
    *
-   * @param $name The name of the cookie.
-   * @param $value The value of the cookie.
+   * @param string $name The name of the cookie.
+   * @param string $value The value of the cookie.
    * @param array $options The header options for the cookie.
    */
   private function setAuthCookie($name, $value, $options) {
diff --git a/civicrm/CRM/Utils/Token.php b/civicrm/CRM/Utils/Token.php
index dea929d99a..23910f3634 100644
--- a/civicrm/CRM/Utils/Token.php
+++ b/civicrm/CRM/Utils/Token.php
@@ -855,7 +855,7 @@ class CRM_Utils_Token {
    *
    * @deprecated
    *
-   * @param $str ref to the string that will be scanned and modified
+   * @param string $str ref to the string that will be scanned and modified
    */
   public static function unescapeTokens(&$str) {
     $str = preg_replace('/\\\\|\{(\{\w+\.\w+\})\}/', '\\1', $str);
diff --git a/civicrm/CRM/Utils/VersionCheck.php b/civicrm/CRM/Utils/VersionCheck.php
index fbb05a1929..4a9407f5db 100644
--- a/civicrm/CRM/Utils/VersionCheck.php
+++ b/civicrm/CRM/Utils/VersionCheck.php
@@ -178,6 +178,7 @@ class CRM_Utils_VersionCheck {
    * Add info to the 'entities' array
    */
   private function getEntityStats() {
+    // FIXME hardcoded list = bad
     $tables = [
       'CRM_Activity_DAO_Activity' => 'is_test = 0',
       'CRM_Case_DAO_Case' => 'is_deleted = 0',
@@ -203,15 +204,18 @@ class CRM_Utils_VersionCheck {
       'CRM_Mailing_Event_DAO_Delivered' => NULL,
     ];
     foreach ($tables as $daoName => $where) {
-      $dao = new $daoName();
-      if ($where) {
-        $dao->whereAdd($where);
+      if (class_exists($daoName)) {
+        /* @var \CRM_Core_DAO $dao */
+        $dao = new $daoName();
+        if ($where) {
+          $dao->whereAdd($where);
+        }
+        $short_name = substr($daoName, strrpos($daoName, '_') + 1);
+        $this->stats['entities'][] = [
+          'name' => $short_name,
+          'size' => $dao->count(),
+        ];
       }
-      $short_name = substr($daoName, strrpos($daoName, '_') + 1);
-      $this->stats['entities'][] = [
-        'name' => $short_name,
-        'size' => $dao->count(),
-      ];
     }
   }
 
diff --git a/civicrm/CRM/Utils/Weight.php b/civicrm/CRM/Utils/Weight.php
index ec0176c614..843115bff3 100644
--- a/civicrm/CRM/Utils/Weight.php
+++ b/civicrm/CRM/Utils/Weight.php
@@ -271,11 +271,12 @@ class CRM_Utils_Weight {
    *   Field => value to be used in the WHERE.
    * @param string $queryData
    *   Data to be used, dependent on the query type.
-   * @param null $additionalWhere
-   * @param string $orderBy
+   * @param string|null $additionalWhere
+   *   Optional WHERE field.
+   * @param string|null $orderBy
    *   Optional ORDER BY field.
-   *
-   * @param null $groupBy
+   * @param string|null $groupBy
+   *   Optional GROU{} BY field.
    *
    * @return CRM_Core_DAO
    *   objet that holds the results of the query
@@ -352,11 +353,11 @@ class CRM_Utils_Weight {
   }
 
   /**
-   * @param $rows
+   * @param array $rows
    * @param string $daoName
    * @param string $idName
-   * @param $returnURL
-   * @param null $filter
+   * @param string $returnURL
+   * @param string|null $filter
    */
   public static function addOrder(&$rows, $daoName, $idName, $returnURL, $filter = NULL) {
     if (empty($rows)) {
@@ -497,7 +498,7 @@ class CRM_Utils_Weight {
   }
 
   /**
-   * @param $url
+   * @param string $url
    */
   public static function fixOrderOutput($url) {
     if (empty($_GET['snippet']) || $_GET['snippet'] !== 'json') {
diff --git a/civicrm/CRM/Utils/XML.php b/civicrm/CRM/Utils/XML.php
index 47619c1c6a..12eb7a629e 100644
--- a/civicrm/CRM/Utils/XML.php
+++ b/civicrm/CRM/Utils/XML.php
@@ -18,7 +18,7 @@ class CRM_Utils_XML {
   /**
    * Read a well-formed XML file
    *
-   * @param $file
+   * @param string $file
    *
    * @return array
    *   (0 => SimpleXMLElement|FALSE, 1 => errorMessage|FALSE)
diff --git a/civicrm/CRM/Utils/Zip.php b/civicrm/CRM/Utils/Zip.php
index a7dd244072..0337bd9b9d 100644
--- a/civicrm/CRM/Utils/Zip.php
+++ b/civicrm/CRM/Utils/Zip.php
@@ -80,7 +80,7 @@ class CRM_Utils_Zip {
    * Determine the name of the folder within a zip.
    *
    * @param ZipArchive $zip
-   * @param $expected
+   * @param string $expected
    *
    * @return string|bool
    *   Return string or FALSE
diff --git a/civicrm/Civi.php b/civicrm/Civi.php
index f087d19c8d..3c9d71f929 100644
--- a/civicrm/Civi.php
+++ b/civicrm/Civi.php
@@ -105,6 +105,29 @@ class Civi {
     return \Civi\Core\Container::getBootService('paths');
   }
 
+  /**
+   * Fetch a queue object.
+   *
+   * Note: Historically, `CRM_Queue_Queue` objects were not persistently-registered. Persistence
+   * is now encouraged. This facade has a bias towards persistently-registered queues.
+   *
+   * @param string $name
+   *   The name of a persistent/registered queue (stored in `civicrm_queue`)
+   * @param array{type: string, is_autorun: bool, reset: bool, is_persistent: bool} $params
+   *   Specification for a queue.
+   *   This is not required for accessing an existing queue.
+   *   Specify this if you wish to auto-create the queue or to include advanced options (eg `reset`).
+   *   Example: ['type' => 'SqlParallel']
+   *   Defaults: ['reset'=>FALSE, 'is_persistent'=>TRUE, 'is_autorun'=>FALSE]
+   * @return \CRM_Queue_Queue
+   * @see \CRM_Queue_Service
+   */
+  public static function queue(string $name, array $params = []): CRM_Queue_Queue {
+    $defaults = ['reset' => FALSE, 'is_persistent' => TRUE];
+    $params = array_merge($defaults, $params, ['name' => $name]);
+    return CRM_Queue_Service::singleton()->create($params);
+  }
+
   /**
    * Obtain the formatting object.
    *
@@ -114,6 +137,32 @@ class Civi {
     return new Civi\Core\Format();
   }
 
+  /**
+   * Initiate a bidirectional pipe for exchanging a series of multiple API requests.
+   *
+   * @param string $negotiationFlags
+   *   List of pipe initialization flags. Some combination of the following:
+   *    - 'v': Report version in connection header.
+   *    - 'j': Report JSON-RPC flavors in connection header.
+   *    - 'l': Report on login support in connection header.
+   *    - 't': Trusted session. Logins do not require credentials. API calls may execute with or without permission-checks.
+   *    - 'u': Untrusted session. Logins require credentials. API calls may only execute with permission-checks.
+   *
+   *   The `Civi::pipe()` entry-point is designed to be amenable to shell orchestration (SSH/cv/drush/wp-cli/etc).
+   *   The negotiation flags are therefore condensed to individual characters.
+   *
+   *   It is possible to preserve compatibility while adding new default-flags. However, removing default-flags
+   *   is more likely to be a breaking-change.
+   *
+   *   When adding a new flag, consider whether mutable `option()`s may be more appropriate.
+   * @see \Civi\Pipe\PipeSession
+   */
+  public static function pipe(string $negotiationFlags = 'vtl'): void {
+    Civi::service('civi.pipe')
+      ->setIO(STDIN, STDOUT)
+      ->run($negotiationFlags);
+  }
+
   /**
    * Fetch a service from the container.
    *
diff --git a/civicrm/Civi/API/Exception/NotImplementedException.php b/civicrm/Civi/API/Exception/NotImplementedException.php
index b8f253f13e..6deb57071d 100644
--- a/civicrm/Civi/API/Exception/NotImplementedException.php
+++ b/civicrm/Civi/API/Exception/NotImplementedException.php
@@ -16,7 +16,7 @@ class NotImplementedException extends \API_Exception {
    *   Extra params to return. eg an extra array of ids. It is not mandatory,
    *   but can help the computer using the api. Keep in mind the api consumer
    *   isn't to be trusted. eg. the database password is NOT a good extra data.
-   * @param \Exception|NULL $previous
+   * @param \Exception|null $previous
    *   A previous exception which caused this new exception.
    */
   public function __construct($message, $extraParams = [], \Exception $previous = NULL) {
diff --git a/civicrm/Civi/API/Exception/UnauthorizedException.php b/civicrm/Civi/API/Exception/UnauthorizedException.php
index 4e3bdbf737..12e44bda3d 100644
--- a/civicrm/Civi/API/Exception/UnauthorizedException.php
+++ b/civicrm/Civi/API/Exception/UnauthorizedException.php
@@ -16,7 +16,7 @@ class UnauthorizedException extends \API_Exception {
    *   Extra params to return. eg an extra array of ids. It is not mandatory,
    *   but can help the computer using the api. Keep in mind the api consumer
    *   isn't to be trusted. eg. the database password is NOT a good extra data.
-   * @param \Exception|NULL $previous
+   * @param \Exception|null $previous
    *   A previous exception which caused this new exception.
    */
   public function __construct($message, $extraParams = [], \Exception $previous = NULL) {
diff --git a/civicrm/Civi/API/Request.php b/civicrm/Civi/API/Request.php
index 45616d4d12..3a8d2da50b 100644
--- a/civicrm/Civi/API/Request.php
+++ b/civicrm/Civi/API/Request.php
@@ -57,7 +57,7 @@ class Request {
         }
         // Check enabled components
         $daoName = \CRM_Core_DAO_AllCoreTables::getFullName($entity);
-        if ($daoName && defined("{$daoName}::COMPONENT") && !array_key_exists($daoName::COMPONENT, \CRM_Core_Component::getEnabledComponents())) {
+        if ($daoName && defined("{$daoName}::COMPONENT") && !\CRM_Core_Component::isEnabled($daoName::COMPONENT)) {
           throw new \Civi\API\Exception\NotImplementedException("$entity API is not available because " . $daoName::COMPONENT . " component is disabled");
         }
         $apiRequest = call_user_func_array($callable, $e->args);
diff --git a/civicrm/Civi/API/Subscriber/DynamicFKAuthorization.php b/civicrm/Civi/API/Subscriber/DynamicFKAuthorization.php
index a4b92bd3ef..225a00b402 100644
--- a/civicrm/Civi/API/Subscriber/DynamicFKAuthorization.php
+++ b/civicrm/Civi/API/Subscriber/DynamicFKAuthorization.php
@@ -119,7 +119,7 @@ class DynamicFKAuthorization implements EventSubscriberInterface {
    *   See docblock in DynamicFKAuthorization::$lookupDelegateSql.
    * @param string $lookupCustomFieldSql
    *   See docblock in DynamicFKAuthorization::$lookupCustomFieldSql.
-   * @param array|NULL $allowedDelegates
+   * @param array|null $allowedDelegates
    *   e.g. "civicrm_mailing","civicrm_activity"; NULL to allow any.
    */
   public function __construct($kernel, $entityName, $actions, $lookupDelegateSql, $lookupCustomFieldSql, $allowedDelegates = NULL) {
diff --git a/civicrm/Civi/Api4/Action/Address/AddressSaveTrait.php b/civicrm/Civi/Api4/Action/Address/AddressSaveTrait.php
index 1a2746f1db..d14fca6a1d 100644
--- a/civicrm/Civi/Api4/Action/Address/AddressSaveTrait.php
+++ b/civicrm/Civi/Api4/Action/Address/AddressSaveTrait.php
@@ -13,7 +13,8 @@
 namespace Civi\Api4\Action\Address;
 
 /**
- * @inheritDoc
+ * Code shared by Address create/update/save actions
+ *
  * @method bool getStreetParsing()
  * @method $this setStreetParsing(bool $streetParsing)
  * @method bool getSkipGeocode()
@@ -47,14 +48,16 @@ trait AddressSaveTrait {
   /**
    * @inheritDoc
    */
-  protected function writeObjects(&$items) {
-    foreach ($items as &$item) {
+  protected function write(array $items) {
+    $saved = [];
+    foreach ($items as $item) {
       if ($this->streetParsing && !empty($item['street_address'])) {
         $item = array_merge($item, \CRM_Core_BAO_Address::parseStreetAddress($item['street_address']));
       }
       $item['skip_geocode'] = $this->skipGeocode;
+      $saved[] = \CRM_Core_BAO_Address::add($item, $this->fixAddress);
     }
-    return parent::writeObjects($items);
+    return $saved;
   }
 
 }
diff --git a/civicrm/Civi/Api4/Action/CiviCase/CiviCaseSaveTrait.php b/civicrm/Civi/Api4/Action/CiviCase/CiviCaseSaveTrait.php
index b112a4a7c0..6b50e75936 100644
--- a/civicrm/Civi/Api4/Action/CiviCase/CiviCaseSaveTrait.php
+++ b/civicrm/Civi/Api4/Action/CiviCase/CiviCaseSaveTrait.php
@@ -18,20 +18,19 @@ namespace Civi\Api4\Action\CiviCase;
 trait CiviCaseSaveTrait {
 
   /**
-   * @param array $cases
+   * @param array $items
    * @return array
    */
-  protected function writeObjects(&$cases) {
-    $cases = array_values($cases);
-    $result = parent::writeObjects($cases);
-
-    // If the case doesn't have an id, it's new & needs to be opened.
-    foreach ($cases as $idx => $case) {
+  protected function write(array $items) {
+    $saved = [];
+    foreach ($items as $case) {
+      $saved[] = $result = \CRM_Case_BAO_Case::create($case);
+      // If the case doesn't have an id, it's new & needs to be opened.
       if (empty($case['id'])) {
-        $this->openCase($case, $result[$idx]['id']);
+        $this->openCase($case, $result->id);
       }
     }
-    return $result;
+    return $saved;
   }
 
   /**
diff --git a/civicrm/Civi/Api4/Action/Contact/ContactSaveTrait.php b/civicrm/Civi/Api4/Action/Contact/ContactSaveTrait.php
new file mode 100644
index 0000000000..67a9cca550
--- /dev/null
+++ b/civicrm/Civi/Api4/Action/Contact/ContactSaveTrait.php
@@ -0,0 +1,46 @@
+<?php
+
+/*
+ +--------------------------------------------------------------------+
+ | Copyright CiviCRM LLC. All rights reserved.                        |
+ |                                                                    |
+ | This work is published under the GNU AGPLv3 license with some      |
+ | permitted exceptions and without any warranty. For full license    |
+ | and copyright information, see https://civicrm.org/licensing       |
+ +--------------------------------------------------------------------+
+ */
+
+namespace Civi\Api4\Action\Contact;
+
+/**
+ * Code shared by Contact create/update/save actions
+ */
+trait ContactSaveTrait {
+
+  /**
+   * @param array $items
+   * @return array
+   */
+  protected function write(array $items) {
+    foreach ($items as &$contact) {
+      // For some reason the contact BAO requires this for updates
+      if (!empty($contact['id'])) {
+        $contact['contact_id'] = $contact['id'];
+      }
+      elseif (empty($contact['contact_type'])) {
+        // Guess which type of contact is being created
+        if (!empty($contact['organization_name'])) {
+          $contact['contact_type'] = 'Organization';
+        }
+        elseif (!empty($contact['household_name'])) {
+          $contact['contact_type'] = 'Household';
+        }
+        else {
+          $contact['contact_type'] = 'Individual';
+        }
+      }
+    }
+    return parent::write($items);
+  }
+
+}
diff --git a/civicrm/Civi/Api4/Action/Contact/Create.php b/civicrm/Civi/Api4/Action/Contact/Create.php
new file mode 100644
index 0000000000..8da7c20d39
--- /dev/null
+++ b/civicrm/Civi/Api4/Action/Contact/Create.php
@@ -0,0 +1,21 @@
+<?php
+
+/*
+ +--------------------------------------------------------------------+
+ | Copyright CiviCRM LLC. All rights reserved.                        |
+ |                                                                    |
+ | This work is published under the GNU AGPLv3 license with some      |
+ | permitted exceptions and without any warranty. For full license    |
+ | and copyright information, see https://civicrm.org/licensing       |
+ +--------------------------------------------------------------------+
+ */
+
+namespace Civi\Api4\Action\Contact;
+
+/**
+ * @inheritDoc
+ */
+class Create extends \Civi\Api4\Generic\DAOCreateAction {
+  use ContactSaveTrait;
+
+}
diff --git a/civicrm/Civi/Api4/Action/Contact/Delete.php b/civicrm/Civi/Api4/Action/Contact/Delete.php
index 5d2267441a..158e9dce33 100644
--- a/civicrm/Civi/Api4/Action/Contact/Delete.php
+++ b/civicrm/Civi/Api4/Action/Contact/Delete.php
@@ -17,7 +17,7 @@ namespace Civi\Api4\Action\Contact;
  * @inheritDoc
  */
 class Delete extends \Civi\Api4\Generic\DAODeleteAction {
-  use \Civi\Api4\Generic\Traits\SoftDelete;
+  use \Civi\Api4\Generic\Traits\SoftDeleteEntity;
 
   /**
    * @param $items
diff --git a/civicrm/Civi/Api4/Action/Contact/Save.php b/civicrm/Civi/Api4/Action/Contact/Save.php
new file mode 100644
index 0000000000..322e4d51e0
--- /dev/null
+++ b/civicrm/Civi/Api4/Action/Contact/Save.php
@@ -0,0 +1,21 @@
+<?php
+
+/*
+ +--------------------------------------------------------------------+
+ | Copyright CiviCRM LLC. All rights reserved.                        |
+ |                                                                    |
+ | This work is published under the GNU AGPLv3 license with some      |
+ | permitted exceptions and without any warranty. For full license    |
+ | and copyright information, see https://civicrm.org/licensing       |
+ +--------------------------------------------------------------------+
+ */
+
+namespace Civi\Api4\Action\Contact;
+
+/**
+ * @inheritDoc
+ */
+class Save extends \Civi\Api4\Generic\DAOSaveAction {
+  use ContactSaveTrait;
+
+}
diff --git a/civicrm/Civi/Api4/Action/Contact/Update.php b/civicrm/Civi/Api4/Action/Contact/Update.php
new file mode 100644
index 0000000000..d5798dc4d0
--- /dev/null
+++ b/civicrm/Civi/Api4/Action/Contact/Update.php
@@ -0,0 +1,21 @@
+<?php
+
+/*
+ +--------------------------------------------------------------------+
+ | Copyright CiviCRM LLC. All rights reserved.                        |
+ |                                                                    |
+ | This work is published under the GNU AGPLv3 license with some      |
+ | permitted exceptions and without any warranty. For full license    |
+ | and copyright information, see https://civicrm.org/licensing       |
+ +--------------------------------------------------------------------+
+ */
+
+namespace Civi\Api4\Action\Contact;
+
+/**
+ * @inheritDoc
+ */
+class Update extends \Civi\Api4\Generic\DAOUpdateAction {
+  use ContactSaveTrait;
+
+}
diff --git a/civicrm/Civi/Api4/Event/Subscriber/ContributionPreSaveSubscriber.php b/civicrm/Civi/Api4/Action/Contribution/ContributionSaveTrait.php
similarity index 56%
rename from civicrm/Civi/Api4/Event/Subscriber/ContributionPreSaveSubscriber.php
rename to civicrm/Civi/Api4/Action/Contribution/ContributionSaveTrait.php
index 20f623f817..70ed6fbe19 100644
--- a/civicrm/Civi/Api4/Event/Subscriber/ContributionPreSaveSubscriber.php
+++ b/civicrm/Civi/Api4/Action/Contribution/ContributionSaveTrait.php
@@ -10,19 +10,22 @@
  +--------------------------------------------------------------------+
  */
 
-namespace Civi\Api4\Event\Subscriber;
+namespace Civi\Api4\Action\Contribution;
 
-use Civi\Api4\Generic\AbstractAction;
-
-class ContributionPreSaveSubscriber extends Generic\PreSaveSubscriber {
-
-  public function modify(&$record, AbstractAction $request) {
-    // Required by Contribution BAO
-    $record['skipCleanMoney'] = TRUE;
-  }
+/**
+ * Code shared by Contribution create/update/save actions
+ */
+trait ContributionSaveTrait {
 
-  public function applies(AbstractAction $request) {
-    return $request->getEntityName() === 'Contribution';
+  /**
+   * @inheritDoc
+   */
+  protected function write(array $items) {
+    foreach ($items as &$item) {
+      // Required by Contribution BAO
+      $item['skipCleanMoney'] = TRUE;
+    }
+    return parent::write($items);
   }
 
 }
diff --git a/civicrm/Civi/Api4/Action/Contribution/Create.php b/civicrm/Civi/Api4/Action/Contribution/Create.php
new file mode 100644
index 0000000000..80a8b7e0c0
--- /dev/null
+++ b/civicrm/Civi/Api4/Action/Contribution/Create.php
@@ -0,0 +1,21 @@
+<?php
+
+/*
+ +--------------------------------------------------------------------+
+ | Copyright CiviCRM LLC. All rights reserved.                        |
+ |                                                                    |
+ | This work is published under the GNU AGPLv3 license with some      |
+ | permitted exceptions and without any warranty. For full license    |
+ | and copyright information, see https://civicrm.org/licensing       |
+ +--------------------------------------------------------------------+
+ */
+
+namespace Civi\Api4\Action\Contribution;
+
+/**
+ * @inheritDoc
+ */
+class Create extends \Civi\Api4\Generic\DAOCreateAction {
+  use ContributionSaveTrait;
+
+}
diff --git a/civicrm/Civi/Api4/Action/Contribution/Save.php b/civicrm/Civi/Api4/Action/Contribution/Save.php
new file mode 100644
index 0000000000..d19b3b10ef
--- /dev/null
+++ b/civicrm/Civi/Api4/Action/Contribution/Save.php
@@ -0,0 +1,21 @@
+<?php
+
+/*
+ +--------------------------------------------------------------------+
+ | Copyright CiviCRM LLC. All rights reserved.                        |
+ |                                                                    |
+ | This work is published under the GNU AGPLv3 license with some      |
+ | permitted exceptions and without any warranty. For full license    |
+ | and copyright information, see https://civicrm.org/licensing       |
+ +--------------------------------------------------------------------+
+ */
+
+namespace Civi\Api4\Action\Contribution;
+
+/**
+ * @inheritDoc
+ */
+class Save extends \Civi\Api4\Generic\DAOSaveAction {
+  use ContributionSaveTrait;
+
+}
diff --git a/civicrm/Civi/Api4/Action/Contribution/Update.php b/civicrm/Civi/Api4/Action/Contribution/Update.php
new file mode 100644
index 0000000000..e61df15d48
--- /dev/null
+++ b/civicrm/Civi/Api4/Action/Contribution/Update.php
@@ -0,0 +1,21 @@
+<?php
+
+/*
+ +--------------------------------------------------------------------+
+ | Copyright CiviCRM LLC. All rights reserved.                        |
+ |                                                                    |
+ | This work is published under the GNU AGPLv3 license with some      |
+ | permitted exceptions and without any warranty. For full license    |
+ | and copyright information, see https://civicrm.org/licensing       |
+ +--------------------------------------------------------------------+
+ */
+
+namespace Civi\Api4\Action\Contribution;
+
+/**
+ * @inheritDoc
+ */
+class Update extends \Civi\Api4\Generic\DAOUpdateAction {
+  use ContributionSaveTrait;
+
+}
diff --git a/civicrm/Civi/Api4/Action/CustomField/Create.php b/civicrm/Civi/Api4/Action/CustomField/Create.php
new file mode 100644
index 0000000000..edb1afa61c
--- /dev/null
+++ b/civicrm/Civi/Api4/Action/CustomField/Create.php
@@ -0,0 +1,21 @@
+<?php
+
+/*
+ +--------------------------------------------------------------------+
+ | Copyright CiviCRM LLC. All rights reserved.                        |
+ |                                                                    |
+ | This work is published under the GNU AGPLv3 license with some      |
+ | permitted exceptions and without any warranty. For full license    |
+ | and copyright information, see https://civicrm.org/licensing       |
+ +--------------------------------------------------------------------+
+ */
+
+namespace Civi\Api4\Action\CustomField;
+
+/**
+ * @inheritDoc
+ */
+class Create extends \Civi\Api4\Generic\DAOCreateAction {
+  use CustomFieldSaveTrait;
+
+}
diff --git a/civicrm/Civi/Api4/Event/Subscriber/CustomFieldPreSaveSubscriber.php b/civicrm/Civi/Api4/Action/CustomField/CustomFieldSaveTrait.php
similarity index 69%
rename from civicrm/Civi/Api4/Event/Subscriber/CustomFieldPreSaveSubscriber.php
rename to civicrm/Civi/Api4/Action/CustomField/CustomFieldSaveTrait.php
index 8d8be12420..87803fbe2b 100644
--- a/civicrm/Civi/Api4/Event/Subscriber/CustomFieldPreSaveSubscriber.php
+++ b/civicrm/Civi/Api4/Action/CustomField/CustomFieldSaveTrait.php
@@ -10,21 +10,35 @@
  +--------------------------------------------------------------------+
  */
 
-namespace Civi\Api4\Event\Subscriber;
+namespace Civi\Api4\Action\CustomField;
 
-use Civi\Api4\Generic\AbstractAction;
-
-class CustomFieldPreSaveSubscriber extends Generic\PreSaveSubscriber {
+/**
+ * Code shared by CustomField create/update/save actions
+ */
+trait CustomFieldSaveTrait {
 
   /**
-   * @var string
+   * @inheritDoc
    */
-  public $supportedOperation = 'create';
+  protected function write(array $items) {
+    foreach ($items as &$field) {
+      if (empty($field['id'])) {
+        self::formatOptionValues($field);
+      }
+    }
+    return parent::write($items);
+  }
 
-  public function modify(&$field, AbstractAction $request) {
+  /**
+   * If 'option_values' have been supplied, reformat it according to the expectations of the BAO
+   *
+   * @param array $field
+   */
+  private static function formatOptionValues(array &$field): void {
+    $field['option_type'] = !empty($field['option_values']);
     if (!empty($field['option_values'])) {
-      $weight = $key = 0;
-      $field['option_label'] = $field['option_value'] = $field['option_status'] = $field['option_weight'] = [];
+      $weight = 0;
+      $field['option_label'] = $field['option_value'] = $field['option_status'] = $field['option_weight'] =
       $field['option_name'] = $field['option_color'] = $field['option_description'] = $field['option_icon'] = [];
       foreach ($field['option_values'] as $key => $value) {
         // Translate simple key/value pairs into full-blown option values
@@ -34,22 +48,16 @@ class CustomFieldPreSaveSubscriber extends Generic\PreSaveSubscriber {
             'id' => $key,
           ];
         }
-        $weight++;
         $field['option_label'][] = $value['label'] ?? $value['name'];
         $field['option_name'][] = $value['name'] ?? NULL;
         $field['option_value'][] = $value['id'];
         $field['option_status'][] = $value['is_active'] ?? 1;
-        $field['option_weight'][] = $value['weight'] ?? $weight;
+        $field['option_weight'][] = $value['weight'] ?? ++$weight;
         $field['option_color'][] = $value['color'] ?? NULL;
         $field['option_description'][] = $value['description'] ?? NULL;
         $field['option_icon'][] = $value['icon'] ?? NULL;
       }
     }
-    $field['option_type'] = !empty($field['option_values']);
-  }
-
-  public function applies(AbstractAction $request) {
-    return $request->getEntityName() === 'CustomField';
   }
 
 }
diff --git a/civicrm/Civi/Api4/Action/CustomField/Save.php b/civicrm/Civi/Api4/Action/CustomField/Save.php
new file mode 100644
index 0000000000..d6d3a35c80
--- /dev/null
+++ b/civicrm/Civi/Api4/Action/CustomField/Save.php
@@ -0,0 +1,21 @@
+<?php
+
+/*
+ +--------------------------------------------------------------------+
+ | Copyright CiviCRM LLC. All rights reserved.                        |
+ |                                                                    |
+ | This work is published under the GNU AGPLv3 license with some      |
+ | permitted exceptions and without any warranty. For full license    |
+ | and copyright information, see https://civicrm.org/licensing       |
+ +--------------------------------------------------------------------+
+ */
+
+namespace Civi\Api4\Action\CustomField;
+
+/**
+ * @inheritDoc
+ */
+class Save extends \Civi\Api4\Generic\DAOSaveAction {
+  use CustomFieldSaveTrait;
+
+}
diff --git a/civicrm/Civi/Api4/Action/CustomField/Update.php b/civicrm/Civi/Api4/Action/CustomField/Update.php
new file mode 100644
index 0000000000..443e6869af
--- /dev/null
+++ b/civicrm/Civi/Api4/Action/CustomField/Update.php
@@ -0,0 +1,21 @@
+<?php
+
+/*
+ +--------------------------------------------------------------------+
+ | Copyright CiviCRM LLC. All rights reserved.                        |
+ |                                                                    |
+ | This work is published under the GNU AGPLv3 license with some      |
+ | permitted exceptions and without any warranty. For full license    |
+ | and copyright information, see https://civicrm.org/licensing       |
+ +--------------------------------------------------------------------+
+ */
+
+namespace Civi\Api4\Action\CustomField;
+
+/**
+ * @inheritDoc
+ */
+class Update extends \Civi\Api4\Generic\DAOUpdateAction {
+  use CustomFieldSaveTrait;
+
+}
diff --git a/civicrm/Civi/Api4/Action/Entity/Get.php b/civicrm/Civi/Api4/Action/Entity/Get.php
index 3e98e7f348..69d64e409b 100644
--- a/civicrm/Civi/Api4/Action/Entity/Get.php
+++ b/civicrm/Civi/Api4/Action/Entity/Get.php
@@ -64,7 +64,7 @@ class Get extends \Civi\Api4\Generic\BasicGetAction {
     $info = $className::getInfo();
     $daoName = $info['dao'] ?? NULL;
     // Only include DAO entities from enabled components
-    if (!$daoName || !defined("{$daoName}::COMPONENT") || array_key_exists($daoName::COMPONENT, \CRM_Core_Component::getEnabledComponents())) {
+    if (!$daoName || !defined("{$daoName}::COMPONENT") || \CRM_Core_Component::isEnabled($daoName::COMPONENT)) {
       $entities[$info['name']] = $info;
     }
   }
diff --git a/civicrm/Civi/Api4/Action/EntityTag/Create.php b/civicrm/Civi/Api4/Action/EntityTag/Create.php
new file mode 100644
index 0000000000..afa0dba7fd
--- /dev/null
+++ b/civicrm/Civi/Api4/Action/EntityTag/Create.php
@@ -0,0 +1,21 @@
+<?php
+
+/*
+ +--------------------------------------------------------------------+
+ | Copyright CiviCRM LLC. All rights reserved.                        |
+ |                                                                    |
+ | This work is published under the GNU AGPLv3 license with some      |
+ | permitted exceptions and without any warranty. For full license    |
+ | and copyright information, see https://civicrm.org/licensing       |
+ +--------------------------------------------------------------------+
+ */
+
+namespace Civi\Api4\Action\EntityTag;
+
+/**
+ * @inheritDoc
+ */
+class Create extends \Civi\Api4\Generic\DAOCreateAction {
+  use EntityTagSaveTrait;
+
+}
diff --git a/civicrm/Civi/Api4/Action/EntityTag/EntityTagSaveTrait.php b/civicrm/Civi/Api4/Action/EntityTag/EntityTagSaveTrait.php
new file mode 100644
index 0000000000..be8ff4b03e
--- /dev/null
+++ b/civicrm/Civi/Api4/Action/EntityTag/EntityTagSaveTrait.php
@@ -0,0 +1,34 @@
+<?php
+
+/*
+ +--------------------------------------------------------------------+
+ | Copyright CiviCRM LLC. All rights reserved.                        |
+ |                                                                    |
+ | This work is published under the GNU AGPLv3 license with some      |
+ | permitted exceptions and without any warranty. For full license    |
+ | and copyright information, see https://civicrm.org/licensing       |
+ +--------------------------------------------------------------------+
+ */
+
+namespace Civi\Api4\Action\EntityTag;
+
+/**
+ * @inheritDoc
+ */
+trait EntityTagSaveTrait {
+
+  /**
+   * Override method which defaults to 'create' for oddball DAO which uses 'add'
+   *
+   * @param array $items
+   * @return array
+   */
+  protected function write(array $items) {
+    $saved = [];
+    foreach ($items as $item) {
+      $saved[] = \CRM_Core_BAO_EntityTag::add($item);
+    }
+    return $saved;
+  }
+
+}
diff --git a/civicrm/Civi/Api4/Action/EntityTag/Save.php b/civicrm/Civi/Api4/Action/EntityTag/Save.php
new file mode 100644
index 0000000000..e0819f197e
--- /dev/null
+++ b/civicrm/Civi/Api4/Action/EntityTag/Save.php
@@ -0,0 +1,21 @@
+<?php
+
+/*
+ +--------------------------------------------------------------------+
+ | Copyright CiviCRM LLC. All rights reserved.                        |
+ |                                                                    |
+ | This work is published under the GNU AGPLv3 license with some      |
+ | permitted exceptions and without any warranty. For full license    |
+ | and copyright information, see https://civicrm.org/licensing       |
+ +--------------------------------------------------------------------+
+ */
+
+namespace Civi\Api4\Action\EntityTag;
+
+/**
+ * @inheritDoc
+ */
+class Save extends \Civi\Api4\Generic\DAOSaveAction {
+  use EntityTagSaveTrait;
+
+}
diff --git a/civicrm/Civi/Api4/Action/EntityTag/Update.php b/civicrm/Civi/Api4/Action/EntityTag/Update.php
new file mode 100644
index 0000000000..7ae4573937
--- /dev/null
+++ b/civicrm/Civi/Api4/Action/EntityTag/Update.php
@@ -0,0 +1,21 @@
+<?php
+
+/*
+ +--------------------------------------------------------------------+
+ | Copyright CiviCRM LLC. All rights reserved.                        |
+ |                                                                    |
+ | This work is published under the GNU AGPLv3 license with some      |
+ | permitted exceptions and without any warranty. For full license    |
+ | and copyright information, see https://civicrm.org/licensing       |
+ +--------------------------------------------------------------------+
+ */
+
+namespace Civi\Api4\Action\EntityTag;
+
+/**
+ * @inheritDoc
+ */
+class Update extends \Civi\Api4\Generic\DAOUpdateAction {
+  use EntityTagSaveTrait;
+
+}
diff --git a/civicrm/Civi/Api4/Action/GroupContact/GroupContactSaveTrait.php b/civicrm/Civi/Api4/Action/GroupContact/GroupContactSaveTrait.php
index 0060ba0487..4ceea29b40 100644
--- a/civicrm/Civi/Api4/Action/GroupContact/GroupContactSaveTrait.php
+++ b/civicrm/Civi/Api4/Action/GroupContact/GroupContactSaveTrait.php
@@ -39,12 +39,12 @@ trait GroupContactSaveTrait {
   /**
    * @inheritDoc
    */
-  protected function writeObjects(&$items) {
+  protected function write(array $items) {
     foreach ($items as &$item) {
       $item['method'] = $this->method;
       $item['tracking'] = $this->tracking;
     }
-    return parent::writeObjects($items);
+    return \CRM_Contact_BAO_GroupContact::writeRecords($items);
   }
 
 }
diff --git a/civicrm/Civi/Api4/Contact.php b/civicrm/Civi/Api4/Contact.php
index 34f6463f55..cd717f128c 100644
--- a/civicrm/Civi/Api4/Contact.php
+++ b/civicrm/Civi/Api4/Contact.php
@@ -26,6 +26,33 @@ namespace Civi\Api4;
  */
 class Contact extends Generic\DAOEntity {
 
+  /**
+   * @param bool $checkPermissions
+   * @return Action\Contact\Create
+   */
+  public static function create($checkPermissions = TRUE) {
+    return (new Action\Contact\Create(__CLASS__, __FUNCTION__))
+      ->setCheckPermissions($checkPermissions);
+  }
+
+  /**
+   * @param bool $checkPermissions
+   * @return Action\Contact\Update
+   */
+  public static function update($checkPermissions = TRUE) {
+    return (new Action\Contact\Update(__CLASS__, __FUNCTION__))
+      ->setCheckPermissions($checkPermissions);
+  }
+
+  /**
+   * @param bool $checkPermissions
+   * @return Action\Contact\Save
+   */
+  public static function save($checkPermissions = TRUE) {
+    return (new Action\Contact\Save(__CLASS__, __FUNCTION__))
+      ->setCheckPermissions($checkPermissions);
+  }
+
   /**
    * @param bool $checkPermissions
    * @return Action\Contact\Delete
diff --git a/civicrm/Civi/Api4/Contribution.php b/civicrm/Civi/Api4/Contribution.php
index 2be2264b61..67d61be1f7 100644
--- a/civicrm/Civi/Api4/Contribution.php
+++ b/civicrm/Civi/Api4/Contribution.php
@@ -19,4 +19,31 @@ namespace Civi\Api4;
  */
 class Contribution extends Generic\DAOEntity {
 
+  /**
+   * @param bool $checkPermissions
+   * @return Action\Contribution\Create
+   */
+  public static function create($checkPermissions = TRUE) {
+    return (new Action\Contribution\Create(__CLASS__, __FUNCTION__))
+      ->setCheckPermissions($checkPermissions);
+  }
+
+  /**
+   * @param bool $checkPermissions
+   * @return Action\Contribution\Save
+   */
+  public static function save($checkPermissions = TRUE) {
+    return (new Action\Contribution\Save(__CLASS__, __FUNCTION__))
+      ->setCheckPermissions($checkPermissions);
+  }
+
+  /**
+   * @param bool $checkPermissions
+   * @return Action\Contribution\Update
+   */
+  public static function update($checkPermissions = TRUE) {
+    return (new Action\Contribution\Update(__CLASS__, __FUNCTION__))
+      ->setCheckPermissions($checkPermissions);
+  }
+
 }
diff --git a/civicrm/Civi/Api4/CustomField.php b/civicrm/Civi/Api4/CustomField.php
index 37be6eb2b4..413d268d40 100644
--- a/civicrm/Civi/Api4/CustomField.php
+++ b/civicrm/Civi/Api4/CustomField.php
@@ -16,6 +16,7 @@ namespace Civi\Api4;
  * @see https://docs.civicrm.org/user/en/latest/organising-your-data/creating-custom-fields/
  * @searchable secondary
  * @orderBy weight
+ * @groupWeightsBy custom_group_id
  * @since 5.19
  * @package Civi\Api4
  */
@@ -23,4 +24,31 @@ class CustomField extends Generic\DAOEntity {
   use Generic\Traits\ManagedEntity;
   use Generic\Traits\SortableEntity;
 
+  /**
+   * @param bool $checkPermissions
+   * @return Action\CustomField\Create
+   */
+  public static function create($checkPermissions = TRUE) {
+    return (new Action\CustomField\Create(__CLASS__, __FUNCTION__))
+      ->setCheckPermissions($checkPermissions);
+  }
+
+  /**
+   * @param bool $checkPermissions
+   * @return Action\CustomField\Save
+   */
+  public static function save($checkPermissions = TRUE) {
+    return (new Action\CustomField\Save(__CLASS__, __FUNCTION__))
+      ->setCheckPermissions($checkPermissions);
+  }
+
+  /**
+   * @param bool $checkPermissions
+   * @return Action\CustomField\Update
+   */
+  public static function update($checkPermissions = TRUE) {
+    return (new Action\CustomField\Update(__CLASS__, __FUNCTION__))
+      ->setCheckPermissions($checkPermissions);
+  }
+
 }
diff --git a/civicrm/Civi/Api4/Entity.php b/civicrm/Civi/Api4/Entity.php
index 69f5363b45..fbe5d75f67 100644
--- a/civicrm/Civi/Api4/Entity.php
+++ b/civicrm/Civi/Api4/Entity.php
@@ -132,6 +132,11 @@ class Entity extends Generic\AbstractEntity {
           'data_type' => 'Array',
           'description' => 'When joining entities in the UI, which fields should be presented by default in the ON clause',
         ],
+        [
+          'name' => 'group_weights_by',
+          'data_type' => 'Array',
+          'description' => 'For sortable entities, what field groupings are used to order by weight',
+        ],
       ];
     }))->setCheckPermissions($checkPermissions);
   }
diff --git a/civicrm/Civi/Api4/EntityTag.php b/civicrm/Civi/Api4/EntityTag.php
index 5707098187..d0d8f22a8f 100644
--- a/civicrm/Civi/Api4/EntityTag.php
+++ b/civicrm/Civi/Api4/EntityTag.php
@@ -21,4 +21,31 @@ namespace Civi\Api4;
 class EntityTag extends Generic\DAOEntity {
   use Generic\Traits\EntityBridge;
 
+  /**
+   * @param bool $checkPermissions
+   * @return Action\EntityTag\Create
+   */
+  public static function create($checkPermissions = TRUE) {
+    return (new Action\EntityTag\Create('EntityTag', __FUNCTION__))
+      ->setCheckPermissions($checkPermissions);
+  }
+
+  /**
+   * @param bool $checkPermissions
+   * @return Action\EntityTag\Save
+   */
+  public static function save($checkPermissions = TRUE) {
+    return (new Action\EntityTag\Save('EntityTag', __FUNCTION__))
+      ->setCheckPermissions($checkPermissions);
+  }
+
+  /**
+   * @param bool $checkPermissions
+   * @return Action\EntityTag\Update
+   */
+  public static function update($checkPermissions = TRUE) {
+    return (new Action\EntityTag\Update('EntityTag', __FUNCTION__))
+      ->setCheckPermissions($checkPermissions);
+  }
+
 }
diff --git a/civicrm/Civi/Api4/Event/Subscriber/ContactPreSaveSubscriber.php b/civicrm/Civi/Api4/Event/Subscriber/ContactPreSaveSubscriber.php
deleted file mode 100644
index 3af614ffed..0000000000
--- a/civicrm/Civi/Api4/Event/Subscriber/ContactPreSaveSubscriber.php
+++ /dev/null
@@ -1,38 +0,0 @@
-<?php
-
-/*
- +--------------------------------------------------------------------+
- | Copyright CiviCRM LLC. All rights reserved.                        |
- |                                                                    |
- | This work is published under the GNU AGPLv3 license with some      |
- | permitted exceptions and without any warranty. For full license    |
- | and copyright information, see https://civicrm.org/licensing       |
- +--------------------------------------------------------------------+
- */
-
-namespace Civi\Api4\Event\Subscriber;
-
-use Civi\Api4\Generic\AbstractAction;
-
-class ContactPreSaveSubscriber extends Generic\PreSaveSubscriber {
-
-  /**
-   * @var string
-   */
-  public $supportedOperation = 'create';
-
-  public function modify(&$contact, AbstractAction $request) {
-    // Guess which type of contact is being created
-    if (empty($contact['contact_type']) && !empty($contact['organization_name'])) {
-      $contact['contact_type'] = 'Organization';
-    }
-    if (empty($contact['contact_type']) && !empty($contact['household_name'])) {
-      $contact['contact_type'] = 'Household';
-    }
-  }
-
-  public function applies(AbstractAction $request) {
-    return $request->getEntityName() === 'Contact';
-  }
-
-}
diff --git a/civicrm/Civi/Api4/Event/Subscriber/CustomGroupPreCreationSubscriber.php b/civicrm/Civi/Api4/Event/Subscriber/CustomGroupPreCreationSubscriber.php
deleted file mode 100644
index 132c789f2f..0000000000
--- a/civicrm/Civi/Api4/Event/Subscriber/CustomGroupPreCreationSubscriber.php
+++ /dev/null
@@ -1,35 +0,0 @@
-<?php
-
-/*
- +--------------------------------------------------------------------+
- | Copyright CiviCRM LLC. All rights reserved.                        |
- |                                                                    |
- | This work is published under the GNU AGPLv3 license with some      |
- | permitted exceptions and without any warranty. For full license    |
- | and copyright information, see https://civicrm.org/licensing       |
- +--------------------------------------------------------------------+
- */
-
-namespace Civi\Api4\Event\Subscriber;
-
-use Civi\Api4\Generic\DAOCreateAction;
-
-class CustomGroupPreCreationSubscriber extends Generic\PreCreationSubscriber {
-
-  /**
-   * @param \Civi\Api4\Generic\DAOCreateAction $request
-   */
-  protected function modify(DAOCreateAction $request) {
-    $title = $request->getValue('title');
-    $name = $request->getValue('name');
-
-    if (NULL === $title && $name) {
-      $request->addValue('title', $name);
-    }
-  }
-
-  protected function applies(DAOCreateAction $request) {
-    return $request->getEntityName() === 'CustomGroup';
-  }
-
-}
diff --git a/civicrm/Civi/Api4/Event/Subscriber/Generic/PreSaveSubscriber.php b/civicrm/Civi/Api4/Event/Subscriber/Generic/PreSaveSubscriber.php
index 8741f842d8..68fc4f672f 100644
--- a/civicrm/Civi/Api4/Event/Subscriber/Generic/PreSaveSubscriber.php
+++ b/civicrm/Civi/Api4/Event/Subscriber/Generic/PreSaveSubscriber.php
@@ -17,6 +17,9 @@ use Civi\Api4\Generic\AbstractAction;
 use Civi\Api4\Generic\AbstractCreateAction;
 use Civi\Api4\Generic\AbstractUpdateAction;
 
+/**
+ * @deprecated
+ */
 abstract class PreSaveSubscriber extends AbstractPrepareSubscriber {
 
   /**
@@ -32,6 +35,7 @@ abstract class PreSaveSubscriber extends AbstractPrepareSubscriber {
     $apiRequest = $event->getApiRequest();
 
     if ($apiRequest instanceof AbstractAction && $this->applies($apiRequest)) {
+      \CRM_Core_Error::deprecatedWarning("Use of APIv4 'PreSaveSubscriber' is deprecated. '" . get_class($this) . "' should be removed ({$apiRequest->getEntityName()}::{$apiRequest->getActionName()}).");
       if (
         ($apiRequest instanceof AbstractCreateAction && $this->supportedOperation !== 'update') ||
         ($apiRequest instanceof AbstractUpdateAction && $this->supportedOperation !== 'create')
diff --git a/civicrm/Civi/Api4/Event/Subscriber/OptionValuePreCreationSubscriber.php b/civicrm/Civi/Api4/Event/Subscriber/OptionValuePreCreationSubscriber.php
deleted file mode 100644
index 3b37c70f15..0000000000
--- a/civicrm/Civi/Api4/Event/Subscriber/OptionValuePreCreationSubscriber.php
+++ /dev/null
@@ -1,59 +0,0 @@
-<?php
-
-/*
- +--------------------------------------------------------------------+
- | Copyright CiviCRM LLC. All rights reserved.                        |
- |                                                                    |
- | This work is published under the GNU AGPLv3 license with some      |
- | permitted exceptions and without any warranty. For full license    |
- | and copyright information, see https://civicrm.org/licensing       |
- +--------------------------------------------------------------------+
- */
-
-namespace Civi\Api4\Event\Subscriber;
-
-use Civi\Api4\Generic\DAOCreateAction;
-use Civi\Api4\OptionGroup;
-
-class OptionValuePreCreationSubscriber extends Generic\PreCreationSubscriber {
-
-  /**
-   * @param \Civi\Api4\Generic\DAOCreateAction $request
-   */
-  protected function modify(DAOCreateAction $request) {
-    $this->setOptionGroupId($request);
-  }
-
-  /**
-   * @param \Civi\Api4\Generic\DAOCreateAction $request
-   *
-   * @return bool
-   */
-  protected function applies(DAOCreateAction $request) {
-    return $request->getEntityName() === 'OptionValue';
-  }
-
-  /**
-   * @param \Civi\Api4\Generic\DAOCreateAction $request
-   * @throws \API_Exception
-   * @throws \Exception
-   */
-  private function setOptionGroupId(DAOCreateAction $request) {
-    $optionGroupName = $request->getValue('option_group');
-    if (!$optionGroupName || $request->getValue('option_group_id')) {
-      return;
-    }
-    \CRM_Core_Error::deprecatedFunctionWarning('Use option_group_id:name instead of option_group in APIv4');
-    $optionGroup = OptionGroup::get(FALSE)
-      ->addSelect('id')
-      ->addWhere('name', '=', $optionGroupName)
-      ->execute();
-
-    if ($optionGroup->count() !== 1) {
-      throw new \Exception('Option group name must match only a single group');
-    }
-
-    $request->addValue('option_group_id', $optionGroup->first()['id']);
-  }
-
-}
diff --git a/civicrm/Civi/Api4/Event/ValidateValuesEvent.php b/civicrm/Civi/Api4/Event/ValidateValuesEvent.php
index 8368a97ca5..20b3c7de13 100644
--- a/civicrm/Civi/Api4/Event/ValidateValuesEvent.php
+++ b/civicrm/Civi/Api4/Event/ValidateValuesEvent.php
@@ -124,7 +124,7 @@ class ValidateValuesEvent extends GenericHookEvent {
    *   If the error is multi-field (e.g. mismatched password-confirmation), then use an array.
    *   If the error is independent of any field, then use [].
    * @param string $name
-   * @param string|NULL $message
+   * @param string|null $message
    * @return $this
    */
   public function addError($recordKey, $field, string $name, string $message = NULL): self {
diff --git a/civicrm/Civi/Api4/Generic/BasicGetFieldsAction.php b/civicrm/Civi/Api4/Generic/BasicGetFieldsAction.php
index 7bb18411ef..483cf7353e 100644
--- a/civicrm/Civi/Api4/Generic/BasicGetFieldsAction.php
+++ b/civicrm/Civi/Api4/Generic/BasicGetFieldsAction.php
@@ -282,9 +282,16 @@ class BasicGetFieldsAction extends BasicGetAction {
       ],
       [
         'name' => 'required',
+        'description' => 'Is this field required when creating a new entity',
         'data_type' => 'Boolean',
         'default_value' => FALSE,
       ],
+      [
+        'name' => 'nullable',
+        'description' => 'Whether a null value is allowed in this field',
+        'data_type' => 'Boolean',
+        'default_value' => TRUE,
+      ],
       [
         'name' => 'required_if',
         'data_type' => 'String',
diff --git a/civicrm/Civi/Api4/Generic/Traits/CustomValueActionTrait.php b/civicrm/Civi/Api4/Generic/Traits/CustomValueActionTrait.php
index 280f5bd75b..e194ef6af4 100644
--- a/civicrm/Civi/Api4/Generic/Traits/CustomValueActionTrait.php
+++ b/civicrm/Civi/Api4/Generic/Traits/CustomValueActionTrait.php
@@ -63,7 +63,7 @@ trait CustomValueActionTrait {
   /**
    * @inheritDoc
    */
-  protected function writeObjects(&$items) {
+  protected function writeObjects($items) {
     $fields = $this->entityFields();
     foreach ($items as $idx => $item) {
       FormattingUtil::formatWriteParams($item, $fields);
diff --git a/civicrm/Civi/Api4/Generic/Traits/DAOActionTrait.php b/civicrm/Civi/Api4/Generic/Traits/DAOActionTrait.php
index 8f00ba7ee0..c7661f7075 100644
--- a/civicrm/Civi/Api4/Generic/Traits/DAOActionTrait.php
+++ b/civicrm/Civi/Api4/Generic/Traits/DAOActionTrait.php
@@ -16,6 +16,7 @@ use Civi\Api4\CustomField;
 use Civi\Api4\Service\Schema\Joinable\CustomGroupJoinable;
 use Civi\Api4\Utils\FormattingUtil;
 use Civi\Api4\Utils\CoreUtil;
+use Civi\Api4\Utils\ReflectionUtils;
 
 /**
  * @method string getLanguage()
@@ -59,8 +60,8 @@ trait DAOActionTrait {
     else {
       $inputFields = array_keys($input);
       // Convert 'null' input to true null
-      foreach ($input as $key => $val) {
-        if ($val === 'null') {
+      foreach ($inputFields as $key) {
+        if (($bao->$key ?? NULL) === 'null') {
           $bao->$key = NULL;
         }
       }
@@ -95,7 +96,7 @@ trait DAOActionTrait {
   }
 
   /**
-   * Write bao objects as part of a create/update action.
+   * Write bao objects as part of a create/update/save action.
    *
    * @param array $items
    *   The records to write to the DB.
@@ -105,24 +106,8 @@ trait DAOActionTrait {
    * @throws \API_Exception
    * @throws \CRM_Core_Exception
    */
-  protected function writeObjects(&$items) {
-    $baoName = $this->getBaoName();
+  protected function writeObjects($items) {
     $updateWeights = FALSE;
-
-    // TODO: Opt-in more entities to use the new writeRecords BAO method.
-    $functionNames = [
-      'Address' => 'add',
-      'CustomField' => 'writeRecords',
-      'EntityTag' => 'add',
-      'GroupContact' => 'add',
-      'Navigation' => 'writeRecords',
-      'WordReplacement' => 'writeRecords',
-    ];
-    $method = $functionNames[$this->getEntityName()] ?? NULL;
-    if (!isset($method)) {
-      $method = method_exists($baoName, 'create') ? 'create' : (method_exists($baoName, 'add') ? 'add' : 'writeRecords');
-    }
-
     // Adjust weights for sortable entities
     if (in_array('SortableEntity', CoreUtil::getInfoItem($this->getEntityName(), 'type'))) {
       $weightField = CoreUtil::getInfoItem($this->getEntityName(), 'order_by');
@@ -145,46 +130,50 @@ trait DAOActionTrait {
         $this->updateWeight($item);
       }
 
-      // Skip individual processing if using writeRecords
-      if ($method === 'writeRecords') {
-        continue;
-      }
       $item['check_permissions'] = $this->getCheckPermissions();
+    }
 
-      // For some reason the contact bao requires this
-      if ($entityId && $this->getEntityName() === 'Contact') {
-        $item['contact_id'] = $entityId;
-      }
-
-      if ($this->getEntityName() === 'Address') {
-        $createResult = $baoName::$method($item, $this->fixAddress);
-      }
-      else {
-        $createResult = $baoName::$method($item);
-      }
+    // Ensure array keys start at 0
+    $items = array_values($items);
 
-      if (!$createResult) {
+    foreach ($this->write($items) as $index => $dao) {
+      if (!$dao) {
         $errMessage = sprintf('%s write operation failed', $this->getEntityName());
         throw new \API_Exception($errMessage);
       }
-
-      $result[] = $this->baoToArray($createResult, $item);
-      \CRM_Utils_API_HTMLInputCoder::singleton()->decodeRows($result);
-    }
-
-    // Use bulk `writeRecords` method if the BAO doesn't have a create or add method
-    // TODO: reverse this from opt-in to opt-out and default to using `writeRecords` for all BAOs
-    if ($method === 'writeRecords') {
-      $items = array_values($items);
-      foreach ($baoName::writeRecords($items) as $i => $createResult) {
-        $result[] = $this->baoToArray($createResult, $items[$i]);
-      }
+      $result[] = $this->baoToArray($dao, $items[$index]);
     }
 
+    \CRM_Utils_API_HTMLInputCoder::singleton()->decodeRows($result);
     FormattingUtil::formatOutputValues($result, $this->entityFields());
     return $result;
   }
 
+  /**
+   * Overrideable function to save items using the appropriate BAO function
+   *
+   * @param array[] $items
+   *   Items already formatted by self::writeObjects
+   * @return \CRM_Core_DAO[]
+   *   Array of saved DAO records
+   */
+  protected function write(array $items) {
+    $saved = [];
+    $baoName = $this->getBaoName();
+
+    $method = method_exists($baoName, 'create') ? 'create' : (method_exists($baoName, 'add') ? 'add' : NULL);
+    // Use BAO create or add method if not deprecated
+    if ($method && !ReflectionUtils::isMethodDeprecated($baoName, $method)) {
+      foreach ($items as $item) {
+        $saved[] = $baoName::$method($item);
+      }
+    }
+    else {
+      $saved = $baoName::writeRecords($items);
+    }
+    return $saved;
+  }
+
   /**
    * @inheritDoc
    */
@@ -341,6 +330,7 @@ trait DAOActionTrait {
     /** @var \CRM_Core_DAO|string $daoName */
     $daoName = CoreUtil::getInfoItem($this->getEntityName(), 'dao');
     $weightField = CoreUtil::getInfoItem($this->getEntityName(), 'order_by');
+    $grouping = CoreUtil::getInfoItem($this->getEntityName(), 'group_weights_by');
     $idField = CoreUtil::getIdFieldName($this->getEntityName());
     // If updating an existing record without changing weight, do nothing
     if (!isset($record[$weightField]) && !empty($record[$idField])) {
@@ -350,10 +340,8 @@ trait DAOActionTrait {
     $newWeight = $record[$weightField] ?? NULL;
     $oldWeight = empty($record[$idField]) ? NULL : \CRM_Core_DAO::getFieldValue($daoName, $record[$idField], $weightField);
 
-    // FIXME: Need a more metadata-ish approach. For now here's a hardcoded list of the fields sortable entities use for grouping.
-    $guesses = ['option_group_id', 'price_set_id', 'price_field_id', 'premiums_id', 'uf_group_id', 'custom_group_id', 'parent_id', 'domain_id'];
     $filters = [];
-    foreach (array_intersect($guesses, array_keys($daoFields)) as $filter) {
+    foreach ($grouping ?? [] as $filter) {
       $filters[$filter] = $record[$filter] ?? (empty($record[$idField]) ? NULL : \CRM_Core_DAO::getFieldValue($daoName, $record[$idField], $filter));
     }
     // Supply default weight for new record
diff --git a/civicrm/Civi/Api4/Generic/Traits/SoftDelete.php b/civicrm/Civi/Api4/Generic/Traits/SoftDeleteEntity.php
similarity index 97%
rename from civicrm/Civi/Api4/Generic/Traits/SoftDelete.php
rename to civicrm/Civi/Api4/Generic/Traits/SoftDeleteEntity.php
index 108495d7fc..4ddb288487 100644
--- a/civicrm/Civi/Api4/Generic/Traits/SoftDelete.php
+++ b/civicrm/Civi/Api4/Generic/Traits/SoftDeleteEntity.php
@@ -16,7 +16,7 @@ namespace Civi\Api4\Generic\Traits;
  * @method $this setUseTrash(bool $useTrash) Pass FALSE to force delete and bypass trash
  * @method bool getUseTrash()
  */
-trait SoftDelete {
+trait SoftDeleteEntity {
 
   /**
    * Should $ENTITY be moved to the trash instead of permanently deleted?
diff --git a/civicrm/Civi/Api4/MembershipType.php b/civicrm/Civi/Api4/MembershipType.php
index ba4c6f80d7..37a07191b6 100644
--- a/civicrm/Civi/Api4/MembershipType.php
+++ b/civicrm/Civi/Api4/MembershipType.php
@@ -15,6 +15,7 @@ namespace Civi\Api4;
  *
  * @searchable secondary
  * @orderBy weight
+ * @groupWeightsBy domain_id
  * @since 5.27
  * @package Civi\Api4
  */
diff --git a/civicrm/Civi/Api4/Navigation.php b/civicrm/Civi/Api4/Navigation.php
index ecf14ffe41..fc1d08e56d 100644
--- a/civicrm/Civi/Api4/Navigation.php
+++ b/civicrm/Civi/Api4/Navigation.php
@@ -15,6 +15,7 @@ namespace Civi\Api4;
  *
  * @searchable none
  * @orderBy weight
+ * @groupWeightsBy domain_id,parent_id
  * @since 5.19
  * @package Civi\Api4
  */
diff --git a/civicrm/Civi/Api4/OptionValue.php b/civicrm/Civi/Api4/OptionValue.php
index 7ca6e31481..a3486c3e7c 100644
--- a/civicrm/Civi/Api4/OptionValue.php
+++ b/civicrm/Civi/Api4/OptionValue.php
@@ -16,6 +16,7 @@ namespace Civi\Api4;
  * @see \Civi\Api4\OptionGroup
  * @searchable secondary
  * @orderBy weight
+ * @groupWeightsBy option_group_id
  * @since 5.19
  * @package Civi\Api4
  */
diff --git a/civicrm/Civi/Api4/Permission.php b/civicrm/Civi/Api4/Permission.php
index 07bf9ff340..a8a270c091 100644
--- a/civicrm/Civi/Api4/Permission.php
+++ b/civicrm/Civi/Api4/Permission.php
@@ -43,6 +43,14 @@ class Permission extends Generic\AbstractEntity {
           'name' => 'group',
           'title' => 'Group',
           'data_type' => 'String',
+          'options' => [
+            'civicrm' => 'civicrm',
+            'cms' => 'cms',
+            'const' => 'const',
+            'afform' => 'afform',
+            'afformGeneric' => 'afformGeneric',
+            'unknown' => 'unknown',
+          ],
         ],
         [
           'name' => 'name',
diff --git a/civicrm/Civi/Api4/PriceField.php b/civicrm/Civi/Api4/PriceField.php
index dcbe67026e..8b1aba7ecf 100644
--- a/civicrm/Civi/Api4/PriceField.php
+++ b/civicrm/Civi/Api4/PriceField.php
@@ -15,6 +15,7 @@ namespace Civi\Api4;
  *
  * @searchable secondary
  * @orderBy weight
+ * @groupWeightsBy price_set_id
  * @since 5.27
  * @package Civi\Api4
  */
diff --git a/civicrm/Civi/Api4/PriceFieldValue.php b/civicrm/Civi/Api4/PriceFieldValue.php
index d6e20203ef..5924902168 100644
--- a/civicrm/Civi/Api4/PriceFieldValue.php
+++ b/civicrm/Civi/Api4/PriceFieldValue.php
@@ -15,6 +15,7 @@ namespace Civi\Api4;
  *
  * @searchable secondary
  * @orderBy weight
+ * @groupWeightsBy price_field_id
  * @since 5.27
  * @package Civi\Api4
  */
diff --git a/civicrm/Civi/Api4/Queue.php b/civicrm/Civi/Api4/Queue.php
new file mode 100644
index 0000000000..7c4e337b87
--- /dev/null
+++ b/civicrm/Civi/Api4/Queue.php
@@ -0,0 +1,35 @@
+<?php
+/*
+ +--------------------------------------------------------------------+
+ | Copyright CiviCRM LLC. All rights reserved.                        |
+ |                                                                    |
+ | This work is published under the GNU AGPLv3 license with some      |
+ | permitted exceptions and without any warranty. For full license    |
+ | and copyright information, see https://civicrm.org/licensing       |
+ +--------------------------------------------------------------------+
+ */
+namespace Civi\Api4;
+
+/**
+ * Track a list of durable/scannable queues.
+ *
+ * Registering a queue in this table (and setting `is_auto=1`) can
+ * allow it to execute tasks automatically in the background.
+ *
+ * @searchable none
+ * @since 5.47
+ * @package Civi\Api4
+ */
+class Queue extends \Civi\Api4\Generic\DAOEntity {
+
+  /**
+   * @return array
+   */
+  public static function permissions() {
+    return [
+      'meta' => ['access CiviCRM'],
+      'default' => ['administer queues'],
+    ];
+  }
+
+}
diff --git a/civicrm/Civi/Api4/RelationshipCache.php b/civicrm/Civi/Api4/RelationshipCache.php
index 77db19c2f2..3beee1ab43 100644
--- a/civicrm/Civi/Api4/RelationshipCache.php
+++ b/civicrm/Civi/Api4/RelationshipCache.php
@@ -53,7 +53,7 @@ class RelationshipCache extends Generic\AbstractEntity {
         'description' => ts('One or more related contacts'),
       ],
     ];
-    if (in_array('CiviCase', \Civi::settings()->get('enable_components'), TRUE)) {
+    if (\CRM_Core_Component::isEnabled('CiviCase')) {
       $info['bridge']['case_id'] = [
         'to' => 'far_contact_id',
         'label' => ts('Case Roles'),
diff --git a/civicrm/Civi/Api4/Service/Schema/Joinable/Joinable.php b/civicrm/Civi/Api4/Service/Schema/Joinable/Joinable.php
index 6b5aed9e82..076707504e 100644
--- a/civicrm/Civi/Api4/Service/Schema/Joinable/Joinable.php
+++ b/civicrm/Civi/Api4/Service/Schema/Joinable/Joinable.php
@@ -244,7 +244,7 @@ class Joinable {
   }
 
   /**
-   * @param int|NULL $serialize
+   * @param int|null $serialize
    *
    * @return $this
    */
diff --git a/civicrm/Civi/Api4/Service/Spec/FieldSpec.php b/civicrm/Civi/Api4/Service/Spec/FieldSpec.php
index e1da6ce9c1..89f1386416 100644
--- a/civicrm/Civi/Api4/Service/Spec/FieldSpec.php
+++ b/civicrm/Civi/Api4/Service/Spec/FieldSpec.php
@@ -63,6 +63,11 @@ class FieldSpec {
   /**
    * @var bool
    */
+  public $nullable = TRUE;
+
+  /**
+   * @var string
+   */
   public $requiredIf;
 
   /**
@@ -127,6 +132,24 @@ class FieldSpec {
     return $this->entity;
   }
 
+  /**
+   * @return bool
+   */
+  public function getNullable() {
+    return $this->nullable;
+  }
+
+  /**
+   * @param bool $nullable
+   *
+   * @return $this
+   */
+  public function setNullable(bool $nullable) {
+    $this->nullable = $nullable;
+
+    return $this;
+  }
+
   /**
    * @return bool
    */
@@ -146,14 +169,14 @@ class FieldSpec {
   }
 
   /**
-   * @return bool
+   * @return string
    */
   public function getRequiredIf() {
     return $this->requiredIf;
   }
 
   /**
-   * @param bool $requiredIf
+   * @param string $requiredIf
    *
    * @return $this
    */
diff --git a/civicrm/Civi/Api4/Service/Spec/Provider/ContactCreationSpecProvider.php b/civicrm/Civi/Api4/Service/Spec/Provider/ContactCreationSpecProvider.php
index ac13bcba81..c3d799dd05 100644
--- a/civicrm/Civi/Api4/Service/Spec/Provider/ContactCreationSpecProvider.php
+++ b/civicrm/Civi/Api4/Service/Spec/Provider/ContactCreationSpecProvider.php
@@ -20,14 +20,8 @@ class ContactCreationSpecProvider implements Generic\SpecProviderInterface {
    * @param \Civi\Api4\Service\Spec\RequestSpec $spec
    */
   public function modifySpec(RequestSpec $spec) {
-    $contactTypeField = $spec->getFieldByName('contact_type');
-    if ($contactTypeField) {
-      $contactTypeField->setDefaultValue('Individual');
-    }
-
     $spec->getFieldByName('is_opt_out')->setRequired(FALSE);
     $spec->getFieldByName('is_deleted')->setRequired(FALSE);
-
   }
 
   /**
diff --git a/civicrm/Civi/Api4/Service/Spec/Provider/EventCreationSpecProvider.php b/civicrm/Civi/Api4/Service/Spec/Provider/EventCreationSpecProvider.php
index d6c331cc47..e58d8752a4 100644
--- a/civicrm/Civi/Api4/Service/Spec/Provider/EventCreationSpecProvider.php
+++ b/civicrm/Civi/Api4/Service/Spec/Provider/EventCreationSpecProvider.php
@@ -31,6 +31,8 @@ class EventCreationSpecProvider implements Generic\SpecProviderInterface {
       ->setTitle('Template Id')
       ->setDescription('Template on which to base this new event');
     $spec->addFieldSpec($template_id);
+
+    $spec->getFieldByName('event_tz')->setDefaultValue(\CRM_Core_Config::singleton()->userSystem->getTimeZoneString());
   }
 
   /**
diff --git a/civicrm/Civi/Api4/Service/Spec/Provider/RelationshipCacheSpecProvider.php b/civicrm/Civi/Api4/Service/Spec/Provider/RelationshipCacheSpecProvider.php
new file mode 100644
index 0000000000..cb65e5a143
--- /dev/null
+++ b/civicrm/Civi/Api4/Service/Spec/Provider/RelationshipCacheSpecProvider.php
@@ -0,0 +1,99 @@
+<?php
+
+/*
+ +--------------------------------------------------------------------+
+ | Copyright CiviCRM LLC. All rights reserved.                        |
+ |                                                                    |
+ | This work is published under the GNU AGPLv3 license with some      |
+ | permitted exceptions and without any warranty. For full license    |
+ | and copyright information, see https://civicrm.org/licensing       |
+ +--------------------------------------------------------------------+
+ */
+
+namespace Civi\Api4\Service\Spec\Provider;
+
+use Civi\Api4\Service\Spec\FieldSpec;
+use Civi\Api4\Service\Spec\RequestSpec;
+
+class RelationshipCacheSpecProvider implements Generic\SpecProviderInterface {
+
+  /**
+   * @param \Civi\Api4\Service\Spec\RequestSpec $spec
+   */
+  public function modifySpec(RequestSpec $spec) {
+    $mirrorFields = [
+      'description' => 'description',
+      // Alias these two to avoid name conflict with fields in civicrm_contact table during bridge joins
+      'created_date' => 'relationship_created_date',
+      'modified_date' => 'relationship_modified_date',
+    ];
+    $relationshipFields = \CRM_Contact_DAO_Relationship::getSupportedFields();
+    foreach (array_intersect_key($relationshipFields, $mirrorFields) as $origName => $origField) {
+      $field = new FieldSpec($mirrorFields[$origName], $spec->getEntity(), \CRM_Utils_Type::typeToString($origField['type']));
+      $field
+        ->setTitle($origField['title'])
+        ->setLabel($origField['html']['label'] ?? NULL)
+        // Fetches the value from the relationship
+        ->setColumnName('relationship_id')
+        ->setDescription($origField['description'])
+        ->setSqlRenderer([__CLASS__, 'mirrorRelationshipField']);
+      $spec->addFieldSpec($field);
+    }
+
+    $directionalFields = [
+      'permission_near_to_far' => [
+        'title' => ts("Permission to access related contact"),
+        'description' => ts('Whether contact has permission to view or update update the related contact'),
+      ],
+      'permission_far_to_near' => [
+        'title' => ts("Permission to be accessed by related contact"),
+        'description' => ts('Whether related contact has permission to view or update this contact'),
+      ],
+    ];
+    foreach ($directionalFields as $name => $fieldInfo) {
+      $field = new FieldSpec($name, $spec->getEntity(), 'Integer');
+      $field
+        ->setTitle($fieldInfo['title'])
+        // Fetches the value from the relationship
+        ->setColumnName('relationship_id')
+        ->setDescription($fieldInfo['description'])
+        ->setOptionsCallback(['CRM_Core_SelectValues', 'getPermissionedRelationshipOptions'])
+        ->setSqlRenderer([__CLASS__, 'directionalRelationshipField']);
+      $spec->addFieldSpec($field);
+    }
+
+  }
+
+  /**
+   * @inheritDoc
+   */
+  public function applies($entity, $action) {
+    return $entity === 'RelationshipCache' && $action === 'get';
+  }
+
+  /**
+   * Generates sql for `description`, `relationship_created_date` and `relationship_modified_date` pseudo fields
+   *
+   * Note: the latter two have `relationship_` prefixing the field names to avoid naming conflicts during bridge joins.
+   *
+   * @param array $field
+   * return string
+   */
+  public static function mirrorRelationshipField(array $field): string {
+    $fieldName = str_replace('relationship_', '', $field['name']);
+    return "(SELECT r.`$fieldName` FROM `civicrm_relationship` r WHERE r.`id` = {$field['sql_name']})";
+  }
+
+  /**
+   * Generates sql for `permission_near_to_far` and `permission_far_to_near` pseudo fields
+   *
+   * @param array $field
+   * return string
+   */
+  public static function directionalRelationshipField(array $field): string {
+    $direction = $field['name'] === 'permission_near_to_far' ? 'a_b' : 'b_a';
+    $orientation = str_replace('.`relationship_id`', '.`orientation`', $field['sql_name']);
+    return "(SELECT IF($orientation = '$direction', r.is_permission_a_b, r.is_permission_b_a) FROM `civicrm_relationship` r WHERE r.`id` = {$field['sql_name']})";
+  }
+
+}
diff --git a/civicrm/Civi/Api4/Service/Spec/SpecFormatter.php b/civicrm/Civi/Api4/Service/Spec/SpecFormatter.php
index cee41e1ac1..058f83dea2 100644
--- a/civicrm/Civi/Api4/Service/Spec/SpecFormatter.php
+++ b/civicrm/Civi/Api4/Service/Spec/SpecFormatter.php
@@ -37,6 +37,7 @@ class SpecFormatter {
         $field->setTableName($data['custom_group_id.table_name']);
       }
       $field->setColumnName($data['column_name']);
+      $field->setNullable(empty($data['is_required']));
       $field->setCustomFieldId($data['id'] ?? NULL);
       $field->setCustomGroupName($data['custom_group_id.name']);
       $field->setTitle($data['label']);
@@ -58,7 +59,8 @@ class SpecFormatter {
       $field = new FieldSpec($name, $entity, $dataTypeName);
       $field->setType('Field');
       $field->setColumnName($name);
-      $field->setRequired(!empty($data['required']));
+      $field->setNullable(empty($data['required']));
+      $field->setRequired(!empty($data['required']) && empty($data['default']));
       $field->setTitle($data['title'] ?? NULL);
       $field->setLabel($data['html']['label'] ?? NULL);
       if (!empty($data['pseudoconstant'])) {
diff --git a/civicrm/Civi/Api4/Service/Spec/SpecGatherer.php b/civicrm/Civi/Api4/Service/Spec/SpecGatherer.php
index 51a36fc82b..e37656747f 100644
--- a/civicrm/Civi/Api4/Service/Spec/SpecGatherer.php
+++ b/civicrm/Civi/Api4/Service/Spec/SpecGatherer.php
@@ -55,7 +55,7 @@ class SpecGatherer {
     }
 
     // Default value only makes sense for create actions
-    if ($action != 'create') {
+    if ($action !== 'create') {
       foreach ($specification->getFields() as $field) {
         $field->setDefaultValue(NULL);
       }
@@ -92,14 +92,9 @@ class SpecGatherer {
       if (array_key_exists('contactType', $DAOField) && $spec->getValue('contact_type') && $DAOField['contactType'] != $spec->getValue('contact_type')) {
         continue;
       }
-      if (!empty($DAOField['component']) &&
-        !in_array($DAOField['component'], \Civi::settings()->get('enable_components'), TRUE)
-      ) {
+      if (!empty($DAOField['component']) && !\CRM_Core_Component::isEnabled($DAOField['component'])) {
         continue;
       }
-      if ($action !== 'create' || isset($DAOField['default'])) {
-        $DAOField['required'] = FALSE;
-      }
       if ($DAOField['name'] == 'is_active' && empty($DAOField['default'])) {
         $DAOField['default'] = '1';
       }
diff --git a/civicrm/Civi/Api4/SubscriptionHistory.php b/civicrm/Civi/Api4/SubscriptionHistory.php
new file mode 100644
index 0000000000..fd75e83ef5
--- /dev/null
+++ b/civicrm/Civi/Api4/SubscriptionHistory.php
@@ -0,0 +1,22 @@
+<?php
+/*
+ +--------------------------------------------------------------------+
+ | Copyright CiviCRM LLC. All rights reserved.                        |
+ |                                                                    |
+ | This work is published under the GNU AGPLv3 license with some      |
+ | permitted exceptions and without any warranty. For full license    |
+ | and copyright information, see https://civicrm.org/licensing       |
+ +--------------------------------------------------------------------+
+ */
+namespace Civi\Api4;
+
+/**
+ * SubscriptionHistory entity.
+ *
+ * @searchable secondary
+ * @since 5.47
+ * @package Civi\Api4
+ */
+class SubscriptionHistory extends Generic\DAOEntity {
+
+}
diff --git a/civicrm/Civi/Api4/UFField.php b/civicrm/Civi/Api4/UFField.php
index 7fbd05df2f..01479ada1e 100644
--- a/civicrm/Civi/Api4/UFField.php
+++ b/civicrm/Civi/Api4/UFField.php
@@ -16,6 +16,7 @@ namespace Civi\Api4;
  * @see \Civi\Api4\UFGroup
  * @searchable none
  * @orderBy weight
+ * @groupWeightsBy uf_group_id
  * @since 5.19
  * @package Civi\Api4
  */
diff --git a/civicrm/Civi/Api4/Utils/FormattingUtil.php b/civicrm/Civi/Api4/Utils/FormattingUtil.php
index f537e73b5e..4c62b46592 100644
--- a/civicrm/Civi/Api4/Utils/FormattingUtil.php
+++ b/civicrm/Civi/Api4/Utils/FormattingUtil.php
@@ -56,7 +56,8 @@ class FormattingUtil {
       /*
        * Because of the wacky way that database values are saved we need to format
        * some of the values here. In this strange world the string 'null' is used to
-       * unset values. Hence if we encounter true null we change it to string 'null'.
+       * unset values. If we encounter true null at this layer we change it to an empty string
+       * and it will be converted to 'null' by CRM_Core_DAO::copyValues.
        *
        * If we encounter the string 'null' then we assume the user actually wants to
        * set the value to string null. However since the string null is reserved for
@@ -66,7 +67,7 @@ class FormattingUtil {
        * 'Null'.
        */
       elseif (array_key_exists($name, $params) && $params[$name] === NULL) {
-        $params[$name] = 'null';
+        $params[$name] = '';
       }
     }
 
@@ -338,6 +339,10 @@ class FormattingUtil {
         case 'Money':
         case 'Float':
           return (float) $value;
+
+        case 'Date':
+          // Strip time from date-only fields
+          return substr($value, 0, 10);
       }
     }
     return $value;
diff --git a/civicrm/Civi/Api4/Utils/ReflectionUtils.php b/civicrm/Civi/Api4/Utils/ReflectionUtils.php
index 0263718e3a..f09d8841d9 100644
--- a/civicrm/Civi/Api4/Utils/ReflectionUtils.php
+++ b/civicrm/Civi/Api4/Utils/ReflectionUtils.php
@@ -88,7 +88,7 @@ class ReflectionUtils {
         elseif ($key == 'return') {
           $info['return'] = explode('|', $words[0]);
         }
-        elseif ($key == 'options' || $key == 'ui_join_filters') {
+        elseif ($key == 'options' || $key == 'ui_join_filters' || $key == 'groupWeightsBy') {
           $val = str_replace(', ', ',', implode(' ', $words));
           $info[$key] = explode(',', $val);
         }
diff --git a/civicrm/Civi/Core/AssetBuilder.php b/civicrm/Civi/Core/AssetBuilder.php
index aa40a097f4..a67569364d 100644
--- a/civicrm/Civi/Core/AssetBuilder.php
+++ b/civicrm/Civi/Core/AssetBuilder.php
@@ -241,7 +241,7 @@ class AssetBuilder {
   /**
    * Determine the local path of a cache file.
    *
-   * @param string|NULL $fileName
+   * @param string|null $fileName
    *   Ex: 'angular.abcd1234abcd1234.json'.
    * @return string
    *   URL.
@@ -257,7 +257,7 @@ class AssetBuilder {
   /**
    * Determine the URL of a cache file.
    *
-   * @param string|NULL $fileName
+   * @param string|null $fileName
    *   Ex: 'angular.abcd1234abcd1234.json'.
    * @return string
    *   URL.
diff --git a/civicrm/Civi/Core/Container.php b/civicrm/Civi/Core/Container.php
index d733b6ce04..a6e6d555af 100644
--- a/civicrm/Civi/Core/Container.php
+++ b/civicrm/Civi/Core/Container.php
@@ -262,6 +262,11 @@ class Container {
     }
     $container->setAlias('cache.short', 'cache.default')->setPublic(TRUE);
 
+    $container->setDefinition('civi.pipe', new Definition(
+      'Civi\Pipe\PipeSession',
+      []
+    ))->setPublic(TRUE)->setShared(FALSE);
+
     $container->setDefinition('resources', new Definition(
       'CRM_Core_Resources',
       [new Reference('service_container')]
diff --git a/civicrm/Civi/Core/DAO/Event/PostDelete.php b/civicrm/Civi/Core/DAO/Event/PostDelete.php
index ade776ebc9..c8ea247170 100644
--- a/civicrm/Civi/Core/DAO/Event/PostDelete.php
+++ b/civicrm/Civi/Core/DAO/Event/PostDelete.php
@@ -23,13 +23,13 @@ class PostDelete extends \Symfony\Component\EventDispatcher\Event {
   public $object;
 
   /**
-   * @var mixed
+   * @var int|false
    */
   public $result;
 
   /**
-   * @param $object
-   * @param $result
+   * @param \CRM_Core_DAO $object
+   * @param int|false $result
    */
   public function __construct($object, $result) {
     $this->object = $object;
diff --git a/civicrm/Civi/Core/Event/PreEvent.php b/civicrm/Civi/Core/Event/PreEvent.php
index db25c344e0..444739b1c3 100644
--- a/civicrm/Civi/Core/Event/PreEvent.php
+++ b/civicrm/Civi/Core/Event/PreEvent.php
@@ -44,7 +44,7 @@ class PreEvent extends GenericHookEvent {
    *
    * @param string $action
    * @param string $entity
-   * @param int $id
+   * @param int|null $id
    * @param array $params
    */
   public function __construct($action, $entity, $id, &$params) {
diff --git a/civicrm/Civi/Core/Format.php b/civicrm/Civi/Core/Format.php
index 2ea33946ad..b3076d0e8d 100644
--- a/civicrm/Civi/Core/Format.php
+++ b/civicrm/Civi/Core/Format.php
@@ -23,30 +23,27 @@ class Format {
   /**
    * Get formatted money
    *
-   * @param string|int|float $amount
+   * @param string|int|float|BigDecimal $amount
    * @param string|null $currency
    *   Currency, defaults to site currency if not provided.
    * @param string|null $locale
    *
    * @return string
    *
+   * @throws \CRM_Core_Exception
+   *
    * @noinspection PhpDocMissingThrowsInspection
    * @noinspection PhpUnhandledExceptionInspection
    */
   public function money($amount, ?string $currency = NULL, ?string $locale = NULL): string {
-    // Empty value => empty string
-    if (is_null($amount) || $amount === '' || $amount === FALSE) {
+    if (($amount = $this->checkAndConvertAmount($amount)) === '') {
       return '';
     }
-    // Verify the amount is a number or numeric string/object
-    elseif ($amount === TRUE || !is_numeric((string) $amount)) {
-      throw new \CRM_Core_Exception('Invalid value for type money');
-    }
     if (!$currency) {
       $currency = Civi::settings()->get('defaultCurrency');
     }
     if (!isset($locale)) {
-      $locale = CRM_Core_I18n::getLocale();
+      $locale = Civi::settings()->get('format_locale') ?? CRM_Core_I18n::getLocale();
     }
     $money = Money::of($amount, $currency, NULL, RoundingMode::HALF_UP);
     $formatter = $this->getMoneyFormatter($currency, $locale);
@@ -66,11 +63,15 @@ class Format {
    *   add any padding.
    *
    * @return string
+   * @throws \CRM_Core_Exception
    */
   public function number($amount, ?string $locale = NULL, array $attributes = [
     NumberFormatter::MIN_FRACTION_DIGITS => 0,
     NumberFormatter::MAX_FRACTION_DIGITS => 8,
   ]): string {
+    if (($amount = $this->checkAndConvertAmount($amount)) === '') {
+      return '';
+    }
     $formatter = $this->getMoneyFormatter(NULL, $locale, NumberFormatter::DECIMAL, $attributes);
     return $formatter->format($amount);
   }
@@ -80,7 +81,7 @@ class Format {
    *
    * @param string|float|int $amount
    * @param string $currency
-   * @param $locale
+   * @param string|null $locale
    *
    * @return string
    *
@@ -88,6 +89,9 @@ class Format {
    * @noinspection PhpUnhandledExceptionInspection
    */
   public function moneyNumber($amount, string $currency, $locale): string {
+    if (($amount = $this->checkAndConvertAmount($amount)) === '') {
+      return '';
+    }
     $formatter = $this->getMoneyFormatter($currency, $locale, NumberFormatter::DECIMAL);
     $money = Money::of($amount, $currency, NULL, RoundingMode::HALF_UP);
     return $money->formatWith($formatter);
@@ -106,6 +110,9 @@ class Format {
    * @noinspection PhpUnhandledExceptionInspection
    */
   public function moneyLong($amount, ?string $currency, ?string $locale): string {
+    if (($amount = $this->checkAndConvertAmount($amount)) === '') {
+      return '';
+    }
     $formatter = $this->getMoneyFormatter($currency, $locale, NumberFormatter::CURRENCY, [
       NumberFormatter::MAX_FRACTION_DIGITS => 9,
     ]);
@@ -126,6 +133,9 @@ class Format {
    * @noinspection PhpUnhandledExceptionInspection
    */
   public function moneyNumberLong($amount, ?string $currency, ?string $locale): string {
+    if (($amount = $this->checkAndConvertAmount($amount)) === '') {
+      return '';
+    }
     $formatter = $this->getMoneyFormatter($currency, $locale, NumberFormatter::DECIMAL, [
       NumberFormatter::MAX_FRACTION_DIGITS => 9,
     ]);
@@ -140,7 +150,7 @@ class Format {
    * we are looking at how to manage an 'opt in'
    */
   protected function isUseSeparatorSettings(): bool {
-    return !CRM_Utils_Constant::value('IGNORE_SEPARATOR_CONFIG');
+    return !Civi::settings()->get('format_locale') && !CRM_Utils_Constant::value('IGNORE_SEPARATOR_CONFIG');
   }
 
   /**
@@ -189,4 +199,28 @@ class Format {
     return \Civi::$statics[$cacheKey];
   }
 
+  /**
+   * Since the input can be various data types and values, we need to handle
+   * them before passing on to the Brick libraries which would throw exceptions
+   * for ones that we are ok just converting to the empty string.
+   *
+   * @param string|int|float|BigDecimal $amount
+   * @return string
+   *   Either the empty string if an empty-ish value, or the original amount as a string.
+   * @throws \CRM_Core_Exception
+   */
+  private function checkAndConvertAmount($amount): string {
+    // Empty value => empty string
+    // FALSE should be an error but some smarty variables are filled with FALSE to avoid ENOTICES.
+    if (is_null($amount) || $amount === '' || $amount === FALSE) {
+      return '';
+    }
+    // Verify the amount is a number or numeric string/object.
+    // We cast to string because it can be a BigDecimal object.
+    if ($amount === TRUE || !is_numeric((string) $amount)) {
+      throw new \CRM_Core_Exception('Invalid value for type money');
+    }
+    return (string) $amount;
+  }
+
 }
diff --git a/civicrm/Civi/Core/Paths.php b/civicrm/Civi/Core/Paths.php
index aaab990d38..478141eb12 100644
--- a/civicrm/Civi/Core/Paths.php
+++ b/civicrm/Civi/Core/Paths.php
@@ -232,7 +232,7 @@ class Paths {
    *   The result data may not meet the preference -- if the setting
    *   refers to an external domain, then the result will be
    *   absolute (regardless of preference).
-   * @param bool|NULL $ssl
+   * @param bool|null $ssl
    *   NULL to autodetect. TRUE to force to SSL.
    * @return FALSE|string
    *   The URL for $value (string), or FALSE if the $value is not specified.
diff --git a/civicrm/Civi/Core/SqlTrigger/StaticTriggers.php b/civicrm/Civi/Core/SqlTrigger/StaticTriggers.php
index e7e7a50165..c9867ed85f 100644
--- a/civicrm/Civi/Core/SqlTrigger/StaticTriggers.php
+++ b/civicrm/Civi/Core/SqlTrigger/StaticTriggers.php
@@ -58,7 +58,7 @@ class StaticTriggers {
    *
    * @param array $info
    *   See hook_civicrm_triggerInfo.
-   * @param string|NULL $tableFilter
+   * @param string|null $tableFilter
    *   See hook_civicrm_triggerInfo.
    */
   public function alterTriggerInfo(&$info, $tableFilter = NULL) {
diff --git a/civicrm/Civi/Core/SqlTrigger/TimestampTriggers.php b/civicrm/Civi/Core/SqlTrigger/TimestampTriggers.php
index f7730e940c..606bf0c737 100644
--- a/civicrm/Civi/Core/SqlTrigger/TimestampTriggers.php
+++ b/civicrm/Civi/Core/SqlTrigger/TimestampTriggers.php
@@ -119,7 +119,7 @@ class TimestampTriggers {
    *
    * @param array $info
    *   See hook_civicrm_triggerInfo.
-   * @param string|NULL $tableFilter
+   * @param string|null $tableFilter
    *   See hook_civicrm_triggerInfo.
    */
   public function alterTriggerInfo(&$info, $tableFilter = NULL) {
diff --git a/civicrm/Civi/Core/Transaction/Frame.php b/civicrm/Civi/Core/Transaction/Frame.php
index 7dbe7e4a50..a24b611dc9 100644
--- a/civicrm/Civi/Core/Transaction/Frame.php
+++ b/civicrm/Civi/Core/Transaction/Frame.php
@@ -168,11 +168,11 @@ class Frame {
    *
    * @param int $phase
    *   A constant; one of: self::PHASE_{PRE,POST}_{COMMIT,ROLLBACK}.
-   * @param mixed $callback
+   * @param callable $callback
    *   A PHP callback.
-   * @param array|NULL $params Optional values to pass to callback.
+   * @param mixed $params Optional values to pass to callback.
    *          See php manual call_user_func_array for details.
-   * @param null $id
+   * @param string|int|null $id
    */
   public function addCallback($phase, $callback, $params = NULL, $id = NULL) {
     if ($id) {
diff --git a/civicrm/Civi/Crypto/CryptoRegistry.php b/civicrm/Civi/Crypto/CryptoRegistry.php
index 393e234b97..27f0a9de8f 100644
--- a/civicrm/Civi/Crypto/CryptoRegistry.php
+++ b/civicrm/Civi/Crypto/CryptoRegistry.php
@@ -193,7 +193,7 @@ class CryptoRegistry {
   /**
    * @param CipherSuiteInterface $cipherSuite
    *   The encryption/decryption callback/handler
-   * @param string[]|NULL $names
+   * @param string[]|null $names
    *   Symbolic names. Ex: 'aes-cbc'
    *   If NULL, probe $cipherSuite->getNames()
    */
diff --git a/civicrm/Civi/Install/Requirements.php b/civicrm/Civi/Install/Requirements.php
index e35d242d49..6b6b68af13 100644
--- a/civicrm/Civi/Install/Requirements.php
+++ b/civicrm/Civi/Install/Requirements.php
@@ -121,7 +121,7 @@ class Requirements {
   /**
    * Generates a mysql connection
    *
-   * @param $db_config array
+   * @param array $db_config
    * @return object mysqli connection
    */
   protected function connect($db_config) {
diff --git a/civicrm/Civi/Payment/PropertyBag.php b/civicrm/Civi/Payment/PropertyBag.php
index 6b39c0f74c..4e76c5aedf 100644
--- a/civicrm/Civi/Payment/PropertyBag.php
+++ b/civicrm/Civi/Payment/PropertyBag.php
@@ -26,13 +26,23 @@ class PropertyBag implements \ArrayAccess {
 
   protected static $propMap = [
     'amount'                      => TRUE,
+    'total_amount'                => 'amount',
     'billingStreetAddress'        => TRUE,
+    'billing_street_address'      => 'billingStreetAddress',
+    'street_address'              => 'billingStreetAddress',
     'billingSupplementalAddress1' => TRUE,
     'billingSupplementalAddress2' => TRUE,
     'billingSupplementalAddress3' => TRUE,
     'billingCity'                 => TRUE,
+    'billing_city'                => 'billingCity',
+    'city'                        => 'billingCity',
     'billingPostalCode'           => TRUE,
+    'billing_postal_code'         => 'billingPostalCode',
+    'postal_code'                 => 'billingPostalCode',
     'billingCounty'               => TRUE,
+    'billingStateProvince'        => TRUE,
+    'billing_state_province'      => 'billingStateProvince',
+    'state_province'              => 'billingStateProvince',
     'billingCountry'              => TRUE,
     'contactID'                   => TRUE,
     'contact_id'                  => 'contactID',
@@ -258,13 +268,18 @@ class PropertyBag implements \ArrayAccess {
     if ($newName === NULL && substr($prop, -2) === '-' . \CRM_Core_BAO_LocationType::getBilling()
       && isset(static::$propMap[substr($prop, 0, -2)])
     ) {
-      $newName = substr($prop, 0, -2);
+      $billingAddressProp = substr($prop, 0, -2);
+      $newName = static::$propMap[$billingAddressProp] ?? NULL;
+      if ($newName === TRUE) {
+        // Good, modern name.
+        return $billingAddressProp;
+      }
     }
 
     if ($newName === NULL) {
       if ($silent) {
         // Only for use by offsetExists
-        return;
+        return NULL;
       }
       throw new \InvalidArgumentException("Unknown property '$prop'.");
     }
@@ -591,6 +606,27 @@ class PropertyBag implements \ArrayAccess {
     return $this->set('billingCounty', $label, (string) $input);
   }
 
+  /**
+   * BillingStateProvince getter.
+   *
+   * @return string
+   */
+  public function getBillingStateProvince($label = 'default') {
+    return $this->get('billingStateProvince', $label);
+  }
+
+  /**
+   * BillingStateProvince setter.
+   *
+   * Nb. we can't validate this unless we have the country ID too, so we don't.
+   *
+   * @param string $input
+   * @param string $label e.g. 'default'
+   */
+  public function setBillingStateProvince($input, $label = 'default') {
+    return $this->set('billingStateProvince', $label, (string) $input);
+  }
+
   /**
    * BillingCountry getter.
    *
diff --git a/civicrm/Civi/Pipe/BasicPipeClient.php b/civicrm/Civi/Pipe/BasicPipeClient.php
new file mode 100644
index 0000000000..0544db3985
--- /dev/null
+++ b/civicrm/Civi/Pipe/BasicPipeClient.php
@@ -0,0 +1,166 @@
+<?php
+/*
+ +--------------------------------------------------------------------+
+ | Copyright CiviCRM LLC. All rights reserved.                        |
+ |                                                                    |
+ | This work is published under the GNU AGPLv3 license with some      |
+ | permitted exceptions and without any warranty. For full license    |
+ | and copyright information, see https://civicrm.org/licensing       |
+ +--------------------------------------------------------------------+
+ */
+
+namespace Civi\Pipe;
+
+/**
+ * This is a thin/trivial client implementation that connects to Civi::pipe()
+ * and synchronously exchanges JSON messages.
+ *
+ * It is intended for use E2E testing.
+ *
+ * @code
+ * $rpc = new BasicPipeClient('drush ev \'civicrm_initialize(); Civi::pipe();\'');
+ * $rpc->call('login', ['contactId' => 202]);
+ * $contacts = $rpc->call('api4', ['Contact', 'get']);
+ * @endCode
+ *
+ * Failed method-calls will emit `JsonRpcMethodException`.
+ * Errors in protocol handling will emit `RuntimeExcpetion`.
+ */
+class BasicPipeClient {
+
+  /**
+   * Maximum length of a requst
+   *
+   * @var int
+   */
+  private $bufferSize;
+
+  /**
+   * @var array
+   */
+  private $pipes;
+
+  /**
+   * @var resource|false|null
+   */
+  private $process;
+
+  /**
+   * @var array|null
+   */
+  private $welcome;
+
+  /**
+   * @param string|null $command
+   *   The shell command to start the pipe. If given, auto-connect.
+   *   If omitted, then you can call connect($command) later.
+   *   Ex: `cv ev 'Civi::pipe();'`, `cv ev 'Civi::pipe("u");'`, `drush ev 'civicrm_initialize(); Civi::pipe("vt");'`
+   * @param int $bufferSize
+   */
+  public function __construct(?string $command = NULL, int $bufferSize = 32767) {
+    $this->bufferSize = $bufferSize;
+    if ($command) {
+      $this->connect($command);
+    }
+  }
+
+  public function __destruct() {
+    if ($this->process) {
+      $this->close();
+    }
+  }
+
+  /**
+   * Start a worker process.
+   *
+   * @param string $command
+   *   The shell command to start the pipe.
+   *   Ex: `cv ev 'Civi::pipe();'`, `cv ev 'Civi::pipe("u");'`, `drush ev 'civicrm_initialize(); Civi::pipe("vt");'`
+   * @return array
+   *   Returns the header/welcome message for the connection.
+   */
+  public function connect(string $command): array {
+    if ($this->process) {
+      throw new \RuntimeException('Client error: Already connected');
+    }
+
+    $desc = [['pipe', 'r'], ['pipe', 'w'], ['pipe', 'a']];
+    $this->process = proc_open($command, $desc, $this->pipes);
+    if (!$this->process) {
+      throw new \RuntimeException("Client error: Failed to open process: $command");
+    }
+    $line = stream_get_line($this->pipes[1], $this->bufferSize, "\n");
+    $this->welcome = json_decode($line, TRUE);
+    if ($this->welcome === NULL || !isset($this->welcome['Civi::pipe'])) {
+      throw new \RuntimeException('Protocol error: Received malformed welcome');
+    }
+    return $this->welcome['Civi::pipe'];
+  }
+
+  public function close(): void {
+    proc_close($this->process);
+    $this->pipes = NULL;
+    $this->process = NULL;
+  }
+
+  /**
+   * Call a method and return the result.
+   *
+   * @param string $method
+   * @param array $params
+   * @param string|int|null $id
+   * @return array{result: array, error: array, jsonrpc: string, id: string|int|null}
+   *   The JSON-RPC response recrd. Contains `result` or `error`.
+   */
+  public function call(string $method, array $params, $id = NULL): array {
+    if (!$this->process) {
+      throw new \RuntimeException('Client error: Connection was not been opened yet.');
+    }
+
+    $requestLine = json_encode(['jsonrpc' => '2.0', 'method' => $method, 'params' => $params, 'id' => $id]);
+    fwrite($this->pipes[0], $requestLine . "\n");
+    $responseLine = stream_get_line($this->pipes[1], $this->bufferSize, "\n");
+    $decode = json_decode($responseLine, TRUE);
+    if (!isset($decode['jsonrpc']) || $decode['jsonrpc'] !== '2.0') {
+      throw new \RuntimeException('Protocol error: Response lacks JSON-RPC header.');
+    }
+    if (!array_key_exists('id', $decode) || $decode['id'] !== $id) {
+      throw new \RuntimeException('Protocol error: Received response for wrong request.');
+    }
+
+    if (array_key_exists('error', $decode) && !array_key_exists('result', $decode)) {
+      throw new JsonRpcMethodException($decode);
+    }
+    if (array_key_exists('result', $decode) && !array_key_exists('error', $decode)) {
+      return $decode['result'];
+    }
+    throw new \RuntimeException("Protocol error: Response must include 'result' xor 'error'.");
+  }
+
+  /**
+   * @param int $bufferSize
+   * @return $this
+   */
+  public function setBufferSize(int $bufferSize) {
+    $this->bufferSize = $bufferSize;
+    if ($this->process) {
+      $this->call('options', ['bufferSize' => $bufferSize]);
+    }
+    return $this;
+  }
+
+  /**
+   * @return int
+   */
+  public function getBufferSize(): int {
+    return $this->bufferSize;
+  }
+
+  /**
+   * @return array|NULL
+   */
+  public function getWelcome(): ?array {
+    return $this->welcome['Civi::pipe'] ?? NULL;
+  }
+
+}
diff --git a/civicrm/Civi/Pipe/JsonRpc.php b/civicrm/Civi/Pipe/JsonRpc.php
new file mode 100644
index 0000000000..3e458cd00c
--- /dev/null
+++ b/civicrm/Civi/Pipe/JsonRpc.php
@@ -0,0 +1,125 @@
+<?php
+/*
+ +--------------------------------------------------------------------+
+ | Copyright CiviCRM LLC. All rights reserved.                        |
+ |                                                                    |
+ | This work is published under the GNU AGPLv3 license with some      |
+ | permitted exceptions and without any warranty. For full license    |
+ | and copyright information, see https://civicrm.org/licensing       |
+ +--------------------------------------------------------------------+
+ */
+
+namespace Civi\Pipe;
+
+class JsonRpc {
+
+  /**
+   * Execute a JSON-RPC request and return a result.
+   *
+   * This adapter handles decoding, encoding, and conversion of exceptions.
+   *
+   * @code
+   * $input = '{"jsonrpc":"2.0","method":"greet","id":1}';
+   * $output = JsonRpc::run($input, function(string $method, array $params) {
+   *   if ($method === 'greet') return 'hello world';
+   *   else throw new \InvalidArgumentException('Method not found', -32601);
+   * });
+   * assert $output === '{"jsonrpc":"2.0","result":"hello world","id":1}';
+   * @endCode
+   *
+   * @param string $requestLine
+   *   JSON formatted RPC request
+   * @param callable $dispatcher
+   *   Dispatch function - given a parsed/well-formed request, compute the result.
+   *   Signature: function(string $method, mixed $params): mixed
+   * @return string
+   *   JSON formatted RPC response
+   */
+  public static function run(string $requestLine, callable $dispatcher): string {
+    $parsed = \json_decode($requestLine, TRUE);
+
+    if ($parsed === NULL) {
+      throw new \InvalidArgumentException('Parse error', -32700);
+    }
+
+    if (isset($parsed[0])) {
+      $response = [];
+      foreach ($parsed as $request) {
+        $response[] = static::handleMethodCall($request, $dispatcher);
+      }
+    }
+    elseif (isset($parsed['method'])) {
+      $response = static::handleMethodCall($parsed, $dispatcher);
+    }
+    else {
+      // [sic] 'Invalid Request' title-case is anomalous but dictated by standard.
+      throw new \InvalidArgumentException('Invalid Request', -32600);
+    }
+
+    return \json_encode($response);
+  }
+
+  protected static function handleMethodCall($request, $dispatcher): array {
+    try {
+      if ($request === NULL) {
+        throw new \InvalidArgumentException('Parse error', -32700);
+      }
+      if (($request['jsonrpc'] ?? '') !== '2.0' || !is_string($request['method'])) {
+        // [sic] 'Invalid Request' title-case is anomalous but dictated by standard.
+        throw new \InvalidArgumentException('Invalid Request', -32600);
+      }
+      if (isset($request['params']) && !is_array($request['params'])) {
+        throw new \InvalidArgumentException('Invalid params', -32602);
+      }
+
+      $result = $dispatcher($request['method'], $request['params'] ?? []);
+      return static::createResponseSuccess($request, $result);
+    }
+    catch (\Throwable $t) {
+      return static::createResponseError($request, $t);
+    }
+  }
+
+  /**
+   * Create a response object (successful).
+   *
+   * @link https://www.jsonrpc.org/specification#response_object
+   * @param array{jsonrpc: string, method: string, params: array, id: ?mixed} $request
+   * @param mixed $result
+   *   The result-value of the method call.
+   * @return array{jsonrpc: string, result: mixed, id: ?mixed}
+   */
+  public static function createResponseSuccess(array $request, $result): array {
+    $id = array_key_exists('id', $request) ? ['id' => $request['id']] : [];
+    return [
+      'jsonrpc' => '2.0',
+      'result' => $result,
+    ] + $id;
+  }
+
+  /**
+   * Create a response object (unsuccessful).
+   *
+   * @link https://www.jsonrpc.org/specification#response_object
+   * @param array{jsonrpc: string, method: string, params: array, id: ?mixed} $request
+   * @param \Throwable $t
+   *   The exception which caused the request to fail.
+   * @return array{jsonrpc: string, error: array, id: ?mixed}
+   */
+  public static function createResponseError(array $request, \Throwable $t): array {
+    $isJsonErrorCode = $t->getCode() >= -32999 && $t->getCode() <= -32000;
+    $errorData = \CRM_Core_Config::singleton()->debug
+      ? ['class' => get_class($t), 'trace' => $t->getTraceAsString()]
+      : NULL;
+    $id = array_key_exists('id', $request) ? ['id' => $request['id']] : [];
+    return [
+      'jsonrpc' => $request['jsonrpc'] ?? '2.0',
+      'error' => [
+        'code' => $isJsonErrorCode ? $t->getCode() : -32099,
+        'message' => $t->getMessage(),
+        'data' => $errorData,
+      ],
+    ] + $id;
+  }
+
+}
diff --git a/civicrm/Civi/Pipe/JsonRpcMethodException.php b/civicrm/Civi/Pipe/JsonRpcMethodException.php
new file mode 100644
index 0000000000..a8148a3214
--- /dev/null
+++ b/civicrm/Civi/Pipe/JsonRpcMethodException.php
@@ -0,0 +1,27 @@
+<?php
+
+namespace Civi\Pipe;
+
+/**
+ * The JsonRpcMethodException is emitted by a JSON-RPC client if a method call returns an error.
+ *
+ * This differs from an protocol-error or client-error. In this case, all JSON-RPC traffic has
+ * been well-formed; but the payload indicates that a specific method-call failed.
+ */
+class JsonRpcMethodException extends \CRM_Core_Exception {
+
+  /**
+   * @var array
+   * @readonly
+   */
+  public $raw;
+
+  public function __construct(array $jsonRpcError) {
+    parent::__construct($jsonRpcError['error']['message'] ?? 'Unknown JSON-RPC error',
+      $jsonRpcError['error']['code'] ?? 0,
+      $jsonRpcError['error']['data'] ?? []
+    );
+    $this->raw = $jsonRpcError;
+  }
+
+}
diff --git a/civicrm/Civi/Pipe/LineSessionTrait.php b/civicrm/Civi/Pipe/LineSessionTrait.php
new file mode 100644
index 0000000000..d068b90d88
--- /dev/null
+++ b/civicrm/Civi/Pipe/LineSessionTrait.php
@@ -0,0 +1,193 @@
+<?php
+/*
+ +--------------------------------------------------------------------+
+ | Copyright CiviCRM LLC. All rights reserved.                        |
+ |                                                                    |
+ | This work is published under the GNU AGPLv3 license with some      |
+ | permitted exceptions and without any warranty. For full license    |
+ | and copyright information, see https://civicrm.org/licensing       |
+ +--------------------------------------------------------------------+
+ */
+
+namespace Civi\Pipe;
+
+/**
+ * Synchronous line-oriented communication session.
+ *
+ * @code
+ * $session = new class {
+ *   use LineSessionTrait;
+ *   protected function onRequest(string $requestLine): ?string {
+ *     return 'Thanks';
+ *   }
+ *   protected function onException(string $requestLine, \Throwable $t): ?string {
+ *     return 'Oops';
+ *   }
+ * }
+ * $session->setIO(STDIN, STDOUT)->run();
+ * @endCode
+ */
+trait LineSessionTrait {
+
+  /**
+   * The onConnect() method is called when a new session is opened.
+   *
+   * @param string $negotiationFlags
+   *   List of pipe initialization flags. See Civi::pipe() for description of flags.
+   * @return string|null
+   *   Header/welcome line, or NULL if none.
+   * @see Civi::pipe
+   */
+  protected function onConnect(string $negotiationFlags): ?string {
+    return NULL;
+  }
+
+  /**
+   * The onRequest() method is called after receiving one line of text.
+   *
+   * @param string $requestLine
+   *   The received line of text.
+   * @return string|null
+   *   The line to send back, or NULL if none.
+   */
+  abstract protected function onRequest(string $requestLine): ?string;
+
+  /**
+   * The onRequest() method is called after receiving one line of text.
+   *
+   * @param string $requestLine
+   *   The received line of text - which led to the unhandled exception.
+   * @param \Throwable $t
+   *   The unhandled exception.
+   * @return string|null
+   *   The line to send back, or NULL if none.
+   */
+  abstract protected function onException(string $requestLine, \Throwable $t): ?string;
+
+  /**
+   * @var resource
+   *   Ex: STDIN
+   */
+  protected $input;
+
+  /**
+   * @var resource
+   *   Ex: STDOUT
+   */
+  protected $output;
+
+  /**
+   * Line-delimiter.
+   *
+   * @var string
+   */
+  protected $delimiter = "\n";
+
+  /**
+   * Maximum size of the buffer for reading lines.
+   *
+   * Clients may need to set this if they submit large requests.
+   *
+   * @var int
+   */
+  protected $bufferSize = 524288;
+
+  /**
+   * A value to display immediately before the response lines.
+   *
+   * Clients may set this is if they want to detect and skip buggy noise.
+   *
+   * @var string|null
+   *   Ex: chr(1).chr(1)
+   */
+  protected $responsePrefix = NULL;
+
+  /**
+   * @param resource|null $input
+   * @param resource|null $output
+   */
+  public function __construct($input = NULL, $output = NULL) {
+    $this->input = $input;
+    $this->output = $output;
+  }
+
+  /**
+   * Run the main loop. Poll for commands on $input and write responses to $output.
+   *
+   * @param string $negotiationFlags
+   *   List of pipe initialization flags. See Civi::pipe() for description of flags.
+   */
+  public function run(string $negotiationFlags = '') {
+    $this->write($this->onConnect($negotiationFlags));
+
+    while (FALSE !== ($line = stream_get_line($this->input, $this->bufferSize, $this->delimiter))) {
+      $line = rtrim($line, $this->delimiter);
+      if (empty($line)) {
+        continue;
+      }
+
+      try {
+        $response = $this->onRequest($line);
+      }
+      catch (\Throwable $t) {
+        $response = $this->onException($line, $t);
+      }
+      $this->write($response);
+    }
+  }
+
+  /**
+   * @return int
+   */
+  public function getBufferSize(): int {
+    return $this->bufferSize;
+  }
+
+  /**
+   * @param int $bufferSize
+   * @return $this
+   */
+  public function setBufferSize(int $bufferSize) {
+    $this->bufferSize = $bufferSize;
+    return $this;
+  }
+
+  /**
+   * @return string|null
+   */
+  public function getResponsePrefix(): ?string {
+    return $this->responsePrefix;
+  }
+
+  /**
+   * @param string|null $responsePrefix
+   * @return $this
+   */
+  public function setResponsePrefix(?string $responsePrefix) {
+    $this->responsePrefix = $responsePrefix;
+    return $this;
+  }
+
+  /**
+   * @param resource $input
+   * @param resource $output
+   * @return $this
+   */
+  public function setIO($input, $output) {
+    $this->input = $input;
+    $this->output = $output;
+    return $this;
+  }
+
+  protected function write(?string $response): void {
+    if ($response === NULL) {
+      return;
+    }
+    if ($this->responsePrefix !== NULL) {
+      fwrite($this->output, $this->responsePrefix);
+    }
+    fwrite($this->output, $response);
+    fwrite($this->output, $this->delimiter);
+  }
+
+}
diff --git a/civicrm/Civi/Pipe/PipeSession.php b/civicrm/Civi/Pipe/PipeSession.php
new file mode 100644
index 0000000000..2960bdbf43
--- /dev/null
+++ b/civicrm/Civi/Pipe/PipeSession.php
@@ -0,0 +1,121 @@
+<?php
+/*
+ +--------------------------------------------------------------------+
+ | Copyright CiviCRM LLC. All rights reserved.                        |
+ |                                                                    |
+ | This work is published under the GNU AGPLv3 license with some      |
+ | permitted exceptions and without any warranty. For full license    |
+ | and copyright information, see https://civicrm.org/licensing       |
+ +--------------------------------------------------------------------+
+ */
+
+namespace Civi\Pipe;
+
+class PipeSession {
+
+  use LineSessionTrait;
+
+  protected const METHOD_REGEX = ';^[a-z][a-zA-Z0-9_]*$;';
+
+  /**
+   * Open-ended object. Any public method from this object will be available during this session.
+   *
+   * @var object
+   * @see \Civi\Pipe\PublicMethods
+   */
+  protected $methods;
+
+  /**
+   * @var bool|null
+   */
+  protected $trusted;
+
+  /**
+   * @inheritDoc
+   */
+  protected function onConnect(string $negotiationFlags): ?string {
+    \CRM_Core_Session::useFakeSession();
+    $this->methods = new PublicMethods();
+
+    // Convention: Every negotiation-flag should produce exactly one output in the header line.
+    foreach (str_split($negotiationFlags) as $flag) {
+      switch ($flag) {
+        case 'v':
+          $flags[$flag] = \CRM_Utils_System::version();
+          break;
+
+        case 'j':
+          $flags[$flag] = ['jsonrpc-2.0'];
+          break;
+
+        case 'l':
+          $flags[$flag] = function_exists('authx_login') ? ['login'] : ['nologin'];
+          break;
+
+        case 't':
+          $this->setTrusted(TRUE);
+          $flags[$flag] = 'trusted';
+          break;
+
+        case 'u':
+          $this->setTrusted(FALSE);
+          $flags[$flag] = 'untrusted';
+          break;
+
+        default:
+          // What flags might exist in the future? We don't know! Communicate that we don't know.
+          $flags[$flag] = NULL;
+          break;
+      }
+    }
+
+    return json_encode(['Civi::pipe' => $flags]);
+  }
+
+  /**
+   * @inheritDoc
+   */
+  protected function onRequest(string $requestLine): ?string {
+    return JsonRpc::run($requestLine, function(string $method, array $params) {
+      $method = str_replace('.', '_', $method);
+      if (!preg_match(self::METHOD_REGEX, $method)) {
+        throw new \InvalidArgumentException('Method not found', -32601);
+      }
+
+      if (!is_callable([$this->methods, $method])) {
+        throw new \InvalidArgumentException('Method not found', -32601);
+      }
+
+      return call_user_func([$this->methods, $method], $this, $params);
+    });
+  }
+
+  /**
+   * @inheritDoc
+   */
+  protected function onException(string $requestLine, \Throwable $t): ?string {
+    $error = JsonRpc::createResponseError([], $t);
+    return \json_encode($error);
+  }
+
+  /**
+   * @param bool $trusted
+   * @return PipeSession
+   */
+  public function setTrusted(bool $trusted): PipeSession {
+    if ($this->trusted !== NULL && $this->trusted !== $trusted) {
+      throw new \CRM_Core_Exception('Cannot modify PipeSession::$trusted after initialization');
+    }
+    $this->trusted = $trusted;
+    return $this;
+  }
+
+  /**
+   * @return bool
+   */
+  public function isTrusted(): bool {
+    // If this gets called when the value is NULL, then you are doing it wrong.
+    return $this->trusted;
+  }
+
+}
diff --git a/civicrm/Civi/Pipe/PublicMethods.php b/civicrm/Civi/Pipe/PublicMethods.php
new file mode 100644
index 0000000000..06b17406b6
--- /dev/null
+++ b/civicrm/Civi/Pipe/PublicMethods.php
@@ -0,0 +1,193 @@
+<?php
+/*
+ +--------------------------------------------------------------------+
+ | Copyright CiviCRM LLC. All rights reserved.                        |
+ |                                                                    |
+ | This work is published under the GNU AGPLv3 license with some      |
+ | permitted exceptions and without any warranty. For full license    |
+ | and copyright information, see https://civicrm.org/licensing       |
+ +--------------------------------------------------------------------+
+ */
+
+namespace Civi\Pipe;
+
+use Civi\Authx\AuthxException;
+
+/**
+ * Collection of methods to expose to the pipe session. Any public method will be accessible.
+ */
+class PublicMethods {
+
+  /**
+   * How should API errors be reported?
+   *
+   * @var string
+   *   - 'array': Traditional array format from civicrm_api(). Maximizes consistency of error data.
+   *   - 'exception': Converted to an exception. Somewhat lossy. Improves out-of-box DX on stricter JSON-RPC clients.
+   */
+  protected $apiError = 'exception';
+
+  /**
+   * Should API calls use permission checks?
+   *
+   * Note: This property is only consulted on trusted connections. It is ignored on untrusted connections.
+   *
+   * @var bool
+   */
+  protected $apiCheckPermissions = TRUE;
+
+  /**
+   * Send a request to APIv3.
+   *
+   * @param \Civi\Pipe\PipeSession $session
+   * @param array $request
+   *   Tuple: [$entity, $action, $params]
+   * @return array|\Civi\Api4\Generic\Result|int
+   */
+  public function api3(PipeSession $session, array $request) {
+    $request[2] = array_merge($request[2] ?? [], ['version' => 3]);
+    $request[2]['check_permissions'] = !$session->isTrusted() || $this->isCheckPermissions($request[2], 'check_permissions');
+    // ^^ Untrusted sessions MUST check perms. All sessions DEFAULT to checking perms. Trusted sessions MAY disable perms.
+    switch ($this->apiError) {
+      case 'array':
+        return civicrm_api(...$request);
+
+      case 'exception':
+        return civicrm_api3(...$request);
+
+      default:
+        throw new \CRM_Core_Exception("Invalid API error-handling mode: $this->apiError");
+    }
+  }
+
+  /**
+   * Send a request to APIv4.
+   *
+   * @param \Civi\Pipe\PipeSession $session
+   * @param array $request
+   *   Tuple: [$entity, $action, $params]
+   * @return array|\Civi\Api4\Generic\Result|int
+   */
+  public function api4(PipeSession $session, array $request) {
+    $request[2] = array_merge($request[2] ?? [], ['version' => 4]);
+    $request[2]['checkPermissions'] = !$session->isTrusted() || $this->isCheckPermissions($request[2], 'checkPermissions');
+    // ^^ Untrusted sessions MUST check perms. All sessions DEFAULT to checking perms. Trusted sessions MAY disable perms.
+    switch ($this->apiError) {
+      case 'array':
+        return civicrm_api(...$request);
+
+      case 'exception':
+        return civicrm_api4(...$request);
+
+      default:
+        throw new \CRM_Core_Exception("Invalid API error-handling mode: $this->apiError");
+    }
+  }
+
+  /**
+   * Simple test; send/receive a fragment of data.
+   *
+   * @param \Civi\Pipe\PipeSession $session
+   * @param array $request
+   * @return array
+   */
+  public function echo(PipeSession $session, array $request) {
+    return $request;
+  }
+
+  /**
+   * Set active user.
+   *
+   * @param \Civi\Pipe\PipeSession $session
+   * @param array{contactId: int, userId: int, user: string, cred: string} $request
+   * @return array|\Civi\Api4\Generic\Result|int
+   */
+  public function login(PipeSession $session, array $request) {
+    if (!function_exists('authx_login')) {
+      throw new \CRM_Core_Exception('Cannot authenticate. Authx is not configured.');
+    }
+
+    $redact = function(?array $authx) {
+      return $authx ? \CRM_Utils_Array::subset($authx, ['contactId', 'userId']) : FALSE;
+    };
+
+    $principal = \CRM_Utils_Array::subset($request, ['contactId', 'userId', 'user']);
+    if ($principal && $session->isTrusted()) {
+      return $redact(authx_login(['flow' => 'script', 'principal' => $principal]));
+    }
+    elseif ($principal && !$session->isTrusted()) {
+      throw new AuthxException('Session is not trusted.');
+    }
+    elseif (isset($request['cred'])) {
+      $authn = new \Civi\Authx\Authenticator();
+      $authn->setRejectMode('exception');
+      if ($authn->auth(NULL, ['flow' => 'pipe', 'cred' => $request['cred']])) {
+        return $redact(\CRM_Core_Session::singleton()->get('authx'));
+      }
+    }
+
+    throw new AuthxException('Cannot authenticate. Must specify principal/credentials.');
+  }
+
+  /**
+   * Set ephemeral session options.
+   *
+   * @param \Civi\Pipe\PipeSession $session
+   * @param array{bufferSize: int, responsePrefix: int} $request
+   *   Any updates to perform. May be empty/omitted.
+   * @return array{bufferSize: int, responsePrefix: int}
+   *   List of updated options.
+   *   If the list of updates was empty, then return all options.
+   */
+  public function options(PipeSession $session, array $request) {
+    $storageMap = [
+      'apiCheckPermissions' => $this,
+      'apiError' => $this,
+      'bufferSize' => $session,
+      'responsePrefix' => $session,
+    ];
+
+    if (!$session->isTrusted() && array_key_exists('apiCheckPermissions', $request)) {
+      unset($request['apiCheckPermissions']);
+    }
+
+    $get = function($storage, $name) {
+      if (method_exists($storage, 'get' . ucfirst($name))) {
+        return $storage->{'get' . ucfirst($name)}();
+      }
+      else {
+        return $storage->{$name};
+      }
+    };
+
+    $set = function($storage, $name, $value) use ($get) {
+      if (method_exists($storage, 'set' . ucfirst($name))) {
+        $storage->{'set' . ucfirst($name)}($value);
+      }
+      else {
+        $storage->{$name} = $value;
+      }
+      return $get($storage, $name);
+    };
+
+    $result = [];
+    if (!empty($request)) {
+      foreach ($request as $name => $value) {
+        if (isset($storageMap[$name])) {
+          $result[$name] = $set($storageMap[$name], $name, $value);
+        }
+      }
+    }
+    else {
+      foreach ($storageMap as $name => $storage) {
+        $result[$name] = $get($storage, $name);
+      }
+    }
+    return $result;
+  }
+
+  private function isCheckPermissions(array $params, string $field) {
+    return isset($params[$field]) ? $params[$field] : $this->apiCheckPermissions;
+  }
+
+}
diff --git a/civicrm/Civi/Report/OutputHandlerFactory.php b/civicrm/Civi/Report/OutputHandlerFactory.php
index a2f975410f..61af4f015b 100644
--- a/civicrm/Civi/Report/OutputHandlerFactory.php
+++ b/civicrm/Civi/Report/OutputHandlerFactory.php
@@ -70,7 +70,7 @@ class OutputHandlerFactory {
       }
       catch (\Exception $e) {
         // no ts() since this is a sysadmin-y message
-        \Civi::log()->warn("Unable to use $candidate as an output handler. " . $e->getMessage());
+        \Civi::log()->warning("Unable to use $candidate as an output handler. " . $e->getMessage());
       }
     }
     return NULL;
diff --git a/civicrm/Civi/Schema/Traits/GuiSpecTrait.php b/civicrm/Civi/Schema/Traits/GuiSpecTrait.php
index 1a1db81e42..1a084f8fc2 100644
--- a/civicrm/Civi/Schema/Traits/GuiSpecTrait.php
+++ b/civicrm/Civi/Schema/Traits/GuiSpecTrait.php
@@ -104,14 +104,14 @@ trait GuiSpecTrait {
   }
 
   /**
-   * @param string|NULL $helpPre
+   * @param string|null $helpPre
    */
   public function setHelpPre($helpPre) {
     $this->helpPre = is_string($helpPre) && strlen($helpPre) ? $helpPre : NULL;
   }
 
   /**
-   * @param string|NULL $helpPost
+   * @param string|null $helpPost
    */
   public function setHelpPost($helpPost) {
     $this->helpPost = is_string($helpPost) && strlen($helpPost) ? $helpPost : NULL;
diff --git a/civicrm/Civi/Test.php b/civicrm/Civi/Test.php
index a0d6769747..3deca30fbc 100644
--- a/civicrm/Civi/Test.php
+++ b/civicrm/Civi/Test.php
@@ -50,7 +50,7 @@ class Test {
   /**
    * Get the data source used for testing.
    *
-   * @param string|NULL $part
+   * @param string|null $part
    *   One of NULL, 'hostspec', 'port', 'username', 'password', 'database'.
    * @return string|array|NULL
    *   If $part is omitted, return full DSN array.
diff --git a/civicrm/Civi/Test/EventCheck.php b/civicrm/Civi/Test/EventCheck.php
index 6254201ed2..d60a5e01d8 100644
--- a/civicrm/Civi/Test/EventCheck.php
+++ b/civicrm/Civi/Test/EventCheck.php
@@ -27,7 +27,7 @@ class EventCheck extends Assert {
   /**
    * Determine whether this check should be used during the current test.
    *
-   * @param \PHPUnit\Framework\Test|NULL $test
+   * @param \PHPUnit\Framework\Test|null $test
    *
    * @return bool|string
    *   FALSE: The check will be completely skipped.
@@ -46,7 +46,7 @@ class EventCheck extends Assert {
   }
 
   /**
-   * @param \PHPUnit\Framework\Test|NULL $test
+   * @param \PHPUnit\Framework\Test|null $test
    */
   public function setTest($test): void {
     $this->test = $test;
@@ -61,7 +61,7 @@ class EventCheck extends Assert {
    *   Ex: [`array`, `NULL`, `CRM_Core_DAO`]
    * @param mixed $value
    *   The variable to check
-   * @param string|NULL $msg
+   * @param string|null $msg
    * @see \CRM_Utils_Type::validatePhpType
    */
   public function assertType($types, $value, ?string $msg = NULL) {
diff --git a/civicrm/Civi/Test/HttpTestTrait.php b/civicrm/Civi/Test/HttpTestTrait.php
index 18f1dad115..99e6eb122e 100644
--- a/civicrm/Civi/Test/HttpTestTrait.php
+++ b/civicrm/Civi/Test/HttpTestTrait.php
@@ -117,7 +117,7 @@ trait HttpTestTrait {
 
   /**
    * @param $expectCode
-   * @param \Psr\Http\Message\ResponseInterface|NULL $response
+   * @param \Psr\Http\Message\ResponseInterface|null $response
    *   If NULL, then it uses the last response.
    *
    * @return $this
@@ -132,7 +132,7 @@ trait HttpTestTrait {
 
   /**
    * @param $expectType
-   * @param \Psr\Http\Message\ResponseInterface|NULL $response
+   * @param \Psr\Http\Message\ResponseInterface|null $response
    *   If NULL, then it uses the last response.
    *
    * @return $this
@@ -146,7 +146,7 @@ trait HttpTestTrait {
   }
 
   /**
-   * @param \Psr\Http\Message\ResponseInterface|NULL $response
+   * @param \Psr\Http\Message\ResponseInterface|null $response
    * @return \Psr\Http\Message\ResponseInterface
    */
   protected function resolveResponse($response) {
diff --git a/civicrm/Civi/Token/Event/TokenRegisterEvent.php b/civicrm/Civi/Token/Event/TokenRegisterEvent.php
index 730ddb616c..f46e207a87 100644
--- a/civicrm/Civi/Token/Event/TokenRegisterEvent.php
+++ b/civicrm/Civi/Token/Event/TokenRegisterEvent.php
@@ -51,7 +51,7 @@ class TokenRegisterEvent extends TokenEvent {
    * Register a new token.
    *
    * @param array|string $paramsOrField
-   * @param NULL|string $label
+   * @param null|string $label
    * @return TokenRegisterEvent
    */
   public function register($paramsOrField, $label = NULL) {
diff --git a/civicrm/Civi/Token/TokenCompatSubscriber.php b/civicrm/Civi/Token/TokenCompatSubscriber.php
index 6274d8f29c..b349f9c380 100644
--- a/civicrm/Civi/Token/TokenCompatSubscriber.php
+++ b/civicrm/Civi/Token/TokenCompatSubscriber.php
@@ -70,9 +70,18 @@ class TokenCompatSubscriber implements EventSubscriberInterface {
     if ($useSmarty) {
       $smartyVars = [];
       foreach ($e->context['smartyTokenAlias'] ?? [] as $smartyName => $tokenName) {
-        $smartyVars[$smartyName] = \CRM_Utils_Array::pathGet($e->row->tokens, explode('.', $tokenName), $e->context['locale'] ?? NULL);
+        $tokenParts = explode('|', $tokenName);
+        $modifier = $tokenParts[1] ?? '';
+        $smartyVars[$smartyName] = \CRM_Utils_Array::pathGet($e->row->tokens, explode('.', $tokenParts[0]), $e->context['locale'] ?? NULL);
         if ($smartyVars[$smartyName] instanceof \Brick\Money\Money) {
-          $smartyVars[$smartyName] = \Civi::format()->money($smartyVars[$smartyName]->getAmount(), $smartyVars[$smartyName]->getCurrency());
+          // TODO: We should reuse the filters from TokenProcessor::filterTokenValue()
+          if ($modifier === 'crmMoney') {
+            $smartyVars[$smartyName] = \Civi::format()
+              ->money($smartyVars[$smartyName]->getAmount(), $smartyVars[$smartyName]->getCurrency());
+          }
+          else {
+            $smartyVars[$smartyName] = $smartyVars[$smartyName]->getAmount();
+          }
         }
       }
       \CRM_Core_Smarty::singleton()->pushScope($smartyVars);
diff --git a/civicrm/Civi/Token/TokenProcessor.php b/civicrm/Civi/Token/TokenProcessor.php
index 93c1e01c1a..7ffdc64ffb 100644
--- a/civicrm/Civi/Token/TokenProcessor.php
+++ b/civicrm/Civi/Token/TokenProcessor.php
@@ -165,7 +165,7 @@ class TokenProcessor {
   /**
    * Add a row of data.
    *
-   * @param array|NULL $context
+   * @param array|null $context
    *   Optionally, initialize the context for this row.
    *   Ex: ['contact_id' => 123].
    * @return TokenRow
@@ -283,7 +283,7 @@ class TokenProcessor {
    *
    * @param string $field
    *   Ex: 'contactId'.
-   * @param string|NULL $subfield
+   * @param string|null $subfield
    * @return array
    *   Ex: [12, 34, 56].
    */
@@ -470,8 +470,18 @@ class TokenProcessor {
       }
     }
 
-    if ($value instanceof Money && $filter === NULL) {
-      $filter = ['crmMoney'];
+    if ($value instanceof Money) {
+      switch ($filter[0] ?? NULL) {
+        case NULL:
+        case 'crmMoney':
+          return \Civi::format()->money($value->getAmount(), $value->getCurrency());
+
+        case 'raw':
+          return $value->getAmount();
+
+        default:
+          throw new \CRM_Core_Exception("Invalid token filter: $filter");
+      }
     }
 
     switch ($filter[0] ?? NULL) {
@@ -484,11 +494,6 @@ class TokenProcessor {
       case 'lower':
         return mb_strtolower($value);
 
-      case 'crmMoney':
-        if ($value instanceof Money) {
-          return \Civi::format()->money($value->getAmount(), $value->getCurrency());
-        }
-
       case 'crmDate':
         if ($value instanceof \DateTime) {
           // @todo cludgey.
diff --git a/civicrm/Civi/WorkflowMessage/FieldSpec.php b/civicrm/Civi/WorkflowMessage/FieldSpec.php
index 7e7b4ffe13..7672ed8802 100644
--- a/civicrm/Civi/WorkflowMessage/FieldSpec.php
+++ b/civicrm/Civi/WorkflowMessage/FieldSpec.php
@@ -69,7 +69,7 @@ class FieldSpec {
   /**
    * Enable export/import in alternative scopes.
    *
-   * @param string|array|NULL $scope
+   * @param string|array|null $scope
    *   Ex: 'tplParams'
    *   Ex: 'tplParams as foo_bar'
    *   Ex: 'tplParams as contact_id, TokenProcessor as contactId'
diff --git a/civicrm/ang/crmAttachment.css b/civicrm/ang/crmAttachment.css
index 31c6e2f5e3..47ca43d8af 100644
--- a/civicrm/ang/crmAttachment.css
+++ b/civicrm/ang/crmAttachment.css
@@ -1,21 +1,21 @@
 .crm-attachments {
-    border: 1px solid transparent;
+  border: 1px solid transparent;
 }
 
 .crm-attachments.nv-file-over {
-    border: 1px solid red;
+  border: 1px solid red;
 }
 
 .crm-attachments td.filename {
-    font-size: 0.8em;
-    font-family: 'Courier New', monospace;
-    vertical-align: middle;
+  font-size: 0.8em;
+  font-family: 'Courier New', monospace;
+  vertical-align: middle;
 }
 
 .crm-attachments td.filename-new {
-    font-style: italic;
+  font-style: italic;
 }
 
 .crm-attachments td .crm-form-text {
-    width: 30em;
+  width: 30em;
 }
diff --git a/civicrm/ang/crmCaseType.css b/civicrm/ang/crmCaseType.css
index 6352b3d24d..d5c9b8e592 100644
--- a/civicrm/ang/crmCaseType.css
+++ b/civicrm/ang/crmCaseType.css
@@ -1,43 +1,43 @@
 .crmCaseType .grip-n-drag {
-    vertical-align: middle;
-    cursor: move;
+  vertical-align: middle;
+  cursor: move;
 }
 
 .crmCaseType .fa-pencil {
-    margin: 0.2em 0.2em 0 0;
-    cursor: pointer;
+  margin: 0.2em 0.2em 0 0;
+  cursor: pointer;
 }
 
 .crmCaseType .fa-trash {
-    margin: 0.56em 0.2em 0 0;
-    cursor: pointer;
+  margin: 0.56em 0.2em 0 0;
+  cursor: pointer;
 }
 
 .crmCaseType .ui-tabs-nav li .crm-i {
-    float: left;
+  float: left;
 }
 
 .crmCaseType .ui-tabs-nav select {
-    float: right;
+  float: right;
 }
 
 .crmCaseType tr.addRow td {
-    background: #ddddff;
-    padding: 0.5em 1em;
+  background: #ddddff;
+  padding: 0.5em 1em;
 }
 
 .crmCaseType input.number {
-    width: 3.5em;
+  width: 3.5em;
 }
 
 .crmCaseType .add-activity {
-    width: 50%;
+  width: 50%;
 }
 
 .crmCaseType table td select {
-    width: 10em;
+  width: 10em;
 }
 
 tr.forked {
-    font-weight: bold;
+  font-weight: bold;
 }
diff --git a/civicrm/ang/crmDialog.md b/civicrm/ang/crmDialog.md
index 4cfd54fdb5..4f2f5e1779 100644
--- a/civicrm/ang/crmDialog.md
+++ b/civicrm/ang/crmDialog.md
@@ -21,4 +21,4 @@ dialogService.open('someDialog', '~/Path/To/Some.html', model, options)
     <crm-dialog-button text="ts('Cancel')" icons="{primary: 'fa-times'}" on-click="someDialog.cancel()" />
   </form>
 </div>
-```
\ No newline at end of file
+```
diff --git a/civicrm/ang/crmMailing.css b/civicrm/ang/crmMailing.css
index 0d854055ff..4dc0a0ed24 100644
--- a/civicrm/ang/crmMailing.css
+++ b/civicrm/ang/crmMailing.css
@@ -1,7 +1,8 @@
 .crmMailing input[name=subject] {
   width: 30em;
 }
-.crmMailing select, .crmMailing input[type=text] {
+.crmMailing select,
+.crmMailing input[type=text] {
   width: 36em;
 }
 .crmMailing textarea {
@@ -33,11 +34,14 @@ span.crmMailing-mandatory {
   color: #866304;
 }
 
-.crmMailing input[name=preview_test_email], .crmMailing-preview select[name=preview_test_group] {
+.crmMailing input[name=preview_test_email],
+.crmMailing-preview select[name=preview_test_group] {
   width: 80%;
 }
 
-.crmMailing .preview-popup, .crmMailing .preview-contact, .crmMailing .preview-group {
+.crmMailing .preview-popup,
+.crmMailing .preview-contact,
+.crmMailing .preview-group {
   width: 30%;
   height: 4.5em;
   margin: 0.5em;
@@ -45,10 +49,12 @@ span.crmMailing-mandatory {
   vertical-align: middle;
   float: left;
 }
-.crmMailing .preview-popup, .crmMailing .preview-contact {
+.crmMailing .preview-popup,
+.crmMailing .preview-contact {
   border-right: 1px solid black;
 }
-.crmMailing .preview-group, .crmMailing .preview-contact {
+.crmMailing .preview-group,
+.crmMailing .preview-contact {
 }
 
 .crmMailing .crmMailing-schedule-outer {
@@ -67,7 +73,7 @@ input[name=preview_test_email]:-moz-placeholder {
 input[name=preview_test_email]::-moz-placeholder {
   text-align: center;
 }
-input[name=preview_test_email]::-webkit-input-placeholder  {
+input[name=preview_test_email]::-webkit-input-placeholder {
   text-align: center;
 }
 input[name=preview_test_email]:-ms-input-placeholder {
diff --git a/civicrm/ang/crmMailing/EditMailingCtrl.js b/civicrm/ang/crmMailing/EditMailingCtrl.js
index 5651d4f8d6..7e72365116 100644
--- a/civicrm/ang/crmMailing/EditMailingCtrl.js
+++ b/civicrm/ang/crmMailing/EditMailingCtrl.js
@@ -121,7 +121,12 @@
         return true;
       },
       model: function() {
-        return [$scope.mailing, $scope.attachments.getAutosaveSignature()];
+        //modified date is unset so that it gets ignored in comparison
+        //its value is overwritten with the save response from the server and may differ from the local value,
+        //which would result in an unnecessary auto-save
+        var mailing = angular.copy($scope.mailing);
+        mailing.modified_date = undefined;
+        return [mailing, $scope.attachments.getAutosaveSignature()];
       },
       form: function() {
         return $scope.crmMailing;
diff --git a/civicrm/ang/crmMailing/RadioDate.js b/civicrm/ang/crmMailing/RadioDate.js
index 037b6e22ba..0f9128d69c 100644
--- a/civicrm/ang/crmMailing/RadioDate.js
+++ b/civicrm/ang/crmMailing/RadioDate.js
@@ -62,22 +62,23 @@
             if (context === 'userInput' && $(this).val() === '' && $(this).siblings('.crm-form-date').val().length) {
               schedule.mode = 'at';
               schedule.datetime = '?';
-            } else { 
+            } else {
               var d = new Date(),
-              month = '' + (d.getMonth() + 1),
-              day = '' + d.getDate(),
-              year = d.getFullYear(),
-              hours = '' + d.getHours(),
-              minutes = '' + d.getMinutes();
-              var submittedDate = $(this).val();
+                month = '' + (d.getMonth() + 1),
+                day = '' + d.getDate(),
+                year = d.getFullYear(),
+                hours = '' + d.getHours(),
+                minutes = '' + d.getMinutes(),
+                submittedDate = $(this).val();
               if (month.length < 2) month = '0' + month;
               if (day.length < 2) day = '0' + day;
               if (hours.length < 2) hours = '0' + hours;
               if (minutes.length < 2) minutes = '0' + minutes;
-              date = [year, month, day].join('-');
-              time = [hours, minutes, "00"].join(':');
-              currentDate = date + ' ' + time;
-              var isInPast = (submittedDate.length && submittedDate.match(/^[0-9\-]+ [0-9\:]+$/) && isDateBefore(submittedDate, currentDate, 4*60*60*1000));
+              var
+                date = [year, month, day].join('-'),
+                time = [hours, minutes, "00"].join(':'),
+                currentDate = date + ' ' + time,
+                isInPast = (submittedDate.length && submittedDate.match(/^[0-9\-]+ [0-9\:]+$/) && isDateBefore(submittedDate, currentDate, 4*60*60*1000));
               ngModel.$setValidity('dateTimeInThePast', !isInPast);
               if (lastAlert && lastAlert.isOpen) {
                 lastAlert.close();
diff --git a/civicrm/ang/crmMailing/Recipients.js b/civicrm/ang/crmMailing/Recipients.js
index 1867e9582f..518f6075cb 100644
--- a/civicrm/ang/crmMailing/Recipients.js
+++ b/civicrm/ang/crmMailing/Recipients.js
@@ -253,7 +253,7 @@
               }
             },
             results: function(data) {
-              results = {
+              var results = {
                 children: $.map(data.values, function(obj) {
                   if('civicrm_mailing' === rcpAjaxState.entity) {
                     return obj["api.MailingRecipients.getcount"] > 0 ? {   id: obj.id + ' ' + rcpAjaxState.entity + ' ' + rcpAjaxState.type,
@@ -271,7 +271,7 @@
                   (rcpAjaxState.entity == 'civicrm_group'? 'Group' : 'Mailing'));
               }
 
-              more = data.more_results || !(rcpAjaxState.entity == 'civicrm_mailing' && rcpAjaxState.type == 'exclude');
+              var more = data.more_results || !(rcpAjaxState.entity == 'civicrm_mailing' && rcpAjaxState.type == 'exclude');
 
               if (more && !data.more_results) {
                 if (rcpAjaxState.type == 'include') {
diff --git a/civicrm/ang/crmMailing/Templates.js b/civicrm/ang/crmMailing/Templates.js
index 301b565f23..b67e7b1162 100644
--- a/civicrm/ang/crmMailing/Templates.js
+++ b/civicrm/ang/crmMailing/Templates.js
@@ -88,7 +88,7 @@
                   },
                   results: function(data) {
 
-                    results = {
+                    var results = {
                       children: $.map(data.values, function(obj) {
                         return { id: obj.id, text: obj.label };
                       })
@@ -98,7 +98,7 @@
                       results.text = ts('Message Templates');
                     }
 
-                    more = data.more_results;
+                    var more = data.more_results;
 
                     if (more && !data.more_results) {
                       rcpAjaxState.page_n += rcpAjaxState.page_i;
diff --git a/civicrm/ang/crmMailingAB.css b/civicrm/ang/crmMailingAB.css
index cfee8b9538..7160bc1558 100644
--- a/civicrm/ang/crmMailingAB.css
+++ b/civicrm/ang/crmMailingAB.css
@@ -1,19 +1,20 @@
 .crm-mailing-ab-slider .slider-test .ui-slider-range {
-    background: #5050b0;
+  background: #5050b0;
 }
 
 .crm-mailing-ab-slider .slider-win .ui-slider-range {
-    background: #50b050;
+  background: #50b050;
 }
 
 .crm-mailing-ab-stats .series {
-    fill: none;
+  fill: none;
 }
 
-.crm-mailing-ab-stats .axis path, .crm-mailing-ab-stats .axis line {
-    fill: none;
-    stroke: #000;
-    shape-rendering: crispEdges;
+.crm-mailing-ab-stats .axis path,
+.crm-mailing-ab-stats .axis line {
+  fill: none;
+  stroke: #000;
+  shape-rendering: crispEdges;
 }
 
 .crm-mailing-ab-col {
diff --git a/civicrm/ang/crmMailingAB/services.js b/civicrm/ang/crmMailingAB/services.js
index a1d64b7da6..eac6d84ebe 100644
--- a/civicrm/ang/crmMailingAB/services.js
+++ b/civicrm/ang/crmMailingAB/services.js
@@ -51,9 +51,16 @@
 
     angular.extend(CrmMailingAB.prototype, {
       getAutosaveSignature: function() {
+        //modified date is unset so that it gets ignored in comparison
+        //its value is overwritten with the save response from the server and may differ from the local value,
+        //which would result in an unnecessary auto-save
+        var mailings = angular.copy(this.mailings);
+        _.each(mailings, function(mailing) {
+          mailing.modified_date = undefined;
+        });
         return [
           this.ab,
-          this.mailings,
+          mailings,
           this.attachments.a.getAutosaveSignature(),
           this.attachments.b.getAutosaveSignature(),
           this.attachments.c.getAutosaveSignature()
diff --git a/civicrm/ang/crmMonaco.css b/civicrm/ang/crmMonaco.css
index 19072324bd..c097f36e4a 100644
--- a/civicrm/ang/crmMonaco.css
+++ b/civicrm/ang/crmMonaco.css
@@ -1,4 +1,4 @@
 /* Add any CSS rules for Angular module "crmMonaco" */
 .crm-monaco-container {
-    border:1px solid grey;
-}
\ No newline at end of file
+  border: 1px solid grey;
+}
diff --git a/civicrm/ang/crmStatusPage.css b/civicrm/ang/crmStatusPage.css
index 7bc1722433..1cb8ded3fe 100644
--- a/civicrm/ang/crmStatusPage.css
+++ b/civicrm/ang/crmStatusPage.css
@@ -14,8 +14,8 @@
 #crm-status-list .crm-severity-emergency,
 #crm-status-list .crm-severity-alert,
 #crm-status-list .crm-severity-critical,
-#crm-status-list .crm-severity-error{
-  background-color: #E43D2B;
+#crm-status-list .crm-severity-error {
+  background-color: #e43d2b;
 }
 
 /* Warning Severity */
@@ -31,7 +31,7 @@
 /* All OK Severity */
 #crm-status-list .crm-severity-info,
 #crm-status-list .crm-severity-debug {
-  background-color: #00994D;
+  background-color: #00994d;
 }
 
 #crm-status-list .crm-status-message-body {
diff --git a/civicrm/ang/exportui.css b/civicrm/ang/exportui.css
index 114d36107a..78f9714710 100644
--- a/civicrm/ang/exportui.css
+++ b/civicrm/ang/exportui.css
@@ -13,14 +13,14 @@ div.crm-export-field-selector-outer:after {
   background-image: linear-gradient(to right, transparent, #efefe5);
 }
 table.crm-export-field-selector tbody tr {
-  background-color: #FAFAFA;
+  background-color: #fafafa;
 }
 table.crm-export-field-selector tbody tr:nth-child(odd) {
-  background-color: #EFEFEF;
+  background-color: #efefef;
 }
 table.crm-export-field-selector tfoot tr {
   background-color: white;
-  border-top: 2px solid #CFCEC3;
+  border-top: 2px solid #cfcec3;
 }
 table.crm-export-field-selector tfoot tr td > span {
   margin-left: 18px;
diff --git a/civicrm/ang/ui.bootstrap.css b/civicrm/ang/ui.bootstrap.css
index e8cf3de92e..e39d839b87 100644
--- a/civicrm/ang/ui.bootstrap.css
+++ b/civicrm/ang/ui.bootstrap.css
@@ -1 +1,6 @@
-.nav, .pagination, .carousel, .panel-title a { cursor: pointer; }
+.nav,
+.pagination,
+.carousel,
+.panel-title a {
+  cursor: pointer;
+}
diff --git a/civicrm/api/api.php b/civicrm/api/api.php
index 9ed9747dd0..2a857a1db1 100644
--- a/civicrm/api/api.php
+++ b/civicrm/api/api.php
@@ -125,7 +125,8 @@ function civicrm_api4(string $entity, string $action, array $params = [], $index
  *
  * @throws CiviCRM_API3_Exception
  *
- * @return array
+ * @return array|int
+ *   Dependant on the $action
  */
 function civicrm_api3(string $entity, string $action, array $params = []) {
   $params['version'] = 3;
@@ -179,7 +180,7 @@ function _civicrm_api3_api_getfields(&$apiRequest) {
  * 'format.is_success' => 1
  * will result in a boolean success /fail being returned if that is what you need.
  *
- * @param $result
+ * @param mixed $result
  *
  * @return bool
  *   true if error, false otherwise
diff --git a/civicrm/api/class.api.php b/civicrm/api/class.api.php
index 77c1e986c8..21a4190b70 100644
--- a/civicrm/api/class.api.php
+++ b/civicrm/api/class.api.php
@@ -153,8 +153,8 @@ class civicrm_api3 {
   /**
    * Perform action.
    *
-   * @param $action
-   * @param $params
+   * @param string $action
+   * @param array $params
    *
    * @return bool
    */
@@ -171,8 +171,8 @@ class civicrm_api3 {
   /**
    * Call via rest.
    *
-   * @param $entity
-   * @param $action
+   * @param string $entity
+   * @param string $action
    * @param array $params
    *
    * @return \stdClass
@@ -228,7 +228,7 @@ class civicrm_api3 {
   /**
    * Call api function.
    *
-   * @param $entity
+   * @param string $entity
    * @param string $action
    * @param array $params
    *
@@ -298,8 +298,8 @@ class civicrm_api3 {
   /**
    * Get attribute.
    *
-   * @param $name
-   * @param null $value
+   * @param string $name
+   * @param mixed $value
    *
    * @return $this
    */
diff --git a/civicrm/api/v3/Attachment.php b/civicrm/api/v3/Attachment.php
index 8583f0b8c5..3ad4735192 100644
--- a/civicrm/api/v3/Attachment.php
+++ b/civicrm/api/v3/Attachment.php
@@ -199,7 +199,7 @@ function civicrm_api3_attachment_get($params) {
 /**
  * Adjust metadata for Attachment delete action.
  *
- * @param $spec
+ * @param array $spec
  */
 function _civicrm_api3_attachment_delete_spec(&$spec) {
   unset($spec['id']['api.required']);
diff --git a/civicrm/api/v3/Case.php b/civicrm/api/v3/Case.php
index 5249010c45..21082e6330 100644
--- a/civicrm/api/v3/Case.php
+++ b/civicrm/api/v3/Case.php
@@ -131,8 +131,8 @@ function civicrm_api3_case_create($params) {
  * When creating a new case, run the xmlProcessor to get all necessary params/configuration
  *  for the new case, as cases use an xml file to store their configuration.
  *
- * @param $params
- * @param $caseBAO
+ * @param array $params
+ * @param CRM_Case_DAO_Case $caseBAO
  *
  * @throws \Exception
  */
@@ -762,8 +762,8 @@ function civicrm_api3_case_getList($params) {
 
 /**
  * Needed due to the above override
- * @param $params
- * @param $apiRequest
+ * @param array $params
+ * @param array $apiRequest
  */
 function _civicrm_api3_case_getlist_spec(&$params, $apiRequest) {
   require_once 'api/v3/Generic/Getlist.php';
diff --git a/civicrm/api/v3/Contribution.php b/civicrm/api/v3/Contribution.php
index e3d49c086c..6396535fb3 100644
--- a/civicrm/api/v3/Contribution.php
+++ b/civicrm/api/v3/Contribution.php
@@ -290,7 +290,7 @@ function _civicrm_api3_contribution_get_support_nonunique_returns($params) {
 /**
  * Support for supported output variables.
  *
- * @param $contribution
+ * @param array $contribution
  */
 function _civicrm_api3_contribution_add_supported_fields(&$contribution) {
   // These are output fields that are supported in our test contract.
@@ -329,7 +329,7 @@ function civicrm_api3_contribution_getcount($params) {
  * As of v4.4 we support multiple soft credit, so now contribution returns array with 'soft_credit' as key
  * but we still return first soft credit as a part of contribution array
  *
- * @param $contribution
+ * @param array $contribution
  */
 function _civicrm_api3_format_soft_credit(&$contribution) {
   if (!empty($contribution['soft_credit'])) {
diff --git a/civicrm/api/v3/Event.php b/civicrm/api/v3/Event.php
index f20d6702cf..c10266c680 100644
--- a/civicrm/api/v3/Event.php
+++ b/civicrm/api/v3/Event.php
@@ -59,6 +59,7 @@ function _civicrm_api3_event_create_spec(&$params) {
   $params['is_active']['api.default'] = 1;
   $params['financial_type_id']['api.aliases'] = ['contribution_type_id'];
   $params['is_template']['api.default'] = 0;
+  $params['event_tz']['api.default'] = CRM_Core_Config::singleton()->userSystem->getTimeZoneString();
 }
 
 /**
@@ -261,3 +262,15 @@ function _civicrm_api3_event_getlist_output($result, $request) {
   }
   return $output;
 }
+
+/**
+ * Add missing timezones to all events.
+ *
+ * @return array
+ */
+function civicrm_api3_event_addmissingtimezones($params) {
+  $defaultTZ = CRM_Core_Config::singleton()->userSystem->getTimeZoneString();
+
+  CRM_Core_DAO::executeQuery('UPDATE civicrm_event SET event_tz = %1 WHERE event_tz IS NULL OR event_tz = ""', [1 => [$defaultTZ, 'String']]);
+  return civicrm_api3_create_success($events, $params, 'Event', 'addMissingTimezones');
+}
diff --git a/civicrm/api/v3/Extension.php b/civicrm/api/v3/Extension.php
index ce46a5dfb4..0b654bf642 100644
--- a/civicrm/api/v3/Extension.php
+++ b/civicrm/api/v3/Extension.php
@@ -50,7 +50,7 @@ function civicrm_api3_extension_install($params) {
 
 /**
  * Spec function for getfields
- * @param $fields
+ * @param array $fields
  */
 function _civicrm_api3_extension_install_spec(&$fields) {
   $fields['keys'] = [
@@ -122,7 +122,7 @@ function civicrm_api3_extension_enable($params) {
 
 /**
  * Spec function for getfields
- * @param $fields
+ * @param array $fields
  */
 function _civicrm_api3_extension_enable_spec(&$fields) {
   _civicrm_api3_extension_install_spec($fields);
@@ -153,7 +153,7 @@ function civicrm_api3_extension_disable($params) {
 
 /**
  * Spec function for getfields
- * @param $fields
+ * @param array $fields
  */
 function _civicrm_api3_extension_disable_spec(&$fields) {
   _civicrm_api3_extension_install_spec($fields);
@@ -186,7 +186,7 @@ function civicrm_api3_extension_uninstall($params) {
 
 /**
  * Spec function for getfields
- * @param $fields
+ * @param array $fields
  */
 function _civicrm_api3_extension_uninstall_spec(&$fields) {
   _civicrm_api3_extension_install_spec($fields);
@@ -250,7 +250,7 @@ function civicrm_api3_extension_download($params) {
 
 /**
  * Spec function for getfields
- * @param $fields
+ * @param array $fields
  */
 function _civicrm_api3_extension_download_spec(&$fields) {
   $fields['key'] = [
@@ -305,7 +305,7 @@ function civicrm_api3_extension_refresh($params) {
 
 /**
  * Spec function for getfields
- * @param $fields
+ * @param array $fields
  */
 function _civicrm_api3_extension_refresh_spec(&$fields) {
   $fields['local'] = [
diff --git a/civicrm/api/v3/Generic.php b/civicrm/api/v3/Generic.php
index 34ba7db2a1..9188bcff50 100644
--- a/civicrm/api/v3/Generic.php
+++ b/civicrm/api/v3/Generic.php
@@ -454,8 +454,8 @@ function civicrm_api3_generic_getoptions($apiRequest) {
 /**
  * Provide metadata for this generic action
  *
- * @param $params
- * @param $apiRequest
+ * @param array $params
+ * @param array $apiRequest
  */
 function _civicrm_api3_generic_getoptions_spec(&$params, $apiRequest) {
   $params += [
diff --git a/civicrm/api/v3/Generic/Getlist.php b/civicrm/api/v3/Generic/Getlist.php
index 3d993c70b5..af8fb61c3b 100644
--- a/civicrm/api/v3/Generic/Getlist.php
+++ b/civicrm/api/v3/Generic/Getlist.php
@@ -246,9 +246,9 @@ function _civicrm_api3_generic_getlist_output($result, $request, $entity, $field
 /**
  * Common postprocess for getlist output
  *
- * @param $result
- * @param $request
- * @param $values
+ * @param array $result
+ * @param array $request
+ * @param array $values
  */
 function _civicrm_api3_generic_getlist_postprocess($result, $request, &$values) {
   $chains = [];
diff --git a/civicrm/api/v3/Job.php b/civicrm/api/v3/Job.php
index 05d350c0d1..4210e43a69 100644
--- a/civicrm/api/v3/Job.php
+++ b/civicrm/api/v3/Job.php
@@ -98,7 +98,7 @@ function civicrm_api3_job_get($params) {
  * @param array $params
  */
 function civicrm_api3_job_delete($params) {
-  _civicrm_api3_basic_delete(_civicrm_api3_get_BAO(__FUNCTION__), $params);
+  return _civicrm_api3_basic_delete(_civicrm_api3_get_BAO(__FUNCTION__), $params);
 }
 
 /**
@@ -555,7 +555,7 @@ function civicrm_api3_job_process_batch_merge($params) {
 /**
  * Metadata for batch merge function.
  *
- * @param $params
+ * @param array $params
  */
 function _civicrm_api3_job_process_batch_merge_spec(&$params) {
   $params['rule_group_id'] = [
diff --git a/civicrm/api/v3/MailingContact.php b/civicrm/api/v3/MailingContact.php
index 4875e79340..2ef5194da7 100644
--- a/civicrm/api/v3/MailingContact.php
+++ b/civicrm/api/v3/MailingContact.php
@@ -84,13 +84,13 @@ function _civicrm_api3_mailing_contact_get_spec(&$params) {
  * Helper function for mailing contact queries.
  *
  * @param int $contactID
- * @param $offset
- * @param $limit
- * @param $selectFields
- * @param $fromClause
- * @param $whereClause
- * @param $sort
- * @param $getCount
+ * @param int $offset
+ * @param int $limit
+ * @param array|null $selectFields
+ * @param string|null $fromClause
+ * @param string|null $whereClause
+ * @param string|null $sort
+ * @param bool $getCount
  *
  * @return array
  */
@@ -196,10 +196,10 @@ LIMIT %2, %3
  * Get delivered mailing contacts.
  *
  * @param int $contactID
- * @param $offset
- * @param $limit
- * @param $sort
- * @param $getCount
+ * @param int $offset
+ * @param int $limit
+ * @param string|null $sort
+ * @param bool $getCount
  *
  * @return array
  */
@@ -237,10 +237,10 @@ AND        meb.id IS NULL
  * Get bounced mailing contact records.
  *
  * @param int $contactID
- * @param $offset
- * @param $limit
- * @param $sort
- * @param $getCount
+ * @param int $offset
+ * @param int $limit
+ * @param string|null $sort
+ * @param bool $getCount
  *
  * @return array
  */
diff --git a/civicrm/api/v3/MailingEventQueue.php b/civicrm/api/v3/MailingEventQueue.php
index e7b3f6bc0c..9625809fdb 100644
--- a/civicrm/api/v3/MailingEventQueue.php
+++ b/civicrm/api/v3/MailingEventQueue.php
@@ -34,7 +34,7 @@ function civicrm_api3_mailing_event_queue_create($params) {
     ['job_id', 'contact_id'],
     FALSE
   );
-  return _civicrm_api3_basic_create('CRM_Mailing_Event_BAO_Queue', $params, 'Queue');
+  return _civicrm_api3_basic_create('CRM_Mailing_Event_BAO_Queue', $params, 'MailingEventQueue');
 }
 
 /**
diff --git a/civicrm/api/v3/Membership.php b/civicrm/api/v3/Membership.php
index c7a3b1d5e4..689f880ec4 100644
--- a/civicrm/api/v3/Membership.php
+++ b/civicrm/api/v3/Membership.php
@@ -250,7 +250,7 @@ function civicrm_api3_membership_get($params) {
  * @param array $params
  *   Parameters passed into get function.
  * @param int $membershipTypeId
- * @param $activeOnly
+ * @param bool $activeOnly
  *
  * @return array
  *   result for calling function
@@ -271,7 +271,7 @@ function _civicrm_api3_membership_get_customv2behaviour(&$params, $membershipTyp
  *
  * @param array $params
  *   Parameters passed into get function.
- * @param $membershipValues
+ * @param array $membershipValues
  * @param int $contactID
  *
  * @return array
diff --git a/civicrm/api/v3/Navigation.php b/civicrm/api/v3/Navigation.php
index c1f0cf3c67..f78fdd6cab 100644
--- a/civicrm/api/v3/Navigation.php
+++ b/civicrm/api/v3/Navigation.php
@@ -88,9 +88,11 @@ function civicrm_api3_navigation_create($params) {
 /**
  * Adjust metadata for navigation create action.
  *
- * @param array $params
+ * @param array[] $fields
  */
-function _civicrm_api3_navigation_delete_spec(&$params) {
+function _civicrm_api3_navigation_create_spec(&$fields) {
+  $fields['is_active']['api.default'] = TRUE;
+  $fields['domain_id']['api.default'] = CRM_Core_Config::domainID();
 }
 
 /**
diff --git a/civicrm/api/v3/OptionGroup.php b/civicrm/api/v3/OptionGroup.php
index 794d7441ca..5025480d4f 100644
--- a/civicrm/api/v3/OptionGroup.php
+++ b/civicrm/api/v3/OptionGroup.php
@@ -37,9 +37,12 @@ function civicrm_api3_option_group_get($params) {
  * @return array
  */
 function civicrm_api3_option_group_create($params) {
-  $result = _civicrm_api3_basic_create(_civicrm_api3_get_BAO(__FUNCTION__), $params, 'OptionGroup');
+  // Use deprecated BAO method in APIv3 for legacy support. APIv4 uses new writeRecords method.
+  $bao = CRM_Core_BAO_OptionGroup::add($params);
   civicrm_api('option_value', 'getfields', ['version' => 3, 'cache_clear' => 1]);
-  return $result;
+  $values = [];
+  _civicrm_api3_object_to_array($bao, $values[$bao->id]);
+  return civicrm_api3_create_success($values, $params, 'OptionGroup', 'create', $bao);
 }
 
 /**
diff --git a/civicrm/api/v3/Participant.php b/civicrm/api/v3/Participant.php
index e70bc067cd..d9932b2bb8 100644
--- a/civicrm/api/v3/Participant.php
+++ b/civicrm/api/v3/Participant.php
@@ -56,7 +56,7 @@ function civicrm_api3_participant_create($params) {
  * @todo this should be done in the BAO not the api
  *
  * @param array $params
- * @param $participant
+ * @param CRM_Event_BAO_Participant $participant
  *
  * @throws \CiviCRM_API3_Exception
  */
diff --git a/civicrm/api/v3/Pledge.php b/civicrm/api/v3/Pledge.php
index 25f661502e..571924b193 100644
--- a/civicrm/api/v3/Pledge.php
+++ b/civicrm/api/v3/Pledge.php
@@ -18,7 +18,7 @@
 /**
  * Create or updates an Pledge.
  *
- * @param $params
+ * @param array $params
  *
  * @return array
  *   Array containing 'is_error' to denote success or failure and details of the created pledge
diff --git a/civicrm/api/v3/Profile.php b/civicrm/api/v3/Profile.php
index 742af495fa..a20bd48e1e 100644
--- a/civicrm/api/v3/Profile.php
+++ b/civicrm/api/v3/Profile.php
@@ -485,7 +485,7 @@ function _civicrm_api3_profile_getbillingpseudoprofile(&$params) {
  * @param int $profileID
  * @param int $optionsBehaviour
  *   0 = don't resolve, 1 = resolve non-aggressively, 2 = resolve aggressively - ie include country & state.
- * @param $is_flush
+ * @param bool $is_flush
  *
  * @return array|void
  */
@@ -623,7 +623,7 @@ function _civicrm_api3_order_by_weight($a, $b) {
  * Here we map the profile fields as stored in the uf_field table to their 'real entity'
  * we also return the profile fieldname
  *
- * @param $field
+ * @param array $field
  *
  * @return array
  */
@@ -716,7 +716,7 @@ function _civicrm_api3_profile_getProfileID($profileID) {
  *
  * e.g getfields response incl 'membership_type_id' - with api.aliases = 'membership_type'
  * returned array will include both as keys (with the same values)
- * @param $entity
+ * @param string $entity
  *
  * @return array
  */
diff --git a/civicrm/api/v3/examples/Activity/ContactRefCustomField.ex.php b/civicrm/api/v3/examples/Activity/ContactRefCustomField.ex.php
index 7c70fcb0b6..6ad066c634 100644
--- a/civicrm/api/v3/examples/Activity/ContactRefCustomField.ex.php
+++ b/civicrm/api/v3/examples/Activity/ContactRefCustomField.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Activity.create API.
  *
@@ -21,7 +26,7 @@ function activity_create_example() {
     'custom_2' => '1',
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Activity', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -80,6 +85,8 @@ function activity_create_expectedresult() {
         'engagement_level' => '',
         'weight' => '',
         'is_star' => '',
+        'created_date' => '',
+        'modified_date' => '',
       ],
     ],
   ];
@@ -88,23 +95,23 @@ function activity_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testActivityCreateCustomContactRefField"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ActivityTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-master-git/
-*
-* To Learn about the API read
-* http://wiki.civicrm.org/confluence/display/CRMDOC/Using+the+API
-*
-* Browse the api on your own site with the api explorer
-* http://MYSITE.ORG/path/to/civicrm/api
-*
-* Read more about testing here
-* http://wiki.civicrm.org/confluence/display/CRM/Testing
-*
-* API Standards documentation:
-* http://wiki.civicrm.org/confluence/display/CRM/API+Architecture+Standards
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testActivityCreateCustomContactRefField"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ActivityTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Activity/ContactRefCustomFieldGet.ex.php b/civicrm/api/v3/examples/Activity/ContactRefCustomFieldGet.ex.php
index 1b1ee194a3..a2162e39c5 100644
--- a/civicrm/api/v3/examples/Activity/ContactRefCustomFieldGet.ex.php
+++ b/civicrm/api/v3/examples/Activity/ContactRefCustomFieldGet.ex.php
@@ -1,8 +1,13 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Activity.get API.
  *
- * Get with Contact Ref Custom Field
+ * Get with Contact Ref Custom Field.
  *
  * @return array
  *   API result array
@@ -13,7 +18,7 @@ function activity_get_example() {
     'id' => 1,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Activity', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -61,10 +66,14 @@ function activity_get_expectedresult() {
         'is_current_revision' => '1',
         'is_deleted' => 0,
         'is_star' => 0,
+        'created_date' => '2013-07-28 08:49:19',
+        'modified_date' => '2012-11-14 16:02:35',
         'custom_1' => 'defaultValue',
         'custom_2_id' => '1',
         'custom_2' => 'Anderson, Anthony',
         'source_contact_id' => '1',
+        'source_contact_name' => 'Mr. Anthony Anderson II',
+        'source_contact_sort_name' => 'Anderson, Anthony',
         'custom_1_1' => 'defaultValue',
         'custom_2_1' => 'Anderson, Anthony',
         'custom_2_1_id' => '1',
@@ -76,23 +85,23 @@ function activity_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testActivityCreateCustomContactRefField"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ActivityTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-master-git/
-*
-* To Learn about the API read
-* http://wiki.civicrm.org/confluence/display/CRMDOC/Using+the+API
-*
-* Browse the api on your own site with the api explorer
-* http://MYSITE.ORG/path/to/civicrm/api
-*
-* Read more about testing here
-* http://wiki.civicrm.org/confluence/display/CRM/Testing
-*
-* API Standards documentation:
-* http://wiki.civicrm.org/confluence/display/CRM/API+Architecture+Standards
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testActivityCreateCustomContactRefField"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ActivityTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Activity/Create.ex.php b/civicrm/api/v3/examples/Activity/Create.ex.php
index 3d48bdddeb..5a39798972 100644
--- a/civicrm/api/v3/examples/Activity/Create.ex.php
+++ b/civicrm/api/v3/examples/Activity/Create.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Activity.create API.
  *
@@ -19,7 +24,7 @@ function activity_create_example() {
     'custom_1' => 'custom string',
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Activity', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -78,6 +83,8 @@ function activity_create_expectedresult() {
         'engagement_level' => '',
         'weight' => '',
         'is_star' => '',
+        'created_date' => '',
+        'modified_date' => '',
       ],
     ],
   ];
@@ -86,23 +93,23 @@ function activity_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testActivityCreateCustomSubType"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ActivityTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-master-git/
-*
-* To Learn about the API read
-* http://wiki.civicrm.org/confluence/display/CRMDOC/Using+the+API
-*
-* Browse the api on your own site with the api explorer
-* http://MYSITE.ORG/path/to/civicrm/api
-*
-* Read more about testing here
-* http://wiki.civicrm.org/confluence/display/CRM/Testing
-*
-* API Standards documentation:
-* http://wiki.civicrm.org/confluence/display/CRM/API+Architecture+Standards
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testActivityCreateCustomSubType"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ActivityTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Activity/DateTimeHigh.ex.php b/civicrm/api/v3/examples/Activity/DateTimeHigh.ex.php
index 7f8009b078..894484412a 100644
--- a/civicrm/api/v3/examples/Activity/DateTimeHigh.ex.php
+++ b/civicrm/api/v3/examples/Activity/DateTimeHigh.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Activity.get API.
  *
@@ -12,9 +17,10 @@ function activity_get_example() {
     'source_contact_id' => 1,
     'filter.activity_date_time_high' => '20120101000000',
     'sequential' => 1,
+    'return' => 'activity_date_time',
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Activity', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -49,20 +55,10 @@ function activity_get_expectedresult() {
     'values' => [
       '0' => [
         'id' => '1',
-        'activity_type_id' => '9999',
-        'subject' => 'Make-it-Happen Meeting',
         'activity_date_time' => '2011-01-01 00:00:00',
-        'duration' => '120',
-        'location' => 'Pennsylvania',
-        'details' => 'a test activity',
-        'status_id' => '1',
-        'priority_id' => '1',
-        'is_test' => 0,
-        'is_auto' => 0,
-        'is_current_revision' => '1',
-        'is_deleted' => 0,
-        'is_star' => 0,
         'source_contact_id' => '1',
+        'source_contact_name' => 'Mr. Anthony Anderson II',
+        'source_contact_sort_name' => 'Anderson, Anthony',
       ],
     ],
   ];
@@ -71,23 +67,23 @@ function activity_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGetFilterMaxDate"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ActivityTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-master-git/
-*
-* To Learn about the API read
-* http://wiki.civicrm.org/confluence/display/CRMDOC/Using+the+API
-*
-* Browse the api on your own site with the api explorer
-* http://MYSITE.ORG/path/to/civicrm/api
-*
-* Read more about testing here
-* http://wiki.civicrm.org/confluence/display/CRM/Testing
-*
-* API Standards documentation:
-* http://wiki.civicrm.org/confluence/display/CRM/API+Architecture+Standards
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGetFilterMaxDate"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ActivityTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Activity/DateTimeLow.ex.php b/civicrm/api/v3/examples/Activity/DateTimeLow.ex.php
index c4ccee6a68..fefd5cf63b 100644
--- a/civicrm/api/v3/examples/Activity/DateTimeLow.ex.php
+++ b/civicrm/api/v3/examples/Activity/DateTimeLow.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Activity.get API.
  *
@@ -11,9 +16,10 @@ function activity_get_example() {
   $params = [
     'filter.activity_date_time_low' => '20120101000000',
     'sequential' => 1,
+    'return' => 'activity_date_time',
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Activity', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -48,20 +54,10 @@ function activity_get_expectedresult() {
     'values' => [
       '0' => [
         'id' => '2',
-        'activity_type_id' => '9999',
-        'subject' => 'Make-it-Happen Meeting',
         'activity_date_time' => '2012-02-16 00:00:00',
-        'duration' => '120',
-        'location' => 'Pennsylvania',
-        'details' => 'a test activity',
-        'status_id' => '1',
-        'priority_id' => '1',
-        'is_test' => 0,
-        'is_auto' => 0,
-        'is_current_revision' => '1',
-        'is_deleted' => 0,
-        'is_star' => 0,
         'source_contact_id' => '1',
+        'source_contact_name' => 'Mr. Anthony Anderson II',
+        'source_contact_sort_name' => 'Anderson, Anthony',
       ],
     ],
   ];
@@ -70,23 +66,23 @@ function activity_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGetFilterMaxDate"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ActivityTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-master-git/
-*
-* To Learn about the API read
-* http://wiki.civicrm.org/confluence/display/CRMDOC/Using+the+API
-*
-* Browse the api on your own site with the api explorer
-* http://MYSITE.ORG/path/to/civicrm/api
-*
-* Read more about testing here
-* http://wiki.civicrm.org/confluence/display/CRM/Testing
-*
-* API Standards documentation:
-* http://wiki.civicrm.org/confluence/display/CRM/API+Architecture+Standards
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGetFilterMaxDate"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ActivityTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Activity/Delete.ex.php b/civicrm/api/v3/examples/Activity/Delete.ex.php
index 131e8ad31c..fd6ebc4ba8 100644
--- a/civicrm/api/v3/examples/Activity/Delete.ex.php
+++ b/civicrm/api/v3/examples/Activity/Delete.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Activity.delete API.
  *
@@ -10,7 +15,7 @@ function activity_delete_example() {
     'id' => 1,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Activity', 'delete', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -48,23 +53,23 @@ function activity_delete_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testDeleteActivity"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ActivityTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-master-git/
-*
-* To Learn about the API read
-* http://wiki.civicrm.org/confluence/display/CRMDOC/Using+the+API
-*
-* Browse the api on your own site with the api explorer
-* http://MYSITE.ORG/path/to/civicrm/api
-*
-* Read more about testing here
-* http://wiki.civicrm.org/confluence/display/CRM/Testing
-*
-* API Standards documentation:
-* http://wiki.civicrm.org/confluence/display/CRM/API+Architecture+Standards
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testDeleteActivity"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ActivityTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Activity/Get.ex.php b/civicrm/api/v3/examples/Activity/Get.ex.php
index 014e703a3d..e09bac324e 100644
--- a/civicrm/api/v3/examples/Activity/Get.ex.php
+++ b/civicrm/api/v3/examples/Activity/Get.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Activity.get API.
  *
@@ -7,12 +12,12 @@
  */
 function activity_get_example() {
   $params = [
-    'case_id' => [
-      'IS NULL' => 1,
-    ],
+    'activity_type_id' => 9999,
+    'sequential' => 1,
+    'return.custom_1' => 1,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Activity', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -43,15 +48,18 @@ function activity_get_expectedresult() {
     'is_error' => 0,
     'version' => 3,
     'count' => 1,
-    'id' => 9,
+    'id' => 1,
     'values' => [
-      '9' => [
-        'id' => '9',
-        'activity_type_id' => '2',
-        'subject' => 'Ask not what your API can do for you, but what you can do for your API.',
-        'activity_date_time' => '2019-08-20 19:10:43',
+      '0' => [
+        'id' => '1',
+        'activity_type_id' => '9999',
+        'subject' => 'test activity type id',
+        'activity_date_time' => '2011-06-02 14:36:13',
+        'duration' => '120',
+        'location' => 'Pennsylvania',
+        'details' => 'a test activity',
         'status_id' => '2',
-        'priority_id' => '2',
+        'priority_id' => '1',
         'is_test' => 0,
         'is_auto' => 0,
         'is_current_revision' => '1',
@@ -59,9 +67,11 @@ function activity_get_expectedresult() {
         'is_star' => 0,
         'created_date' => '2013-07-28 08:49:19',
         'modified_date' => '2012-11-14 16:02:35',
-        'source_contact_id' => '19',
+        'custom_1' => 'custom string',
+        'source_contact_id' => '1',
         'source_contact_name' => 'Mr. Anthony Anderson II',
         'source_contact_sort_name' => 'Anderson, Anthony',
+        'custom_1_1' => 'custom string',
       ],
     ],
   ];
@@ -70,23 +80,23 @@ function activity_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGet"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ActivityCaseTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testActivityGetGoodIDCustom"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ActivityTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Activity/GetFields.ex.php b/civicrm/api/v3/examples/Activity/GetFields.ex.php
index 6155aa26ed..465fa3e4f6 100644
--- a/civicrm/api/v3/examples/Activity/GetFields.ex.php
+++ b/civicrm/api/v3/examples/Activity/GetFields.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Activity.getfields API.
  *
@@ -10,7 +15,7 @@ function activity_getfields_example() {
     'action' => 'create',
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Activity', 'getfields', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -40,16 +45,21 @@ function activity_getfields_expectedresult() {
   $expectedResult = [
     'is_error' => 0,
     'version' => 3,
-    'count' => 29,
+    'count' => 31,
     'values' => [
       'source_record_id' => [
         'name' => 'source_record_id',
         'type' => 1,
         'title' => 'Source Record',
         'description' => 'Artificial FK to original transaction (e.g. contribution) IF it is not an Activity. Table can be figured out through activity_type_id, and further through component registry.',
+        'where' => 'civicrm_activity.source_record_id',
         'table_name' => 'civicrm_activity',
         'entity' => 'Activity',
         'bao' => 'CRM_Activity_BAO_Activity',
+        'localizable' => 0,
+        'readonly' => TRUE,
+        'add' => '2.0',
+        'is_core_field' => TRUE,
       ],
       'activity_type_id' => [
         'name' => 'activity_type_id',
@@ -65,8 +75,10 @@ function activity_getfields_expectedresult() {
         'table_name' => 'civicrm_activity',
         'entity' => 'Activity',
         'bao' => 'CRM_Activity_BAO_Activity',
+        'localizable' => 0,
         'html' => [
           'type' => 'Select',
+          'label' => 'Activity Type',
           'size' => 6,
           'maxlength' => 14,
         ],
@@ -74,38 +86,51 @@ function activity_getfields_expectedresult() {
           'optionGroupName' => 'activity_type',
           'optionEditPath' => 'civicrm/admin/options/activity_type',
         ],
+        'add' => '1.1',
+        'is_core_field' => TRUE,
       ],
       'activity_date_time' => [
         'name' => 'activity_date_time',
         'type' => 12,
         'title' => 'Activity Date',
         'description' => 'Date and time this activity is scheduled to occur. Formerly named scheduled_date_time.',
+        'required' => '',
         'import' => TRUE,
         'where' => 'civicrm_activity.activity_date_time',
         'headerPattern' => '/(activity.)?date(.time$)?/i',
         'export' => TRUE,
+        'default' => 'CURRENT_TIMESTAMP',
         'table_name' => 'civicrm_activity',
         'entity' => 'Activity',
         'bao' => 'CRM_Activity_BAO_Activity',
+        'localizable' => 0,
         'html' => [
           'type' => 'Select Date',
-          'format' => 'activityDateTime',
+          'formatType' => 'activityDateTime',
         ],
+        'add' => '2.0',
+        'is_core_field' => TRUE,
+        'api.default' => 'now',
       ],
       'phone_id' => [
         'name' => 'phone_id',
         'type' => 1,
-        'title' => 'Phone (called) ID',
+        'title' => 'Phone ID (called)',
         'description' => 'Phone ID of the number called (optional - used if an existing phone number is selected).',
+        'where' => 'civicrm_activity.phone_id',
         'table_name' => 'civicrm_activity',
         'entity' => 'Activity',
         'bao' => 'CRM_Activity_BAO_Activity',
+        'localizable' => 0,
         'FKClassName' => 'CRM_Core_DAO_Phone',
         'html' => [
           'type' => 'EntityRef',
+          'label' => 'Phone (called)',
           'size' => 6,
           'maxlength' => 14,
         ],
+        'add' => '2.0',
+        'is_core_field' => TRUE,
         'FKApiName' => 'Phone',
       ],
       'phone_number' => [
@@ -115,23 +140,31 @@ function activity_getfields_expectedresult() {
         'description' => 'Phone number in case the number does not exist in the civicrm_phone table.',
         'maxlength' => 64,
         'size' => 30,
+        'where' => 'civicrm_activity.phone_number',
         'table_name' => 'civicrm_activity',
         'entity' => 'Activity',
         'bao' => 'CRM_Activity_BAO_Activity',
+        'localizable' => 0,
         'html' => [
           'type' => 'Text',
           'maxlength' => 64,
           'size' => 30,
         ],
+        'add' => '2.0',
+        'is_core_field' => TRUE,
       ],
       'priority_id' => [
         'name' => 'priority_id',
         'type' => 1,
         'title' => 'Priority',
         'description' => 'ID of the priority given to this activity. Foreign key to civicrm_option_value.',
+        'import' => TRUE,
+        'where' => 'civicrm_activity.priority_id',
+        'export' => TRUE,
         'table_name' => 'civicrm_activity',
         'entity' => 'Activity',
         'bao' => 'CRM_Activity_BAO_Activity',
+        'localizable' => 0,
         'html' => [
           'type' => 'Select',
           'size' => 6,
@@ -141,36 +174,60 @@ function activity_getfields_expectedresult() {
           'optionGroupName' => 'priority',
           'optionEditPath' => 'civicrm/admin/options/priority',
         ],
+        'add' => '2.0',
+        'is_core_field' => TRUE,
       ],
       'parent_id' => [
         'name' => 'parent_id',
         'type' => 1,
-        'title' => 'Parent Activity Id',
+        'title' => 'Parent Activity ID',
         'description' => 'Parent meeting ID (if this is a follow-up item). This is not currently implemented',
+        'where' => 'civicrm_activity.parent_id',
         'table_name' => 'civicrm_activity',
         'entity' => 'Activity',
         'bao' => 'CRM_Activity_BAO_Activity',
+        'localizable' => 0,
         'FKClassName' => 'CRM_Activity_DAO_Activity',
+        'html' => [
+          'label' => 'Parent Activity',
+          'size' => 6,
+          'maxlength' => 14,
+        ],
+        'readonly' => TRUE,
+        'add' => '1.1',
+        'is_core_field' => TRUE,
         'FKApiName' => 'Activity',
       ],
       'is_auto' => [
         'name' => 'is_auto',
         'type' => 16,
         'title' => 'Auto',
+        'where' => 'civicrm_activity.is_auto',
         'table_name' => 'civicrm_activity',
         'entity' => 'Activity',
         'bao' => 'CRM_Activity_BAO_Activity',
+        'localizable' => 0,
+        'add' => '2.2',
+        'is_core_field' => TRUE,
       ],
       'relationship_id' => [
         'name' => 'relationship_id',
         'type' => 1,
-        'title' => 'Relationship Id',
+        'title' => 'Relationship ID',
         'description' => 'FK to Relationship ID',
-        'default' => 'NULL',
+        'where' => 'civicrm_activity.relationship_id',
         'table_name' => 'civicrm_activity',
         'entity' => 'Activity',
         'bao' => 'CRM_Activity_BAO_Activity',
+        'localizable' => 0,
         'FKClassName' => 'CRM_Contact_DAO_Relationship',
+        'html' => [
+          'label' => 'Relationship',
+          'size' => 6,
+          'maxlength' => 14,
+        ],
+        'add' => '2.2',
+        'is_core_field' => TRUE,
         'FKApiName' => 'Relationship',
       ],
       'is_current_revision' => [
@@ -185,33 +242,42 @@ function activity_getfields_expectedresult() {
         'table_name' => 'civicrm_activity',
         'entity' => 'Activity',
         'bao' => 'CRM_Activity_BAO_Activity',
-        'html' => [
-          'type' => 'CheckBox',
-        ],
+        'localizable' => 0,
+        'add' => '2.2',
+        'is_core_field' => TRUE,
       ],
       'original_id' => [
         'name' => 'original_id',
         'type' => 1,
-        'title' => 'Original Activity ID ',
+        'title' => 'Original Activity ID',
         'description' => 'Activity ID of the first activity record in versioning chain.',
+        'where' => 'civicrm_activity.original_id',
         'table_name' => 'civicrm_activity',
         'entity' => 'Activity',
         'bao' => 'CRM_Activity_BAO_Activity',
+        'localizable' => 0,
         'FKClassName' => 'CRM_Activity_DAO_Activity',
+        'html' => [
+          'label' => 'Original Activity',
+          'size' => 6,
+          'maxlength' => 14,
+        ],
+        'readonly' => TRUE,
+        'add' => '2.2',
+        'is_core_field' => TRUE,
         'FKApiName' => 'Activity',
       ],
       'weight' => [
         'name' => 'weight',
         'type' => 1,
         'title' => 'Order',
+        'where' => 'civicrm_activity.weight',
         'table_name' => 'civicrm_activity',
         'entity' => 'Activity',
         'bao' => 'CRM_Activity_BAO_Activity',
-        'html' => [
-          'type' => 'Text',
-          'size' => 6,
-          'maxlength' => 14,
-        ],
+        'localizable' => 0,
+        'add' => '4.1',
+        'is_core_field' => TRUE,
       ],
       'is_star' => [
         'name' => 'is_star',
@@ -225,6 +291,12 @@ function activity_getfields_expectedresult() {
         'table_name' => 'civicrm_activity',
         'entity' => 'Activity',
         'bao' => 'CRM_Activity_BAO_Activity',
+        'localizable' => 0,
+        'html' => [
+          'type' => 'Checkbox',
+        ],
+        'add' => '4.7',
+        'is_core_field' => TRUE,
       ],
       'id' => [
         'name' => 'id',
@@ -238,6 +310,15 @@ function activity_getfields_expectedresult() {
         'table_name' => 'civicrm_activity',
         'entity' => 'Activity',
         'bao' => 'CRM_Activity_BAO_Activity',
+        'localizable' => 0,
+        'html' => [
+          'type' => 'Number',
+          'size' => 6,
+          'maxlength' => 14,
+        ],
+        'readonly' => TRUE,
+        'add' => '1.1',
+        'is_core_field' => TRUE,
         'uniqueName' => 'activity_id',
         'api.aliases' => [
           '0' => 'activity_id',
@@ -257,11 +338,14 @@ function activity_getfields_expectedresult() {
         'table_name' => 'civicrm_activity',
         'entity' => 'Activity',
         'bao' => 'CRM_Activity_BAO_Activity',
+        'localizable' => 0,
         'html' => [
           'type' => 'Text',
           'maxlength' => 255,
           'size' => 45,
         ],
+        'add' => '1.1',
+        'is_core_field' => TRUE,
         'uniqueName' => 'activity_subject',
       ],
       'duration' => [
@@ -276,11 +360,14 @@ function activity_getfields_expectedresult() {
         'table_name' => 'civicrm_activity',
         'entity' => 'Activity',
         'bao' => 'CRM_Activity_BAO_Activity',
+        'localizable' => 0,
         'html' => [
-          'type' => 'Text',
+          'type' => 'Number',
           'size' => 6,
           'maxlength' => 14,
         ],
+        'add' => '2.0',
+        'is_core_field' => TRUE,
         'uniqueName' => 'activity_duration',
       ],
       'location' => [
@@ -297,11 +384,14 @@ function activity_getfields_expectedresult() {
         'table_name' => 'civicrm_activity',
         'entity' => 'Activity',
         'bao' => 'CRM_Activity_BAO_Activity',
+        'localizable' => 0,
         'html' => [
           'type' => 'Text',
           'maxlength' => 255,
           'size' => 45,
         ],
+        'add' => '1.1',
+        'is_core_field' => TRUE,
         'uniqueName' => 'activity_location',
       ],
       'details' => [
@@ -316,11 +406,14 @@ function activity_getfields_expectedresult() {
         'table_name' => 'civicrm_activity',
         'entity' => 'Activity',
         'bao' => 'CRM_Activity_BAO_Activity',
+        'localizable' => 0,
         'html' => [
           'type' => 'RichTextEditor',
           'rows' => 2,
           'cols' => 80,
         ],
+        'add' => '1.1',
+        'is_core_field' => TRUE,
         'uniqueName' => 'activity_details',
       ],
       'status_id' => [
@@ -331,9 +424,11 @@ function activity_getfields_expectedresult() {
         'import' => TRUE,
         'where' => 'civicrm_activity.status_id',
         'headerPattern' => '/(activity.)?status(.label$)?/i',
+        'export' => TRUE,
         'table_name' => 'civicrm_activity',
         'entity' => 'Activity',
         'bao' => 'CRM_Activity_BAO_Activity',
+        'localizable' => 0,
         'html' => [
           'type' => 'Select',
           'size' => 6,
@@ -343,6 +438,8 @@ function activity_getfields_expectedresult() {
           'optionGroupName' => 'activity_status',
           'optionEditPath' => 'civicrm/admin/options/activity_status',
         ],
+        'add' => '2.0',
+        'is_core_field' => TRUE,
         'uniqueName' => 'activity_status_id',
         'api.aliases' => [
           '0' => 'activity_status',
@@ -359,9 +456,12 @@ function activity_getfields_expectedresult() {
         'table_name' => 'civicrm_activity',
         'entity' => 'Activity',
         'bao' => 'CRM_Activity_BAO_Activity',
+        'localizable' => 0,
         'html' => [
-          'type' => 'Select',
+          'type' => 'CheckBox',
         ],
+        'add' => '2.0',
+        'is_core_field' => TRUE,
         'uniqueName' => 'activity_is_test',
       ],
       'medium_id' => [
@@ -369,10 +469,11 @@ function activity_getfields_expectedresult() {
         'type' => 1,
         'title' => 'Activity Medium',
         'description' => 'Activity Medium, Implicit FK to civicrm_option_value where option_group = encounter_medium.',
-        'default' => 'NULL',
+        'where' => 'civicrm_activity.medium_id',
         'table_name' => 'civicrm_activity',
         'entity' => 'Activity',
         'bao' => 'CRM_Activity_BAO_Activity',
+        'localizable' => 0,
         'html' => [
           'type' => 'Select',
           'size' => 6,
@@ -382,6 +483,8 @@ function activity_getfields_expectedresult() {
           'optionGroupName' => 'encounter_medium',
           'optionEditPath' => 'civicrm/admin/options/encounter_medium',
         ],
+        'add' => '2.2',
+        'is_core_field' => TRUE,
         'uniqueName' => 'activity_medium_id',
       ],
       'result' => [
@@ -391,14 +494,13 @@ function activity_getfields_expectedresult() {
         'description' => 'Currently being used to store result id for survey activity, FK to option value.',
         'maxlength' => 255,
         'size' => 45,
+        'where' => 'civicrm_activity.result',
         'table_name' => 'civicrm_activity',
         'entity' => 'Activity',
         'bao' => 'CRM_Activity_BAO_Activity',
-        'html' => [
-          'type' => 'Text',
-          'maxlength' => 255,
-          'size' => 45,
-        ],
+        'localizable' => 0,
+        'add' => '3.3',
+        'is_core_field' => TRUE,
         'uniqueName' => 'activity_result',
       ],
       'is_deleted' => [
@@ -412,15 +514,18 @@ function activity_getfields_expectedresult() {
         'table_name' => 'civicrm_activity',
         'entity' => 'Activity',
         'bao' => 'CRM_Activity_BAO_Activity',
+        'localizable' => 0,
         'html' => [
-          'type' => 'Text',
+          'type' => 'CheckBox',
         ],
+        'add' => '2.2',
+        'is_core_field' => TRUE,
         'uniqueName' => 'activity_is_deleted',
       ],
       'campaign_id' => [
         'name' => 'campaign_id',
         'type' => 1,
-        'title' => 'Campaign',
+        'title' => 'Campaign ID',
         'description' => 'The campaign for which this activity has been triggered.',
         'import' => TRUE,
         'where' => 'civicrm_activity.campaign_id',
@@ -428,9 +533,12 @@ function activity_getfields_expectedresult() {
         'table_name' => 'civicrm_activity',
         'entity' => 'Activity',
         'bao' => 'CRM_Activity_BAO_Activity',
+        'localizable' => 0,
         'FKClassName' => 'CRM_Campaign_DAO_Campaign',
+        'component' => 'CiviCampaign',
         'html' => [
-          'type' => 'CheckBox',
+          'type' => 'EntityRef',
+          'label' => 'Campaign',
           'size' => 6,
           'maxlength' => 14,
         ],
@@ -438,7 +546,10 @@ function activity_getfields_expectedresult() {
           'table' => 'civicrm_campaign',
           'keyColumn' => 'id',
           'labelColumn' => 'title',
+          'prefetch' => 'FALSE',
         ],
+        'add' => '3.4',
+        'is_core_field' => TRUE,
         'uniqueName' => 'activity_campaign_id',
         'FKApiName' => 'Campaign',
       ],
@@ -453,6 +564,7 @@ function activity_getfields_expectedresult() {
         'table_name' => 'civicrm_activity',
         'entity' => 'Activity',
         'bao' => 'CRM_Activity_BAO_Activity',
+        'localizable' => 0,
         'html' => [
           'type' => 'Select',
           'size' => 6,
@@ -462,16 +574,52 @@ function activity_getfields_expectedresult() {
           'optionGroupName' => 'engagement_index',
           'optionEditPath' => 'civicrm/admin/options/engagement_index',
         ],
+        'add' => '3.4',
+        'is_core_field' => TRUE,
         'uniqueName' => 'activity_engagement_level',
       ],
-      'source_contact_id' => [
-        'name' => 'source_contact_id',
-        'title' => 'Activity Source Contact',
-        'description' => 'Person who created this activity. Defaults to current user.',
-        'type' => 1,
-        'FKClassName' => 'CRM_Contact_DAO_Contact',
-        'api.default' => 'user_contact_id',
-        'FKApiName' => 'Contact',
+      'created_date' => [
+        'name' => 'created_date',
+        'type' => 256,
+        'title' => 'Created Date',
+        'description' => 'When was the activity was created.',
+        'required' => '',
+        'where' => 'civicrm_activity.created_date',
+        'export' => TRUE,
+        'default' => 'CURRENT_TIMESTAMP',
+        'table_name' => 'civicrm_activity',
+        'entity' => 'Activity',
+        'bao' => 'CRM_Activity_BAO_Activity',
+        'localizable' => 0,
+        'html' => [
+          'type' => 'Select Date',
+          'label' => 'Created Date',
+        ],
+        'add' => '4.7',
+        'is_core_field' => TRUE,
+        'uniqueName' => 'activity_created_date',
+      ],
+      'modified_date' => [
+        'name' => 'modified_date',
+        'type' => 256,
+        'title' => 'Modified Date',
+        'description' => 'When was the activity (or closely related entity) was created or modified or deleted.',
+        'required' => '',
+        'where' => 'civicrm_activity.modified_date',
+        'export' => TRUE,
+        'default' => 'CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP',
+        'table_name' => 'civicrm_activity',
+        'entity' => 'Activity',
+        'bao' => 'CRM_Activity_BAO_Activity',
+        'localizable' => 0,
+        'html' => [
+          'type' => 'Select Date',
+          'label' => 'Modified Date',
+        ],
+        'readonly' => TRUE,
+        'add' => '4.7',
+        'is_core_field' => TRUE,
+        'uniqueName' => 'activity_modified_date',
       ],
       'assignee_contact_id' => [
         'name' => 'assignee_id',
@@ -489,6 +637,16 @@ function activity_getfields_expectedresult() {
         'FKClassName' => 'CRM_Contact_DAO_Contact',
         'FKApiName' => 'Contact',
       ],
+      'source_contact_id' => [
+        'name' => 'source_contact_id',
+        'title' => 'Activity Source Contact',
+        'description' => 'Person who created this activity. Defaults to current user.',
+        'type' => 1,
+        'FKClassName' => 'CRM_Contact_DAO_Contact',
+        'api.default' => 'user_contact_id',
+        'FKApiName' => 'Contact',
+        'api.required' => TRUE,
+      ],
       'case_id' => [
         'name' => 'case_id',
         'title' => 'Case ID',
@@ -504,23 +662,23 @@ function activity_getfields_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGetFields"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ActivityTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-master-git/
-*
-* To Learn about the API read
-* http://wiki.civicrm.org/confluence/display/CRMDOC/Using+the+API
-*
-* Browse the api on your own site with the api explorer
-* http://MYSITE.ORG/path/to/civicrm/api
-*
-* Read more about testing here
-* http://wiki.civicrm.org/confluence/display/CRM/Testing
-*
-* API Standards documentation:
-* http://wiki.civicrm.org/confluence/display/CRM/API+Architecture+Standards
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGetFields"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ActivityTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Activity/GetTargetandAssignee.ex.php b/civicrm/api/v3/examples/Activity/GetTargetandAssignee.ex.php
index 1cdffbae4b..f9236211b3 100644
--- a/civicrm/api/v3/examples/Activity/GetTargetandAssignee.ex.php
+++ b/civicrm/api/v3/examples/Activity/GetTargetandAssignee.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Activity.create API.
  *
@@ -22,7 +27,7 @@ function activity_create_example() {
     'assignee_contact_id' => 1,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Activity', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -81,6 +86,8 @@ function activity_create_expectedresult() {
         'engagement_level' => '',
         'weight' => '',
         'is_star' => '',
+        'created_date' => '',
+        'modified_date' => '',
       ],
     ],
   ];
@@ -89,23 +96,23 @@ function activity_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testActivityReturnTargetAssignee"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ActivityTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-master-git/
-*
-* To Learn about the API read
-* http://wiki.civicrm.org/confluence/display/CRMDOC/Using+the+API
-*
-* Browse the api on your own site with the api explorer
-* http://MYSITE.ORG/path/to/civicrm/api
-*
-* Read more about testing here
-* http://wiki.civicrm.org/confluence/display/CRM/Testing
-*
-* API Standards documentation:
-* http://wiki.civicrm.org/confluence/display/CRM/API+Architecture+Standards
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testActivityReturnTargetAssignee"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ActivityTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Activity/GetTargetandAssigneeName.ex.php b/civicrm/api/v3/examples/Activity/GetTargetandAssigneeName.ex.php
index 7eaa7b8f9b..8c40df7603 100644
--- a/civicrm/api/v3/examples/Activity/GetTargetandAssigneeName.ex.php
+++ b/civicrm/api/v3/examples/Activity/GetTargetandAssigneeName.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Activity.getsingle API.
  *
@@ -18,7 +23,7 @@ function activity_getsingle_example() {
     ],
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Activity', 'getsingle', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -48,8 +53,16 @@ function activity_getsingle_expectedresult() {
   $expectedResult = [
     'id' => '1',
     'subject' => 'Make-it-Happen Meeting',
+    'assignee_contact_id' => [],
+    'assignee_contact_name' => [
+      '5' => 'C Shore',
+    ],
+    'assignee_contact_sort_name' => [
+      '5' => 'Shore, C',
+    ],
     'source_contact_id' => '6',
     'source_contact_name' => 'D Bug',
+    'source_contact_sort_name' => 'Bug, D',
     'target_contact_id' => [
       '1' => '4',
     ],
@@ -57,9 +70,9 @@ function activity_getsingle_expectedresult() {
       '3' => 'A Cat',
       '4' => 'B Good',
     ],
-    'assignee_contact_id' => [],
-    'assignee_contact_name' => [
-      '5' => 'C Shore',
+    'target_contact_sort_name' => [
+      '3' => 'Cat, A',
+      '4' => 'Good, B',
     ],
   ];
 
@@ -67,23 +80,23 @@ function activity_getsingle_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testActivityReturnTargetAssigneeName"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ActivityTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-master-git/
-*
-* To Learn about the API read
-* http://wiki.civicrm.org/confluence/display/CRMDOC/Using+the+API
-*
-* Browse the api on your own site with the api explorer
-* http://MYSITE.ORG/path/to/civicrm/api
-*
-* Read more about testing here
-* http://wiki.civicrm.org/confluence/display/CRM/Testing
-*
-* API Standards documentation:
-* http://wiki.civicrm.org/confluence/display/CRM/API+Architecture+Standards
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testActivityReturnTargetAssigneeName"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ActivityTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Activity/ReturnAssigneeContact.ex.php b/civicrm/api/v3/examples/Activity/ReturnAssigneeContact.ex.php
index 3c61ec8b8a..1b4ce1121e 100644
--- a/civicrm/api/v3/examples/Activity/ReturnAssigneeContact.ex.php
+++ b/civicrm/api/v3/examples/Activity/ReturnAssigneeContact.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Activity.get API.
  *
@@ -15,9 +20,13 @@ function activity_get_example() {
     'api.contact.get' => [
       'id' => '$value.source_contact_id',
     ],
+    'return' => [
+      '0' => 'activity_type_id',
+      '1' => 'subject',
+    ],
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Activity', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -54,21 +63,18 @@ function activity_get_expectedresult() {
         'id' => '1',
         'activity_type_id' => '9999',
         'subject' => 'test activity type id',
-        'activity_date_time' => '2011-06-02 14:36:13',
-        'duration' => '120',
-        'location' => 'Pennsylvania',
-        'details' => 'a test activity',
-        'status_id' => '2',
-        'priority_id' => '1',
-        'is_test' => 0,
-        'is_auto' => 0,
-        'is_current_revision' => '1',
-        'is_deleted' => 0,
-        'is_star' => 0,
+        'source_contact_id' => '1',
+        'source_contact_name' => 'Mr. Anthony Anderson II',
+        'source_contact_sort_name' => 'Anderson, Anthony',
         'assignee_contact_id' => [
           '0' => '3',
         ],
-        'source_contact_id' => '1',
+        'assignee_contact_name' => [
+          '3' => 'The Rock roccky',
+        ],
+        'assignee_contact_sort_name' => [
+          '3' => 'roccky, The Rock',
+        ],
         'api.contact.get' => [
           'is_error' => 0,
           'version' => 3,
@@ -101,7 +107,7 @@ function activity_get_expectedresult() {
               'prefix_id' => '3',
               'suffix_id' => '3',
               'formal_title' => '',
-              'communication_style_id' => '',
+              'communication_style_id' => '1',
               'job_title' => '',
               'gender_id' => '',
               'birth_date' => '',
@@ -138,7 +144,7 @@ function activity_get_expectedresult() {
               'languages' => 'English (United States)',
               'individual_prefix' => 'Mr.',
               'individual_suffix' => 'II',
-              'communication_style' => '',
+              'communication_style' => 'Formal',
               'gender' => '',
               'state_province_name' => '',
               'state_province' => '',
@@ -155,23 +161,23 @@ function activity_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testActivityGetGoodID1"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ActivityTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-master-git/
-*
-* To Learn about the API read
-* http://wiki.civicrm.org/confluence/display/CRMDOC/Using+the+API
-*
-* Browse the api on your own site with the api explorer
-* http://MYSITE.ORG/path/to/civicrm/api
-*
-* Read more about testing here
-* http://wiki.civicrm.org/confluence/display/CRM/Testing
-*
-* API Standards documentation:
-* http://wiki.civicrm.org/confluence/display/CRM/API+Architecture+Standards
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testActivityGetGoodID1"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ActivityTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/ActivityContact/Create.ex.php b/civicrm/api/v3/examples/ActivityContact/Create.ex.php
index d538c10419..f3a9bf5037 100644
--- a/civicrm/api/v3/examples/ActivityContact/Create.ex.php
+++ b/civicrm/api/v3/examples/ActivityContact/Create.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the ActivityContact.create API.
  *
@@ -12,7 +17,7 @@ function activity_contact_create_example() {
     'record_type_id' => 2,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('ActivityContact', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -58,23 +63,23 @@ function activity_contact_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testCreateActivityContact"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ActivityContactTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testCreateActivityContact"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ActivityContactTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/ActivityContact/Delete.ex.php b/civicrm/api/v3/examples/ActivityContact/Delete.ex.php
index 34a0727e07..dba912828e 100644
--- a/civicrm/api/v3/examples/ActivityContact/Delete.ex.php
+++ b/civicrm/api/v3/examples/ActivityContact/Delete.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the ActivityContact.delete API.
  *
@@ -7,10 +12,10 @@
  */
 function activity_contact_delete_example() {
   $params = [
-    'id' => 11,
+    'id' => 14,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('ActivityContact', 'delete', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -48,23 +53,23 @@ function activity_contact_delete_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testDeleteActivityContact"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ActivityContactTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testDeleteActivityContact"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ActivityContactTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/ActivityType/Create.ex.php b/civicrm/api/v3/examples/ActivityType/Create.ex.php
index 32298d8739..43c02fd3c2 100644
--- a/civicrm/api/v3/examples/ActivityType/Create.ex.php
+++ b/civicrm/api/v3/examples/ActivityType/Create.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the ActivityType.create API.
  *
@@ -18,7 +23,7 @@ function activity_type_create_example() {
     'is_default' => 0,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('ActivityType', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -49,10 +54,10 @@ function activity_type_create_expectedresult() {
     'is_error' => 0,
     'version' => 3,
     'count' => 1,
-    'id' => 869,
+    'id' => 859,
     'values' => [
-      '869' => [
-        'id' => '869',
+      '859' => [
+        'id' => '859',
         'option_group_id' => '2',
         'label' => 'send out letters',
         'value' => '55',
@@ -79,23 +84,23 @@ function activity_type_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testActivityTypeCreate"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ActivityTypeTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testActivityTypeCreate"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ActivityTypeTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/ActivityType/Get.ex.php b/civicrm/api/v3/examples/ActivityType/Get.ex.php
index 0c81f5052c..eb3c704361 100644
--- a/civicrm/api/v3/examples/ActivityType/Get.ex.php
+++ b/civicrm/api/v3/examples/ActivityType/Get.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the ActivityType.get API.
  *
@@ -11,7 +16,7 @@
 function activity_type_get_example() {
   $params = [];
 
-  try{
+  try {
     $result = civicrm_api3('ActivityType', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -86,23 +91,23 @@ function activity_type_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testActivityTypeGet"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ActivityTypeTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testActivityTypeGet"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ActivityTypeTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Address/AddressLike.ex.php b/civicrm/api/v3/examples/Address/AddressLike.ex.php
index 6f36acfeb3..47dc4b85b0 100644
--- a/civicrm/api/v3/examples/Address/AddressLike.ex.php
+++ b/civicrm/api/v3/examples/Address/AddressLike.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Address.get API.
  *
@@ -13,9 +18,10 @@ function address_get_example() {
       'LIKE' => '%mb%',
     ],
     'sequential' => 1,
+    'return' => 'street_address',
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Address', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -46,21 +52,11 @@ function address_get_expectedresult() {
     'is_error' => 0,
     'version' => 3,
     'count' => 1,
-    'id' => 1,
+    'id' => 2,
     'values' => [
       '0' => [
-        'id' => '1',
-        'contact_id' => '4',
-        'location_type_id' => '33',
-        'is_primary' => '1',
-        'is_billing' => 0,
+        'id' => '2',
         'street_address' => 'Ambachtstraat 23',
-        'street_number' => '23',
-        'street_name' => 'Ambachtstraat',
-        'city' => 'Brummen',
-        'postal_code' => '6971 BN',
-        'country_id' => '1152',
-        'manual_geo_code' => 0,
       ],
     ],
   ];
@@ -69,23 +65,23 @@ function address_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGetAddressLikeSuccess"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/AddressTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGetAddressLikeSuccess"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/AddressTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Address/AddressParse.ex.php b/civicrm/api/v3/examples/Address/AddressParse.ex.php
index 264e7684bf..6bac470ffc 100644
--- a/civicrm/api/v3/examples/Address/AddressParse.ex.php
+++ b/civicrm/api/v3/examples/Address/AddressParse.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Address.create API.
  *
@@ -12,10 +17,10 @@ function address_create_example() {
     'street_parsing' => 1,
     'street_address' => '54A Excelsior Ave. Apt 1C',
     'location_type_id' => 8,
-    'contact_id' => 4,
+    'contact_id' => 3,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Address', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -46,11 +51,11 @@ function address_create_expectedresult() {
     'is_error' => 0,
     'version' => 3,
     'count' => 1,
-    'id' => 1,
+    'id' => 2,
     'values' => [
-      '1' => [
-        'id' => '1',
-        'contact_id' => '4',
+      '2' => [
+        'id' => '2',
+        'contact_id' => '3',
         'location_type_id' => '8',
         'is_primary' => '1',
         'is_billing' => 0,
@@ -68,23 +73,23 @@ function address_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testCreateAddressParsing"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/AddressTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testCreateAddressParsing"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/AddressTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Address/AddressSort.ex.php b/civicrm/api/v3/examples/Address/AddressSort.ex.php
index 7c4937ba12..bde3f3d8af 100644
--- a/civicrm/api/v3/examples/Address/AddressSort.ex.php
+++ b/civicrm/api/v3/examples/Address/AddressSort.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Address.get API.
  *
@@ -14,9 +19,10 @@ function address_get_example() {
       'limit' => 2,
     ],
     'sequential' => 1,
+    'return' => 'street_address',
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Address', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -49,32 +55,12 @@ function address_get_expectedresult() {
     'count' => 2,
     'values' => [
       '0' => [
-        'id' => '2',
-        'contact_id' => '4',
-        'location_type_id' => '31',
-        'is_primary' => '1',
-        'is_billing' => 0,
+        'id' => '3',
         'street_address' => 'yzy',
-        'street_number' => '23',
-        'street_name' => 'Ambachtstraat',
-        'city' => 'Brummen',
-        'postal_code' => '6971 BN',
-        'country_id' => '1152',
-        'manual_geo_code' => 0,
       ],
       '1' => [
-        'id' => '1',
-        'contact_id' => '4',
-        'location_type_id' => '31',
-        'is_primary' => 0,
-        'is_billing' => 0,
+        'id' => '2',
         'street_address' => 'Ambachtstraat 23',
-        'street_number' => '23',
-        'street_name' => 'Ambachtstraat',
-        'city' => 'Brummen',
-        'postal_code' => '6971 BN',
-        'country_id' => '1152',
-        'manual_geo_code' => 0,
       ],
     ],
   ];
@@ -83,23 +69,23 @@ function address_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGetAddressSort"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/AddressTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGetAddressSort"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/AddressTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Address/Create.ex.php b/civicrm/api/v3/examples/Address/Create.ex.php
index 870a0208e4..d3bacbe11a 100644
--- a/civicrm/api/v3/examples/Address/Create.ex.php
+++ b/civicrm/api/v3/examples/Address/Create.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Address.create API.
  *
@@ -7,7 +12,7 @@
  */
 function address_create_example() {
   $params = [
-    'contact_id' => 4,
+    'contact_id' => 3,
     'street_name' => 'Ambachtstraat',
     'street_number' => '23',
     'street_address' => 'Ambachtstraat 23',
@@ -17,7 +22,7 @@ function address_create_example() {
     'is_primary' => 1,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Address', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -48,11 +53,11 @@ function address_create_expectedresult() {
     'is_error' => 0,
     'version' => 3,
     'count' => 1,
-    'id' => 1,
+    'id' => 2,
     'values' => [
-      '1' => [
-        'id' => '1',
-        'contact_id' => '4',
+      '2' => [
+        'id' => '2',
+        'contact_id' => '3',
         'location_type_id' => '1',
         'is_primary' => '1',
         'is_billing' => 0,
@@ -71,23 +76,23 @@ function address_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testCreateAddressDefaultLocation"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/AddressTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testCreateAddressDefaultLocation"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/AddressTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Address/Delete.ex.php b/civicrm/api/v3/examples/Address/Delete.ex.php
index ba8524486c..e7e060a02e 100644
--- a/civicrm/api/v3/examples/Address/Delete.ex.php
+++ b/civicrm/api/v3/examples/Address/Delete.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Address.delete API.
  *
@@ -7,10 +12,10 @@
  */
 function address_delete_example() {
   $params = [
-    'id' => 1,
+    'id' => 2,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Address', 'delete', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -48,23 +53,23 @@ function address_delete_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testDeleteAddress"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/AddressTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testDeleteAddress"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/AddressTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Address/Get.ex.php b/civicrm/api/v3/examples/Address/Get.ex.php
index 92f17e96cb..d58398aeea 100644
--- a/civicrm/api/v3/examples/Address/Get.ex.php
+++ b/civicrm/api/v3/examples/Address/Get.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Address.get API.
  *
@@ -7,11 +12,16 @@
  */
 function address_get_example() {
   $params = [
-    'contact_id' => 4,
+    'contact_id' => 3,
     'street_name' => 'Ambachtstraat',
+    'return' => [
+      '0' => 'location_type_id',
+      '1' => 'is_primary',
+      '2' => 'street_address',
+    ],
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Address', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -42,21 +52,13 @@ function address_get_expectedresult() {
     'is_error' => 0,
     'version' => 3,
     'count' => 1,
-    'id' => 1,
+    'id' => 2,
     'values' => [
-      '1' => [
-        'id' => '1',
-        'contact_id' => '4',
+      '2' => [
+        'id' => '2',
         'location_type_id' => '27',
         'is_primary' => '1',
-        'is_billing' => 0,
         'street_address' => 'Ambachtstraat 23',
-        'street_number' => '23',
-        'street_name' => 'Ambachtstraat',
-        'city' => 'Brummen',
-        'postal_code' => '6971 BN',
-        'country_id' => '1152',
-        'manual_geo_code' => 0,
       ],
     ],
   ];
@@ -65,23 +67,23 @@ function address_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGetAddress"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/AddressTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGetAddress"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/AddressTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Address/GetOptions.ex.php b/civicrm/api/v3/examples/Address/GetOptions.ex.php
index db58c9f81b..ae7090d658 100644
--- a/civicrm/api/v3/examples/Address/GetOptions.ex.php
+++ b/civicrm/api/v3/examples/Address/GetOptions.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Address.getoptions API.
  *
@@ -10,7 +15,7 @@ function address_getoptions_example() {
     'field' => 'location_type_id',
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Address', 'getoptions', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -54,23 +59,23 @@ function address_getoptions_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testLocationTypeGet"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ConstantTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testLocationTypeGet"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ConstantTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Batch/Create.ex.php b/civicrm/api/v3/examples/Batch/Create.ex.php
index 978a965ab8..08457b0178 100644
--- a/civicrm/api/v3/examples/Batch/Create.ex.php
+++ b/civicrm/api/v3/examples/Batch/Create.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Batch.create API.
  *
@@ -12,10 +17,10 @@ function batch_create_example() {
     'description' => 'This is description for New Batch 04',
     'total' => '400.44',
     'item_count' => 4,
-    'id' => 3,
+    'id' => 5,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Batch', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -46,10 +51,10 @@ function batch_create_expectedresult() {
     'is_error' => 0,
     'version' => 3,
     'count' => 1,
-    'id' => 3,
+    'id' => 5,
     'values' => [
-      '3' => [
-        'id' => '3',
+      '5' => [
+        'id' => '5',
         'name' => 'New_Batch_04',
         'title' => 'New Batch 04',
         'description' => 'This is description for New Batch 04',
@@ -74,23 +79,23 @@ function batch_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testUpdate"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/BatchTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testUpdate"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/BatchTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Batch/Delete.ex.php b/civicrm/api/v3/examples/Batch/Delete.ex.php
index 0180f59c03..871e65756c 100644
--- a/civicrm/api/v3/examples/Batch/Delete.ex.php
+++ b/civicrm/api/v3/examples/Batch/Delete.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Batch.delete API.
  *
@@ -7,10 +12,10 @@
  */
 function batch_delete_example() {
   $params = [
-    'id' => 5,
+    'id' => 8,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Batch', 'delete', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -48,23 +53,23 @@ function batch_delete_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testBatchDeleteCorrectSyntax"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/BatchTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testBatchDeleteCorrectSyntax"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/BatchTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Batch/Get.ex.php b/civicrm/api/v3/examples/Batch/Get.ex.php
index 84e73fed73..04a0f42c50 100644
--- a/civicrm/api/v3/examples/Batch/Get.ex.php
+++ b/civicrm/api/v3/examples/Batch/Get.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Batch.get API.
  *
@@ -10,7 +15,7 @@ function batch_get_example() {
     'id' => 1,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Batch', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -47,6 +52,7 @@ function batch_get_expectedresult() {
         'id' => '1',
         'name' => 'Batch_433397',
         'title' => 'Batch_433397',
+        'created_date' => '2013-07-28 08:49:19',
         'modified_date' => '2012-11-14 16:02:35',
         'status_id' => '1',
       ],
@@ -57,23 +63,23 @@ function batch_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGet"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/BatchTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGet"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/BatchTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Batch/Update.ex.php b/civicrm/api/v3/examples/Batch/Update.ex.php
index 5eed12da7e..0ee073de8d 100644
--- a/civicrm/api/v3/examples/Batch/Update.ex.php
+++ b/civicrm/api/v3/examples/Batch/Update.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example of using batch update API.
  *
@@ -15,7 +20,7 @@ function batch_update_example() {
     'id' => 3,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('batch', 'update', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -77,7 +82,7 @@ function batch_update_expectedresult() {
 * The test that created it is called
 * testUpdate
 * and can be found in
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/BatchTest.php
+* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/BatchTest.php.
 *
 * You can see the outcome of the API tests at
 * https://test.civicrm.org/job/CiviCRM-master-git/
diff --git a/civicrm/api/v3/examples/Campaign/Create.ex.php b/civicrm/api/v3/examples/Campaign/Create.ex.php
index 342f8c3c64..cf4ab0e714 100644
--- a/civicrm/api/v3/examples/Campaign/Create.ex.php
+++ b/civicrm/api/v3/examples/Campaign/Create.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Campaign.create API.
  *
@@ -15,7 +20,7 @@ function campaign_create_example() {
     'created_date' => 'first sat of July 2008',
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Campaign', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -74,23 +79,23 @@ function campaign_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testCreateCampaign"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/CampaignTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testCreateCampaign"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/CampaignTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Campaign/Delete.ex.php b/civicrm/api/v3/examples/Campaign/Delete.ex.php
index 4acc3c37bb..81a793590a 100644
--- a/civicrm/api/v3/examples/Campaign/Delete.ex.php
+++ b/civicrm/api/v3/examples/Campaign/Delete.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Campaign.delete API.
  *
@@ -7,10 +12,10 @@
  */
 function campaign_delete_example() {
   $params = [
-    'id' => 3,
+    'id' => 5,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Campaign', 'delete', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -48,23 +53,23 @@ function campaign_delete_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testDeleteCampaign"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/CampaignTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testDeleteCampaign"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/CampaignTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Campaign/Get.ex.php b/civicrm/api/v3/examples/Campaign/Get.ex.php
index 0938d0f7cb..317e91a14f 100644
--- a/civicrm/api/v3/examples/Campaign/Get.ex.php
+++ b/civicrm/api/v3/examples/Campaign/Get.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Campaign.get API.
  *
@@ -12,7 +17,7 @@ function campaign_get_example() {
     'created_date' => 'first sat of July 2008',
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Campaign', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -43,10 +48,10 @@ function campaign_get_expectedresult() {
     'is_error' => 0,
     'version' => 3,
     'count' => 1,
-    'id' => 2,
+    'id' => 3,
     'values' => [
-      '2' => [
-        'id' => '2',
+      '3' => [
+        'id' => '3',
         'name' => 'campaign_title',
         'title' => 'campaign title',
         'description' => 'Call people, ask for money',
@@ -60,23 +65,23 @@ function campaign_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGetCampaign"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/CampaignTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGetCampaign"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/CampaignTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Case/Create.ex.php b/civicrm/api/v3/examples/Case/Create.ex.php
index abea3d5eca..b03342315c 100644
--- a/civicrm/api/v3/examples/Case/Create.ex.php
+++ b/civicrm/api/v3/examples/Case/Create.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Case.create API.
  *
@@ -13,7 +18,7 @@ function case_create_example() {
     'custom_1' => 'custom string',
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Case', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -65,23 +70,23 @@ function case_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testCaseCreateCustom"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/CaseTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testCaseCreateCustom"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/CaseTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/CaseContact/Create.ex.php b/civicrm/api/v3/examples/CaseContact/Create.ex.php
index 9491e8d159..495da74a84 100644
--- a/civicrm/api/v3/examples/CaseContact/Create.ex.php
+++ b/civicrm/api/v3/examples/CaseContact/Create.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the CaseContact.create API.
  *
@@ -11,7 +16,7 @@ function case_contact_create_example() {
     'contact_id' => 20,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('CaseContact', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -56,23 +61,23 @@ function case_contact_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testCaseContactCreate"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/CaseContactTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testCaseContactCreate"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/CaseContactTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/CaseContact/Get.ex.php b/civicrm/api/v3/examples/CaseContact/Get.ex.php
index 75619449d6..0c8e042d3a 100644
--- a/civicrm/api/v3/examples/CaseContact/Get.ex.php
+++ b/civicrm/api/v3/examples/CaseContact/Get.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the CaseContact.get API.
  *
@@ -10,7 +15,7 @@ function case_contact_get_example() {
     'contact_id' => 19,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('CaseContact', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -55,23 +60,23 @@ function case_contact_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testCaseContactGet"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/CaseContactTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testCaseContactGet"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/CaseContactTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Constant/Get.ex.php b/civicrm/api/v3/examples/Constant/Get.ex.php
index 24ee51a80f..67050d8770 100644
--- a/civicrm/api/v3/examples/Constant/Get.ex.php
+++ b/civicrm/api/v3/examples/Constant/Get.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Constant.get API.
  *
@@ -13,7 +18,7 @@ function constant_get_example() {
     'name' => 'activityType',
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Constant', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -88,23 +93,23 @@ function constant_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testActivityType"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ConstantTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testActivityType"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ConstantTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Contact/APIChainedArray.ex.php b/civicrm/api/v3/examples/Contact/APIChainedArray.ex.php
index dbb7bc713a..94a3e62c0c 100644
--- a/civicrm/api/v3/examples/Contact/APIChainedArray.ex.php
+++ b/civicrm/api/v3/examples/Contact/APIChainedArray.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Contact.get API.
  *
@@ -19,7 +24,7 @@ function contact_get_example() {
     'api.Note.get' => 1,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Contact', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -104,7 +109,7 @@ function contact_get_expectedresult() {
         'phone_id' => '',
         'phone_type_id' => '',
         'phone' => '',
-        'email_id' => '1',
+        'email_id' => '3',
         'email' => 'man3@yahoo.com',
         'on_hold' => 0,
         'im_id' => '',
@@ -130,7 +135,7 @@ function contact_get_expectedresult() {
             '0' => [
               'id' => '1',
               'contact_id' => '3',
-              'url' => 'http://civicrm.org',
+              'url' => 'https://civicrm.org',
             ],
           ],
         ],
@@ -169,6 +174,7 @@ function contact_get_expectedresult() {
               'is_test' => 0,
               'is_pay_later' => 0,
               'contribution_check_number' => '',
+              'is_template' => 0,
               'financial_account_id' => '1',
               'accounting_code' => '4200',
               'campaign_id' => '',
@@ -208,23 +214,23 @@ function contact_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGetIndividualWithChainedArrays"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ContactTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGetIndividualWithChainedArrays"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ContactTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Contact/APIChainedArrayFormats.ex.php b/civicrm/api/v3/examples/Contact/APIChainedArrayFormats.ex.php
index aed4d81f0a..9590b7aa43 100644
--- a/civicrm/api/v3/examples/Contact/APIChainedArrayFormats.ex.php
+++ b/civicrm/api/v3/examples/Contact/APIChainedArrayFormats.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Contact.get API.
  *
@@ -20,7 +25,7 @@ function contact_get_example() {
     'api.Membership.getCount' => [],
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Contact', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -105,7 +110,7 @@ function contact_get_expectedresult() {
         'phone_id' => '',
         'phone_type_id' => '',
         'phone' => '',
-        'email_id' => '1',
+        'email_id' => '3',
         'email' => 'man3@yahoo.com',
         'on_hold' => 0,
         'im_id' => '',
@@ -122,7 +127,7 @@ function contact_get_expectedresult() {
         'state_province' => '',
         'country' => '',
         'id' => '3',
-        'api.website.getValue' => 'http://civicrm.org',
+        'api.website.getValue' => 'https://civicrm.org',
         'api.Contribution.getCount' => 2,
         'api.CustomValue.get' => [
           'is_error' => 0,
@@ -136,7 +141,7 @@ function contact_get_expectedresult() {
           'count' => 0,
           'values' => [],
         ],
-        'api.Membership.getCount' => 1,
+        'api.Membership.getCount' => 0,
       ],
     ],
   ];
@@ -145,23 +150,23 @@ function contact_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGetIndividualWithChainedArraysFormats"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ContactTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGetIndividualWithChainedArraysFormats"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ContactTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Contact/APIChainedArrayMultipleCustom.ex.php b/civicrm/api/v3/examples/Contact/APIChainedArrayMultipleCustom.ex.php
index 75640d5586..4bfd9fb6cf 100644
--- a/civicrm/api/v3/examples/Contact/APIChainedArrayMultipleCustom.ex.php
+++ b/civicrm/api/v3/examples/Contact/APIChainedArrayMultipleCustom.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Contact.get API.
  *
@@ -17,7 +22,7 @@ function contact_get_example() {
     'api.CustomValue.get' => 1,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Contact', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -102,7 +107,7 @@ function contact_get_expectedresult() {
         'phone_id' => '',
         'phone_type_id' => '',
         'phone' => '',
-        'email_id' => '1',
+        'email_id' => '3',
         'email' => 'man3@yahoo.com',
         'on_hold' => 0,
         'im_id' => '',
@@ -119,7 +124,7 @@ function contact_get_expectedresult() {
         'state_province' => '',
         'country' => '',
         'id' => '3',
-        'api.website.getValue' => 'http://civicrm.org',
+        'api.website.getValue' => 'https://civicrm.org',
         'api.Contribution.getCount' => 2,
         'api.CustomValue.get' => [
           'is_error' => 0,
@@ -187,23 +192,23 @@ function contact_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGetIndividualWithChainedArraysAndMultipleCustom"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ContactTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGetIndividualWithChainedArraysAndMultipleCustom"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ContactTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Contact/APIChainedArrayValuesFromSiblingFunction.ex.php b/civicrm/api/v3/examples/Contact/APIChainedArrayValuesFromSiblingFunction.ex.php
index 9570d244cd..9ba497b712 100644
--- a/civicrm/api/v3/examples/Contact/APIChainedArrayValuesFromSiblingFunction.ex.php
+++ b/civicrm/api/v3/examples/Contact/APIChainedArrayValuesFromSiblingFunction.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Contact.create API.
  *
@@ -22,7 +27,7 @@ function contact_create_example() {
     ],
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Contact', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -120,23 +125,23 @@ function contact_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testChainingValuesCreate"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ContactTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testChainingValuesCreate"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ContactTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Contact/ChainTwoWebsites.ex.php b/civicrm/api/v3/examples/Contact/ChainTwoWebsites.ex.php
index 3526a4d009..a4e5efa7ed 100644
--- a/civicrm/api/v3/examples/Contact/ChainTwoWebsites.ex.php
+++ b/civicrm/api/v3/examples/Contact/ChainTwoWebsites.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Contact.create API.
  *
@@ -28,14 +33,14 @@ function contact_create_example() {
       'skipCleanMoney' => 1,
     ],
     'api.website.create' => [
-      'url' => 'http://civicrm.org',
+      'url' => 'https://civicrm.org',
     ],
     'api.website.create.2' => [
-      'url' => 'http://chained.org',
+      'url' => 'https://chained.org',
     ],
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Contact', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -153,8 +158,9 @@ function contact_create_expectedresult() {
               'check_number' => '',
               'campaign_id' => '',
               'creditnote_id' => '',
-              'tax_amount' => '',
+              'tax_amount' => 0,
               'revenue_recognition_date' => '',
+              'is_template' => '',
               'contribution_type_id' => '1',
             ],
           ],
@@ -168,7 +174,7 @@ function contact_create_expectedresult() {
             '0' => [
               'id' => '1',
               'contact_id' => '3',
-              'url' => 'http://civicrm.org',
+              'url' => 'https://civicrm.org',
               'website_type_id' => '',
             ],
           ],
@@ -182,7 +188,7 @@ function contact_create_expectedresult() {
             '0' => [
               'id' => '2',
               'contact_id' => '3',
-              'url' => 'http://chained.org',
+              'url' => 'https://chained.org',
               'website_type_id' => '',
             ],
           ],
@@ -195,23 +201,23 @@ function contact_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testCreateIndividualWithContributionDottedSyntax"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ContactTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testCreateIndividualWithContributionDottedSyntax"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ContactTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Contact/ChainTwoWebsitesSyntax2.ex.php b/civicrm/api/v3/examples/Contact/ChainTwoWebsitesSyntax2.ex.php
index 9d587c36b0..3a1596a8fe 100644
--- a/civicrm/api/v3/examples/Contact/ChainTwoWebsitesSyntax2.ex.php
+++ b/civicrm/api/v3/examples/Contact/ChainTwoWebsitesSyntax2.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Contact.create API.
  *
@@ -29,16 +34,16 @@ function contact_create_example() {
     ],
     'api.website.create' => [
       '0' => [
-        'url' => 'http://civicrm.org',
+        'url' => 'https://civicrm.org',
       ],
       '1' => [
-        'url' => 'http://chained.org',
+        'url' => 'https://chained.org',
         'website_type_id' => 2,
       ],
     ],
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Contact', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -156,8 +161,9 @@ function contact_create_expectedresult() {
               'check_number' => '',
               'campaign_id' => '',
               'creditnote_id' => '',
-              'tax_amount' => '',
+              'tax_amount' => 0,
               'revenue_recognition_date' => '',
+              'is_template' => '',
               'contribution_type_id' => '1',
             ],
           ],
@@ -172,7 +178,7 @@ function contact_create_expectedresult() {
               '0' => [
                 'id' => '1',
                 'contact_id' => '3',
-                'url' => 'http://civicrm.org',
+                'url' => 'https://civicrm.org',
                 'website_type_id' => '',
               ],
             ],
@@ -186,7 +192,7 @@ function contact_create_expectedresult() {
               '0' => [
                 'id' => '2',
                 'contact_id' => '3',
-                'url' => 'http://chained.org',
+                'url' => 'https://chained.org',
                 'website_type_id' => '2',
               ],
             ],
@@ -200,23 +206,23 @@ function contact_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testCreateIndividualWithContributionChainedArrays"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ContactTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testCreateIndividualWithContributionChainedArrays"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ContactTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Contact/ContactIDOfLoggedInUserContactAPI.ex.php b/civicrm/api/v3/examples/Contact/ContactIDOfLoggedInUserContactAPI.ex.php
index a3f0d28d45..e0eeec276d 100644
--- a/civicrm/api/v3/examples/Contact/ContactIDOfLoggedInUserContactAPI.ex.php
+++ b/civicrm/api/v3/examples/Contact/ContactIDOfLoggedInUserContactAPI.ex.php
@@ -1,8 +1,13 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Contact.get API.
  *
- * Get contact id of the current logged in user
+ * Get contact id of the current logged in user.
  *
  * @return array
  *   API result array
@@ -12,7 +17,7 @@ function contact_get_example() {
     'id' => 'user_contact_id',
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Contact', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -49,8 +54,8 @@ function contact_get_expectedresult() {
         'contact_id' => '3',
         'contact_type' => 'Individual',
         'contact_sub_type' => '',
-        'sort_name' => 'User 202290815, Logged In',
-        'display_name' => 'Mr. Logged In User 202290815 II',
+        'sort_name' => 'User 707727958, Logged In',
+        'display_name' => 'Mr. Logged In User 707727958 II',
         'do_not_email' => 0,
         'do_not_phone' => 0,
         'do_not_mail' => 0,
@@ -67,7 +72,7 @@ function contact_get_expectedresult() {
         'preferred_mail_format' => 'Both',
         'first_name' => 'Logged In',
         'middle_name' => 'J.',
-        'last_name' => 'User 202290815',
+        'last_name' => 'User 707727958',
         'prefix_id' => '3',
         'suffix_id' => '3',
         'formal_title' => '',
@@ -97,7 +102,7 @@ function contact_get_expectedresult() {
         'phone_id' => '',
         'phone_type_id' => '',
         'phone' => '',
-        'email_id' => '1',
+        'email_id' => '3',
         'email' => 'anthony_anderson@civicrm.org',
         'on_hold' => 0,
         'im_id' => '',
@@ -122,23 +127,23 @@ function contact_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testLoggedInUserAPISupportToken"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ContactTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testLoggedInUserAPISupportToken"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ContactTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Contact/Create.ex.php b/civicrm/api/v3/examples/Contact/Create.ex.php
index 73ebfaa96f..cbf2a40d2c 100644
--- a/civicrm/api/v3/examples/Contact/Create.ex.php
+++ b/civicrm/api/v3/examples/Contact/Create.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Contact.create API.
  *
@@ -15,7 +20,7 @@ function contact_create_example() {
     'custom_1' => 'custom string',
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Contact', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -106,23 +111,23 @@ function contact_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testCreateWithCustom"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ContactTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testCreateWithCustom"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ContactTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Contact/CreateParticipantPayment.ex.php b/civicrm/api/v3/examples/Contact/CreateParticipantPayment.ex.php
index 11aa8c872c..ba7bc66314 100644
--- a/civicrm/api/v3/examples/Contact/CreateParticipantPayment.ex.php
+++ b/civicrm/api/v3/examples/Contact/CreateParticipantPayment.ex.php
@@ -1,9 +1,14 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Contact.create API.
  *
  * Single function to create contact with partipation & contribution.
- * Note that in the case of 'contribution' the 'create' is implied (api.contribution.create)
+ * Note that in the case of 'contribution' the 'create' is implied (api.contribution.create).
  *
  * @return array
  *   API result array
@@ -13,7 +18,7 @@ function contact_create_example() {
     'contact_type' => 'Individual',
     'display_name' => 'dlobo',
     'api.participant' => [
-      'event_id' => 43,
+      'event_id' => 41,
       'status_id' => 1,
       'role_id' => 1,
       'format.only_id' => 1,
@@ -29,7 +34,7 @@ function contact_create_example() {
     ],
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Contact', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -60,10 +65,10 @@ function contact_create_expectedresult() {
     'is_error' => 0,
     'version' => 3,
     'count' => 1,
-    'id' => 5,
+    'id' => 7,
     'values' => [
-      '5' => [
-        'id' => '5',
+      '7' => [
+        'id' => '7',
         'contact_type' => 'Individual',
         'contact_sub_type' => '',
         'do_not_email' => 0,
@@ -135,23 +140,23 @@ function contact_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testCreateParticipantWithPayment"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ParticipantTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testCreateParticipantWithPayment"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ParticipantTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Contact/CustomFieldGet.ex.php b/civicrm/api/v3/examples/Contact/CustomFieldGet.ex.php
index d2dc04746f..2f76fb669f 100644
--- a/civicrm/api/v3/examples/Contact/CustomFieldGet.ex.php
+++ b/civicrm/api/v3/examples/Contact/CustomFieldGet.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Contact.get API.
  *
@@ -13,7 +18,7 @@ function contact_get_example() {
     'id' => 3,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Contact', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -59,23 +64,23 @@ function contact_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGetWithCustom"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ContactTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGetWithCustom"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ContactTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Contact/CustomFieldGetReturnSyntaxVariation.ex.php b/civicrm/api/v3/examples/Contact/CustomFieldGetReturnSyntaxVariation.ex.php
index 0c4d4840db..6bb4a9bd8f 100644
--- a/civicrm/api/v3/examples/Contact/CustomFieldGetReturnSyntaxVariation.ex.php
+++ b/civicrm/api/v3/examples/Contact/CustomFieldGetReturnSyntaxVariation.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Contact.get API.
  *
@@ -13,7 +18,7 @@ function contact_get_example() {
     'id' => 3,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Contact', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -59,23 +64,23 @@ function contact_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGetWithCustomReturnSyntax"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ContactTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGetWithCustomReturnSyntax"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ContactTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Contact/Delete.ex.php b/civicrm/api/v3/examples/Contact/Delete.ex.php
index ab8d6a6809..5573cda036 100644
--- a/civicrm/api/v3/examples/Contact/Delete.ex.php
+++ b/civicrm/api/v3/examples/Contact/Delete.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Contact.delete API.
  *
@@ -10,7 +15,7 @@ function contact_delete_example() {
     'id' => 3,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Contact', 'delete', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -48,23 +53,23 @@ function contact_delete_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testContactDelete"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ContactTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testContactDelete"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ContactTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Contact/FormatIsSuccess_Fail.ex.php b/civicrm/api/v3/examples/Contact/FormatIsSuccess_Fail.ex.php
index 4bff37e48d..addf2a22a9 100644
--- a/civicrm/api/v3/examples/Contact/FormatIsSuccess_Fail.ex.php
+++ b/civicrm/api/v3/examples/Contact/FormatIsSuccess_Fail.ex.php
@@ -1,9 +1,14 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Contact.create API.
  *
  * This demonstrates use of the 'format.is_success' param.
- * This param causes only the success or otherwise of the function to be returned as BOOLEAN
+ * This param causes only the success or otherwise of the function to be returned as BOOLEAN.
  *
  * @return array
  *   API result array
@@ -14,7 +19,7 @@ function contact_create_example() {
     'format.is_success' => 1,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Contact', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -47,23 +52,23 @@ function contact_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testContactCreateFormatIsSuccessFalse"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ContactTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testContactCreateFormatIsSuccessFalse"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ContactTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Contact/FormatIsSuccess_True.ex.php b/civicrm/api/v3/examples/Contact/FormatIsSuccess_True.ex.php
index ca3a493b0f..3672c1c116 100644
--- a/civicrm/api/v3/examples/Contact/FormatIsSuccess_True.ex.php
+++ b/civicrm/api/v3/examples/Contact/FormatIsSuccess_True.ex.php
@@ -1,9 +1,14 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Contact.get API.
  *
  * This demonstrates use of the 'format.is_success' param.
- * This param causes only the success or otherwise of the function to be returned as BOOLEAN
+ * This param causes only the success or otherwise of the function to be returned as BOOLEAN.
  *
  * @return array
  *   API result array
@@ -14,7 +19,7 @@ function contact_get_example() {
     'format.is_success' => 1,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Contact', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -47,23 +52,23 @@ function contact_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testContactGetFormatIsSuccessTrue"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ContactTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testContactGetFormatIsSuccessTrue"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ContactTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Contact/FormatOnlyID.ex.php b/civicrm/api/v3/examples/Contact/FormatOnlyID.ex.php
index 2aad1376a6..9ed03e5d3f 100644
--- a/civicrm/api/v3/examples/Contact/FormatOnlyID.ex.php
+++ b/civicrm/api/v3/examples/Contact/FormatOnlyID.ex.php
@@ -1,10 +1,15 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Contact.get API.
  *
  * This demonstrates use of the 'format.id_only' param.
  * This param causes the id of the only entity to be returned as an integer.
- * It will be ignored if there is not exactly 1 result
+ * It will be ignored if there is not exactly 1 result.
  *
  * @return array
  *   API result array
@@ -15,7 +20,7 @@ function contact_get_example() {
     'format.only_id' => 1,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Contact', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -48,23 +53,23 @@ function contact_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testContactGetFormatIDOnly"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ContactTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testContactGetFormatIDOnly"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ContactTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Contact/FormatSingleValue.ex.php b/civicrm/api/v3/examples/Contact/FormatSingleValue.ex.php
index 926da812be..59a30148f6 100644
--- a/civicrm/api/v3/examples/Contact/FormatSingleValue.ex.php
+++ b/civicrm/api/v3/examples/Contact/FormatSingleValue.ex.php
@@ -1,10 +1,15 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Contact.getvalue API.
  *
  * This demonstrates use of the 'format.single_value' param.
  * This param causes only a single value of the only entity to be returned as an string.
- * It will be ignored if there is not exactly 1 result
+ * It will be ignored if there is not exactly 1 result.
  *
  * @return array
  *   API result array
@@ -15,7 +20,7 @@ function contact_getvalue_example() {
     'return' => 'display_name',
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Contact', 'getvalue', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -48,23 +53,23 @@ function contact_getvalue_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testContactGetFormatSingleValue"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ContactTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testContactGetFormatSingleValue"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ContactTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Contact/Get.ex.php b/civicrm/api/v3/examples/Contact/Get.ex.php
index 86b47f251b..9e52194dcc 100644
--- a/civicrm/api/v3/examples/Contact/Get.ex.php
+++ b/civicrm/api/v3/examples/Contact/Get.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Contact.get API.
  *
@@ -10,7 +15,7 @@ function contact_get_example() {
     'email' => 'man2@yahoo.com',
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Contact', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -95,7 +100,7 @@ function contact_get_expectedresult() {
         'phone_id' => '',
         'phone_type_id' => '',
         'phone' => '',
-        'email_id' => '1',
+        'email_id' => '3',
         'email' => 'man2@yahoo.com',
         'on_hold' => 0,
         'im_id' => '',
@@ -120,23 +125,23 @@ function contact_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testContactGetEmail"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ContactTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testContactGetEmail"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ContactTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Contact/GetActions.ex.php b/civicrm/api/v3/examples/Contact/GetActions.ex.php
index 5d293b478f..13c028b40d 100644
--- a/civicrm/api/v3/examples/Contact/GetActions.ex.php
+++ b/civicrm/api/v3/examples/Contact/GetActions.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Contact.getactions API.
  *
@@ -10,7 +15,7 @@
 function contact_getactions_example() {
   $params = [];
 
-  try{
+  try {
     $result = civicrm_api3('Contact', 'getactions', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -83,23 +88,23 @@ function contact_getactions_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGetActions"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ContactTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGetActions"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ContactTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Contact/GetCountContact.ex.php b/civicrm/api/v3/examples/Contact/GetCountContact.ex.php
index da0cff83cc..fcb9fd35c1 100644
--- a/civicrm/api/v3/examples/Contact/GetCountContact.ex.php
+++ b/civicrm/api/v3/examples/Contact/GetCountContact.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Contact.getcount API.
  *
@@ -13,7 +18,7 @@ function contact_getcount_example() {
     'id' => 3,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Contact', 'getcount', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -46,23 +51,23 @@ function contact_getcount_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testContactGetFormatCountOnly"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ContactTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testContactGetFormatCountOnly"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ContactTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Contact/GetFieldsOptions.ex.php b/civicrm/api/v3/examples/Contact/GetFieldsOptions.ex.php
index 392bbe1d38..1177b68ca4 100644
--- a/civicrm/api/v3/examples/Contact/GetFieldsOptions.ex.php
+++ b/civicrm/api/v3/examples/Contact/GetFieldsOptions.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Contact.getfields API.
  *
@@ -15,7 +20,7 @@ function contact_getfields_example() {
     'action' => 'create',
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Contact', 'getfields', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -61,6 +66,13 @@ function contact_getfields_expectedresult() {
         'entity' => 'Contact',
         'bao' => 'CRM_Contact_BAO_Contact',
         'localizable' => 0,
+        'html' => [
+          'type' => 'Number',
+          'size' => 6,
+          'maxlength' => 14,
+        ],
+        'readonly' => TRUE,
+        'add' => '1.1',
         'is_core_field' => TRUE,
         'api.aliases' => [
           '0' => 'contact_id',
@@ -75,6 +87,7 @@ function contact_getfields_expectedresult() {
         'size' => 30,
         'where' => 'civicrm_contact.contact_type',
         'export' => TRUE,
+        'contactType' => '',
         'table_name' => 'civicrm_contact',
         'entity' => 'Contact',
         'bao' => 'CRM_Contact_BAO_Contact',
@@ -90,6 +103,8 @@ function contact_getfields_expectedresult() {
           'labelColumn' => 'label',
           'condition' => 'parent_id IS NULL',
         ],
+        'readonly' => TRUE,
+        'add' => '1.1',
         'is_core_field' => TRUE,
         'api.required' => 1,
       ],
@@ -120,6 +135,7 @@ function contact_getfields_expectedresult() {
           'labelColumn' => 'label',
           'condition' => 'parent_id IS NOT NULL',
         ],
+        'add' => '1.5',
         'is_core_field' => TRUE,
       ],
       'do_not_email' => [
@@ -137,7 +153,9 @@ function contact_getfields_expectedresult() {
         'localizable' => 0,
         'html' => [
           'type' => 'CheckBox',
+          'label' => 'Do Not Email',
         ],
+        'add' => '1.1',
         'is_core_field' => TRUE,
       ],
       'do_not_phone' => [
@@ -155,7 +173,9 @@ function contact_getfields_expectedresult() {
         'localizable' => 0,
         'html' => [
           'type' => 'CheckBox',
+          'label' => 'Do Not Phone',
         ],
+        'add' => '1.1',
         'is_core_field' => TRUE,
       ],
       'do_not_mail' => [
@@ -173,7 +193,9 @@ function contact_getfields_expectedresult() {
         'localizable' => 0,
         'html' => [
           'type' => 'CheckBox',
+          'label' => 'Do Not Mail',
         ],
+        'add' => '1.1',
         'is_core_field' => TRUE,
       ],
       'do_not_sms' => [
@@ -191,7 +213,9 @@ function contact_getfields_expectedresult() {
         'localizable' => 0,
         'html' => [
           'type' => 'CheckBox',
+          'label' => 'Do Not Sms',
         ],
+        'add' => '3.0',
         'is_core_field' => TRUE,
       ],
       'do_not_trade' => [
@@ -209,7 +233,9 @@ function contact_getfields_expectedresult() {
         'localizable' => 0,
         'html' => [
           'type' => 'CheckBox',
+          'label' => 'Do Not Trade',
         ],
+        'add' => '1.1',
         'is_core_field' => TRUE,
       ],
       'is_opt_out' => [
@@ -227,7 +253,9 @@ function contact_getfields_expectedresult() {
         'localizable' => 0,
         'html' => [
           'type' => 'CheckBox',
+          'label' => 'Is Opt Out',
         ],
+        'add' => '1.1',
         'is_core_field' => TRUE,
       ],
       'legal_identifier' => [
@@ -248,9 +276,11 @@ function contact_getfields_expectedresult() {
         'localizable' => 0,
         'html' => [
           'type' => 'Text',
+          'label' => 'Legal Identifier',
           'maxlength' => 32,
           'size' => 20,
         ],
+        'add' => '1.1',
         'is_core_field' => TRUE,
       ],
       'external_identifier' => [
@@ -271,9 +301,11 @@ function contact_getfields_expectedresult() {
         'localizable' => 0,
         'html' => [
           'type' => 'Text',
+          'label' => 'External Identifier',
           'maxlength' => 64,
           'size' => 8,
         ],
+        'add' => '1.1',
         'is_core_field' => TRUE,
       ],
       'sort_name' => [
@@ -294,6 +326,8 @@ function contact_getfields_expectedresult() {
           'maxlength' => 128,
           'size' => 30,
         ],
+        'readonly' => TRUE,
+        'add' => '1.1',
         'is_core_field' => TRUE,
       ],
       'display_name' => [
@@ -314,6 +348,8 @@ function contact_getfields_expectedresult() {
           'maxlength' => 128,
           'size' => 30,
         ],
+        'readonly' => TRUE,
+        'add' => '1.1',
         'is_core_field' => TRUE,
       ],
       'nick_name' => [
@@ -337,6 +373,7 @@ function contact_getfields_expectedresult() {
           'maxlength' => 128,
           'size' => 30,
         ],
+        'add' => '1.1',
         'is_core_field' => TRUE,
       ],
       'legal_name' => [
@@ -350,15 +387,18 @@ function contact_getfields_expectedresult() {
         'where' => 'civicrm_contact.legal_name',
         'headerPattern' => '/^legal|(l(egal\\s)?name)$/i',
         'export' => TRUE,
+        'contactType' => 'Organization',
         'table_name' => 'civicrm_contact',
         'entity' => 'Contact',
         'bao' => 'CRM_Contact_BAO_Contact',
         'localizable' => 0,
         'html' => [
           'type' => 'Text',
+          'label' => 'Legal Name',
           'maxlength' => 128,
           'size' => 30,
         ],
+        'add' => '1.1',
         'is_core_field' => TRUE,
       ],
       'image_URL' => [
@@ -375,9 +415,11 @@ function contact_getfields_expectedresult() {
         'localizable' => 0,
         'html' => [
           'type' => 'File',
+          'label' => 'Image URL',
           'rows' => 2,
           'cols' => 80,
         ],
+        'add' => '1.1',
         'is_core_field' => TRUE,
       ],
       'preferred_communication_method' => [
@@ -406,6 +448,7 @@ function contact_getfields_expectedresult() {
           'optionGroupName' => 'preferred_communication_method',
           'optionEditPath' => 'civicrm/admin/options/preferred_communication_method',
         ],
+        'add' => '1.1',
         'is_core_field' => TRUE,
       ],
       'preferred_language' => [
@@ -433,6 +476,7 @@ function contact_getfields_expectedresult() {
           'keyColumn' => 'name',
           'optionEditPath' => 'civicrm/admin/options/languages',
         ],
+        'add' => '3.2',
         'is_core_field' => TRUE,
       ],
       'preferred_mail_format' => [
@@ -453,12 +497,14 @@ function contact_getfields_expectedresult() {
         'localizable' => 0,
         'html' => [
           'type' => 'Select',
+          'label' => 'Preferred Mail Format',
           'maxlength' => 8,
           'size' => 8,
         ],
         'pseudoconstant' => [
           'callback' => 'CRM_Core_SelectValues::pmf',
         ],
+        'add' => '1.1',
         'is_core_field' => TRUE,
       ],
       'hash' => [
@@ -474,6 +520,8 @@ function contact_getfields_expectedresult() {
         'entity' => 'Contact',
         'bao' => 'CRM_Contact_BAO_Contact',
         'localizable' => 0,
+        'readonly' => TRUE,
+        'add' => '1.1',
         'is_core_field' => TRUE,
       ],
       'api_key' => [
@@ -494,6 +542,13 @@ function contact_getfields_expectedresult() {
         'entity' => 'Contact',
         'bao' => 'CRM_Contact_BAO_Contact',
         'localizable' => 0,
+        'html' => [
+          'label' => 'API KEY',
+          'maxlength' => 32,
+          'size' => 20,
+        ],
+        'readonly' => TRUE,
+        'add' => '2.2',
         'is_core_field' => TRUE,
       ],
       'first_name' => [
@@ -508,15 +563,18 @@ function contact_getfields_expectedresult() {
         'headerPattern' => '/^first|(f(irst\\s)?name)$/i',
         'dataPattern' => '/^\\w+$/',
         'export' => TRUE,
+        'contactType' => 'Individual',
         'table_name' => 'civicrm_contact',
         'entity' => 'Contact',
         'bao' => 'CRM_Contact_BAO_Contact',
         'localizable' => 0,
         'html' => [
           'type' => 'Text',
+          'label' => 'First Name',
           'maxlength' => 64,
           'size' => 30,
         ],
+        'add' => '1.1',
         'is_core_field' => TRUE,
       ],
       'middle_name' => [
@@ -531,15 +589,18 @@ function contact_getfields_expectedresult() {
         'headerPattern' => '/^middle|(m(iddle\\s)?name)$/i',
         'dataPattern' => '/^\\w+$/',
         'export' => TRUE,
+        'contactType' => 'Individual',
         'table_name' => 'civicrm_contact',
         'entity' => 'Contact',
         'bao' => 'CRM_Contact_BAO_Contact',
         'localizable' => 0,
         'html' => [
           'type' => 'Text',
+          'label' => 'Middle Name',
           'maxlength' => 64,
           'size' => 30,
         ],
+        'add' => '1.1',
         'is_core_field' => TRUE,
       ],
       'last_name' => [
@@ -554,15 +615,18 @@ function contact_getfields_expectedresult() {
         'headerPattern' => '/^last|(l(ast\\s)?name)$/i',
         'dataPattern' => '/^\\w+(\\s\\w+)?+$/',
         'export' => TRUE,
+        'contactType' => 'Individual',
         'table_name' => 'civicrm_contact',
         'entity' => 'Contact',
         'bao' => 'CRM_Contact_BAO_Contact',
         'localizable' => 0,
         'html' => [
           'type' => 'Text',
+          'label' => 'Last Name',
           'maxlength' => 64,
           'size' => 30,
         ],
+        'add' => '1.1',
         'is_core_field' => TRUE,
       ],
       'prefix_id' => [
@@ -575,6 +639,7 @@ function contact_getfields_expectedresult() {
         'headerPattern' => '/^(prefix|title)/i',
         'dataPattern' => '/^(mr|ms|mrs|sir|dr)\\.?$/i',
         'export' => TRUE,
+        'contactType' => 'Individual',
         'table_name' => 'civicrm_contact',
         'entity' => 'Contact',
         'bao' => 'CRM_Contact_BAO_Contact',
@@ -588,6 +653,7 @@ function contact_getfields_expectedresult() {
           'optionGroupName' => 'individual_prefix',
           'optionEditPath' => 'civicrm/admin/options/individual_prefix',
         ],
+        'add' => '1.2',
         'is_core_field' => TRUE,
         'api.aliases' => [
           '0' => 'individual_prefix',
@@ -604,6 +670,7 @@ function contact_getfields_expectedresult() {
         'headerPattern' => '/^suffix$/i',
         'dataPattern' => '/^(sr|jr)\\.?|i{2,}$/',
         'export' => TRUE,
+        'contactType' => 'Individual',
         'table_name' => 'civicrm_contact',
         'entity' => 'Contact',
         'bao' => 'CRM_Contact_BAO_Contact',
@@ -617,6 +684,7 @@ function contact_getfields_expectedresult() {
           'optionGroupName' => 'individual_suffix',
           'optionEditPath' => 'civicrm/admin/options/individual_suffix',
         ],
+        'add' => '1.2',
         'is_core_field' => TRUE,
         'api.aliases' => [
           '0' => 'individual_suffix',
@@ -634,15 +702,18 @@ function contact_getfields_expectedresult() {
         'where' => 'civicrm_contact.formal_title',
         'headerPattern' => '/^title/i',
         'export' => TRUE,
+        'contactType' => 'Individual',
         'table_name' => 'civicrm_contact',
         'entity' => 'Contact',
         'bao' => 'CRM_Contact_BAO_Contact',
         'localizable' => 0,
         'html' => [
           'type' => 'Text',
+          'label' => 'Formal Title',
           'maxlength' => 64,
           'size' => 30,
         ],
+        'add' => '4.5',
         'is_core_field' => TRUE,
       ],
       'communication_style_id' => [
@@ -650,7 +721,9 @@ function contact_getfields_expectedresult() {
         'type' => 1,
         'title' => 'Communication Style',
         'description' => 'Communication style (e.g. formal vs. familiar) to use with this contact. FK to communication styles in civicrm_option_value.',
+        'import' => TRUE,
         'where' => 'civicrm_contact.communication_style_id',
+        'headerPattern' => '/style/i',
         'export' => TRUE,
         'table_name' => 'civicrm_contact',
         'entity' => 'Contact',
@@ -665,6 +738,7 @@ function contact_getfields_expectedresult() {
           'optionGroupName' => 'communication_style',
           'optionEditPath' => 'civicrm/admin/options/communication_style',
         ],
+        'add' => '4.4',
         'is_core_field' => TRUE,
       ],
       'email_greeting_id' => [
@@ -678,10 +752,16 @@ function contact_getfields_expectedresult() {
         'entity' => 'Contact',
         'bao' => 'CRM_Contact_BAO_Contact',
         'localizable' => 0,
+        'html' => [
+          'type' => 'Select',
+          'size' => 6,
+          'maxlength' => 14,
+        ],
         'pseudoconstant' => [
           'optionGroupName' => 'email_greeting',
           'optionEditPath' => 'civicrm/admin/options/email_greeting',
         ],
+        'add' => '3.0',
         'is_core_field' => TRUE,
       ],
       'email_greeting_custom' => [
@@ -699,9 +779,11 @@ function contact_getfields_expectedresult() {
         'localizable' => 0,
         'html' => [
           'type' => 'Text',
+          'label' => 'Email Greeting Custom',
           'maxlength' => 128,
           'size' => 45,
         ],
+        'add' => '3.0',
         'is_core_field' => TRUE,
       ],
       'email_greeting_display' => [
@@ -716,11 +798,8 @@ function contact_getfields_expectedresult() {
         'entity' => 'Contact',
         'bao' => 'CRM_Contact_BAO_Contact',
         'localizable' => 0,
-        'html' => [
-          'type' => 'Text',
-          'maxlength' => 255,
-          'size' => 45,
-        ],
+        'readonly' => TRUE,
+        'add' => '3.0',
         'is_core_field' => TRUE,
       ],
       'postal_greeting_id' => [
@@ -735,7 +814,7 @@ function contact_getfields_expectedresult() {
         'bao' => 'CRM_Contact_BAO_Contact',
         'localizable' => 0,
         'html' => [
-          'type' => 'Text',
+          'type' => 'Select',
           'size' => 6,
           'maxlength' => 14,
         ],
@@ -743,6 +822,7 @@ function contact_getfields_expectedresult() {
           'optionGroupName' => 'postal_greeting',
           'optionEditPath' => 'civicrm/admin/options/postal_greeting',
         ],
+        'add' => '3.0',
         'is_core_field' => TRUE,
       ],
       'postal_greeting_custom' => [
@@ -760,9 +840,11 @@ function contact_getfields_expectedresult() {
         'localizable' => 0,
         'html' => [
           'type' => 'Text',
+          'label' => 'Postal Greeting Custom',
           'maxlength' => 128,
           'size' => 45,
         ],
+        'add' => '3.0',
         'is_core_field' => TRUE,
       ],
       'postal_greeting_display' => [
@@ -777,11 +859,8 @@ function contact_getfields_expectedresult() {
         'entity' => 'Contact',
         'bao' => 'CRM_Contact_BAO_Contact',
         'localizable' => 0,
-        'html' => [
-          'type' => 'Text',
-          'maxlength' => 255,
-          'size' => 45,
-        ],
+        'readonly' => TRUE,
+        'add' => '3.0',
         'is_core_field' => TRUE,
       ],
       'addressee_id' => [
@@ -795,10 +874,16 @@ function contact_getfields_expectedresult() {
         'entity' => 'Contact',
         'bao' => 'CRM_Contact_BAO_Contact',
         'localizable' => 0,
+        'html' => [
+          'type' => 'Select',
+          'size' => 6,
+          'maxlength' => 14,
+        ],
         'pseudoconstant' => [
           'optionGroupName' => 'addressee',
           'optionEditPath' => 'civicrm/admin/options/addressee',
         ],
+        'add' => '3.0',
         'is_core_field' => TRUE,
       ],
       'addressee_custom' => [
@@ -816,9 +901,11 @@ function contact_getfields_expectedresult() {
         'localizable' => 0,
         'html' => [
           'type' => 'Text',
+          'label' => 'Addressee Custom',
           'maxlength' => 128,
           'size' => 45,
         ],
+        'add' => '3.0',
         'is_core_field' => TRUE,
       ],
       'addressee_display' => [
@@ -833,11 +920,8 @@ function contact_getfields_expectedresult() {
         'entity' => 'Contact',
         'bao' => 'CRM_Contact_BAO_Contact',
         'localizable' => 0,
-        'html' => [
-          'type' => 'Text',
-          'maxlength' => 255,
-          'size' => 45,
-        ],
+        'readonly' => TRUE,
+        'add' => '3.0',
         'is_core_field' => TRUE,
       ],
       'job_title' => [
@@ -852,32 +936,37 @@ function contact_getfields_expectedresult() {
         'headerPattern' => '/^job|(j(ob\\s)?title)$/i',
         'dataPattern' => '//',
         'export' => TRUE,
+        'contactType' => 'Individual',
         'table_name' => 'civicrm_contact',
         'entity' => 'Contact',
         'bao' => 'CRM_Contact_BAO_Contact',
         'localizable' => 0,
         'html' => [
           'type' => 'Text',
+          'label' => 'Job Title',
           'maxlength' => 255,
           'size' => 30,
         ],
+        'add' => '1.1',
         'is_core_field' => TRUE,
       ],
       'gender_id' => [
         'name' => 'gender_id',
         'type' => 1,
-        'title' => 'Gender',
+        'title' => 'Gender ID',
         'description' => 'FK to gender ID',
         'import' => TRUE,
         'where' => 'civicrm_contact.gender_id',
         'headerPattern' => '/^gender$/i',
         'export' => TRUE,
+        'contactType' => 'Individual',
         'table_name' => 'civicrm_contact',
         'entity' => 'Contact',
         'bao' => 'CRM_Contact_BAO_Contact',
         'localizable' => 0,
         'html' => [
           'type' => 'Select',
+          'label' => 'Gender',
           'size' => 6,
           'maxlength' => 14,
         ],
@@ -885,6 +974,7 @@ function contact_getfields_expectedresult() {
           'optionGroupName' => 'gender',
           'optionEditPath' => 'civicrm/admin/options/gender',
         ],
+        'add' => '1.2',
         'is_core_field' => TRUE,
         'api.aliases' => [
           '0' => 'gender',
@@ -900,6 +990,7 @@ function contact_getfields_expectedresult() {
         'headerPattern' => '/^birth|(b(irth\\s)?date)|D(\\W*)O(\\W*)B(\\W*)$/i',
         'dataPattern' => '/\\d{4}-?\\d{2}-?\\d{2}/',
         'export' => TRUE,
+        'contactType' => 'Individual',
         'table_name' => 'civicrm_contact',
         'entity' => 'Contact',
         'bao' => 'CRM_Contact_BAO_Contact',
@@ -907,24 +998,30 @@ function contact_getfields_expectedresult() {
         'html' => [
           'type' => 'Select Date',
           'formatType' => 'birth',
+          'label' => 'Birth Date',
         ],
+        'add' => '1.1',
         'is_core_field' => TRUE,
       ],
       'is_deceased' => [
         'name' => 'is_deceased',
         'type' => 16,
         'title' => 'Deceased',
+        'required' => TRUE,
         'import' => TRUE,
         'where' => 'civicrm_contact.is_deceased',
         'headerPattern' => '/i(s\\s)?d(eceased)$/i',
         'export' => TRUE,
+        'contactType' => 'Individual',
         'table_name' => 'civicrm_contact',
         'entity' => 'Contact',
         'bao' => 'CRM_Contact_BAO_Contact',
         'localizable' => 0,
         'html' => [
           'type' => 'CheckBox',
+          'label' => 'Is Deceased',
         ],
+        'add' => '1.1',
         'is_core_field' => TRUE,
       ],
       'deceased_date' => [
@@ -936,6 +1033,7 @@ function contact_getfields_expectedresult() {
         'where' => 'civicrm_contact.deceased_date',
         'headerPattern' => '/^deceased|(d(eceased\\s)?date)$/i',
         'export' => TRUE,
+        'contactType' => 'Individual',
         'table_name' => 'civicrm_contact',
         'entity' => 'Contact',
         'bao' => 'CRM_Contact_BAO_Contact',
@@ -943,7 +1041,9 @@ function contact_getfields_expectedresult() {
         'html' => [
           'type' => 'Select Date',
           'formatType' => 'birth',
+          'label' => 'Deceased Date',
         ],
+        'add' => '1.5',
         'is_core_field' => TRUE,
       ],
       'household_name' => [
@@ -958,15 +1058,18 @@ function contact_getfields_expectedresult() {
         'headerPattern' => '/^household|(h(ousehold\\s)?name)$/i',
         'dataPattern' => '/^\\w+$/',
         'export' => TRUE,
+        'contactType' => 'Household',
         'table_name' => 'civicrm_contact',
         'entity' => 'Contact',
         'bao' => 'CRM_Contact_BAO_Contact',
         'localizable' => 0,
         'html' => [
           'type' => 'Text',
+          'label' => 'Household Name',
           'maxlength' => 128,
           'size' => 30,
         ],
+        'add' => '1.1',
         'is_core_field' => TRUE,
       ],
       'primary_contact_id' => [
@@ -975,16 +1078,19 @@ function contact_getfields_expectedresult() {
         'title' => 'Household Primary Contact ID',
         'description' => 'Optional FK to Primary Contact for this household.',
         'where' => 'civicrm_contact.primary_contact_id',
+        'contactType' => 'Household',
         'table_name' => 'civicrm_contact',
         'entity' => 'Contact',
         'bao' => 'CRM_Contact_BAO_Contact',
         'localizable' => 0,
         'FKClassName' => 'CRM_Contact_DAO_Contact',
         'html' => [
-          'type' => 'Select',
+          'label' => 'Household Primary Contact',
           'size' => 6,
           'maxlength' => 14,
         ],
+        'readonly' => TRUE,
+        'add' => '1.1',
         'is_core_field' => TRUE,
         'FKApiName' => 'Contact',
       ],
@@ -1000,15 +1106,18 @@ function contact_getfields_expectedresult() {
         'headerPattern' => '/^organization|(o(rganization\\s)?name)$/i',
         'dataPattern' => '/^\\w+$/',
         'export' => TRUE,
+        'contactType' => 'Organization',
         'table_name' => 'civicrm_contact',
         'entity' => 'Contact',
         'bao' => 'CRM_Contact_BAO_Contact',
         'localizable' => 0,
         'html' => [
           'type' => 'Text',
+          'label' => 'Organization Name',
           'maxlength' => 128,
           'size' => 30,
         ],
+        'add' => '1.1',
         'is_core_field' => TRUE,
       ],
       'sic_code' => [
@@ -1022,15 +1131,18 @@ function contact_getfields_expectedresult() {
         'where' => 'civicrm_contact.sic_code',
         'headerPattern' => '/^sic|(s(ic\\s)?code)$/i',
         'export' => TRUE,
+        'contactType' => 'Organization',
         'table_name' => 'civicrm_contact',
         'entity' => 'Contact',
         'bao' => 'CRM_Contact_BAO_Contact',
         'localizable' => 0,
         'html' => [
           'type' => 'Text',
+          'label' => 'SIC Code',
           'maxlength' => 8,
           'size' => 8,
         ],
+        'add' => '1.1',
         'is_core_field' => TRUE,
       ],
       'user_unique_id' => [
@@ -1055,6 +1167,7 @@ function contact_getfields_expectedresult() {
           'maxlength' => 255,
           'size' => 45,
         ],
+        'add' => '2.0',
         'is_core_field' => TRUE,
       ],
       'created_date' => [
@@ -1065,11 +1178,14 @@ function contact_getfields_expectedresult() {
         'required' => '',
         'where' => 'civicrm_contact.created_date',
         'export' => TRUE,
-        'default' => 'NULL',
         'table_name' => 'civicrm_contact',
         'entity' => 'Contact',
         'bao' => 'CRM_Contact_BAO_Contact',
         'localizable' => 0,
+        'html' => [
+          'label' => 'Created Date',
+        ],
+        'add' => '4.3',
         'is_core_field' => TRUE,
       ],
       'modified_date' => [
@@ -1085,6 +1201,11 @@ function contact_getfields_expectedresult() {
         'entity' => 'Contact',
         'bao' => 'CRM_Contact_BAO_Contact',
         'localizable' => 0,
+        'html' => [
+          'label' => 'Modified Date',
+        ],
+        'readonly' => TRUE,
+        'add' => '4.3',
         'is_core_field' => TRUE,
       ],
       'source' => [
@@ -1107,16 +1228,18 @@ function contact_getfields_expectedresult() {
           'maxlength' => 255,
           'size' => 30,
         ],
+        'add' => '1.1',
         'is_core_field' => TRUE,
         'uniqueName' => 'contact_source',
       ],
       'employer_id' => [
         'name' => 'employer_id',
         'type' => 1,
-        'title' => 'Current Employer',
+        'title' => 'Current Employer ID',
         'description' => 'OPTIONAL FK to civicrm_contact record.',
         'where' => 'civicrm_contact.employer_id',
         'export' => TRUE,
+        'contactType' => 'Individual',
         'table_name' => 'civicrm_contact',
         'entity' => 'Contact',
         'bao' => 'CRM_Contact_BAO_Contact',
@@ -1124,9 +1247,11 @@ function contact_getfields_expectedresult() {
         'FKClassName' => 'CRM_Contact_DAO_Contact',
         'html' => [
           'type' => 'EntityRef',
+          'label' => 'Current Employer',
           'size' => 6,
           'maxlength' => 14,
         ],
+        'add' => '2.1',
         'is_core_field' => TRUE,
         'uniqueName' => 'current_employer_id',
         'FKApiName' => 'Contact',
@@ -1145,6 +1270,7 @@ function contact_getfields_expectedresult() {
         'html' => [
           'type' => 'CheckBox',
         ],
+        'add' => '3.2',
         'is_core_field' => TRUE,
         'uniqueName' => 'contact_is_deleted',
       ],
@@ -1169,18 +1295,19 @@ function contact_getfields_expectedresult() {
         'extends_entity_column_id' => '',
         'is_view' => 0,
         'is_multiple' => 0,
-        'option_group_id' => '110',
+        'option_group_id' => '109',
         'date_format' => '',
         'time_format' => '',
         'is_required' => '1',
         'table_name' => 'civicrm_value_select_test_g_1',
         'column_name' => 'our_special_field_1',
+        'serialize' => 0,
         'where' => 'civicrm_value_select_test_g_1.our_special_field_1',
         'extends_table' => 'civicrm_contact',
         'search_table' => 'contact_a',
         'pseudoconstant' => [
-          'optionGroupName' => 'our_special_field_20190820191605',
-          'optionEditPath' => 'civicrm/admin/options/our_special_field_20190820191605',
+          'optionGroupName' => 'our_special_field_20220117122549',
+          'optionEditPath' => 'civicrm/admin/options/our_special_field_20220117122549',
         ],
         'options' => [
           '1' => 'Label1',
@@ -1213,23 +1340,23 @@ function contact_getfields_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testCustomFieldCreateWithOptionValues"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ContactTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testCustomFieldCreateWithOptionValues"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ContactTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Contact/GetMergedfrom.ex.php b/civicrm/api/v3/examples/Contact/GetMergedfrom.ex.php
index 5349486299..7c3c477900 100644
--- a/civicrm/api/v3/examples/Contact/GetMergedfrom.ex.php
+++ b/civicrm/api/v3/examples/Contact/GetMergedfrom.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Contact.getmergedfrom API.
  *
@@ -10,7 +15,7 @@ function contact_getmergedfrom_example() {
     'contact_id' => 4,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Contact', 'getmergedfrom', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -58,23 +63,23 @@ function contact_getmergedfrom_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testMergedGet"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ContactTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testMergedGet"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ContactTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Contact/GetMergedto.ex.php b/civicrm/api/v3/examples/Contact/GetMergedto.ex.php
index 7d50e49cc8..1b6c18da3f 100644
--- a/civicrm/api/v3/examples/Contact/GetMergedto.ex.php
+++ b/civicrm/api/v3/examples/Contact/GetMergedto.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Contact.getmergedto API.
  *
@@ -11,7 +16,7 @@ function contact_getmergedto_example() {
     'contact_id' => 6,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Contact', 'getmergedto', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -54,23 +59,23 @@ function contact_getmergedto_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testMergedGet"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ContactTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testMergedGet"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ContactTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Contact/GetOptions.ex.php b/civicrm/api/v3/examples/Contact/GetOptions.ex.php
index 60cd8e5197..75a7c9b937 100644
--- a/civicrm/api/v3/examples/Contact/GetOptions.ex.php
+++ b/civicrm/api/v3/examples/Contact/GetOptions.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Contact.getoptions API.
  *
@@ -12,7 +17,7 @@ function contact_getoptions_example() {
     'field' => 'custom_1',
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Contact', 'getoptions', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -53,23 +58,23 @@ function contact_getoptions_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testCustomFieldCreateWithOptionValues"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ContactTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testCustomFieldCreateWithOptionValues"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ContactTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Contact/GetSingleContact.ex.php b/civicrm/api/v3/examples/Contact/GetSingleContact.ex.php
index 1c5534833b..3992b4b438 100644
--- a/civicrm/api/v3/examples/Contact/GetSingleContact.ex.php
+++ b/civicrm/api/v3/examples/Contact/GetSingleContact.ex.php
@@ -1,10 +1,15 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Contact.getsingle API.
  *
  * This demonstrates use of the 'format.single_entity_array' param.
  * This param causes the only contact to be returned as an array without the other levels.
- * It will be ignored if there is not exactly 1 result
+ * It will be ignored if there is not exactly 1 result.
  *
  * @return array
  *   API result array
@@ -14,7 +19,7 @@ function contact_getsingle_example() {
     'id' => 3,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Contact', 'getsingle', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -93,7 +98,7 @@ function contact_getsingle_expectedresult() {
     'phone_id' => '',
     'phone_type_id' => '',
     'phone' => '',
-    'email_id' => '1',
+    'email_id' => '3',
     'email' => 'anthony_anderson@civicrm.org',
     'on_hold' => 0,
     'im_id' => '',
@@ -116,23 +121,23 @@ function contact_getsingle_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testContactGetSingleEntityArray"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ContactTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testContactGetSingleEntityArray"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ContactTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Contact/GetUnique.ex.php b/civicrm/api/v3/examples/Contact/GetUnique.ex.php
index b8f75bcc4e..44ddafecbf 100644
--- a/civicrm/api/v3/examples/Contact/GetUnique.ex.php
+++ b/civicrm/api/v3/examples/Contact/GetUnique.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Contact.getunique API.
  *
@@ -8,7 +13,7 @@
 function contact_getunique_example() {
   $params = [];
 
-  try{
+  try {
     $result = civicrm_api3('Contact', 'getunique', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -49,23 +54,23 @@ function contact_getunique_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testContactGetUnique"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ContactTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testContactGetUnique"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ContactTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Contact/GroupFilterUsingContactAPI.ex.php b/civicrm/api/v3/examples/Contact/GroupFilterUsingContactAPI.ex.php
index 1fd3b4f3ac..4e21725d1b 100644
--- a/civicrm/api/v3/examples/Contact/GroupFilterUsingContactAPI.ex.php
+++ b/civicrm/api/v3/examples/Contact/GroupFilterUsingContactAPI.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Contact.get API.
  *
@@ -17,7 +22,7 @@ function contact_get_example() {
     ],
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Contact', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -54,8 +59,8 @@ function contact_get_expectedresult() {
         'contact_id' => '3',
         'contact_type' => 'Individual',
         'contact_sub_type' => '',
-        'sort_name' => 'Groupmember, Test2',
-        'display_name' => 'Test2 Groupmember',
+        'sort_name' => 'Group member, Test2',
+        'display_name' => 'Test2 Group member',
         'do_not_email' => 0,
         'do_not_phone' => 0,
         'do_not_mail' => 0,
@@ -72,7 +77,7 @@ function contact_get_expectedresult() {
         'preferred_mail_format' => 'Both',
         'first_name' => 'Test2',
         'middle_name' => '',
-        'last_name' => 'Groupmember',
+        'last_name' => 'Group member',
         'prefix_id' => '',
         'suffix_id' => '',
         'formal_title' => '',
@@ -102,7 +107,7 @@ function contact_get_expectedresult() {
         'phone_id' => '',
         'phone_type_id' => '',
         'phone' => '',
-        'email_id' => '1',
+        'email_id' => '3',
         'email' => 'test@example.org',
         'on_hold' => 0,
         'im_id' => '',
@@ -127,23 +132,23 @@ function contact_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testContactGetWithGroupTitleMultipleGroups"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ContactTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testContactGetWithGroupTitleMultipleGroups"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ContactTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Contact/NestedReplaceEmail.ex.php b/civicrm/api/v3/examples/Contact/NestedReplaceEmail.ex.php
index 04d61e2bc6..8b443f1993 100644
--- a/civicrm/api/v3/examples/Contact/NestedReplaceEmail.ex.php
+++ b/civicrm/api/v3/examples/Contact/NestedReplaceEmail.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Contact.get API.
  *
@@ -41,7 +46,7 @@ function contact_get_example() {
     ],
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Contact', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -149,7 +154,7 @@ function contact_get_expectedresult() {
           'count' => 5,
           'values' => [
             '0' => [
-              'id' => '19',
+              'id' => '35',
               'contact_id' => '19',
               'location_type_id' => '38',
               'email' => '1-1@example.com',
@@ -163,7 +168,7 @@ function contact_get_expectedresult() {
               'signature_html' => '',
             ],
             '1' => [
-              'id' => '20',
+              'id' => '36',
               'contact_id' => '19',
               'location_type_id' => '38',
               'email' => '1-2@example.com',
@@ -177,7 +182,7 @@ function contact_get_expectedresult() {
               'signature_html' => '',
             ],
             '2' => [
-              'id' => '21',
+              'id' => '37',
               'contact_id' => '19',
               'location_type_id' => '38',
               'email' => '1-3@example.com',
@@ -191,7 +196,7 @@ function contact_get_expectedresult() {
               'signature_html' => '',
             ],
             '3' => [
-              'id' => '22',
+              'id' => '38',
               'contact_id' => '19',
               'location_type_id' => '39',
               'email' => '2-1@example.com',
@@ -205,7 +210,7 @@ function contact_get_expectedresult() {
               'signature_html' => '',
             ],
             '4' => [
-              'id' => '23',
+              'id' => '39',
               'contact_id' => '19',
               'location_type_id' => '39',
               'email' => '2-2@example.com',
@@ -228,23 +233,23 @@ function contact_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testReplaceEmailsInChain"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/EmailTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testReplaceEmailsInChain"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/EmailTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Contribution/ContributionCreateWithHonoreeContact.ex.php b/civicrm/api/v3/examples/Contribution/ContributionCreateWithHonoreeContact.ex.php
index a1e4172a0a..8492f774c5 100644
--- a/civicrm/api/v3/examples/Contribution/ContributionCreateWithHonoreeContact.ex.php
+++ b/civicrm/api/v3/examples/Contribution/ContributionCreateWithHonoreeContact.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Contribution.create API.
  *
@@ -9,7 +14,7 @@
  */
 function contribution_create_example() {
   $params = [
-    'contact_id' => 32,
+    'contact_id' => 3,
     'receive_date' => '20120511',
     'total_amount' => '100',
     'financial_type_id' => 1,
@@ -18,10 +23,10 @@ function contribution_create_example() {
     'net_amount' => '95',
     'source' => 'SSF',
     'contribution_status_id' => 1,
-    'honor_contact_id' => 33,
+    'honor_contact_id' => 4,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Contribution', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -56,7 +61,7 @@ function contribution_create_expectedresult() {
     'values' => [
       '1' => [
         'id' => '1',
-        'contact_id' => '32',
+        'contact_id' => '3',
         'financial_type_id' => '1',
         'contribution_page_id' => '',
         'payment_instrument_id' => '4',
@@ -83,7 +88,7 @@ function contribution_create_expectedresult() {
         'check_number' => '',
         'campaign_id' => '',
         'creditnote_id' => '',
-        'tax_amount' => '',
+        'tax_amount' => 0,
         'revenue_recognition_date' => '',
         'is_template' => '',
         'contribution_type_id' => '1',
@@ -95,23 +100,23 @@ function contribution_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testCreateContributionWithHonoreeContact"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ContributionTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testCreateContributionWithHonoreeContact"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ContributionTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Contribution/ContributionCreateWithNote.ex.php b/civicrm/api/v3/examples/Contribution/ContributionCreateWithNote.ex.php
index 16bf6b2e4d..b0b2726779 100644
--- a/civicrm/api/v3/examples/Contribution/ContributionCreateWithNote.ex.php
+++ b/civicrm/api/v3/examples/Contribution/ContributionCreateWithNote.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Contribution.create API.
  *
@@ -9,7 +14,7 @@
  */
 function contribution_create_example() {
   $params = [
-    'contact_id' => 26,
+    'contact_id' => 3,
     'receive_date' => '2012-01-01',
     'total_amount' => '100',
     'financial_type_id' => 1,
@@ -24,7 +29,7 @@ function contribution_create_example() {
     'note' => 'my contribution note',
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Contribution', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -59,7 +64,7 @@ function contribution_create_expectedresult() {
     'values' => [
       '1' => [
         'id' => '1',
-        'contact_id' => '26',
+        'contact_id' => '3',
         'financial_type_id' => '1',
         'contribution_page_id' => '',
         'payment_instrument_id' => '1',
@@ -86,7 +91,7 @@ function contribution_create_expectedresult() {
         'check_number' => '',
         'campaign_id' => '',
         'creditnote_id' => '',
-        'tax_amount' => '',
+        'tax_amount' => 0,
         'revenue_recognition_date' => '',
         'is_template' => '',
         'contribution_type_id' => '1',
@@ -98,23 +103,23 @@ function contribution_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testCreateContributionWithNote"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ContributionTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testCreateContributionWithNote"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ContributionTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Contribution/ContributionCreateWithSoftCredit.ex.php b/civicrm/api/v3/examples/Contribution/ContributionCreateWithSoftCredit.ex.php
index d830ef95e0..e6a60601cf 100644
--- a/civicrm/api/v3/examples/Contribution/ContributionCreateWithSoftCredit.ex.php
+++ b/civicrm/api/v3/examples/Contribution/ContributionCreateWithSoftCredit.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Contribution.create API.
  *
@@ -9,7 +14,7 @@
  */
 function contribution_create_example() {
   $params = [
-    'contact_id' => 28,
+    'contact_id' => 3,
     'receive_date' => '20120511',
     'total_amount' => '100',
     'financial_type_id' => 1,
@@ -20,14 +25,14 @@ function contribution_create_example() {
     'contribution_status_id' => 1,
     'soft_credit' => [
       '1' => [
-        'contact_id' => 29,
+        'contact_id' => 4,
         'amount' => 50,
         'soft_credit_type_id' => 3,
       ],
     ],
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Contribution', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -62,7 +67,7 @@ function contribution_create_expectedresult() {
     'values' => [
       '1' => [
         'id' => '1',
-        'contact_id' => '28',
+        'contact_id' => '3',
         'financial_type_id' => '1',
         'contribution_page_id' => '',
         'payment_instrument_id' => '4',
@@ -89,7 +94,7 @@ function contribution_create_expectedresult() {
         'check_number' => '',
         'campaign_id' => '',
         'creditnote_id' => '',
-        'tax_amount' => '',
+        'tax_amount' => 0,
         'revenue_recognition_date' => '',
         'is_template' => '',
         'contribution_type_id' => '1',
@@ -101,23 +106,23 @@ function contribution_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testCreateContributionWithSoftCredit"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ContributionTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testCreateContributionWithSoftCredit"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ContributionTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Contribution/ContributionCreateWithSoftCreditDefaults.ex.php b/civicrm/api/v3/examples/Contribution/ContributionCreateWithSoftCreditDefaults.ex.php
index 915a68c5bc..86686dbd23 100644
--- a/civicrm/api/v3/examples/Contribution/ContributionCreateWithSoftCreditDefaults.ex.php
+++ b/civicrm/api/v3/examples/Contribution/ContributionCreateWithSoftCreditDefaults.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Contribution.create API.
  *
@@ -9,7 +14,7 @@
  */
 function contribution_create_example() {
   $params = [
-    'contact_id' => 30,
+    'contact_id' => 3,
     'receive_date' => '20120511',
     'total_amount' => '100',
     'financial_type_id' => 1,
@@ -18,10 +23,10 @@ function contribution_create_example() {
     'net_amount' => '95',
     'source' => 'SSF',
     'contribution_status_id' => 1,
-    'soft_credit_to' => 31,
+    'soft_credit_to' => 4,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Contribution', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -56,7 +61,7 @@ function contribution_create_expectedresult() {
     'values' => [
       '1' => [
         'id' => '1',
-        'contact_id' => '30',
+        'contact_id' => '3',
         'financial_type_id' => '1',
         'contribution_page_id' => '',
         'payment_instrument_id' => '4',
@@ -83,7 +88,7 @@ function contribution_create_expectedresult() {
         'check_number' => '',
         'campaign_id' => '',
         'creditnote_id' => '',
-        'tax_amount' => '',
+        'tax_amount' => 0,
         'revenue_recognition_date' => '',
         'is_template' => '',
         'contribution_type_id' => '1',
@@ -95,23 +100,23 @@ function contribution_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testCreateContributionWithSoftCreditDefaults"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ContributionTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testCreateContributionWithSoftCreditDefaults"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ContributionTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Contribution/Create.ex.php b/civicrm/api/v3/examples/Contribution/Create.ex.php
index c8fedf7f64..557102d48c 100644
--- a/civicrm/api/v3/examples/Contribution/Create.ex.php
+++ b/civicrm/api/v3/examples/Contribution/Create.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Contribution.create API.
  *
@@ -7,7 +12,7 @@
  */
 function contribution_create_example() {
   $params = [
-    'contact_id' => 1,
+    'contact_id' => 3,
     'receive_date' => '20120511',
     'total_amount' => '100',
     'financial_type_id' => 1,
@@ -16,10 +21,10 @@ function contribution_create_example() {
     'is_pay_later' => 1,
     'invoice_id' => 67890,
     'source' => 'SSF',
-    'contribution_status_id' => 2,
+    'contribution_status_id' => 'Pending',
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Contribution', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -54,7 +59,7 @@ function contribution_create_expectedresult() {
     'values' => [
       '1' => [
         'id' => '1',
-        'contact_id' => '1',
+        'contact_id' => '3',
         'financial_type_id' => '1',
         'contribution_page_id' => '1',
         'payment_instrument_id' => '4',
@@ -93,23 +98,23 @@ function contribution_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testCreateContributionPayLaterOnline"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ContributionTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testCreateContributionPayLaterOnline"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ContributionTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Contribution/CreateWithNestedLineItems.ex.php b/civicrm/api/v3/examples/Contribution/CreateWithNestedLineItems.ex.php
index 36e23c41c7..efdc4e3b05 100644
--- a/civicrm/api/v3/examples/Contribution/CreateWithNestedLineItems.ex.php
+++ b/civicrm/api/v3/examples/Contribution/CreateWithNestedLineItems.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Contribution.create API.
  *
@@ -9,7 +14,7 @@
  */
 function contribution_create_example() {
   $params = [
-    'contact_id' => 13,
+    'contact_id' => 3,
     'receive_date' => '20120511',
     'total_amount' => '100',
     'financial_type_id' => 1,
@@ -20,7 +25,7 @@ function contribution_create_example() {
     'trxn_id' => 12345,
     'invoice_id' => 67890,
     'source' => 'SSF',
-    'contribution_status_id' => 1,
+    'contribution_status_id' => 'Pending',
     'skipLineItem' => 1,
     'api.line_item.create' => [
       '0' => [
@@ -38,7 +43,7 @@ function contribution_create_example() {
     ],
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Contribution', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -73,7 +78,7 @@ function contribution_create_expectedresult() {
     'values' => [
       '1' => [
         'id' => '1',
-        'contact_id' => '13',
+        'contact_id' => '3',
         'financial_type_id' => '1',
         'contribution_page_id' => '',
         'payment_instrument_id' => '1',
@@ -95,7 +100,7 @@ function contribution_create_expectedresult() {
         'contribution_recur_id' => '',
         'is_test' => '',
         'is_pay_later' => '',
-        'contribution_status_id' => '1',
+        'contribution_status_id' => '2',
         'address_id' => '',
         'check_number' => '',
         'campaign_id' => '',
@@ -126,6 +131,7 @@ function contribution_create_expectedresult() {
                 'financial_type_id' => '',
                 'non_deductible_amount' => '',
                 'tax_amount' => '',
+                'membership_num_terms' => '',
               ],
             ],
           ],
@@ -150,6 +156,7 @@ function contribution_create_expectedresult() {
                 'financial_type_id' => '',
                 'non_deductible_amount' => '',
                 'tax_amount' => '',
+                'membership_num_terms' => '',
               ],
             ],
           ],
@@ -162,23 +169,23 @@ function contribution_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testCreateContributionChainedLineItems"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ContributionTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testCreateContributionChainedLineItems"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ContributionTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Contribution/Delete.ex.php b/civicrm/api/v3/examples/Contribution/Delete.ex.php
index b13f4108dd..abb478aa67 100644
--- a/civicrm/api/v3/examples/Contribution/Delete.ex.php
+++ b/civicrm/api/v3/examples/Contribution/Delete.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Contribution.delete API.
  *
@@ -10,7 +15,7 @@ function contribution_delete_example() {
     'id' => 1,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Contribution', 'delete', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -51,23 +56,23 @@ function contribution_delete_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testDeleteContribution"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ContributionTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testDeleteContribution"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ContributionTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Contribution/Get.ex.php b/civicrm/api/v3/examples/Contribution/Get.ex.php
index 410875dc47..28fd89ea34 100644
--- a/civicrm/api/v3/examples/Contribution/Get.ex.php
+++ b/civicrm/api/v3/examples/Contribution/Get.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Contribution.get API.
  *
@@ -8,9 +13,24 @@
 function contribution_get_example() {
   $params = [
     'contribution_id' => 1,
+    'return' => [
+      '0' => 'invoice_number',
+      '1' => 'contribution_source',
+      '2' => 'contact_id',
+      '3' => 'receive_date',
+      '4' => 'total_amount',
+      '5' => 'financial_type_id',
+      '6' => 'non_deductible_amount',
+      '7' => 'fee_amount',
+      '8' => 'net_amount',
+      '9' => 'trxn_id',
+      '10' => 'invoice_id',
+      '11' => 'source',
+      '12' => 'contribution_status_id',
+    ],
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Contribution', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -45,16 +65,10 @@ function contribution_get_expectedresult() {
     'values' => [
       '1' => [
         'contact_id' => '3',
-        'contact_type' => 'Individual',
-        'contact_sub_type' => '',
-        'sort_name' => 'Anderson, Anthony',
-        'display_name' => 'Mr. Anthony Anderson II',
-        'contribution_id' => '1',
-        'currency' => 'USD',
         'contribution_recur_id' => '',
         'contribution_status_id' => '1',
-        'contribution_campaign_id' => '',
-        'payment_instrument_id' => '4',
+        'contribution_id' => '1',
+        'financial_type_id' => '1',
         'receive_date' => '2010-01-20 00:00:00',
         'non_deductible_amount' => '10.00',
         'total_amount' => '100.00',
@@ -63,29 +77,9 @@ function contribution_get_expectedresult() {
         'trxn_id' => '23456',
         'invoice_id' => '78910',
         'invoice_number' => 'INV_1',
-        'contribution_cancel_date' => '',
-        'cancel_reason' => '',
-        'receipt_date' => '',
-        'thankyou_date' => '',
         'contribution_source' => 'SSF',
-        'amount_level' => '',
-        'is_test' => 0,
-        'is_pay_later' => 0,
-        'contribution_check_number' => '',
-        'financial_account_id' => '1',
-        'accounting_code' => '4200',
-        'campaign_id' => '',
-        'contribution_campaign_title' => '',
-        'financial_type_id' => '1',
-        'financial_type' => 'Donation',
-        'contribution_note' => '',
-        'contribution_batch' => '',
         'contribution_recur_status' => 'Completed',
-        'payment_instrument' => 'Check',
         'contribution_status' => 'Completed',
-        'check_number' => '',
-        'instrument_id' => '4',
-        'cancel_date' => '',
         'id' => '1',
         'contribution_type_id' => '1',
       ],
@@ -96,23 +90,23 @@ function contribution_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGetContribution"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ContributionTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGetContribution"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ContributionTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Contribution/GetUnique.ex.php b/civicrm/api/v3/examples/Contribution/GetUnique.ex.php
index 04b96bece6..7f72533307 100644
--- a/civicrm/api/v3/examples/Contribution/GetUnique.ex.php
+++ b/civicrm/api/v3/examples/Contribution/GetUnique.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Contribution.getunique API.
  *
@@ -8,7 +13,7 @@
 function contribution_getunique_example() {
   $params = [];
 
-  try{
+  try {
     $result = civicrm_api3('Contribution', 'getunique', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -49,23 +54,23 @@ function contribution_getunique_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testContributionGetUnique"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ContributionTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testContributionGetUnique"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ContributionTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/ContributionPage/Create.ex.php b/civicrm/api/v3/examples/ContributionPage/Create.ex.php
index 5ad0fd2858..e795e70212 100644
--- a/civicrm/api/v3/examples/ContributionPage/Create.ex.php
+++ b/civicrm/api/v3/examples/ContributionPage/Create.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the ContributionPage.create API.
  *
@@ -12,13 +17,14 @@ function contribution_page_create_example() {
     'currency' => 'NZD',
     'goal_amount' => 34567,
     'is_pay_later' => 1,
+    'pay_later_text' => 'Send check',
     'is_monetary' => TRUE,
     'is_email_receipt' => TRUE,
     'receipt_from_email' => 'yourconscience@donate.com',
     'receipt_from_name' => 'Ego Freud',
   ];
 
-  try{
+  try {
     $result = civicrm_api3('ContributionPage', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -66,7 +72,7 @@ function contribution_page_create_expectedresult() {
         'is_recur_installments' => '',
         'adjust_recur_start_date' => '',
         'is_pay_later' => '1',
-        'pay_later_text' => '',
+        'pay_later_text' => 'Send check',
         'pay_later_receipt' => '',
         'is_partial_payment' => '',
         'initial_amount_label' => '',
@@ -97,6 +103,7 @@ function contribution_page_create_expectedresult() {
         'campaign_id' => '',
         'is_share' => '',
         'is_billing_required' => '',
+        'frontend_title' => '',
         'contribution_type_id' => '1',
       ],
     ],
@@ -106,23 +113,23 @@ function contribution_page_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testCreateContributionPage"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ContributionPageTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "basicCreateTest"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/CiviUnitTestCase.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/ContributionPage/Delete.ex.php b/civicrm/api/v3/examples/ContributionPage/Delete.ex.php
index 423f5c2b08..831bbafc71 100644
--- a/civicrm/api/v3/examples/ContributionPage/Delete.ex.php
+++ b/civicrm/api/v3/examples/ContributionPage/Delete.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the ContributionPage.delete API.
  *
@@ -10,7 +15,7 @@ function contribution_page_delete_example() {
     'id' => 1,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('ContributionPage', 'delete', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -48,23 +53,23 @@ function contribution_page_delete_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testDeleteContributionPage"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ContributionPageTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "basicDeleteTest"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/CiviUnitTestCase.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/ContributionPage/Get.ex.php b/civicrm/api/v3/examples/ContributionPage/Get.ex.php
index ae66d5d0db..bfc747f45c 100644
--- a/civicrm/api/v3/examples/ContributionPage/Get.ex.php
+++ b/civicrm/api/v3/examples/ContributionPage/Get.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the ContributionPage.get API.
  *
@@ -11,7 +16,7 @@ function contribution_page_get_example() {
     'financial_type_id' => 1,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('ContributionPage', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -56,6 +61,7 @@ function contribution_page_get_expectedresult() {
         'is_recur_installments' => 0,
         'adjust_recur_start_date' => 0,
         'is_pay_later' => '1',
+        'pay_later_text' => 'Send check',
         'is_partial_payment' => 0,
         'is_allow_other_amount' => 0,
         'goal_amount' => '34567.00',
@@ -76,23 +82,23 @@ function contribution_page_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGetBasicContributionPage"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ContributionPageTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGetBasicContributionPage"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ContributionPageTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/ContributionPage/Submit.ex.php b/civicrm/api/v3/examples/ContributionPage/Submit.ex.php
index c7ef21f1c0..1b3f68bd3c 100644
--- a/civicrm/api/v3/examples/ContributionPage/Submit.ex.php
+++ b/civicrm/api/v3/examples/ContributionPage/Submit.ex.php
@@ -1,8 +1,13 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the ContributionPage.submit API.
  *
- * submit contribution page
+ * submit contribution page.
  *
  * @return array
  *   API result array
@@ -13,6 +18,7 @@ function contribution_page_submit_example() {
     'pledge_amount' => [
       '2' => 1,
     ],
+    'price_2' => 3,
     'billing_first_name' => 'Billy',
     'billing_middle_name' => 'Goat',
     'billing_last_name' => 'Gruff',
@@ -28,12 +34,11 @@ function contribution_page_submit_example() {
     'pledge_id' => '1',
     'cid' => '4',
     'contact_id' => '4',
-    'amount' => '100',
     'is_pledge' => TRUE,
     'pledge_block_id' => 1,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('ContributionPage', 'submit', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -71,23 +76,23 @@ function contribution_page_submit_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testSubmitPledgePayment"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ContributionPageTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testSubmitPledgePayment"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ContributionPageTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/ContributionRecur/Create.ex.php b/civicrm/api/v3/examples/ContributionRecur/Create.ex.php
index 7018d2ef9f..6843dbf101 100644
--- a/civicrm/api/v3/examples/ContributionRecur/Create.ex.php
+++ b/civicrm/api/v3/examples/ContributionRecur/Create.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the ContributionRecur.create API.
  *
@@ -10,14 +15,14 @@ function contribution_recur_create_example() {
     'contact_id' => 3,
     'installments' => '12',
     'frequency_interval' => '1',
-    'amount' => '500',
+    'amount' => '500.00',
     'contribution_status_id' => 1,
     'start_date' => '2012-01-01 00:00:00',
     'currency' => 'USD',
     'frequency_unit' => 'day',
   ];
 
-  try{
+  try {
     $result = civicrm_api3('ContributionRecur', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -53,7 +58,7 @@ function contribution_recur_create_expectedresult() {
       '1' => [
         'id' => '1',
         'contact_id' => '3',
-        'amount' => '500',
+        'amount' => '500.00',
         'currency' => 'USD',
         'frequency_unit' => 'day',
         'frequency_interval' => '1',
@@ -88,23 +93,23 @@ function contribution_recur_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testCreateContributionRecur"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ContributionRecurTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "basicCreateTest"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/CiviUnitTestCase.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/ContributionRecur/Delete.ex.php b/civicrm/api/v3/examples/ContributionRecur/Delete.ex.php
index 52e8b6482b..8f36284965 100644
--- a/civicrm/api/v3/examples/ContributionRecur/Delete.ex.php
+++ b/civicrm/api/v3/examples/ContributionRecur/Delete.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the ContributionRecur.delete API.
  *
@@ -7,10 +12,10 @@
  */
 function contribution_recur_delete_example() {
   $params = [
-    'id' => 4,
+    'id' => 7,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('ContributionRecur', 'delete', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -48,23 +53,23 @@ function contribution_recur_delete_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testDeleteContributionRecur"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ContributionRecurTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "basicDeleteTest"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/CiviUnitTestCase.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/ContributionRecur/Get.ex.php b/civicrm/api/v3/examples/ContributionRecur/Get.ex.php
index ce054103fc..38caa084ea 100644
--- a/civicrm/api/v3/examples/ContributionRecur/Get.ex.php
+++ b/civicrm/api/v3/examples/ContributionRecur/Get.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the ContributionRecur.get API.
  *
@@ -10,7 +15,7 @@ function contribution_recur_get_example() {
     'amount' => '500',
   ];
 
-  try{
+  try {
     $result = civicrm_api3('ContributionRecur', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -41,11 +46,11 @@ function contribution_recur_get_expectedresult() {
     'is_error' => 0,
     'version' => 3,
     'count' => 1,
-    'id' => 2,
+    'id' => 3,
     'values' => [
-      '2' => [
-        'id' => '2',
-        'contact_id' => '4',
+      '3' => [
+        'id' => '3',
+        'contact_id' => '5',
         'amount' => '500.00',
         'currency' => 'USD',
         'frequency_unit' => 'day',
@@ -68,23 +73,23 @@ function contribution_recur_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGetContributionRecur"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ContributionRecurTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGetContributionRecur"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ContributionRecurTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/ContributionSoft/Create.ex.php b/civicrm/api/v3/examples/ContributionSoft/Create.ex.php
index 83a46b9e67..9a95fe6eae 100644
--- a/civicrm/api/v3/examples/ContributionSoft/Create.ex.php
+++ b/civicrm/api/v3/examples/ContributionSoft/Create.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the ContributionSoft.create API.
  *
@@ -14,7 +19,7 @@ function contribution_soft_create_example() {
     'soft_credit_type_id' => 5,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('ContributionSoft', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -66,23 +71,23 @@ function contribution_soft_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testCreateContributionSoft"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ContributionSoftTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testCreateContributionSoft"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ContributionSoftTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/ContributionSoft/Delete.ex.php b/civicrm/api/v3/examples/ContributionSoft/Delete.ex.php
index 8bf895bebd..02c4265afc 100644
--- a/civicrm/api/v3/examples/ContributionSoft/Delete.ex.php
+++ b/civicrm/api/v3/examples/ContributionSoft/Delete.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the ContributionSoft.delete API.
  *
@@ -10,7 +15,7 @@ function contribution_soft_delete_example() {
     'id' => 7,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('ContributionSoft', 'delete', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -48,23 +53,23 @@ function contribution_soft_delete_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testDeleteContributionSoft"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ContributionSoftTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testDeleteContributionSoft"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ContributionSoftTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/ContributionSoft/Get.ex.php b/civicrm/api/v3/examples/ContributionSoft/Get.ex.php
index 1ac873f42f..26dadff3b4 100644
--- a/civicrm/api/v3/examples/ContributionSoft/Get.ex.php
+++ b/civicrm/api/v3/examples/ContributionSoft/Get.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the ContributionSoft.get API.
  *
@@ -10,7 +15,7 @@ function contribution_soft_get_example() {
     'id' => 1,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('ContributionSoft', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -59,23 +64,23 @@ function contribution_soft_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGetContributionSoft"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ContributionSoftTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGetContributionSoft"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ContributionSoftTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Country/Create.ex.php b/civicrm/api/v3/examples/Country/Create.ex.php
index ab03f90864..9897b2c57f 100644
--- a/civicrm/api/v3/examples/Country/Create.ex.php
+++ b/civicrm/api/v3/examples/Country/Create.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Country.create API.
  *
@@ -12,7 +17,7 @@ function country_create_example() {
     'region_id' => 1,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Country', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -43,10 +48,10 @@ function country_create_expectedresult() {
     'is_error' => 0,
     'version' => 3,
     'count' => 1,
-    'id' => 1254,
+    'id' => 1255,
     'values' => [
-      '1254' => [
-        'id' => '1254',
+      '1255' => [
+        'id' => '1255',
         'name' => 'Made Up Land',
         'iso_code' => 'ZZ',
         'country_code' => '',
@@ -55,6 +60,7 @@ function country_create_expectedresult() {
         'ndd_prefix' => '',
         'region_id' => '1',
         'is_province_abbreviated' => '',
+        'is_active' => '',
       ],
     ],
   ];
@@ -63,23 +69,23 @@ function country_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testCreateCountry"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/CountryTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testCreateCountry"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/CountryTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Country/Delete.ex.php b/civicrm/api/v3/examples/Country/Delete.ex.php
index 691d99a2c6..07c01d631a 100644
--- a/civicrm/api/v3/examples/Country/Delete.ex.php
+++ b/civicrm/api/v3/examples/Country/Delete.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Country.delete API.
  *
@@ -7,10 +12,10 @@
  */
 function country_delete_example() {
   $params = [
-    'id' => 1255,
+    'id' => 1257,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Country', 'delete', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -48,23 +53,23 @@ function country_delete_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testDeleteCountry"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/CountryTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testDeleteCountry"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/CountryTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Country/Get.ex.php b/civicrm/api/v3/examples/Country/Get.ex.php
index 827b2c5c0d..bef86bf4a9 100644
--- a/civicrm/api/v3/examples/Country/Get.ex.php
+++ b/civicrm/api/v3/examples/Country/Get.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Country.get API.
  *
@@ -10,7 +15,7 @@ function country_get_example() {
     'iso_code' => 'ZZ',
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Country', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -41,14 +46,15 @@ function country_get_expectedresult() {
     'is_error' => 0,
     'version' => 3,
     'count' => 1,
-    'id' => 1256,
+    'id' => 1259,
     'values' => [
-      '1256' => [
-        'id' => '1256',
+      '1259' => [
+        'id' => '1259',
         'name' => 'Made Up Land',
         'iso_code' => 'ZZ',
         'region_id' => '1',
         'is_province_abbreviated' => 0,
+        'is_active' => '1',
       ],
     ],
   ];
@@ -57,23 +63,23 @@ function country_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGet"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/CountryTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGet"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/CountryTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/CustomField/Create.ex.php b/civicrm/api/v3/examples/CustomField/Create.ex.php
index 1d622aa3de..ed02778eee 100644
--- a/civicrm/api/v3/examples/CustomField/Create.ex.php
+++ b/civicrm/api/v3/examples/CustomField/Create.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the CustomField.create API.
  *
@@ -19,7 +24,7 @@ function custom_field_create_example() {
     'is_active' => 1,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('CustomField', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -81,6 +86,7 @@ function custom_field_create_expectedresult() {
         'note_rows' => '',
         'column_name' => 'name1_1',
         'option_group_id' => '',
+        'serialize' => 0,
         'filter' => '',
         'in_selector' => 0,
       ],
@@ -91,23 +97,23 @@ function custom_field_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testCustomFieldCreateWithEdit"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/CustomFieldTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testCustomFieldCreateWithEdit"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/CustomFieldTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/CustomField/Delete.ex.php b/civicrm/api/v3/examples/CustomField/Delete.ex.php
index 6ea27931d3..70a300f970 100644
--- a/civicrm/api/v3/examples/CustomField/Delete.ex.php
+++ b/civicrm/api/v3/examples/CustomField/Delete.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the CustomField.delete API.
  *
@@ -10,7 +15,7 @@ function custom_field_delete_example() {
     'id' => 1,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('CustomField', 'delete', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -48,23 +53,23 @@ function custom_field_delete_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testCustomFieldDelete"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/CustomFieldTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testCustomFieldDelete"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/CustomFieldTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/CustomGroup/Create.ex.php b/civicrm/api/v3/examples/CustomGroup/Create.ex.php
index 99787e2640..a0b4a0ff8a 100644
--- a/civicrm/api/v3/examples/CustomGroup/Create.ex.php
+++ b/civicrm/api/v3/examples/CustomGroup/Create.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the CustomGroup.create API.
  *
@@ -20,7 +25,7 @@ function custom_group_create_example() {
     'is_active' => 1,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('CustomGroup', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -75,6 +80,7 @@ function custom_group_create_expectedresult() {
         'created_date' => '',
         'is_reserved' => '',
         'is_public' => '',
+        'icon' => '',
       ],
     ],
   ];
@@ -83,23 +89,23 @@ function custom_group_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testCustomGroupCreate"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/CustomGroupTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testCustomGroupCreate"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/CustomGroupTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/CustomGroup/Delete.ex.php b/civicrm/api/v3/examples/CustomGroup/Delete.ex.php
index f09b053b27..235dee9161 100644
--- a/civicrm/api/v3/examples/CustomGroup/Delete.ex.php
+++ b/civicrm/api/v3/examples/CustomGroup/Delete.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the CustomGroup.delete API.
  *
@@ -10,7 +15,7 @@ function custom_group_delete_example() {
     'id' => 1,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('CustomGroup', 'delete', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -48,23 +53,23 @@ function custom_group_delete_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testCustomGroupDelete"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/CustomGroupTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testCustomGroupDelete"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/CustomGroupTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/CustomGroup/Get.ex.php b/civicrm/api/v3/examples/CustomGroup/Get.ex.php
index 29cc2f521b..1ad72fa5d5 100644
--- a/civicrm/api/v3/examples/CustomGroup/Get.ex.php
+++ b/civicrm/api/v3/examples/CustomGroup/Get.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the CustomGroup.get API.
  *
@@ -8,7 +13,7 @@
 function custom_group_get_example() {
   $params = [];
 
-  try{
+  try {
     $result = civicrm_api3('CustomGroup', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -65,23 +70,23 @@ function custom_group_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGetCustomGroupSuccess"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/CustomGroupTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGetCustomGroupSuccess"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/CustomGroupTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/CustomValue/Create.ex.php b/civicrm/api/v3/examples/CustomValue/Create.ex.php
index 966133dacd..4b2ca0b56f 100644
--- a/civicrm/api/v3/examples/CustomValue/Create.ex.php
+++ b/civicrm/api/v3/examples/CustomValue/Create.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the CustomValue.create API.
  *
@@ -11,7 +16,7 @@ function custom_value_create_example() {
     'entity_id' => 3,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('CustomValue', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -48,23 +53,23 @@ function custom_value_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testCreateCustomValue"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/CustomValueTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-master-git/
-*
-* To Learn about the API read
-* http://wiki.civicrm.org/confluence/display/CRMDOC/Using+the+API
-*
-* Browse the api on your own site with the api explorer
-* http://MYSITE.ORG/path/to/civicrm/api
-*
-* Read more about testing here
-* http://wiki.civicrm.org/confluence/display/CRM/Testing
-*
-* API Standards documentation:
-* http://wiki.civicrm.org/confluence/display/CRM/API+Architecture+Standards
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testCreateCustomValue"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/CustomValueTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-master-git/
+ *
+ * To Learn about the API read
+ * http://wiki.civicrm.org/confluence/display/CRMDOC/Using+the+API
+ *
+ * Browse the api on your own site with the api explorer
+ * http://MYSITE.ORG/path/to/civicrm/api
+ *
+ * Read more about testing here
+ * http://wiki.civicrm.org/confluence/display/CRM/Testing
+ *
+ * API Standards documentation:
+ * http://wiki.civicrm.org/confluence/display/CRM/API+Architecture+Standards
+ */
diff --git a/civicrm/api/v3/examples/CustomValue/FormatFieldName.ex.php b/civicrm/api/v3/examples/CustomValue/FormatFieldName.ex.php
index b901dade8a..9918a76d4d 100644
--- a/civicrm/api/v3/examples/CustomValue/FormatFieldName.ex.php
+++ b/civicrm/api/v3/examples/CustomValue/FormatFieldName.ex.php
@@ -1,8 +1,13 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the CustomValue.get API.
  *
- * utilises field names
+ * Utilises field names.
  *
  * @return array
  *   API result array
@@ -14,7 +19,7 @@ function custom_value_get_example() {
     'format.field_names' => 1,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('CustomValue', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -99,23 +104,23 @@ function custom_value_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGetMultipleCustomValues"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/CustomValueTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-master-git/
-*
-* To Learn about the API read
-* http://wiki.civicrm.org/confluence/display/CRMDOC/Using+the+API
-*
-* Browse the api on your own site with the api explorer
-* http://MYSITE.ORG/path/to/civicrm/api
-*
-* Read more about testing here
-* http://wiki.civicrm.org/confluence/display/CRM/Testing
-*
-* API Standards documentation:
-* http://wiki.civicrm.org/confluence/display/CRM/API+Architecture+Standards
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGetMultipleCustomValues"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/CustomValueTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-master-git/
+ *
+ * To Learn about the API read
+ * http://wiki.civicrm.org/confluence/display/CRMDOC/Using+the+API
+ *
+ * Browse the api on your own site with the api explorer
+ * http://MYSITE.ORG/path/to/civicrm/api
+ *
+ * Read more about testing here
+ * http://wiki.civicrm.org/confluence/display/CRM/Testing
+ *
+ * API Standards documentation:
+ * http://wiki.civicrm.org/confluence/display/CRM/API+Architecture+Standards
+ */
diff --git a/civicrm/api/v3/examples/CustomValue/Get.ex.php b/civicrm/api/v3/examples/CustomValue/Get.ex.php
index 126b6e350f..77fa73348d 100644
--- a/civicrm/api/v3/examples/CustomValue/Get.ex.php
+++ b/civicrm/api/v3/examples/CustomValue/Get.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the CustomValue.get API.
  *
@@ -13,7 +18,7 @@ function custom_value_get_example() {
     'entity_id' => 2,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('CustomValue', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -98,23 +103,23 @@ function custom_value_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGetMultipleCustomValues"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/CustomValueTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-master-git/
-*
-* To Learn about the API read
-* http://wiki.civicrm.org/confluence/display/CRMDOC/Using+the+API
-*
-* Browse the api on your own site with the api explorer
-* http://MYSITE.ORG/path/to/civicrm/api
-*
-* Read more about testing here
-* http://wiki.civicrm.org/confluence/display/CRM/Testing
-*
-* API Standards documentation:
-* http://wiki.civicrm.org/confluence/display/CRM/API+Architecture+Standards
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGetMultipleCustomValues"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/CustomValueTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-master-git/
+ *
+ * To Learn about the API read
+ * http://wiki.civicrm.org/confluence/display/CRMDOC/Using+the+API
+ *
+ * Browse the api on your own site with the api explorer
+ * http://MYSITE.ORG/path/to/civicrm/api
+ *
+ * Read more about testing here
+ * http://wiki.civicrm.org/confluence/display/CRM/Testing
+ *
+ * API Standards documentation:
+ * http://wiki.civicrm.org/confluence/display/CRM/API+Architecture+Standards
+ */
diff --git a/civicrm/api/v3/examples/Domain/Create.ex.php b/civicrm/api/v3/examples/Domain/Create.ex.php
index 70280cf0b4..f4bbe211fc 100644
--- a/civicrm/api/v3/examples/Domain/Create.ex.php
+++ b/civicrm/api/v3/examples/Domain/Create.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Domain.create API.
  *
@@ -13,7 +18,7 @@ function domain_create_example() {
     'contact_id' => 7,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Domain', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -62,23 +67,23 @@ function domain_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testCreate"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/DomainTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testCreate"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/DomainTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Domain/Get.ex.php b/civicrm/api/v3/examples/Domain/Get.ex.php
index 9ccfc284cd..0c8e4382dc 100644
--- a/civicrm/api/v3/examples/Domain/Get.ex.php
+++ b/civicrm/api/v3/examples/Domain/Get.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Domain.get API.
  *
@@ -10,7 +15,7 @@ function domain_get_example() {
     'sequential' => 1,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Domain', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -45,7 +50,7 @@ function domain_get_expectedresult() {
       '0' => [
         'id' => '1',
         'name' => 'Default Domain Name',
-        'version' => '4.6.alpha1',
+        'version' => '5.47.alpha1',
         'contact_id' => '3',
         'locale_custom_strings' => 'a:1:{s:5:\"en_US\";a:0:{}}',
         'domain_email' => 'my@email.com',
@@ -67,14 +72,14 @@ function domain_get_expectedresult() {
         ],
         'from_name' => 'FIXME',
         'from_email' => 'info@EXAMPLE.ORG',
-        'domain_version' => '4.6.alpha1',
+        'domain_version' => '5.47.alpha1',
       ],
       '1' => [
         'id' => '2',
         'name' => 'Second Domain',
-        'version' => '4.6.alpha1',
+        'version' => '5.47.alpha1',
         'contact_id' => '2',
-        'domain_email' => '\"Domain Email\" <domainemail2@example.org>',
+        'domain_email' => 'domainemail2@example.org',
         'domain_phone' => [
           'phone_type' => 'Phone',
           'phone' => '204 555-1001',
@@ -93,7 +98,7 @@ function domain_get_expectedresult() {
         ],
         'from_name' => 'FIXME',
         'from_email' => 'info@EXAMPLE.ORG',
-        'domain_version' => '4.6.alpha1',
+        'domain_version' => '5.47.alpha1',
       ],
     ],
   ];
@@ -102,23 +107,23 @@ function domain_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGet"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/DomainTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGet"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/DomainTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Email/Create.ex.php b/civicrm/api/v3/examples/Email/Create.ex.php
index b2db488cab..65c563a7e5 100644
--- a/civicrm/api/v3/examples/Email/Create.ex.php
+++ b/civicrm/api/v3/examples/Email/Create.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Email.create API.
  *
@@ -12,7 +17,7 @@ function email_create_example() {
     'on_hold' => '2',
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Email', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -43,10 +48,10 @@ function email_create_expectedresult() {
     'is_error' => 0,
     'version' => 3,
     'count' => 1,
-    'id' => 26,
+    'id' => 49,
     'values' => [
-      '26' => [
-        'id' => '26',
+      '49' => [
+        'id' => '49',
         'contact_id' => '23',
         'location_type_id' => '1',
         'email' => 'api@a-team.com',
@@ -54,7 +59,7 @@ function email_create_expectedresult() {
         'is_billing' => '',
         'on_hold' => '2',
         'is_bulkmail' => '',
-        'hold_date' => '20190820191652',
+        'hold_date' => '20220117122830',
         'reset_date' => '',
         'signature_text' => '',
         'signature_html' => '',
@@ -66,23 +71,23 @@ function email_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testEmailOnHold"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/EmailTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testEmailOnHold"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/EmailTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Email/Delete.ex.php b/civicrm/api/v3/examples/Email/Delete.ex.php
index b872078fc5..b2bb3c5ba5 100644
--- a/civicrm/api/v3/examples/Email/Delete.ex.php
+++ b/civicrm/api/v3/examples/Email/Delete.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Email.delete API.
  *
@@ -7,10 +12,10 @@
  */
 function email_delete_example() {
   $params = [
-    'id' => 12,
+    'id' => 21,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Email', 'delete', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -48,23 +53,23 @@ function email_delete_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testDeleteEmail"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/EmailTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testDeleteEmail"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/EmailTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Email/Replace.ex.php b/civicrm/api/v3/examples/Email/Replace.ex.php
index 4623896d51..075ed52e6f 100644
--- a/civicrm/api/v3/examples/Email/Replace.ex.php
+++ b/civicrm/api/v3/examples/Email/Replace.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Email.replace API.
  *
@@ -37,7 +42,7 @@ function email_replace_example() {
     ],
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Email', 'replace', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -69,8 +74,8 @@ function email_replace_expectedresult() {
     'version' => 3,
     'count' => 5,
     'values' => [
-      '13' => [
-        'id' => '13',
+      '23' => [
+        'id' => '23',
         'contact_id' => '17',
         'location_type_id' => '34',
         'email' => '1-1@example.com',
@@ -83,8 +88,8 @@ function email_replace_expectedresult() {
         'signature_text' => '',
         'signature_html' => '',
       ],
-      '14' => [
-        'id' => '14',
+      '24' => [
+        'id' => '24',
         'contact_id' => '17',
         'location_type_id' => '34',
         'email' => '1-2@example.com',
@@ -97,8 +102,8 @@ function email_replace_expectedresult() {
         'signature_text' => '',
         'signature_html' => '',
       ],
-      '15' => [
-        'id' => '15',
+      '25' => [
+        'id' => '25',
         'contact_id' => '17',
         'location_type_id' => '34',
         'email' => '1-3@example.com',
@@ -111,8 +116,8 @@ function email_replace_expectedresult() {
         'signature_text' => '',
         'signature_html' => '',
       ],
-      '16' => [
-        'id' => '16',
+      '26' => [
+        'id' => '26',
         'contact_id' => '17',
         'location_type_id' => '35',
         'email' => '2-1@example.com',
@@ -125,8 +130,8 @@ function email_replace_expectedresult() {
         'signature_text' => '',
         'signature_html' => '',
       ],
-      '17' => [
-        'id' => '17',
+      '27' => [
+        'id' => '27',
         'contact_id' => '17',
         'location_type_id' => '35',
         'email' => '2-2@example.com',
@@ -146,23 +151,23 @@ function email_replace_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testReplaceEmail"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/EmailTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testReplaceEmail"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/EmailTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/EntityBatch/Create.ex.php b/civicrm/api/v3/examples/EntityBatch/Create.ex.php
index b2039d6d94..540e1ba5ba 100644
--- a/civicrm/api/v3/examples/EntityBatch/Create.ex.php
+++ b/civicrm/api/v3/examples/EntityBatch/Create.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the EntityBatch.create API.
  *
@@ -7,12 +12,12 @@
  */
 function entity_batch_create_example() {
   $params = [
-    'entity_id' => 1,
+    'entity_id' => '1',
     'batch_id' => 1,
     'entity_table' => 'civicrm_financial_trxn',
   ];
 
-  try{
+  try {
     $result = civicrm_api3('EntityBatch', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -58,23 +63,23 @@ function entity_batch_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testCreateEntityBatch"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/EntityBatchTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testCreateEntityBatch"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/EntityBatchTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/EntityBatch/Delete.ex.php b/civicrm/api/v3/examples/EntityBatch/Delete.ex.php
index 1c195417e6..1dac21e44b 100644
--- a/civicrm/api/v3/examples/EntityBatch/Delete.ex.php
+++ b/civicrm/api/v3/examples/EntityBatch/Delete.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the EntityBatch.delete API.
  *
@@ -10,7 +15,7 @@ function entity_batch_delete_example() {
     'id' => 3,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('EntityBatch', 'delete', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -48,23 +53,23 @@ function entity_batch_delete_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testDeleteEntityBatch"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/EntityBatchTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testDeleteEntityBatch"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/EntityBatchTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/EntityBatch/Get.ex.php b/civicrm/api/v3/examples/EntityBatch/Get.ex.php
index 20044f5e62..ce46614cce 100644
--- a/civicrm/api/v3/examples/EntityBatch/Get.ex.php
+++ b/civicrm/api/v3/examples/EntityBatch/Get.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the EntityBatch.get API.
  *
@@ -7,12 +12,12 @@
  */
 function entity_batch_get_example() {
   $params = [
-    'entity_id' => 2,
+    'entity_id' => '3',
     'batch_id' => 2,
     'entity_table' => 'civicrm_financial_trxn',
   ];
 
-  try{
+  try {
     $result = civicrm_api3('EntityBatch', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -48,7 +53,7 @@ function entity_batch_get_expectedresult() {
       '2' => [
         'id' => '2',
         'entity_table' => 'civicrm_financial_trxn',
-        'entity_id' => '2',
+        'entity_id' => '3',
         'batch_id' => '2',
       ],
     ],
@@ -58,23 +63,23 @@ function entity_batch_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGetEntityBatch"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/EntityBatchTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGetEntityBatch"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/EntityBatchTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/EntityTag/Create.ex.php b/civicrm/api/v3/examples/EntityTag/Create.ex.php
index d819a96e80..986ecfbfe3 100644
--- a/civicrm/api/v3/examples/EntityTag/Create.ex.php
+++ b/civicrm/api/v3/examples/EntityTag/Create.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the EntityTag.create API.
  *
@@ -11,7 +16,7 @@ function entity_tag_create_example() {
     'tag_id' => '6',
   ];
 
-  try{
+  try {
     $result = civicrm_api3('EntityTag', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -48,23 +53,23 @@ function entity_tag_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testIndividualEntityTagGet"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/EntityTagTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-master-git/
-*
-* To Learn about the API read
-* http://wiki.civicrm.org/confluence/display/CRMDOC/Using+the+API
-*
-* Browse the api on your own site with the api explorer
-* http://MYSITE.ORG/path/to/civicrm/api
-*
-* Read more about testing here
-* http://wiki.civicrm.org/confluence/display/CRM/Testing
-*
-* API Standards documentation:
-* http://wiki.civicrm.org/confluence/display/CRM/API+Architecture+Standards
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testIndividualEntityTagGet"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/EntityTagTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-master-git/
+ *
+ * To Learn about the API read
+ * http://wiki.civicrm.org/confluence/display/CRMDOC/Using+the+API
+ *
+ * Browse the api on your own site with the api explorer
+ * http://MYSITE.ORG/path/to/civicrm/api
+ *
+ * Read more about testing here
+ * http://wiki.civicrm.org/confluence/display/CRM/Testing
+ *
+ * API Standards documentation:
+ * http://wiki.civicrm.org/confluence/display/CRM/API+Architecture+Standards
+ */
diff --git a/civicrm/api/v3/examples/EntityTag/Delete.ex.php b/civicrm/api/v3/examples/EntityTag/Delete.ex.php
index 51ecc823bb..f2a4915a9f 100644
--- a/civicrm/api/v3/examples/EntityTag/Delete.ex.php
+++ b/civicrm/api/v3/examples/EntityTag/Delete.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the EntityTag.delete API.
  *
@@ -11,7 +16,7 @@ function entity_tag_delete_example() {
     'tag_id' => '19',
   ];
 
-  try{
+  try {
     $result = civicrm_api3('EntityTag', 'delete', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -49,23 +54,23 @@ function entity_tag_delete_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testEntityTagDeleteHH"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/EntityTagTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testEntityTagDeleteHH"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/EntityTagTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/EntityTag/Get.ex.php b/civicrm/api/v3/examples/EntityTag/Get.ex.php
index 5312259a60..d47ccee808 100644
--- a/civicrm/api/v3/examples/EntityTag/Get.ex.php
+++ b/civicrm/api/v3/examples/EntityTag/Get.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the EntityTag.get API.
  *
@@ -10,7 +15,7 @@ function entity_tag_get_example() {
     'contact_id' => 18,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('EntityTag', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -41,10 +46,10 @@ function entity_tag_get_expectedresult() {
     'is_error' => 0,
     'version' => 3,
     'count' => 1,
-    'id' => 5,
+    'id' => 6,
     'values' => [
-      '5' => [
-        'id' => '5',
+      '6' => [
+        'id' => '6',
         'entity_table' => 'civicrm_contact',
         'entity_id' => '18',
         'tag_id' => '11',
@@ -56,23 +61,23 @@ function entity_tag_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testIndividualEntityTagGet"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/EntityTagTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testIndividualEntityTagGet"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/EntityTagTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Event/ContactRefCustomField.ex.php b/civicrm/api/v3/examples/Event/ContactRefCustomField.ex.php
index 5fe5f62f35..419ae61b83 100644
--- a/civicrm/api/v3/examples/Event/ContactRefCustomField.ex.php
+++ b/civicrm/api/v3/examples/Event/ContactRefCustomField.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Event.get API.
  *
@@ -10,10 +15,10 @@
 function event_get_example() {
   $params = [
     'return.custom_2' => 1,
-    'custom_2' => 4,
+    'custom_2' => 3,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Event', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -76,7 +81,7 @@ function event_get_expectedresult() {
         'is_confirm_enabled' => '1',
         'is_billing_required' => 0,
         'custom_1' => 'defaultValue',
-        'custom_2_id' => '4',
+        'custom_2_id' => '3',
         'custom_2' => 'Contact, Test',
       ],
     ],
@@ -86,23 +91,23 @@ function event_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testEventGetCustomContactRefFieldCRM16036"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/EventTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testEventGetCustomContactRefFieldCRM16036"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/EventTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Event/Create.ex.php b/civicrm/api/v3/examples/Event/Create.ex.php
index 7f79b3a257..52c0858b00 100644
--- a/civicrm/api/v3/examples/Event/Create.ex.php
+++ b/civicrm/api/v3/examples/Event/Create.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Event.create API.
  *
@@ -24,7 +29,7 @@ function event_create_example() {
     'is_show_location' => 0,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Event', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -63,6 +68,7 @@ function event_create_expectedresult() {
         'summary' => 'If you have any CiviCRM related issues or want to track where CiviCRM is heading, Sign up now',
         'description' => 'This event is intended to give brief idea about progess of CiviCRM and giving solutions to common user issues',
         'event_type_id' => '1',
+        'participant_listing_id' => '',
         'is_public' => '1',
         'start_date' => '2013-07-29 00:00:00',
         'end_date' => '2013-08-04 00:00:00',
@@ -134,23 +140,23 @@ function event_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testCreateEventSuccess"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/EventTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testCreateEventSuccess"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/EventTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Event/Delete.ex.php b/civicrm/api/v3/examples/Event/Delete.ex.php
index 99e53f4ab0..e266391226 100644
--- a/civicrm/api/v3/examples/Event/Delete.ex.php
+++ b/civicrm/api/v3/examples/Event/Delete.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Event.delete API.
  *
@@ -10,7 +15,7 @@ function event_delete_example() {
     'id' => 1,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Event', 'delete', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -48,23 +53,23 @@ function event_delete_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testDelete"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/EventTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testDelete"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/EventTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Event/Get.ex.php b/civicrm/api/v3/examples/Event/Get.ex.php
index aee29dd29b..bb24a02302 100644
--- a/civicrm/api/v3/examples/Event/Get.ex.php
+++ b/civicrm/api/v3/examples/Event/Get.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Event.get API.
  *
@@ -11,7 +16,7 @@ function event_get_example() {
     'sequential' => TRUE,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Event', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -81,23 +86,23 @@ function event_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGetEventByEventTitle"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/EventTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGetEventByEventTitle"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/EventTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Event/IsCurrentOption.ex.php b/civicrm/api/v3/examples/Event/IsCurrentOption.ex.php
index 8a40f7a6f2..c094ec7ff5 100644
--- a/civicrm/api/v3/examples/Event/IsCurrentOption.ex.php
+++ b/civicrm/api/v3/examples/Event/IsCurrentOption.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Event.get API.
  *
@@ -12,7 +17,7 @@ function event_get_example() {
     'isCurrent' => 1,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Event', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -89,23 +94,23 @@ function event_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGetIsCurrent"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/EventTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGetIsCurrent"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/EventTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Event/IsFullOption.ex.php b/civicrm/api/v3/examples/Event/IsFullOption.ex.php
index 07e6b42994..747a6bd30a 100644
--- a/civicrm/api/v3/examples/Event/IsFullOption.ex.php
+++ b/civicrm/api/v3/examples/Event/IsFullOption.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Event.getsingle API.
  *
@@ -13,7 +18,7 @@ function event_getsingle_example() {
     'return.is_full' => 1,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Event', 'getsingle', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -66,7 +71,7 @@ function event_getsingle_expectedresult() {
     'allow_selfcancelxfer' => 0,
     'selfcancelxfer_time' => 0,
     'is_template' => 0,
-    'created_date' => '2019-08-20 19:17:20',
+    'created_date' => '2022-01-17 12:29:42',
     'is_share' => '1',
     'is_confirm_enabled' => '1',
     'is_billing_required' => 0,
@@ -78,23 +83,23 @@ function event_getsingle_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGetSingleReturnIsFull"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/EventTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGetSingleReturnIsFull"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/EventTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Grant/Create.ex.php b/civicrm/api/v3/examples/Grant/Create.ex.php
index 80c79bab87..e48884fdad 100644
--- a/civicrm/api/v3/examples/Grant/Create.ex.php
+++ b/civicrm/api/v3/examples/Grant/Create.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Grant.create API.
  *
@@ -17,7 +22,7 @@ function grant_create_example() {
     'grant_type_id' => 1,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Grant', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -74,23 +79,23 @@ function grant_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testCreateGrant"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/GrantTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testCreateGrant"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/GrantTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Grant/Delete.ex.php b/civicrm/api/v3/examples/Grant/Delete.ex.php
index 8ef84ffc35..f214c55fbd 100644
--- a/civicrm/api/v3/examples/Grant/Delete.ex.php
+++ b/civicrm/api/v3/examples/Grant/Delete.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Grant.delete API.
  *
@@ -10,7 +15,7 @@ function grant_delete_example() {
     'id' => 1,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Grant', 'delete', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -48,23 +53,23 @@ function grant_delete_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testDeleteGrant"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/GrantTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testDeleteGrant"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/GrantTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Grant/Get.ex.php b/civicrm/api/v3/examples/Grant/Get.ex.php
index 16692d60bf..0516eec65f 100644
--- a/civicrm/api/v3/examples/Grant/Get.ex.php
+++ b/civicrm/api/v3/examples/Grant/Get.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Grant.get API.
  *
@@ -10,7 +15,7 @@ function grant_get_example() {
     'rationale' => 'Just Because',
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Grant', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -61,23 +66,23 @@ function grant_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGetGrant"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/GrantTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGetGrant"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/GrantTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Group/Get.ex.php b/civicrm/api/v3/examples/Group/Get.ex.php
index f2a35bf736..fb92e045cc 100644
--- a/civicrm/api/v3/examples/Group/Get.ex.php
+++ b/civicrm/api/v3/examples/Group/Get.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Group.get API.
  *
@@ -10,7 +15,7 @@ function group_get_example() {
     'name' => 'Test Group 1',
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Group', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -50,9 +55,6 @@ function group_get_expectedresult() {
         'description' => 'New Test Group Created',
         'is_active' => '1',
         'visibility' => 'Public Pages',
-        'where_clause' => ' (  ( ( `civicrm_group_contact-5d5bbacea0631`.group_id IN (\"1\") ) )  ) ',
-        'select_tables' => 'a:8:{s:15:\"civicrm_contact\";i:1;s:15:\"civicrm_address\";i:1;s:15:\"civicrm_country\";i:1;s:13:\"civicrm_email\";i:1;s:13:\"civicrm_phone\";i:1;s:10:\"civicrm_im\";i:1;s:19:\"civicrm_worldregion\";i:1;s:37:\"`civicrm_group_contact-5d5bbacea0631`\";s:201:\" LEFT JOIN civicrm_group_contact `civicrm_group_contact-5d5bbacea0631` ON (contact_a.id = `civicrm_group_contact-5d5bbacea0631`.contact_id AND `civicrm_group_contact-5d5bbacea0631`.status IN (\'Added\'))\";}',
-        'where_tables' => 'a:2:{s:15:\"civicrm_contact\";i:1;s:37:\"`civicrm_group_contact-5d5bbacea0631`\";s:201:\" LEFT JOIN civicrm_group_contact `civicrm_group_contact-5d5bbacea0631` ON (contact_a.id = `civicrm_group_contact-5d5bbacea0631`.contact_id AND `civicrm_group_contact-5d5bbacea0631`.status IN (\'Added\'))\";}',
         'group_type' => [
           '0' => '1',
           '1' => '2',
@@ -67,23 +69,23 @@ function group_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGetGroupParamsWithGroupName"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/GroupTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGetGroupParamsWithGroupName"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/GroupTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Group/GetFields.ex.php b/civicrm/api/v3/examples/Group/GetFields.ex.php
index 09d09af2a4..dcdb68a608 100644
--- a/civicrm/api/v3/examples/Group/GetFields.ex.php
+++ b/civicrm/api/v3/examples/Group/GetFields.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Group.getfields API.
  *
@@ -12,7 +17,7 @@ function group_getfields_example() {
     'action' => 'create',
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Group', 'getfields', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -42,7 +47,7 @@ function group_getfields_expectedresult() {
   $expectedResult = [
     'is_error' => 0,
     'version' => 3,
-    'count' => 20,
+    'count' => 22,
     'values' => [
       'id' => [
         'name' => 'id',
@@ -55,6 +60,13 @@ function group_getfields_expectedresult() {
         'entity' => 'Group',
         'bao' => 'CRM_Contact_BAO_Group',
         'localizable' => 0,
+        'html' => [
+          'type' => 'Number',
+          'size' => 6,
+          'maxlength' => 14,
+        ],
+        'readonly' => TRUE,
+        'add' => '1.1',
         'is_core_field' => TRUE,
         'api.aliases' => [
           '0' => 'group_id',
@@ -72,6 +84,7 @@ function group_getfields_expectedresult() {
         'entity' => 'Group',
         'bao' => 'CRM_Contact_BAO_Group',
         'localizable' => 0,
+        'add' => '1.1',
         'is_core_field' => TRUE,
       ],
       'title' => [
@@ -79,8 +92,8 @@ function group_getfields_expectedresult() {
         'type' => 2,
         'title' => 'Group Title',
         'description' => 'Name of Group.',
-        'maxlength' => 64,
-        'size' => 30,
+        'maxlength' => 255,
+        'size' => 45,
         'where' => 'civicrm_group.title',
         'table_name' => 'civicrm_group',
         'entity' => 'Group',
@@ -88,9 +101,10 @@ function group_getfields_expectedresult() {
         'localizable' => 1,
         'html' => [
           'type' => 'Text',
-          'maxlength' => 64,
-          'size' => 30,
+          'maxlength' => 255,
+          'size' => 45,
         ],
+        'add' => '1.1',
         'is_core_field' => TRUE,
         'api.required' => 1,
       ],
@@ -111,6 +125,7 @@ function group_getfields_expectedresult() {
           'rows' => 2,
           'cols' => 60,
         ],
+        'add' => '1.1',
         'is_core_field' => TRUE,
       ],
       'source' => [
@@ -125,6 +140,7 @@ function group_getfields_expectedresult() {
         'entity' => 'Group',
         'bao' => 'CRM_Contact_BAO_Group',
         'localizable' => 0,
+        'add' => '1.1',
         'is_core_field' => TRUE,
       ],
       'saved_search_id' => [
@@ -138,6 +154,12 @@ function group_getfields_expectedresult() {
         'bao' => 'CRM_Contact_BAO_Group',
         'localizable' => 0,
         'FKClassName' => 'CRM_Contact_DAO_SavedSearch',
+        'html' => [
+          'label' => 'Saved Search',
+          'size' => 6,
+          'maxlength' => 14,
+        ],
+        'add' => '1.1',
         'is_core_field' => TRUE,
         'FKApiName' => 'SavedSearch',
       ],
@@ -151,6 +173,7 @@ function group_getfields_expectedresult() {
         'entity' => 'Group',
         'bao' => 'CRM_Contact_BAO_Group',
         'localizable' => 0,
+        'add' => '1.1',
         'is_core_field' => TRUE,
         'api.default' => 1,
       ],
@@ -175,6 +198,7 @@ function group_getfields_expectedresult() {
         'pseudoconstant' => [
           'callback' => 'CRM_Core_SelectValues::groupVisibility',
         ],
+        'add' => '1.2',
         'is_core_field' => TRUE,
       ],
       'where_clause' => [
@@ -187,6 +211,8 @@ function group_getfields_expectedresult() {
         'entity' => 'Group',
         'bao' => 'CRM_Contact_BAO_Group',
         'localizable' => 0,
+        'readonly' => TRUE,
+        'add' => '1.6',
         'is_core_field' => TRUE,
       ],
       'select_tables' => [
@@ -200,6 +226,8 @@ function group_getfields_expectedresult() {
         'bao' => 'CRM_Contact_BAO_Group',
         'localizable' => 0,
         'serialize' => 4,
+        'readonly' => TRUE,
+        'add' => '1.6',
         'is_core_field' => TRUE,
       ],
       'where_tables' => [
@@ -213,6 +241,8 @@ function group_getfields_expectedresult() {
         'bao' => 'CRM_Contact_BAO_Group',
         'localizable' => 0,
         'serialize' => 4,
+        'readonly' => TRUE,
+        'add' => '1.6',
         'is_core_field' => TRUE,
       ],
       'group_type' => [
@@ -232,6 +262,7 @@ function group_getfields_expectedresult() {
           'optionGroupName' => 'group_type',
           'optionEditPath' => 'civicrm/admin/options/group_type',
         ],
+        'add' => '1.9',
         'is_core_field' => TRUE,
       ],
       'cache_date' => [
@@ -245,6 +276,8 @@ function group_getfields_expectedresult() {
         'entity' => 'Group',
         'bao' => 'CRM_Contact_BAO_Group',
         'localizable' => 0,
+        'readonly' => TRUE,
+        'add' => '2.1',
         'is_core_field' => TRUE,
       ],
       'refresh_date' => [
@@ -258,6 +291,8 @@ function group_getfields_expectedresult() {
         'entity' => 'Group',
         'bao' => 'CRM_Contact_BAO_Group',
         'localizable' => 0,
+        'readonly' => TRUE,
+        'add' => '4.3',
         'is_core_field' => TRUE,
       ],
       'parents' => [
@@ -274,6 +309,7 @@ function group_getfields_expectedresult() {
         'pseudoconstant' => [
           'callback' => 'CRM_Core_PseudoConstant::allGroup',
         ],
+        'add' => '2.1',
         'is_core_field' => TRUE,
       ],
       'children' => [
@@ -286,6 +322,7 @@ function group_getfields_expectedresult() {
         'entity' => 'Group',
         'bao' => 'CRM_Contact_BAO_Group',
         'localizable' => 0,
+        'add' => '2.1',
         'is_core_field' => TRUE,
       ],
       'is_hidden' => [
@@ -298,6 +335,7 @@ function group_getfields_expectedresult() {
         'entity' => 'Group',
         'bao' => 'CRM_Contact_BAO_Group',
         'localizable' => 0,
+        'add' => '2.2',
         'is_core_field' => TRUE,
       ],
       'is_reserved' => [
@@ -309,12 +347,13 @@ function group_getfields_expectedresult() {
         'entity' => 'Group',
         'bao' => 'CRM_Contact_BAO_Group',
         'localizable' => 0,
+        'add' => '4.2',
         'is_core_field' => TRUE,
       ],
       'created_id' => [
         'name' => 'created_id',
         'type' => 1,
-        'title' => 'Group Created By',
+        'title' => 'Created By Contact ID',
         'description' => 'FK to contact table.',
         'where' => 'civicrm_group.created_id',
         'table_name' => 'civicrm_group',
@@ -322,13 +361,19 @@ function group_getfields_expectedresult() {
         'bao' => 'CRM_Contact_BAO_Group',
         'localizable' => 0,
         'FKClassName' => 'CRM_Contact_DAO_Contact',
+        'html' => [
+          'label' => 'Created By',
+          'size' => 6,
+          'maxlength' => 14,
+        ],
+        'add' => '4.3',
         'is_core_field' => TRUE,
         'FKApiName' => 'Contact',
       ],
       'modified_id' => [
         'name' => 'modified_id',
         'type' => 1,
-        'title' => 'Group Modified By',
+        'title' => 'Modified By Contact ID',
         'description' => 'FK to contact table.',
         'where' => 'civicrm_group.modified_id',
         'table_name' => 'civicrm_group',
@@ -336,9 +381,56 @@ function group_getfields_expectedresult() {
         'bao' => 'CRM_Contact_BAO_Group',
         'localizable' => 0,
         'FKClassName' => 'CRM_Contact_DAO_Contact',
+        'html' => [
+          'label' => 'Modified By',
+          'size' => 6,
+          'maxlength' => 14,
+        ],
+        'readonly' => TRUE,
+        'add' => '4.5',
         'is_core_field' => TRUE,
         'FKApiName' => 'Contact',
       ],
+      'frontend_title' => [
+        'name' => 'frontend_title',
+        'type' => 2,
+        'title' => 'Public Group Title',
+        'description' => 'Alternative public title for this Group.',
+        'maxlength' => 255,
+        'size' => 45,
+        'where' => 'civicrm_group.frontend_title',
+        'table_name' => 'civicrm_group',
+        'entity' => 'Group',
+        'bao' => 'CRM_Contact_BAO_Group',
+        'localizable' => 1,
+        'html' => [
+          'type' => 'Text',
+          'maxlength' => 255,
+          'size' => 45,
+        ],
+        'add' => '5.31',
+        'is_core_field' => TRUE,
+      ],
+      'frontend_description' => [
+        'name' => 'frontend_description',
+        'type' => 32,
+        'title' => 'Public Group Description',
+        'description' => 'Alternative public description of the group.',
+        'rows' => 2,
+        'cols' => 60,
+        'where' => 'civicrm_group.frontend_description',
+        'table_name' => 'civicrm_group',
+        'entity' => 'Group',
+        'bao' => 'CRM_Contact_BAO_Group',
+        'localizable' => 1,
+        'html' => [
+          'type' => 'TextArea',
+          'rows' => 2,
+          'cols' => 60,
+        ],
+        'add' => '5.31',
+        'is_core_field' => TRUE,
+      ],
     ],
   ];
 
@@ -346,23 +438,23 @@ function group_getfields_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testgetfields"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/GroupTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testgetfields"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/GroupTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/GroupContact/Create.ex.php b/civicrm/api/v3/examples/GroupContact/Create.ex.php
index afb9496b78..e60ffc8bd5 100644
--- a/civicrm/api/v3/examples/GroupContact/Create.ex.php
+++ b/civicrm/api/v3/examples/GroupContact/Create.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the GroupContact.create API.
  *
@@ -12,7 +17,7 @@ function group_contact_create_example() {
     'group_id' => 11,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('GroupContact', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -53,23 +58,23 @@ function group_contact_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testCreate"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/GroupContactTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testCreate"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/GroupContactTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/GroupContact/Delete.ex.php b/civicrm/api/v3/examples/GroupContact/Delete.ex.php
index 0f4db2245f..590ea6f515 100644
--- a/civicrm/api/v3/examples/GroupContact/Delete.ex.php
+++ b/civicrm/api/v3/examples/GroupContact/Delete.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the GroupContact.delete API.
  *
@@ -11,7 +16,7 @@ function group_contact_delete_example() {
     'skip_undelete' => TRUE,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('GroupContact', 'delete', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -52,23 +57,23 @@ function group_contact_delete_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testDeletePermanent"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/GroupContactTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testDeletePermanent"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/GroupContactTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/GroupContact/Get.ex.php b/civicrm/api/v3/examples/GroupContact/Get.ex.php
index e7718d5511..823559f8d4 100644
--- a/civicrm/api/v3/examples/GroupContact/Get.ex.php
+++ b/civicrm/api/v3/examples/GroupContact/Get.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the GroupContact.get API.
  *
@@ -10,7 +15,7 @@ function group_contact_get_example() {
     'contact_id' => 3,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('GroupContact', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -59,23 +64,23 @@ function group_contact_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGet"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/GroupContactTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGet"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/GroupContactTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/GroupContact/GetWithGroupID.ex.php b/civicrm/api/v3/examples/GroupContact/GetWithGroupID.ex.php
index 2607a81f7f..113a76de57 100644
--- a/civicrm/api/v3/examples/GroupContact/GetWithGroupID.ex.php
+++ b/civicrm/api/v3/examples/GroupContact/GetWithGroupID.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the GroupContact.get API.
  *
@@ -14,7 +19,7 @@ function group_contact_get_example() {
     'sequential' => 1,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('GroupContact', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -65,9 +70,6 @@ function group_contact_get_expectedresult() {
               'description' => 'New Test Group Created',
               'is_active' => '1',
               'visibility' => 'Public Pages',
-              'where_clause' => ' (  ( ( `civicrm_group_contact-5d5bbabeb0cbd`.group_id IN (\"3\") ) )  ) ',
-              'select_tables' => 'a:8:{s:15:\"civicrm_contact\";i:1;s:15:\"civicrm_address\";i:1;s:15:\"civicrm_country\";i:1;s:13:\"civicrm_email\";i:1;s:13:\"civicrm_phone\";i:1;s:10:\"civicrm_im\";i:1;s:19:\"civicrm_worldregion\";i:1;s:37:\"`civicrm_group_contact-5d5bbabeb0cbd`\";s:201:\" LEFT JOIN civicrm_group_contact `civicrm_group_contact-5d5bbabeb0cbd` ON (contact_a.id = `civicrm_group_contact-5d5bbabeb0cbd`.contact_id AND `civicrm_group_contact-5d5bbabeb0cbd`.status IN (\'Added\'))\";}',
-              'where_tables' => 'a:2:{s:15:\"civicrm_contact\";i:1;s:37:\"`civicrm_group_contact-5d5bbabeb0cbd`\";s:201:\" LEFT JOIN civicrm_group_contact `civicrm_group_contact-5d5bbabeb0cbd` ON (contact_a.id = `civicrm_group_contact-5d5bbabeb0cbd`.contact_id AND `civicrm_group_contact-5d5bbabeb0cbd`.status IN (\'Added\'))\";}',
               'group_type' => [
                 '0' => '1',
                 '1' => '2',
@@ -85,23 +87,23 @@ function group_contact_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGetGroupID"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/GroupContactTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGetGroupID"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/GroupContactTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/GroupNesting/Create.ex.php b/civicrm/api/v3/examples/GroupNesting/Create.ex.php
index a25f5bb463..2f2d7268a6 100644
--- a/civicrm/api/v3/examples/GroupNesting/Create.ex.php
+++ b/civicrm/api/v3/examples/GroupNesting/Create.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the GroupNesting.create API.
  *
@@ -11,7 +16,7 @@ function group_nesting_create_example() {
     'child_group_id' => 3,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('GroupNesting', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -56,23 +61,23 @@ function group_nesting_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testCreate"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/GroupNestingTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testCreate"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/GroupNestingTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/GroupNesting/Delete.ex.php b/civicrm/api/v3/examples/GroupNesting/Delete.ex.php
index dc99c74c88..536ac38d64 100644
--- a/civicrm/api/v3/examples/GroupNesting/Delete.ex.php
+++ b/civicrm/api/v3/examples/GroupNesting/Delete.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the GroupNesting.delete API.
  *
@@ -10,7 +15,7 @@ function group_nesting_delete_example() {
     'id' => 1,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('GroupNesting', 'delete', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -48,23 +53,23 @@ function group_nesting_delete_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testDelete"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/GroupNestingTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testDelete"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/GroupNestingTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/GroupNesting/Get.ex.php b/civicrm/api/v3/examples/GroupNesting/Get.ex.php
index 40631a5cc3..1625e8bb7e 100644
--- a/civicrm/api/v3/examples/GroupNesting/Get.ex.php
+++ b/civicrm/api/v3/examples/GroupNesting/Get.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the GroupNesting.get API.
  *
@@ -11,7 +16,7 @@ function group_nesting_get_example() {
     'child_group_id' => 2,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('GroupNesting', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -56,23 +61,23 @@ function group_nesting_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGet"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/GroupNestingTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGet"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/GroupNestingTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/GroupOrganization/Create.ex.php b/civicrm/api/v3/examples/GroupOrganization/Create.ex.php
index 9d812d508a..63552d4da8 100644
--- a/civicrm/api/v3/examples/GroupOrganization/Create.ex.php
+++ b/civicrm/api/v3/examples/GroupOrganization/Create.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the GroupOrganization.create API.
  *
@@ -7,11 +12,11 @@
  */
 function group_organization_create_example() {
   $params = [
-    'organization_id' => 8,
-    'group_id' => 6,
+    'organization_id' => 12,
+    'group_id' => 10,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('GroupOrganization', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -42,12 +47,12 @@ function group_organization_create_expectedresult() {
     'is_error' => 0,
     'version' => 3,
     'count' => 1,
-    'id' => 3,
+    'id' => 6,
     'values' => [
-      '3' => [
-        'id' => '3',
-        'group_id' => '6',
-        'organization_id' => '8',
+      '6' => [
+        'id' => '6',
+        'group_id' => '10',
+        'organization_id' => '12',
       ],
     ],
   ];
@@ -56,23 +61,23 @@ function group_organization_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGroupOrganizationCreate"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/GroupOrganizationTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGroupOrganizationCreate"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/GroupOrganizationTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/GroupOrganization/Delete.ex.php b/civicrm/api/v3/examples/GroupOrganization/Delete.ex.php
index 722934bf19..e84acd361f 100644
--- a/civicrm/api/v3/examples/GroupOrganization/Delete.ex.php
+++ b/civicrm/api/v3/examples/GroupOrganization/Delete.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the GroupOrganization.delete API.
  *
@@ -7,10 +12,10 @@
  */
 function group_organization_delete_example() {
   $params = [
-    'id' => 5,
+    'id' => 10,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('GroupOrganization', 'delete', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -48,23 +53,23 @@ function group_organization_delete_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGroupOrganizationDelete"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/GroupOrganizationTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGroupOrganizationDelete"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/GroupOrganizationTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/GroupOrganization/Get.ex.php b/civicrm/api/v3/examples/GroupOrganization/Get.ex.php
index 500c215a79..c0ef24fa35 100644
--- a/civicrm/api/v3/examples/GroupOrganization/Get.ex.php
+++ b/civicrm/api/v3/examples/GroupOrganization/Get.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the GroupOrganization.get API.
  *
@@ -7,10 +12,10 @@
  */
 function group_organization_get_example() {
   $params = [
-    'organization_id' => 1,
+    'organization_id' => 2,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('GroupOrganization', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -48,23 +53,23 @@ function group_organization_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGroupOrganizationGet"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/GroupOrganizationTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGroupOrganizationGet"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/GroupOrganizationTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Im/Create.ex.php b/civicrm/api/v3/examples/Im/Create.ex.php
index dda5c2ccf6..03af0f6cae 100644
--- a/civicrm/api/v3/examples/Im/Create.ex.php
+++ b/civicrm/api/v3/examples/Im/Create.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Im.create API.
  *
@@ -12,7 +17,7 @@ function im_create_example() {
     'provider_id' => 1,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Im', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -43,15 +48,15 @@ function im_create_expectedresult() {
     'is_error' => 0,
     'version' => 3,
     'count' => 1,
-    'id' => 2,
+    'id' => 3,
     'values' => [
-      '2' => [
-        'id' => '2',
+      '3' => [
+        'id' => '3',
         'contact_id' => '5',
         'location_type_id' => '1',
         'name' => 'My Yahoo IM Handle',
         'provider_id' => '1',
-        'is_primary' => '',
+        'is_primary' => '1',
         'is_billing' => '',
       ],
     ],
@@ -61,23 +66,23 @@ function im_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testCreateImDefaultLocation"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ImTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testCreateImDefaultLocation"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ImTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Im/Delete.ex.php b/civicrm/api/v3/examples/Im/Delete.ex.php
index 975bfac70b..d2f5e2a4ca 100644
--- a/civicrm/api/v3/examples/Im/Delete.ex.php
+++ b/civicrm/api/v3/examples/Im/Delete.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Im.delete API.
  *
@@ -7,10 +12,10 @@
  */
 function im_delete_example() {
   $params = [
-    'id' => 4,
+    'id' => 7,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Im', 'delete', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -48,23 +53,23 @@ function im_delete_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testDeleteIm"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ImTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testDeleteIm"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ImTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Im/Get.ex.php b/civicrm/api/v3/examples/Im/Get.ex.php
index e2cacaad3f..dd611a3818 100644
--- a/civicrm/api/v3/examples/Im/Get.ex.php
+++ b/civicrm/api/v3/examples/Im/Get.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Im.get API.
  *
@@ -13,7 +18,7 @@ function im_get_example() {
     'provider_id' => 1,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Im', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -44,15 +49,15 @@ function im_get_expectedresult() {
     'is_error' => 0,
     'version' => 3,
     'count' => 1,
-    'id' => 3,
+    'id' => 5,
     'values' => [
-      '3' => [
-        'id' => '3',
+      '5' => [
+        'id' => '5',
         'contact_id' => '7',
         'location_type_id' => '1',
         'name' => 'My Yahoo IM Handle',
         'provider_id' => '1',
-        'is_primary' => 0,
+        'is_primary' => '1',
         'is_billing' => 0,
       ],
     ],
@@ -62,23 +67,23 @@ function im_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGetIm"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ImTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGetIm"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ImTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Job/Clone.ex.php b/civicrm/api/v3/examples/Job/Clone.ex.php
index b2235b8854..aad91cb682 100644
--- a/civicrm/api/v3/examples/Job/Clone.ex.php
+++ b/civicrm/api/v3/examples/Job/Clone.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Job.clone API.
  *
@@ -10,7 +15,7 @@ function job_clone_example() {
     'id' => 31,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Job', 'clone', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -50,7 +55,7 @@ function job_clone_expectedresult() {
         'name' => 'API_Test_Job - Copy',
         'description' => 'A long description written by hand in cursive',
         'api_entity' => 'ApiTestEntity',
-        'api_action' => 'apitestaction',
+        'api_action' => 'api_test_action',
         'parameters' => 'Semi-formal explanation of runtime job parameters',
         'is_active' => '1',
       ],
@@ -61,23 +66,23 @@ function job_clone_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testClone"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/JobTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testClone"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/JobTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Job/Create.ex.php b/civicrm/api/v3/examples/Job/Create.ex.php
index 5109836ee9..f022cce7d9 100644
--- a/civicrm/api/v3/examples/Job/Create.ex.php
+++ b/civicrm/api/v3/examples/Job/Create.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Job.create API.
  *
@@ -12,12 +17,12 @@ function job_create_example() {
     'description' => 'A long description written by hand in cursive',
     'run_frequency' => 'Daily',
     'api_entity' => 'ApiTestEntity',
-    'api_action' => 'apitestaction',
+    'api_action' => 'api_test_action',
     'parameters' => 'Semi-formal explanation of runtime job parameters',
     'is_active' => 1,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Job', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -59,7 +64,7 @@ function job_create_expectedresult() {
         'name' => 'API_Test_Job',
         'description' => 'A long description written by hand in cursive',
         'api_entity' => 'ApiTestEntity',
-        'api_action' => 'apitestaction',
+        'api_action' => 'api_test_action',
         'parameters' => 'Semi-formal explanation of runtime job parameters',
         'is_active' => '1',
       ],
@@ -70,23 +75,23 @@ function job_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testCreate"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/JobTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testCreate"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/JobTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Job/Delete.ex.php b/civicrm/api/v3/examples/Job/Delete.ex.php
index 6bbd95169a..995e8654eb 100644
--- a/civicrm/api/v3/examples/Job/Delete.ex.php
+++ b/civicrm/api/v3/examples/Job/Delete.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Job.delete API.
  *
@@ -10,7 +15,7 @@ function job_delete_example() {
     'id' => 33,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Job', 'delete', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -43,23 +48,23 @@ function job_delete_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testDelete"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/JobTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testDelete"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/JobTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/LineItem/Create.ex.php b/civicrm/api/v3/examples/LineItem/Create.ex.php
index 050bcfa25d..a3e8a21044 100644
--- a/civicrm/api/v3/examples/LineItem/Create.ex.php
+++ b/civicrm/api/v3/examples/LineItem/Create.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the LineItem.create API.
  *
@@ -10,14 +15,13 @@ function line_item_create_example() {
     'price_field_value_id' => 1,
     'price_field_id' => 1,
     'entity_table' => 'civicrm_contribution',
-    'entity_id' => 1,
+    'entity_id' => 3,
     'qty' => 1,
     'unit_price' => 50,
     'line_total' => 50,
-    'debug' => 1,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('LineItem', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -48,12 +52,12 @@ function line_item_create_expectedresult() {
     'is_error' => 0,
     'version' => 3,
     'count' => 1,
-    'id' => 2,
+    'id' => 6,
     'values' => [
-      '2' => [
-        'id' => '2',
+      '6' => [
+        'id' => '6',
         'entity_table' => 'civicrm_contribution',
-        'entity_id' => '1',
+        'entity_id' => '3',
         'contribution_id' => '',
         'price_field_id' => '1',
         'label' => 'line item',
@@ -65,6 +69,7 @@ function line_item_create_expectedresult() {
         'financial_type_id' => '',
         'non_deductible_amount' => '',
         'tax_amount' => '',
+        'membership_num_terms' => '',
       ],
     ],
   ];
@@ -73,23 +78,23 @@ function line_item_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testCreateLineItem"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/LineItemTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testCreateLineItem"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/LineItemTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/LineItem/Delete.ex.php b/civicrm/api/v3/examples/LineItem/Delete.ex.php
index a84be8f560..21b035602e 100644
--- a/civicrm/api/v3/examples/LineItem/Delete.ex.php
+++ b/civicrm/api/v3/examples/LineItem/Delete.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the LineItem.delete API.
  *
@@ -7,10 +12,10 @@
  */
 function line_item_delete_example() {
   $params = [
-    'id' => 4,
+    'id' => 17,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('LineItem', 'delete', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -48,23 +53,23 @@ function line_item_delete_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testDeleteLineItem"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/LineItemTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testDeleteLineItem"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/LineItemTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/LineItem/Get.ex.php b/civicrm/api/v3/examples/LineItem/Get.ex.php
index 2e5d7fa2ec..1feccf9180 100644
--- a/civicrm/api/v3/examples/LineItem/Get.ex.php
+++ b/civicrm/api/v3/examples/LineItem/Get.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the LineItem.get API.
  *
@@ -10,7 +15,7 @@ function line_item_get_example() {
     'entity_table' => 'civicrm_contribution',
   ];
 
-  try{
+  try {
     $result = civicrm_api3('LineItem', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -41,13 +46,13 @@ function line_item_get_expectedresult() {
     'is_error' => 0,
     'version' => 3,
     'count' => 1,
-    'id' => 3,
+    'id' => 15,
     'values' => [
-      '3' => [
-        'id' => '3',
+      '15' => [
+        'id' => '15',
         'entity_table' => 'civicrm_contribution',
-        'entity_id' => '2',
-        'contribution_id' => '2',
+        'entity_id' => '7',
+        'contribution_id' => '7',
         'price_field_id' => '1',
         'label' => 'Contribution Amount',
         'qty' => '1.00',
@@ -56,6 +61,7 @@ function line_item_get_expectedresult() {
         'price_field_value_id' => '1',
         'financial_type_id' => '1',
         'non_deductible_amount' => '0.00',
+        'tax_amount' => '0.00',
         'contribution_type_id' => '1',
       ],
     ],
@@ -65,23 +71,23 @@ function line_item_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGetBasicLineItem"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/LineItemTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGetBasicLineItem"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/LineItemTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/LocBlock/Create.ex.php b/civicrm/api/v3/examples/LocBlock/Create.ex.php
index b752ec02a6..5d3ef0aa20 100644
--- a/civicrm/api/v3/examples/LocBlock/Create.ex.php
+++ b/civicrm/api/v3/examples/LocBlock/Create.ex.php
@@ -1,8 +1,13 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the LocBlock.create API.
  *
- * Create locBlock with existing entities
+ * Create locBlock with existing entities.
  *
  * @return array
  *   API result array
@@ -14,7 +19,7 @@ function loc_block_create_example() {
     'email_id' => 3,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('LocBlock', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -65,23 +70,23 @@ function loc_block_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testCreateLocBlock"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/LocBlockTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testCreateLocBlock"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/LocBlockTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/LocBlock/CreateEntities.ex.php b/civicrm/api/v3/examples/LocBlock/CreateEntities.ex.php
index 1ac4588448..17ceb410e3 100644
--- a/civicrm/api/v3/examples/LocBlock/CreateEntities.ex.php
+++ b/civicrm/api/v3/examples/LocBlock/CreateEntities.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the LocBlock.create API.
  *
@@ -27,7 +32,7 @@ function loc_block_create_example() {
     ],
   ];
 
-  try{
+  try {
     $result = civicrm_api3('LocBlock', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -124,23 +129,23 @@ function loc_block_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testCreateLocBlockEntities"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/LocBlockTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testCreateLocBlockEntities"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/LocBlockTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/LocBlock/Get.ex.php b/civicrm/api/v3/examples/LocBlock/Get.ex.php
index 926c03d45e..338cc385f4 100644
--- a/civicrm/api/v3/examples/LocBlock/Get.ex.php
+++ b/civicrm/api/v3/examples/LocBlock/Get.ex.php
@@ -1,8 +1,13 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the LocBlock.get API.
  *
- * Get entities and location block in 1 api call
+ * Get entities and location block in 1 api call.
  *
  * @return array
  *   API result array
@@ -13,7 +18,7 @@ function loc_block_get_example() {
     'return' => 'all',
   ];
 
-  try{
+  try {
     $result = civicrm_api3('LocBlock', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -93,23 +98,23 @@ function loc_block_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testCreateLocBlockEntities"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/LocBlockTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testCreateLocBlockEntities"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/LocBlockTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Logging/Get.ex.php b/civicrm/api/v3/examples/Logging/Get.ex.php
index a0a26f4c25..28484e4b58 100644
--- a/civicrm/api/v3/examples/Logging/Get.ex.php
+++ b/civicrm/api/v3/examples/Logging/Get.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Logging.get API.
  *
@@ -10,7 +15,7 @@ function logging_get_example() {
     'log_conn_id' => 'wooty wop wop',
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Logging', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -49,7 +54,7 @@ function logging_get_expectedresult() {
         'from' => 'Anderson, Anthony',
         'to' => 'Dwarf, Dopey',
         'table' => 'civicrm_contact',
-        'log_date' => '2019-08-20 19:23:24',
+        'log_date' => '2022-01-17 12:53:39',
         'log_conn_id' => 'wooty wop wop',
       ],
       '1' => [
@@ -59,7 +64,7 @@ function logging_get_expectedresult() {
         'from' => 'Mr. Anthony Anderson II',
         'to' => 'Mr. Dopey Dwarf II',
         'table' => 'civicrm_contact',
-        'log_date' => '2019-08-20 19:23:24',
+        'log_date' => '2022-01-17 12:53:39',
         'log_conn_id' => 'wooty wop wop',
       ],
       '2' => [
@@ -69,7 +74,7 @@ function logging_get_expectedresult() {
         'from' => 'Anthony',
         'to' => 'Dopey',
         'table' => 'civicrm_contact',
-        'log_date' => '2019-08-20 19:23:24',
+        'log_date' => '2022-01-17 12:53:39',
         'log_conn_id' => 'wooty wop wop',
       ],
       '3' => [
@@ -79,137 +84,137 @@ function logging_get_expectedresult() {
         'from' => 'Anderson',
         'to' => 'Dwarf',
         'table' => 'civicrm_contact',
-        'log_date' => '2019-08-20 19:23:24',
+        'log_date' => '2022-01-17 12:53:39',
         'log_conn_id' => 'wooty wop wop',
       ],
       '4' => [
         'action' => 'Update',
         'id' => '3',
         'field' => 'modified_date',
-        'from' => '2019-08-20 19:23:20',
-        'to' => '2019-08-20 19:23:24',
+        'from' => '2022-01-17 12:53:29',
+        'to' => '2022-01-17 12:53:39',
         'table' => 'civicrm_contact',
-        'log_date' => '2019-08-20 19:23:24',
+        'log_date' => '2022-01-17 12:53:39',
         'log_conn_id' => 'wooty wop wop',
       ],
       '5' => [
         'action' => 'Insert',
-        'id' => '2',
+        'id' => '4',
         'field' => 'id',
         'from' => '',
-        'to' => '2',
+        'to' => '4',
         'table' => 'civicrm_email',
-        'log_date' => '2019-08-20 19:23:25',
+        'log_date' => '2022-01-17 12:53:39',
         'log_conn_id' => 'wooty wop wop',
       ],
       '6' => [
         'action' => 'Insert',
-        'id' => '2',
+        'id' => '4',
         'field' => 'contact_id',
         'from' => '',
         'to' => '3',
         'table' => 'civicrm_email',
-        'log_date' => '2019-08-20 19:23:25',
+        'log_date' => '2022-01-17 12:53:39',
         'log_conn_id' => 'wooty wop wop',
       ],
       '7' => [
         'action' => 'Insert',
-        'id' => '2',
+        'id' => '4',
         'field' => 'location_type_id',
         'from' => '',
         'to' => '1',
         'table' => 'civicrm_email',
-        'log_date' => '2019-08-20 19:23:25',
+        'log_date' => '2022-01-17 12:53:39',
         'log_conn_id' => 'wooty wop wop',
       ],
       '8' => [
         'action' => 'Insert',
-        'id' => '2',
+        'id' => '4',
         'field' => 'email',
         'from' => '',
         'to' => 'dopey@mail.com',
         'table' => 'civicrm_email',
-        'log_date' => '2019-08-20 19:23:25',
+        'log_date' => '2022-01-17 12:53:39',
         'log_conn_id' => 'wooty wop wop',
       ],
       '9' => [
         'action' => 'Insert',
-        'id' => '2',
+        'id' => '4',
         'field' => 'is_primary',
         'from' => '',
         'to' => 0,
         'table' => 'civicrm_email',
-        'log_date' => '2019-08-20 19:23:25',
+        'log_date' => '2022-01-17 12:53:39',
         'log_conn_id' => 'wooty wop wop',
       ],
       '10' => [
         'action' => 'Insert',
-        'id' => '2',
+        'id' => '4',
         'field' => 'is_billing',
         'from' => '',
         'to' => 0,
         'table' => 'civicrm_email',
-        'log_date' => '2019-08-20 19:23:25',
+        'log_date' => '2022-01-17 12:53:39',
         'log_conn_id' => 'wooty wop wop',
       ],
       '11' => [
         'action' => 'Insert',
-        'id' => '2',
+        'id' => '4',
         'field' => 'on_hold',
         'from' => '',
         'to' => 0,
         'table' => 'civicrm_email',
-        'log_date' => '2019-08-20 19:23:25',
+        'log_date' => '2022-01-17 12:53:39',
         'log_conn_id' => 'wooty wop wop',
       ],
       '12' => [
         'action' => 'Insert',
-        'id' => '2',
+        'id' => '4',
         'field' => 'is_bulkmail',
         'from' => '',
         'to' => 0,
         'table' => 'civicrm_email',
-        'log_date' => '2019-08-20 19:23:25',
+        'log_date' => '2022-01-17 12:53:39',
         'log_conn_id' => 'wooty wop wop',
       ],
       '13' => [
         'action' => 'Insert',
-        'id' => '2',
+        'id' => '4',
         'field' => 'hold_date',
         'from' => '',
         'to' => '',
         'table' => 'civicrm_email',
-        'log_date' => '2019-08-20 19:23:25',
+        'log_date' => '2022-01-17 12:53:39',
         'log_conn_id' => 'wooty wop wop',
       ],
       '14' => [
         'action' => 'Insert',
-        'id' => '2',
+        'id' => '4',
         'field' => 'reset_date',
         'from' => '',
         'to' => '',
         'table' => 'civicrm_email',
-        'log_date' => '2019-08-20 19:23:25',
+        'log_date' => '2022-01-17 12:53:39',
         'log_conn_id' => 'wooty wop wop',
       ],
       '15' => [
         'action' => 'Insert',
-        'id' => '2',
+        'id' => '4',
         'field' => 'signature_text',
         'from' => '',
         'to' => '',
         'table' => 'civicrm_email',
-        'log_date' => '2019-08-20 19:23:25',
+        'log_date' => '2022-01-17 12:53:39',
         'log_conn_id' => 'wooty wop wop',
       ],
       '16' => [
         'action' => 'Insert',
-        'id' => '2',
+        'id' => '4',
         'field' => 'signature_html',
         'from' => '',
         'to' => '',
         'table' => 'civicrm_email',
-        'log_date' => '2019-08-20 19:23:25',
+        'log_date' => '2022-01-17 12:53:39',
         'log_conn_id' => 'wooty wop wop',
       ],
     ],
@@ -219,23 +224,23 @@ function logging_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGetNoDate"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/LoggingTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGetNoDate"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/LoggingTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Logging/Revert.ex.php b/civicrm/api/v3/examples/Logging/Revert.ex.php
index 32fa318ff2..59c11fff93 100644
--- a/civicrm/api/v3/examples/Logging/Revert.ex.php
+++ b/civicrm/api/v3/examples/Logging/Revert.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Logging.revert API.
  *
@@ -8,10 +13,10 @@
 function logging_revert_example() {
   $params = [
     'log_conn_id' => 'woot',
-    'log_date' => '2019-08-20 19:22:48',
+    'log_date' => '2022-01-17 12:52:20',
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Logging', 'revert', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -49,23 +54,23 @@ function logging_revert_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "/home/seamus/buildkit/build/47-test/sites/all/modules/civicrm/tests/phpunit/api/v3/LoggingTest.php"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/Revert
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "/home/seamus/buildkit/build/47-test/web/sites/all/modules/civicrm/tests/phpunit/api/v3/LoggingTest.php"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/Revert
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/MailSettings/ChainedGetDelete.ex.php b/civicrm/api/v3/examples/MailSettings/ChainedGetDelete.ex.php
index b243259d28..8dd2b35d5a 100644
--- a/civicrm/api/v3/examples/MailSettings/ChainedGetDelete.ex.php
+++ b/civicrm/api/v3/examples/MailSettings/ChainedGetDelete.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the MailSettings.get API.
  *
@@ -13,7 +18,7 @@ function mail_settings_get_example() {
     'api.MailSettings.delete' => 1,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('MailSettings', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -44,10 +49,10 @@ function mail_settings_get_expectedresult() {
     'is_error' => 0,
     'version' => 3,
     'count' => 1,
-    'id' => 6,
+    'id' => 10,
     'values' => [
-      '6' => [
-        'id' => '6',
+      '10' => [
+        'id' => '10',
         'domain_id' => '1',
         'name' => 'delete this setting',
         'is_default' => '1',
@@ -57,6 +62,8 @@ function mail_settings_get_expectedresult() {
         'username' => 'sue',
         'password' => 'pass',
         'is_ssl' => 0,
+        'is_non_case_email_skipped' => 0,
+        'is_contact_creation_disabled_if_no_match' => 0,
         'api.MailSettings.delete' => [
           'is_error' => 0,
           'version' => 3,
@@ -71,23 +78,23 @@ function mail_settings_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGetMailSettingsChainDelete"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/MailSettingsTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGetMailSettingsChainDelete"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/MailSettingsTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/MailSettings/Create.ex.php b/civicrm/api/v3/examples/MailSettings/Create.ex.php
index 08eba66597..12357ea680 100644
--- a/civicrm/api/v3/examples/MailSettings/Create.ex.php
+++ b/civicrm/api/v3/examples/MailSettings/Create.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the MailSettings.create API.
  *
@@ -17,7 +22,7 @@ function mail_settings_create_example() {
     'is_default' => 1,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('MailSettings', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -48,10 +53,10 @@ function mail_settings_create_expectedresult() {
     'is_error' => 0,
     'version' => 3,
     'count' => 1,
-    'id' => 5,
+    'id' => 8,
     'values' => [
-      '5' => [
-        'id' => '5',
+      '8' => [
+        'id' => '8',
         'domain_id' => '1',
         'name' => 'my mail setting',
         'is_default' => '1',
@@ -66,6 +71,8 @@ function mail_settings_create_expectedresult() {
         'is_ssl' => '',
         'source' => '',
         'activity_status' => '',
+        'is_non_case_email_skipped' => '',
+        'is_contact_creation_disabled_if_no_match' => '',
       ],
     ],
   ];
@@ -74,23 +81,23 @@ function mail_settings_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testDeleteMailSettings"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/MailSettingsTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testDeleteMailSettings"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/MailSettingsTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/MailSettings/Delete.ex.php b/civicrm/api/v3/examples/MailSettings/Delete.ex.php
index dbfc74cfc5..87945c6be8 100644
--- a/civicrm/api/v3/examples/MailSettings/Delete.ex.php
+++ b/civicrm/api/v3/examples/MailSettings/Delete.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the MailSettings.delete API.
  *
@@ -7,10 +12,10 @@
  */
 function mail_settings_delete_example() {
   $params = [
-    'id' => 5,
+    'id' => 8,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('MailSettings', 'delete', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -48,23 +53,23 @@ function mail_settings_delete_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testDeleteMailSettings"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/MailSettingsTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testDeleteMailSettings"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/MailSettingsTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/MailSettings/Get.ex.php b/civicrm/api/v3/examples/MailSettings/Get.ex.php
index 42d80d7c2e..b007e786e2 100644
--- a/civicrm/api/v3/examples/MailSettings/Get.ex.php
+++ b/civicrm/api/v3/examples/MailSettings/Get.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the MailSettings.get API.
  *
@@ -17,7 +22,7 @@ function mail_settings_get_example() {
     'is_default' => 1,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('MailSettings', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -48,10 +53,10 @@ function mail_settings_get_expectedresult() {
     'is_error' => 0,
     'version' => 3,
     'count' => 1,
-    'id' => 4,
+    'id' => 6,
     'values' => [
-      '4' => [
-        'id' => '4',
+      '6' => [
+        'id' => '6',
         'domain_id' => '1',
         'name' => 'my mail setting',
         'is_default' => '1',
@@ -61,6 +66,8 @@ function mail_settings_get_expectedresult() {
         'username' => 'sue',
         'password' => 'pass',
         'is_ssl' => 0,
+        'is_non_case_email_skipped' => 0,
+        'is_contact_creation_disabled_if_no_match' => 0,
       ],
     ],
   ];
@@ -69,23 +76,23 @@ function mail_settings_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGetMailSettings"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/MailSettingsTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGetMailSettings"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/MailSettingsTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/MailSettings/GetOptions.ex.php b/civicrm/api/v3/examples/MailSettings/GetOptions.ex.php
index a1c39a2fcb..95ed1c3c3d 100644
--- a/civicrm/api/v3/examples/MailSettings/GetOptions.ex.php
+++ b/civicrm/api/v3/examples/MailSettings/GetOptions.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the MailSettings.getoptions API.
  *
@@ -10,7 +15,7 @@ function mail_settings_getoptions_example() {
     'field' => 'protocol',
   ];
 
-  try{
+  try {
     $result = civicrm_api3('MailSettings', 'getoptions', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -53,23 +58,23 @@ function mail_settings_getoptions_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testmailProtocol"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ConstantTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testmailProtocol"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ConstantTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Mailing/Clone.ex.php b/civicrm/api/v3/examples/Mailing/Clone.ex.php
index 46b12fa62b..fd9ebc16e6 100644
--- a/civicrm/api/v3/examples/Mailing/Clone.ex.php
+++ b/civicrm/api/v3/examples/Mailing/Clone.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Mailing.clone API.
  *
@@ -7,10 +12,10 @@
  */
 function mailing_clone_example() {
   $params = [
-    'id' => 27,
+    'id' => 28,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Mailing', 'clone', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -41,10 +46,10 @@ function mailing_clone_expectedresult() {
     'is_error' => 0,
     'version' => 3,
     'count' => 1,
-    'id' => 28,
+    'id' => 29,
     'values' => [
-      '28' => [
-        'id' => '28',
+      '29' => [
+        'id' => '29',
         'domain_id' => '1',
         'header_id' => '1',
         'footer_id' => '2',
@@ -63,7 +68,7 @@ function mailing_clone_expectedresult() {
         'body_text' => 'This is {contact.display_name}.
 https://civicrm.org
 {domain.address}{action.optOutUrl}',
-        'body_html' => '<link href=\'https://fonts.googleapis.com/css?family=Roboto+Condensed:400,700|Zilla+Slab:500,700\' rel=\'stylesheet\' type=\'text/css\'><p><a href=\"http://{action.forward}\">Forward this email</a><a href=\"{action.forward}\">Forward this email with no protocol</a></p<p>This is {contact.display_name}.</p><p><a href=\'https://civicrm.org/\'>CiviCRM.org</a></p><p>{domain.address}{action.optOutUrl}</p>',
+        'body_html' => '<link href=\'https://fonts.googleapis.com/css?family=Roboto+Condensed:400,700|Zilla+Slab:500,700\' rel=\'stylesheet\' type=\'text/css\'><p><a href=\"{action.forward}\">Forward this email</a></p><p>This is {contact.display_name}.</p><p><a href=\'https://civicrm.org/\'>CiviCRM.org</a></p><p>{domain.address}{action.optOutUrl}</p>',
         'url_tracking' => '1',
         'forward_replies' => 0,
         'auto_responder' => 0,
@@ -71,7 +76,7 @@ https://civicrm.org
         'is_completed' => '',
         'msg_template_id' => '',
         'override_verp' => '1',
-        'created_id' => '154',
+        'created_id' => '157',
         'created_date' => '2013-07-28 08:49:19',
         'modified_date' => '2012-11-14 16:02:35',
         'scheduled_id' => '',
@@ -97,23 +102,23 @@ https://civicrm.org
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testClone"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/MailingTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testClone"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/MailingTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Mailing/Create.ex.php b/civicrm/api/v3/examples/Mailing/Create.ex.php
index 6562c989a0..b02fd78d14 100644
--- a/civicrm/api/v3/examples/Mailing/Create.ex.php
+++ b/civicrm/api/v3/examples/Mailing/Create.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Mailing.create API.
  *
@@ -11,17 +16,17 @@ function mailing_create_example() {
     'body_text' => 'This is {contact.display_name}.
 https://civicrm.org
 {domain.address}{action.optOutUrl}',
-    'body_html' => '<link href=\'https://fonts.googleapis.com/css?family=Roboto+Condensed:400,700|Zilla+Slab:500,700\' rel=\'stylesheet\' type=\'text/css\'><p><a href=\"http://{action.forward}\">Forward this email</a><a href=\"{action.forward}\">Forward this email with no protocol</a></p<p>This is {contact.display_name}.</p><p><a href=\'https://civicrm.org/\'>CiviCRM.org</a></p><p>{domain.address}{action.optOutUrl}</p>',
+    'body_html' => '<link href=\'https://fonts.googleapis.com/css?family=Roboto+Condensed:400,700|Zilla+Slab:500,700\' rel=\'stylesheet\' type=\'text/css\'><p><a href=\"{action.forward}\">Forward this email</a></p><p>This is {contact.display_name}.</p><p><a href=\'https://civicrm.org/\'>CiviCRM.org</a></p><p>{domain.address}{action.optOutUrl}</p>',
     'name' => 'mailing name',
-    'created_id' => 15,
+    'created_id' => 18,
     'header_id' => '',
     'footer_id' => '',
     'groups' => [
       'include' => [
-        '0' => 13,
+        '0' => 15,
       ],
       'exclude' => [
-        '0' => 14,
+        '0' => 16,
       ],
     ],
     'mailings' => [
@@ -42,7 +47,7 @@ https://civicrm.org
     ],
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Mailing', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -73,10 +78,10 @@ function mailing_create_expectedresult() {
     'is_error' => 0,
     'version' => 3,
     'count' => 1,
-    'id' => 9,
+    'id' => 10,
     'values' => [
-      '9' => [
-        'id' => '9',
+      '10' => [
+        'id' => '10',
         'domain_id' => '1',
         'header_id' => '',
         'footer_id' => '',
@@ -95,7 +100,7 @@ function mailing_create_expectedresult() {
         'body_text' => 'This is {contact.display_name}.
 https://civicrm.org
 {domain.address}{action.optOutUrl}',
-        'body_html' => '<link href=\'https://fonts.googleapis.com/css?family=Roboto+Condensed:400,700|Zilla+Slab:500,700\' rel=\'stylesheet\' type=\'text/css\'><p><a href=\"http://{action.forward}\">Forward this email</a><a href=\"{action.forward}\">Forward this email with no protocol</a></p<p>This is {contact.display_name}.</p><p><a href=\'https://civicrm.org/\'>CiviCRM.org</a></p><p>{domain.address}{action.optOutUrl}</p>',
+        'body_html' => '<link href=\'https://fonts.googleapis.com/css?family=Roboto+Condensed:400,700|Zilla+Slab:500,700\' rel=\'stylesheet\' type=\'text/css\'><p><a href=\"{action.forward}\">Forward this email</a></p><p>This is {contact.display_name}.</p><p><a href=\'https://civicrm.org/\'>CiviCRM.org</a></p><p>{domain.address}{action.optOutUrl}</p>',
         'url_tracking' => '1',
         'forward_replies' => 0,
         'auto_responder' => 0,
@@ -103,7 +108,7 @@ https://civicrm.org
         'is_completed' => '',
         'msg_template_id' => '',
         'override_verp' => '1',
-        'created_id' => '15',
+        'created_id' => '18',
         'created_date' => '2013-07-28 08:49:19',
         'modified_date' => '2012-11-14 16:02:35',
         'scheduled_id' => '',
@@ -129,9 +134,9 @@ https://civicrm.org
           'values' => [
             '0' => [
               'id' => '4',
-              'mailing_id' => '9',
-              'contact_id' => '16',
-              'email_id' => '16',
+              'mailing_id' => '10',
+              'contact_id' => '19',
+              'email_id' => '19',
               'api.contact.getvalue' => 'Mr. Includer Person II',
               'api.email.getvalue' => 'include.me@example.org',
             ],
@@ -145,23 +150,23 @@ https://civicrm.org
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testMailerPreviewRecipients"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/MailingTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testMailerPreviewRecipients"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/MailingTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Mailing/Delete.ex.php b/civicrm/api/v3/examples/Mailing/Delete.ex.php
index b0070b6eb4..9e3f5abaf9 100644
--- a/civicrm/api/v3/examples/Mailing/Delete.ex.php
+++ b/civicrm/api/v3/examples/Mailing/Delete.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Mailing.delete API.
  *
@@ -7,10 +12,10 @@
  */
 function mailing_delete_example() {
   $params = [
-    'id' => 26,
+    'id' => 27,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Mailing', 'delete', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -48,23 +53,23 @@ function mailing_delete_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testMailerDeleteSuccess"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/MailingTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testMailerDeleteSuccess"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/MailingTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Mailing/GetTokens.ex.php b/civicrm/api/v3/examples/Mailing/GetTokens.ex.php
index 986fd86e61..d5f75dea9e 100644
--- a/civicrm/api/v3/examples/Mailing/GetTokens.ex.php
+++ b/civicrm/api/v3/examples/Mailing/GetTokens.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Mailing.gettokens API.
  *
@@ -16,7 +21,7 @@ function mailing_gettokens_example() {
     ],
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Mailing', 'gettokens', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -46,7 +51,7 @@ function mailing_gettokens_expectedresult() {
   $expectedResult = [
     'is_error' => 0,
     'version' => 3,
-    'count' => 88,
+    'count' => 90,
     'values' => [
       '{action.unsubscribe}' => 'Unsubscribe via email',
       '{action.unsubscribeUrl}' => 'Unsubscribe via web page',
@@ -57,52 +62,58 @@ function mailing_gettokens_expectedresult() {
       '{action.forward}' => 'Forward this email (link)',
       '{action.reply}' => 'Reply to this email (link)',
       '{action.subscribeUrl}' => 'Subscribe via web page',
+      '{mailing.key}' => 'Mailing key',
+      '{mailing.name}' => 'Mailing name',
+      '{mailing.group}' => 'Mailing group',
+      '{mailing.viewUrl}' => 'Mailing permalink',
       '{domain.name}' => 'Domain name',
       '{domain.address}' => 'Domain (organization) address',
       '{domain.phone}' => 'Domain (organization) phone',
       '{domain.email}' => 'Domain (organization) email',
-      '{mailing.name}' => 'Mailing name',
-      '{mailing.group}' => 'Mailing group',
-      '{mailing.viewUrl}' => 'Mailing permalink',
-      '{contact.contact_type}' => 'Contact Type',
-      '{contact.do_not_email}' => 'Do Not Email',
-      '{contact.do_not_phone}' => 'Do Not Phone',
-      '{contact.do_not_mail}' => 'Do Not Mail',
-      '{contact.do_not_sms}' => 'Do Not Sms',
-      '{contact.do_not_trade}' => 'Do Not Trade',
-      '{contact.is_opt_out}' => 'No Bulk Emails (User Opt Out)',
+      '{domain.id}' => 'Domain ID',
+      '{domain.description}' => 'Domain Description',
+      '{domain.now}' => 'Current time/date',
+      '{domain.tax_term}' => 'Sales tax term (e.g VAT)',
+      '{contact.checksum}' => 'Checksum',
+      '{contact.current_employer}' => 'Current Employer',
+      '{contact.world_region}' => 'World Region',
+      '{contact.id}' => 'Contact ID',
+      '{contact.contact_type:label}' => 'Contact Type',
+      '{contact.do_not_email:label}' => 'Do Not Email',
+      '{contact.do_not_phone:label}' => 'Do Not Phone',
+      '{contact.do_not_mail:label}' => 'Do Not Mail',
+      '{contact.do_not_sms:label}' => 'Do Not Sms',
+      '{contact.do_not_trade:label}' => 'Do Not Trade',
+      '{contact.is_opt_out:label}' => 'No Bulk Emails (User Opt Out)',
       '{contact.external_identifier}' => 'External Identifier',
       '{contact.sort_name}' => 'Sort Name',
       '{contact.display_name}' => 'Display Name',
       '{contact.nick_name}' => 'Nickname',
       '{contact.image_URL}' => 'Image Url',
-      '{contact.preferred_communication_method}' => 'Preferred Communication Method',
-      '{contact.preferred_language}' => 'Preferred Language',
-      '{contact.preferred_mail_format}' => 'Preferred Mail Format',
+      '{contact.preferred_communication_method:label}' => 'Preferred Communication Method',
+      '{contact.preferred_language:label}' => 'Preferred Language',
+      '{contact.preferred_mail_format:label}' => 'Preferred Mail Format',
       '{contact.hash}' => 'Contact Hash',
-      '{contact.contact_source}' => 'Contact Source',
+      '{contact.source}' => 'Contact Source',
       '{contact.first_name}' => 'First Name',
       '{contact.middle_name}' => 'Middle Name',
       '{contact.last_name}' => 'Last Name',
       '{contact.prefix_id:label}' => 'Individual Prefix',
       '{contact.suffix_id:label}' => 'Individual Suffix',
       '{contact.formal_title}' => 'Formal Title',
-      '{contact.communication_style}' => 'Communication Style',
-      '{contact.email_greeting_id}' => 'Email Greeting ID',
-      '{contact.postal_greeting_id}' => 'Postal Greeting ID',
-      '{contact.addressee_id}' => 'Addressee ID',
+      '{contact.communication_style_id:label}' => 'Communication Style',
+      '{contact.email_greeting_display}' => 'Email Greeting',
+      '{contact.postal_greeting_display}' => 'Postal Greeting',
+      '{contact.addressee_display}' => 'Addressee',
       '{contact.job_title}' => 'Job Title',
-      '{contact.gender}' => 'Gender',
+      '{contact.gender_id:label}' => 'Gender',
       '{contact.birth_date}' => 'Birth Date',
-      '{contact.current_employer_id}' => 'Current Employer ID',
-      '{contact.contact_is_deleted}' => 'Contact is in Trash',
+      '{contact.employer_id}' => 'Current Employer ID',
+      '{contact.is_deleted:label}' => 'Contact is in Trash',
       '{contact.created_date}' => 'Created Date',
       '{contact.modified_date}' => 'Modified Date',
-      '{contact.addressee}' => 'Addressee',
-      '{contact.email_greeting}' => 'Email Greeting',
-      '{contact.postal_greeting}' => 'Postal Greeting',
-      '{contact.current_employer}' => 'Current Employer',
-      '{contact.location_type}' => 'Location Type',
+      '{contact.address_id}' => 'Address ID',
+      '{contact.location_type_id:label}' => 'Address Location Type',
       '{contact.street_address}' => 'Street Address',
       '{contact.street_number}' => 'Street Number',
       '{contact.street_number_suffix}' => 'Street Number Suffix',
@@ -112,30 +123,26 @@ function mailing_gettokens_expectedresult() {
       '{contact.supplemental_address_2}' => 'Supplemental Address 2',
       '{contact.supplemental_address_3}' => 'Supplemental Address 3',
       '{contact.city}' => 'City',
+      '{contact.county}' => 'County',
       '{contact.postal_code_suffix}' => 'Postal Code Suffix',
       '{contact.postal_code}' => 'Postal Code',
+      '{contact.country}' => 'Country',
       '{contact.geo_code_1}' => 'Latitude',
       '{contact.geo_code_2}' => 'Longitude',
-      '{contact.manual_geo_code}' => 'Is Manually Geocoded',
       '{contact.address_name}' => 'Address Name',
-      '{contact.master_id}' => 'Master Address Belongs To',
-      '{contact.county}' => 'County',
-      '{contact.state_province}' => 'State',
-      '{contact.country}' => 'Country',
+      '{contact.master_id}' => 'Master Address ID',
       '{contact.phone}' => 'Phone',
       '{contact.phone_ext}' => 'Phone Extension',
-      '{contact.phone_type_id}' => 'Phone Type',
+      '{contact.phone_type}' => 'Phone Type',
       '{contact.email}' => 'Email',
-      '{contact.on_hold}' => 'On Hold',
+      '{contact.on_hold:label}' => 'On Hold',
       '{contact.signature_text}' => 'Signature Text',
       '{contact.signature_html}' => 'Signature Html',
-      '{contact.im_provider}' => 'IM Provider',
-      '{contact.im}' => 'IM Screen Name',
-      '{contact.openid}' => 'OpenID',
-      '{contact.world_region}' => 'World Region',
       '{contact.url}' => 'Website',
-      '{contact.checksum}' => 'Checksum',
-      '{contact.contact_id}' => 'Internal Contact ID',
+      '{contact.openid}' => 'OpenID',
+      '{contact.im}' => 'IM Screen Name',
+      '{contact.provider_id:label}' => 'IM Provider',
+      '{contact.state_province}' => 'State/Province',
     ],
   ];
 
@@ -143,23 +150,23 @@ function mailing_gettokens_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testMailGetTokens"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/MailingTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testMailGetTokens"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/MailingTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Mailing/Submit.ex.php b/civicrm/api/v3/examples/Mailing/Submit.ex.php
index 059ac070e7..067a0ebf23 100644
--- a/civicrm/api/v3/examples/Mailing/Submit.ex.php
+++ b/civicrm/api/v3/examples/Mailing/Submit.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Mailing.submit API.
  *
@@ -9,10 +14,10 @@ function mailing_submit_example() {
   $params = [
     'scheduled_date' => '2014-12-13 10:00:00',
     'approval_date' => '2014-12-13 00:00:00',
-    'id' => 22,
+    'id' => 23,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Mailing', 'submit', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -43,13 +48,13 @@ function mailing_submit_expectedresult() {
     'is_error' => 0,
     'version' => 3,
     'count' => 1,
-    'id' => 22,
+    'id' => 23,
     'values' => [
-      '22' => [
-        'id' => '22',
+      '23' => [
+        'id' => '23',
         'domain_id' => '1',
         'header_id' => '',
-        'footer_id' => '31',
+        'footer_id' => '33',
         'reply_id' => '8',
         'unsubscribe_id' => '5',
         'resubscribe_id' => '6',
@@ -73,12 +78,12 @@ https://civicrm.org
         'is_completed' => '',
         'msg_template_id' => '',
         'override_verp' => '1',
-        'created_id' => '45',
+        'created_id' => '48',
         'created_date' => '2013-07-28 08:49:19',
         'modified_date' => '2012-11-14 16:02:35',
-        'scheduled_id' => '46',
+        'scheduled_id' => '49',
         'scheduled_date' => '20130728085413',
-        'approver_id' => '46',
+        'approver_id' => '49',
         'approval_date' => '20130728085413',
         'approval_status_id' => '1',
         'approval_note' => '',
@@ -99,23 +104,23 @@ https://civicrm.org
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testMailerSubmit"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/MailingTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testMailerSubmit"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/MailingTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/MailingAB/Create.ex.php b/civicrm/api/v3/examples/MailingAB/Create.ex.php
index 8a53d6ca71..8064520b84 100644
--- a/civicrm/api/v3/examples/MailingAB/Create.ex.php
+++ b/civicrm/api/v3/examples/MailingAB/Create.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the MailingAB.create API.
  *
@@ -16,7 +21,7 @@ function mailing_a_b_create_example() {
     'group_percentage' => 10,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('MailingAB', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -60,7 +65,7 @@ function mailing_a_b_create_expectedresult() {
         'testing_criteria' => 'subject',
         'winner_criteria' => 'open',
         'specific_url' => '',
-        'declare_winning_time' => '20190822192332',
+        'declare_winning_time' => '20220119125416',
         'group_percentage' => '10',
         'created_id' => '3',
         'created_date' => '2013-07-28 08:49:19',
@@ -72,23 +77,23 @@ function mailing_a_b_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testMailingABCreateSuccess"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/MailingABTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testMailingABCreateSuccess"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/MailingABTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/MailingEventSubscribe/Create.ex.php b/civicrm/api/v3/examples/MailingEventSubscribe/Create.ex.php
index 01a5127b75..c466adee7b 100644
--- a/civicrm/api/v3/examples/MailingEventSubscribe/Create.ex.php
+++ b/civicrm/api/v3/examples/MailingEventSubscribe/Create.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the MailingEventSubscribe.create API.
  *
@@ -14,7 +19,7 @@ function mailing_event_subscribe_create_example() {
     'time_stamp' => '20101212121212',
   ];
 
-  try{
+  try {
     $result = civicrm_api3('MailingEventSubscribe', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -59,23 +64,23 @@ function mailing_event_subscribe_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testMailerGroupSubscribeGivenContactId"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/MailingGroupTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testMailerGroupSubscribeGivenContactId"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/MailingGroupTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/MailingGroup/Subscribe.ex.php b/civicrm/api/v3/examples/MailingGroup/Subscribe.ex.php
index 50c0a7ab9c..bfe0799b37 100644
--- a/civicrm/api/v3/examples/MailingGroup/Subscribe.ex.php
+++ b/civicrm/api/v3/examples/MailingGroup/Subscribe.ex.php
@@ -1,8 +1,12 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example of using mailing_group subscribe API.
  *
- *
  * @return array
  *   API result array
  */
@@ -15,7 +19,7 @@ function mailing_group_subscribe_example() {
     'time_stamp' => '20101212121212',
   ];
 
-  try{
+  try {
     $result = civicrm_api3('mailing_group', 'subscribe', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -63,7 +67,7 @@ function mailing_group_subscribe_expectedresult() {
 * The test that created it is called
 * testMailerGroupSubscribeGivenContactId
 * and can be found in
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/MailingGroupTest.php
+* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/MailingGroupTest.php.
 *
 * You can see the outcome of the API tests at
 * https://test.civicrm.org/job/CiviCRM-master-git/
diff --git a/civicrm/api/v3/examples/Mapping/Create.ex.php b/civicrm/api/v3/examples/Mapping/Create.ex.php
index 4d5258489b..630db22863 100644
--- a/civicrm/api/v3/examples/Mapping/Create.ex.php
+++ b/civicrm/api/v3/examples/Mapping/Create.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Mapping.create API.
  *
@@ -12,7 +17,7 @@ function mapping_create_example() {
     'mapping_type_id' => 7,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Mapping', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -58,23 +63,23 @@ function mapping_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testCreateMapping"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/MappingTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testCreateMapping"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/MappingTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Mapping/Delete.ex.php b/civicrm/api/v3/examples/Mapping/Delete.ex.php
index 33529d7cb3..441b55c838 100644
--- a/civicrm/api/v3/examples/Mapping/Delete.ex.php
+++ b/civicrm/api/v3/examples/Mapping/Delete.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Mapping.delete API.
  *
@@ -10,7 +15,7 @@ function mapping_delete_example() {
     'id' => 3,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Mapping', 'delete', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -48,23 +53,23 @@ function mapping_delete_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testDeleteMapping"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/MappingTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testDeleteMapping"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/MappingTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Mapping/Get.ex.php b/civicrm/api/v3/examples/Mapping/Get.ex.php
index 96161bb1d3..2599098179 100644
--- a/civicrm/api/v3/examples/Mapping/Get.ex.php
+++ b/civicrm/api/v3/examples/Mapping/Get.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Mapping.get API.
  *
@@ -12,7 +17,7 @@ function mapping_get_example() {
     'mapping_type_id' => 7,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Mapping', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -58,23 +63,23 @@ function mapping_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGetMapping"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/MappingTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGetMapping"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/MappingTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/MappingField/Create.ex.php b/civicrm/api/v3/examples/MappingField/Create.ex.php
index 2841970b27..0ba7a34fa7 100644
--- a/civicrm/api/v3/examples/MappingField/Create.ex.php
+++ b/civicrm/api/v3/examples/MappingField/Create.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the MappingField.create API.
  *
@@ -14,7 +19,7 @@ function mapping_field_create_example() {
     'grouping' => 1,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('MappingField', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -70,23 +75,23 @@ function mapping_field_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testCreateMappingField"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/MappingFieldTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testCreateMappingField"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/MappingFieldTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/MappingField/Delete.ex.php b/civicrm/api/v3/examples/MappingField/Delete.ex.php
index 0dad4e6fd5..3faab7c636 100644
--- a/civicrm/api/v3/examples/MappingField/Delete.ex.php
+++ b/civicrm/api/v3/examples/MappingField/Delete.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the MappingField.delete API.
  *
@@ -10,7 +15,7 @@ function mapping_field_delete_example() {
     'id' => 3,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('MappingField', 'delete', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -48,23 +53,23 @@ function mapping_field_delete_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testDeleteMappingField"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/MappingFieldTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testDeleteMappingField"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/MappingFieldTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/MappingField/Get.ex.php b/civicrm/api/v3/examples/MappingField/Get.ex.php
index a2fa16de31..ee39aa1edc 100644
--- a/civicrm/api/v3/examples/MappingField/Get.ex.php
+++ b/civicrm/api/v3/examples/MappingField/Get.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the MappingField.get API.
  *
@@ -14,7 +19,7 @@ function mapping_field_get_example() {
     'grouping' => 1,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('MappingField', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -62,23 +67,23 @@ function mapping_field_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGetMappingField"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/MappingFieldTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGetMappingField"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/MappingFieldTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Membership/Create.ex.php b/civicrm/api/v3/examples/Membership/Create.ex.php
index 091043fb85..ad4357b6c9 100644
--- a/civicrm/api/v3/examples/Membership/Create.ex.php
+++ b/civicrm/api/v3/examples/Membership/Create.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Membership.create API.
  *
@@ -14,10 +19,10 @@ function membership_create_example() {
     'end_date' => '2006-12-21',
     'source' => 'Payment',
     'is_override' => 1,
-    'status_id' => 31,
+    'status_id' => 33,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Membership', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -58,7 +63,7 @@ function membership_create_expectedresult() {
         'start_date' => '2013-07-29 00:00:00',
         'end_date' => '2013-08-04 00:00:00',
         'source' => 'Payment',
-        'status_id' => '31',
+        'status_id' => '33',
         'is_override' => '1',
         'status_override_end_date' => '',
         'owner_membership_id' => '',
@@ -75,23 +80,23 @@ function membership_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testMembershipCreate"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/MembershipTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testMembershipCreate"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/MembershipTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Membership/CreateWithCustomData.ex.php b/civicrm/api/v3/examples/Membership/CreateWithCustomData.ex.php
index 8a108197c9..c37523e888 100644
--- a/civicrm/api/v3/examples/Membership/CreateWithCustomData.ex.php
+++ b/civicrm/api/v3/examples/Membership/CreateWithCustomData.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Membership.create API.
  *
@@ -8,7 +13,7 @@
 function membership_create_example() {
   $params = [
     'contact_id' => 3,
-    'membership_type_id' => 1,
+    'membership_type_id' => 'General',
     'join_date' => '2009-01-21',
     'start_date' => '2009-01-21',
     'end_date' => '2009-12-21',
@@ -18,7 +23,7 @@ function membership_create_example() {
     'custom_1' => 'custom string',
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Membership', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -76,23 +81,23 @@ function membership_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testCreateWithCustom"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/MembershipTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testCreateWithCustom"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/MembershipTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Membership/Delete.ex.php b/civicrm/api/v3/examples/Membership/Delete.ex.php
index fdc16636eb..d11b0d0793 100644
--- a/civicrm/api/v3/examples/Membership/Delete.ex.php
+++ b/civicrm/api/v3/examples/Membership/Delete.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Membership.delete API.
  *
@@ -11,7 +16,7 @@ function membership_delete_example() {
     'preserve_contribution' => 1,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Membership', 'delete', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -49,23 +54,23 @@ function membership_delete_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testMembershipDeletePreserveContribution"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/MembershipTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testMembershipDeletePreserveContribution"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/MembershipTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Membership/FilterIsCurrent.ex.php b/civicrm/api/v3/examples/Membership/FilterIsCurrent.ex.php
index fba84157ee..f0efeea000 100644
--- a/civicrm/api/v3/examples/Membership/FilterIsCurrent.ex.php
+++ b/civicrm/api/v3/examples/Membership/FilterIsCurrent.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Membership.get API.
  *
@@ -15,7 +20,7 @@ function membership_get_example() {
     ],
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Membership', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -70,23 +75,23 @@ function membership_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGetOnlyActive"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/MembershipTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGetOnlyActive"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/MembershipTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Membership/Get.ex.php b/civicrm/api/v3/examples/Membership/Get.ex.php
index 1fb614344e..98d76362c4 100644
--- a/civicrm/api/v3/examples/Membership/Get.ex.php
+++ b/civicrm/api/v3/examples/Membership/Get.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Membership.get API.
  *
@@ -7,10 +12,11 @@
  */
 function membership_get_example() {
   $params = [
-    'membership_type_id' => 1,
+    'membership_type_id' => 'General',
+    'return' => 'custom_1',
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Membership', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -45,20 +51,7 @@ function membership_get_expectedresult() {
     'values' => [
       '1' => [
         'id' => '1',
-        'contact_id' => '3',
-        'membership_type_id' => '1',
-        'join_date' => '2009-01-21',
-        'start_date' => '2013-07-29 00:00:00',
-        'end_date' => '2013-08-04 00:00:00',
-        'source' => 'Payment',
-        'status_id' => '20',
-        'is_override' => '1',
-        'is_test' => 0,
-        'is_pay_later' => 0,
         'custom_1' => 'custom string',
-        'membership_name' => 'General',
-        'relationship_name' => 'Child of',
-        'custom_1_1' => 'custom string',
       ],
     ],
   ];
@@ -67,23 +60,23 @@ function membership_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGetWithParamsMemberShipIdAndCustom"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/MembershipTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGetWithParamsMemberShipIdAndCustom"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/MembershipTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Membership/SearchWithCustomData.ex.php b/civicrm/api/v3/examples/Membership/SearchWithCustomData.ex.php
index b287131e78..900e2b4f38 100644
--- a/civicrm/api/v3/examples/Membership/SearchWithCustomData.ex.php
+++ b/civicrm/api/v3/examples/Membership/SearchWithCustomData.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Membership.create API.
  *
@@ -8,7 +13,7 @@
 function membership_create_example() {
   $params = [
     'contact_id' => 3,
-    'membership_type_id' => 1,
+    'membership_type_id' => 'General',
     'join_date' => '2009-01-21',
     'start_date' => '2009-01-21',
     'end_date' => '2009-12-21',
@@ -17,7 +22,7 @@ function membership_create_example() {
     'status_id' => 36,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Membership', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -75,23 +80,23 @@ function membership_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testSearchWithCustomDataCRM16036"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/MembershipTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testSearchWithCustomDataCRM16036"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/MembershipTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Membership/UpdateCustomData.ex.php b/civicrm/api/v3/examples/Membership/UpdateCustomData.ex.php
index 243c5968ca..f21a17757d 100644
--- a/civicrm/api/v3/examples/Membership/UpdateCustomData.ex.php
+++ b/civicrm/api/v3/examples/Membership/UpdateCustomData.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Membership.create API.
  *
@@ -8,17 +13,17 @@
 function membership_create_example() {
   $params = [
     'contact_id' => 3,
-    'membership_type_id' => 1,
+    'membership_type_id' => 'General',
     'join_date' => '2009-01-21',
     'start_date' => '2009-01-21',
     'end_date' => '2009-12-21',
     'source' => 'Payment',
     'is_override' => 1,
-    'status_id' => 42,
+    'status_id' => 43,
     'custom_1' => 'custom string',
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Membership', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -59,7 +64,7 @@ function membership_create_expectedresult() {
         'start_date' => '2013-07-29 00:00:00',
         'end_date' => '2013-08-04 00:00:00',
         'source' => 'Payment',
-        'status_id' => '42',
+        'status_id' => '43',
         'is_override' => '1',
         'status_override_end_date' => '',
         'owner_membership_id' => '',
@@ -76,23 +81,23 @@ function membership_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testUpdateWithCustom"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/MembershipTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testUpdateWithCustom"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/MembershipTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/MembershipPayment/Create.ex.php b/civicrm/api/v3/examples/MembershipPayment/Create.ex.php
index 5cf4a9ee27..73d21e41b4 100644
--- a/civicrm/api/v3/examples/MembershipPayment/Create.ex.php
+++ b/civicrm/api/v3/examples/MembershipPayment/Create.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the MembershipPayment.create API.
  *
@@ -11,7 +16,7 @@ function membership_payment_create_example() {
     'membership_id' => 1,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('MembershipPayment', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -56,23 +61,23 @@ function membership_payment_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testCreate"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/MembershipPaymentTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testCreate"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/MembershipPaymentTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/MembershipPayment/Get.ex.php b/civicrm/api/v3/examples/MembershipPayment/Get.ex.php
index fa8c03591c..0f0043af14 100644
--- a/civicrm/api/v3/examples/MembershipPayment/Get.ex.php
+++ b/civicrm/api/v3/examples/MembershipPayment/Get.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the MembershipPayment.get API.
  *
@@ -7,11 +12,11 @@
  */
 function membership_payment_get_example() {
   $params = [
-    'contribution_id' => 4,
+    'contribution_id' => 3,
     'membership_id' => 2,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('MembershipPayment', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -47,7 +52,7 @@ function membership_payment_get_expectedresult() {
       '2' => [
         'id' => '2',
         'membership_id' => '2',
-        'contribution_id' => '4',
+        'contribution_id' => '3',
       ],
     ],
   ];
@@ -56,23 +61,23 @@ function membership_payment_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGet"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/MembershipPaymentTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGet"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/MembershipPaymentTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/MembershipStatus/Create.ex.php b/civicrm/api/v3/examples/MembershipStatus/Create.ex.php
index 62b129aa52..fa9510a99a 100644
--- a/civicrm/api/v3/examples/MembershipStatus/Create.ex.php
+++ b/civicrm/api/v3/examples/MembershipStatus/Create.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the MembershipStatus.create API.
  *
@@ -10,7 +15,7 @@ function membership_status_create_example() {
     'name' => 'test membership status',
   ];
 
-  try{
+  try {
     $result = civicrm_api3('MembershipStatus', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -67,23 +72,23 @@ function membership_status_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testCreate"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/MembershipStatusTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testCreate"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/MembershipStatusTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/MembershipStatus/Get.ex.php b/civicrm/api/v3/examples/MembershipStatus/Get.ex.php
index f31da82b91..6039ecb367 100644
--- a/civicrm/api/v3/examples/MembershipStatus/Get.ex.php
+++ b/civicrm/api/v3/examples/MembershipStatus/Get.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the MembershipStatus.get API.
  *
@@ -10,7 +15,7 @@ function membership_status_get_example() {
     'name' => 'test status',
   ];
 
-  try{
+  try {
     $result = civicrm_api3('MembershipStatus', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -62,23 +67,23 @@ function membership_status_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGet"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/MembershipStatusTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGet"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/MembershipStatusTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/MembershipType/Create.ex.php b/civicrm/api/v3/examples/MembershipType/Create.ex.php
index b3adad9070..3939701e8f 100644
--- a/civicrm/api/v3/examples/MembershipType/Create.ex.php
+++ b/civicrm/api/v3/examples/MembershipType/Create.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the MembershipType.create API.
  *
@@ -9,7 +14,7 @@ function membership_type_create_example() {
   $params = [
     'name' => '40+ Membership',
     'description' => 'people above 40 are given health instructions',
-    'member_of_contact_id' => 7,
+    'member_of_contact_id' => 11,
     'financial_type_id' => 1,
     'domain_id' => '1',
     'minimum_fee' => '200',
@@ -19,7 +24,7 @@ function membership_type_create_example() {
     'visibility' => 'public',
   ];
 
-  try{
+  try {
     $result = civicrm_api3('MembershipType', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -50,14 +55,14 @@ function membership_type_create_expectedresult() {
     'is_error' => 0,
     'version' => 3,
     'count' => 1,
-    'id' => 2,
+    'id' => 3,
     'values' => [
-      '2' => [
-        'id' => '2',
+      '3' => [
+        'id' => '3',
         'domain_id' => '1',
         'name' => '40+ Membership',
         'description' => 'people above 40 are given health instructions',
-        'member_of_contact_id' => '7',
+        'member_of_contact_id' => '11',
         'financial_type_id' => '1',
         'minimum_fee' => '200',
         'duration_unit' => 'month',
@@ -83,23 +88,23 @@ function membership_type_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testCreate"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/MembershipTypeTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testCreate"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/MembershipTypeTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/MembershipType/Delete.ex.php b/civicrm/api/v3/examples/MembershipType/Delete.ex.php
index 810c7b062d..e64a2705b5 100644
--- a/civicrm/api/v3/examples/MembershipType/Delete.ex.php
+++ b/civicrm/api/v3/examples/MembershipType/Delete.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the MembershipType.delete API.
  *
@@ -7,10 +12,10 @@
  */
 function membership_type_delete_example() {
   $params = [
-    'id' => 5,
+    'id' => 10,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('MembershipType', 'delete', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -48,23 +53,23 @@ function membership_type_delete_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testDelete"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/MembershipTypeTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testDelete"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/MembershipTypeTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/MembershipType/Get.ex.php b/civicrm/api/v3/examples/MembershipType/Get.ex.php
index 35770ea494..2c403d858a 100644
--- a/civicrm/api/v3/examples/MembershipType/Get.ex.php
+++ b/civicrm/api/v3/examples/MembershipType/Get.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the MembershipType.get API.
  *
@@ -10,7 +15,7 @@ function membership_type_get_example() {
     'id' => 1,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('MembershipType', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -47,7 +52,7 @@ function membership_type_get_expectedresult() {
         'id' => '1',
         'domain_id' => '1',
         'name' => 'General',
-        'member_of_contact_id' => '4',
+        'member_of_contact_id' => '5',
         'financial_type_id' => '2',
         'minimum_fee' => '0.000000000',
         'duration_unit' => 'year',
@@ -65,23 +70,23 @@ function membership_type_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGet"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/MembershipTypeTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGet"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/MembershipTypeTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/MessageTemplate/Create.ex.php b/civicrm/api/v3/examples/MessageTemplate/Create.ex.php
index 293e6da69f..72102eda2e 100644
--- a/civicrm/api/v3/examples/MessageTemplate/Create.ex.php
+++ b/civicrm/api/v3/examples/MessageTemplate/Create.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the MessageTemplate.create API.
  *
@@ -7,16 +12,16 @@
  */
 function message_template_create_example() {
   $params = [
-    'msg_title' => 'msg_title_471',
-    'msg_subject' => 'msg_subject_471',
-    'msg_text' => 'msg_text_471',
-    'msg_html' => 'msg_html_471',
-    'workflow_id' => 471,
+    'msg_title' => 'msg_title_356',
+    'msg_subject' => 'msg_subject_356',
+    'msg_text' => 'msg_text_356',
+    'msg_html' => 'msg_html_356',
+    'workflow_id' => 356,
     'is_default' => '1',
-    'is_reserved' => 1,
+    'is_reserved' => 0,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('MessageTemplate', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -51,14 +56,15 @@ function message_template_create_expectedresult() {
     'values' => [
       '69' => [
         'id' => '69',
-        'msg_title' => 'msg_title_471',
-        'msg_subject' => 'msg_subject_471',
-        'msg_text' => 'msg_text_471',
-        'msg_html' => 'msg_html_471',
+        'msg_title' => 'msg_title_356',
+        'msg_subject' => 'msg_subject_356',
+        'msg_text' => 'msg_text_356',
+        'msg_html' => 'msg_html_356',
         'is_active' => '1',
-        'workflow_id' => '471',
+        'workflow_id' => '356',
+        'workflow_name' => '',
         'is_default' => '1',
-        'is_reserved' => '1',
+        'is_reserved' => 0,
         'is_sms' => '',
         'pdf_format_id' => '',
       ],
@@ -69,23 +75,23 @@ function message_template_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testCreate"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/MessageTemplateTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testCreate"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/MessageTemplateTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/MessageTemplate/Delete.ex.php b/civicrm/api/v3/examples/MessageTemplate/Delete.ex.php
index 5829e0df6c..99192c7874 100644
--- a/civicrm/api/v3/examples/MessageTemplate/Delete.ex.php
+++ b/civicrm/api/v3/examples/MessageTemplate/Delete.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the MessageTemplate.delete API.
  *
@@ -10,7 +15,7 @@ function message_template_delete_example() {
     'id' => 72,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('MessageTemplate', 'delete', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -48,23 +53,23 @@ function message_template_delete_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testDelete"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/MessageTemplateTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testDelete"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/MessageTemplateTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/MessageTemplate/Get.ex.php b/civicrm/api/v3/examples/MessageTemplate/Get.ex.php
index 9874c57f2e..6763b823e2 100644
--- a/civicrm/api/v3/examples/MessageTemplate/Get.ex.php
+++ b/civicrm/api/v3/examples/MessageTemplate/Get.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the MessageTemplate.get API.
  *
@@ -7,16 +12,16 @@
  */
 function message_template_get_example() {
   $params = [
-    'msg_title' => 'msg_title_472',
-    'msg_subject' => 'msg_subject_472',
-    'msg_text' => 'msg_text_472',
-    'msg_html' => 'msg_html_472',
-    'workflow_name' => 'contribution_online_invoice',
+    'msg_title' => 'msg_title_357',
+    'msg_subject' => 'msg_subject_357',
+    'msg_text' => 'msg_text_357',
+    'msg_html' => 'msg_html_357',
+    'workflow_id' => 357,
     'is_default' => '1',
-    'is_reserved' => 1,
+    'is_reserved' => 0,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('MessageTemplate', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -51,16 +56,17 @@ function message_template_get_expectedresult() {
     'values' => [
       '70' => [
         'id' => '70',
-        'msg_title' => 'msg_title_472',
-        'msg_subject' => 'msg_subject_472',
-        'msg_text' => 'msg_text_472',
-        'msg_html' => 'msg_html_472',
+        'msg_title' => 'msg_title_357',
+        'msg_subject' => 'msg_subject_357',
+        'msg_text' => 'msg_text_357',
+        'msg_html' => 'msg_html_357',
         'is_active' => '1',
-        'workflow_id' => '472',
+        'workflow_id' => '357',
+        'workflow_name' => 'workflow_name_357',
         'is_default' => '1',
-        'is_reserved' => '1',
+        'is_reserved' => 0,
         'is_sms' => 0,
-        'pdf_format_id' => '472',
+        'pdf_format_id' => '357',
       ],
     ],
   ];
@@ -69,23 +75,23 @@ function message_template_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGet"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/MessageTemplateTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGet"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/MessageTemplateTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Note/Create.ex.php b/civicrm/api/v3/examples/Note/Create.ex.php
index 8e3cd49991..d56eb91842 100644
--- a/civicrm/api/v3/examples/Note/Create.ex.php
+++ b/civicrm/api/v3/examples/Note/Create.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Note.create API.
  *
@@ -11,11 +16,13 @@ function note_create_example() {
     'entity_id' => 15,
     'note' => 'Hello!!! m testing Note',
     'contact_id' => 15,
+    'created_date' => '2012-01-17 13:04:50',
+    'note_date' => '2012-01-17 13:04:50',
     'modified_date' => '2011-01-31',
     'subject' => 'Test Note',
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Note', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -54,6 +61,8 @@ function note_create_expectedresult() {
         'entity_id' => '15',
         'note' => 'Hello!!! m testing Note',
         'contact_id' => '15',
+        'note_date' => '20120117130450',
+        'created_date' => '2013-07-28 08:49:19',
         'modified_date' => '2012-11-14 16:02:35',
         'subject' => 'Test Note',
         'privacy' => 0,
@@ -65,23 +74,23 @@ function note_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testCreate"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/NoteTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testCreate"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/NoteTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Note/Delete.ex.php b/civicrm/api/v3/examples/Note/Delete.ex.php
index cec6389e29..808d1eb5bc 100644
--- a/civicrm/api/v3/examples/Note/Delete.ex.php
+++ b/civicrm/api/v3/examples/Note/Delete.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Note.delete API.
  *
@@ -7,10 +12,10 @@
  */
 function note_delete_example() {
   $params = [
-    'id' => 32,
+    'id' => 35,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Note', 'delete', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -48,23 +53,23 @@ function note_delete_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testDelete"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/NoteTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testDelete"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/NoteTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Note/Get.ex.php b/civicrm/api/v3/examples/Note/Get.ex.php
index 17e84a67a2..487285a992 100644
--- a/civicrm/api/v3/examples/Note/Get.ex.php
+++ b/civicrm/api/v3/examples/Note/Get.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Note.get API.
  *
@@ -11,7 +16,7 @@ function note_get_example() {
     'entity_id' => 5,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Note', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -49,23 +54,23 @@ function note_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGet"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/NoteTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGet"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/NoteTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/OpenID/Create.ex.php b/civicrm/api/v3/examples/OpenID/Create.ex.php
index 03244878a4..578297d5cd 100644
--- a/civicrm/api/v3/examples/OpenID/Create.ex.php
+++ b/civicrm/api/v3/examples/OpenID/Create.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the OpenID.create API.
  *
@@ -9,9 +14,10 @@ function open_i_d_create_example() {
   $params = [
     'contact_id' => 5,
     'openid' => 'My OpenID handle',
+    'sequential' => 1,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('OpenID', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -42,15 +48,15 @@ function open_i_d_create_expectedresult() {
     'is_error' => 0,
     'version' => 3,
     'count' => 1,
-    'id' => 2,
+    'id' => 3,
     'values' => [
-      '2' => [
-        'id' => '2',
+      '0' => [
+        'id' => '3',
         'contact_id' => '5',
         'location_type_id' => '1',
         'openid' => 'My OpenID handle',
         'allowed_to_login' => '',
-        'is_primary' => '',
+        'is_primary' => '1',
       ],
     ],
   ];
@@ -59,23 +65,23 @@ function open_i_d_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testCreateOpenIDDefaultLocation"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/OpenIDTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testCreateOpenIDDefaultLocation"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/OpenIDTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/OpenID/Delete.ex.php b/civicrm/api/v3/examples/OpenID/Delete.ex.php
index 8c7318d836..b5665d6820 100644
--- a/civicrm/api/v3/examples/OpenID/Delete.ex.php
+++ b/civicrm/api/v3/examples/OpenID/Delete.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the OpenID.delete API.
  *
@@ -7,10 +12,10 @@
  */
 function open_i_d_delete_example() {
   $params = [
-    'id' => 4,
+    'id' => 7,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('OpenID', 'delete', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -48,23 +53,23 @@ function open_i_d_delete_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testDeleteOpenID"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/OpenIDTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testDeleteOpenID"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/OpenIDTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/OpenID/Get.ex.php b/civicrm/api/v3/examples/OpenID/Get.ex.php
index 9a2da402ed..e820524707 100644
--- a/civicrm/api/v3/examples/OpenID/Get.ex.php
+++ b/civicrm/api/v3/examples/OpenID/Get.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the OpenID.get API.
  *
@@ -10,9 +15,10 @@ function open_i_d_get_example() {
     'contact_id' => 7,
     'openid' => 'My OpenID handle',
     'location_type_id' => 1,
+    'sequential' => 1,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('OpenID', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -43,15 +49,15 @@ function open_i_d_get_expectedresult() {
     'is_error' => 0,
     'version' => 3,
     'count' => 1,
-    'id' => 3,
+    'id' => 5,
     'values' => [
-      '3' => [
-        'id' => '3',
+      '0' => [
+        'id' => '5',
         'contact_id' => '7',
         'location_type_id' => '1',
         'openid' => 'My OpenID handle',
         'allowed_to_login' => 0,
-        'is_primary' => 0,
+        'is_primary' => '1',
       ],
     ],
   ];
@@ -60,23 +66,23 @@ function open_i_d_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGetOpenID"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/OpenIDTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGetOpenID"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/OpenIDTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/OptionGroup/Create.ex.php b/civicrm/api/v3/examples/OptionGroup/Create.ex.php
index 109b81d4d2..54a7c59a94 100644
--- a/civicrm/api/v3/examples/OptionGroup/Create.ex.php
+++ b/civicrm/api/v3/examples/OptionGroup/Create.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the OptionGroup.create API.
  *
@@ -20,7 +25,7 @@ function option_group_create_example() {
     ],
   ];
 
-  try{
+  try {
     $result = civicrm_api3('OptionGroup', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -62,7 +67,7 @@ function option_group_create_expectedresult() {
         'is_reserved' => '1',
         'is_active' => '1',
         'is_locked' => '',
-        'api.OptionValue.create' => 869,
+        'api.OptionValue.create' => 859,
       ],
     ],
   ];
@@ -71,23 +76,23 @@ function option_group_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGetOptionCreateSuccess"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/OptionGroupTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGetOptionCreateSuccess"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/OptionGroupTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/OptionGroup/Delete.ex.php b/civicrm/api/v3/examples/OptionGroup/Delete.ex.php
index 7871a5b8b2..a80ceafe84 100644
--- a/civicrm/api/v3/examples/OptionGroup/Delete.ex.php
+++ b/civicrm/api/v3/examples/OptionGroup/Delete.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the OptionGroup.delete API.
  *
@@ -10,7 +15,7 @@ function option_group_delete_example() {
     'id' => 101,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('OptionGroup', 'delete', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -48,23 +53,23 @@ function option_group_delete_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testDeleteOptionGroup"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/OptionGroupTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testDeleteOptionGroup"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/OptionGroupTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/OptionGroup/Get.ex.php b/civicrm/api/v3/examples/OptionGroup/Get.ex.php
index a17a22183d..3cce49a734 100644
--- a/civicrm/api/v3/examples/OptionGroup/Get.ex.php
+++ b/civicrm/api/v3/examples/OptionGroup/Get.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the OptionGroup.get API.
  *
@@ -10,7 +15,7 @@ function option_group_get_example() {
     'name' => 'preferred_communication_method',
   ];
 
-  try{
+  try {
     $result = civicrm_api3('OptionGroup', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -58,23 +63,23 @@ function option_group_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGetOptionGroupByName"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/OptionGroupTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGetOptionGroupByName"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/OptionGroupTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/OptionValue/Get.ex.php b/civicrm/api/v3/examples/OptionValue/Get.ex.php
index f7158fc069..99ead82657 100644
--- a/civicrm/api/v3/examples/OptionValue/Get.ex.php
+++ b/civicrm/api/v3/examples/OptionValue/Get.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the OptionValue.get API.
  *
@@ -10,7 +15,7 @@ function option_value_get_example() {
     'option_group_id' => 1,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('OptionValue', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -109,23 +114,23 @@ function option_value_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGetOptionGroup"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/OptionValueTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGetOptionGroup"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/OptionValueTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/OptionValue/SortOption.ex.php b/civicrm/api/v3/examples/OptionValue/SortOption.ex.php
index ae9e2611cc..6dbad4c905 100644
--- a/civicrm/api/v3/examples/OptionValue/SortOption.ex.php
+++ b/civicrm/api/v3/examples/OptionValue/SortOption.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the OptionValue.getsingle API.
  *
@@ -16,7 +21,7 @@ function option_value_getsingle_example() {
     ],
   ];
 
-  try{
+  try {
     $result = civicrm_api3('OptionValue', 'getsingle', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -60,23 +65,23 @@ function option_value_getsingle_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGetSingleValueOptionValueSort"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/OptionValueTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGetSingleValueOptionValueSort"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/OptionValueTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Order/Cancel.ex.php b/civicrm/api/v3/examples/Order/Cancel.ex.php
index b2d7b2364a..fa2a1f7ffe 100644
--- a/civicrm/api/v3/examples/Order/Cancel.ex.php
+++ b/civicrm/api/v3/examples/Order/Cancel.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Order.cancel API.
  *
@@ -10,7 +15,7 @@ function order_cancel_example() {
     'contribution_id' => 1,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Order', 'cancel', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -45,7 +50,7 @@ function order_cancel_expectedresult() {
     'values' => [
       '1' => [
         'id' => '1',
-        'contact_id' => '16',
+        'contact_id' => '55',
         'financial_type_id' => '1',
         'contribution_page_id' => '',
         'payment_instrument_id' => '4',
@@ -71,8 +76,8 @@ function order_cancel_expectedresult() {
         'address_id' => '',
         'check_number' => '',
         'campaign_id' => '',
-        'creditnote_id' => '1',
-        'tax_amount' => '',
+        'creditnote_id' => 'CN_1',
+        'tax_amount' => '0.00',
         'revenue_recognition_date' => '',
         'is_template' => 0,
         'contribution_type_id' => '1',
@@ -84,23 +89,23 @@ function order_cancel_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testCancelOrder"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/OrderTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testCancelOrder"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/OrderTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Order/Create.ex.php b/civicrm/api/v3/examples/Order/Create.ex.php
index b6aab6c532..946df2862c 100644
--- a/civicrm/api/v3/examples/Order/Create.ex.php
+++ b/civicrm/api/v3/examples/Order/Create.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Order.create API.
  *
@@ -7,7 +12,7 @@
  */
 function order_create_example() {
   $params = [
-    'contact_id' => 3,
+    'contact_id' => 10,
     'receive_date' => '2010-01-20',
     'financial_type_id' => 'Event Fee',
     'contribution_status_id' => 'Pending',
@@ -28,7 +33,7 @@ function order_create_example() {
           ],
         ],
         'params' => [
-          'contact_id' => 3,
+          'contact_id' => 10,
           'membership_type_id' => 2,
           'join_date' => '2006-01-21',
           'start_date' => '2006-01-21',
@@ -40,7 +45,7 @@ function order_create_example() {
     ],
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Order', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -75,7 +80,7 @@ function order_create_expectedresult() {
     'values' => [
       '1' => [
         'id' => '1',
-        'contact_id' => '3',
+        'contact_id' => '10',
         'financial_type_id' => '4',
         'contribution_page_id' => '',
         'payment_instrument_id' => '4',
@@ -102,10 +107,26 @@ function order_create_expectedresult() {
         'check_number' => '',
         'campaign_id' => '',
         'creditnote_id' => '',
-        'tax_amount' => '',
+        'tax_amount' => 0,
         'revenue_recognition_date' => '',
         'is_template' => '',
         'contribution_type_id' => '4',
+        'line_item' => [
+          '0' => [
+            'price_field_id' => '4',
+            'price_field_value_id' => '5',
+            'label' => 'Price Field 2',
+            'field_title' => 'Price Field 2',
+            'qty' => '1',
+            'unit_price' => '200.000000000',
+            'line_total' => '200.000000000',
+            'financial_type_id' => '4',
+            'entity_table' => 'civicrm_membership',
+            'membership_type_id' => '1',
+            'tax_amount' => 0,
+            'entity_id' => '1',
+          ],
+        ],
       ],
     ],
   ];
@@ -114,23 +135,23 @@ function order_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testAddOrderForMembership"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/OrderTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testAddOrderForMembership"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/OrderTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Order/CreateOrderParticipant.ex.php b/civicrm/api/v3/examples/Order/CreateOrderParticipant.ex.php
index cb2fac99b5..0eab7fdce9 100644
--- a/civicrm/api/v3/examples/Order/CreateOrderParticipant.ex.php
+++ b/civicrm/api/v3/examples/Order/CreateOrderParticipant.ex.php
@@ -1,15 +1,20 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Order.create API.
  *
- * Create order for participant
+ * Create order for participant.
  *
  * @return array
  *   API result array
  */
 function order_create_example() {
   $params = [
-    'contact_id' => 11,
+    'contact_id' => 41,
     'receive_date' => '2010-01-20',
     'financial_type_id' => 1,
     'contribution_status_id' => 'Pending',
@@ -40,7 +45,7 @@ function order_create_example() {
           ],
         ],
         'params' => [
-          'contact_id' => 11,
+          'contact_id' => 41,
           'event_id' => 1,
           'role_id' => 1,
           'register_date' => '2007-07-21 00:00:00',
@@ -50,7 +55,7 @@ function order_create_example() {
     ],
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Order', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -85,7 +90,7 @@ function order_create_expectedresult() {
     'values' => [
       '1' => [
         'id' => '1',
-        'contact_id' => '11',
+        'contact_id' => '41',
         'financial_type_id' => '1',
         'contribution_page_id' => '',
         'payment_instrument_id' => '4',
@@ -112,10 +117,38 @@ function order_create_expectedresult() {
         'check_number' => '',
         'campaign_id' => '',
         'creditnote_id' => '',
-        'tax_amount' => '',
+        'tax_amount' => 0,
         'revenue_recognition_date' => '',
         'is_template' => '',
         'contribution_type_id' => '1',
+        'line_item' => [
+          '0' => [
+            'price_field_id' => '2',
+            'price_field_value_id' => '2',
+            'label' => 'Price Field 1',
+            'field_title' => 'Price Field 1',
+            'qty' => '1',
+            'unit_price' => '100.000000000',
+            'line_total' => '100.000000000',
+            'financial_type_id' => '4',
+            'entity_table' => 'civicrm_participant',
+            'tax_amount' => 0,
+            'entity_id' => '1',
+          ],
+          '1' => [
+            'price_field_id' => '2',
+            'price_field_value_id' => '3',
+            'label' => 'Price Field 2',
+            'field_title' => 'Price Field 2',
+            'qty' => '1',
+            'unit_price' => '200.000000000',
+            'line_total' => '200.000000000',
+            'financial_type_id' => '4',
+            'entity_table' => 'civicrm_participant',
+            'tax_amount' => 0,
+            'entity_id' => '1',
+          ],
+        ],
       ],
     ],
   ];
@@ -124,23 +157,23 @@ function order_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testAddOrderForParticipant"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/OrderTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testAddOrderForParticipant"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/OrderTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Order/Delete.ex.php b/civicrm/api/v3/examples/Order/Delete.ex.php
index 8c63b2bb6f..54828779ea 100644
--- a/civicrm/api/v3/examples/Order/Delete.ex.php
+++ b/civicrm/api/v3/examples/Order/Delete.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Order.delete API.
  *
@@ -10,7 +15,7 @@ function order_delete_example() {
     'contribution_id' => 1,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Order', 'delete', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -51,23 +56,23 @@ function order_delete_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testDeleteOrder"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/OrderTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testDeleteOrder"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/OrderTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Order/Get.ex.php b/civicrm/api/v3/examples/Order/Get.ex.php
index c5af053154..ba6353586f 100644
--- a/civicrm/api/v3/examples/Order/Get.ex.php
+++ b/civicrm/api/v3/examples/Order/Get.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Order.get API.
  *
@@ -10,7 +15,7 @@ function order_get_example() {
     'contribution_id' => 1,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Order', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -102,6 +107,7 @@ function order_get_expectedresult() {
             'price_field_value_id' => '1',
             'financial_type_id' => '1',
             'non_deductible_amount' => '0.00',
+            'tax_amount' => '0.00',
             'contribution_type_id' => '1',
           ],
         ],
@@ -113,23 +119,23 @@ function order_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGetOrder"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/OrderTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGetOrder"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/OrderTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Participant/Create.ex.php b/civicrm/api/v3/examples/Participant/Create.ex.php
index 27dd8c000d..27005da491 100644
--- a/civicrm/api/v3/examples/Participant/Create.ex.php
+++ b/civicrm/api/v3/examples/Participant/Create.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Participant.create API.
  *
@@ -7,7 +12,7 @@
  */
 function participant_create_example() {
   $params = [
-    'contact_id' => 2,
+    'contact_id' => 4,
     'event_id' => 3,
     'status_id' => 1,
     'role_id' => 1,
@@ -16,7 +21,7 @@ function participant_create_example() {
     'custom_1' => 'custom string',
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Participant', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -51,7 +56,7 @@ function participant_create_expectedresult() {
     'values' => [
       '4' => [
         'id' => '4',
-        'contact_id' => '2',
+        'contact_id' => '4',
         'event_id' => '3',
         'status_id' => '1',
         'role_id' => '1',
@@ -77,23 +82,23 @@ function participant_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testCreateWithCustom"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ParticipantTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testCreateWithCustom"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ParticipantTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Participant/Get.ex.php b/civicrm/api/v3/examples/Participant/Get.ex.php
index d883a17061..0d8c637151 100644
--- a/civicrm/api/v3/examples/Participant/Get.ex.php
+++ b/civicrm/api/v3/examples/Participant/Get.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Participant.get API.
  *
@@ -10,7 +15,7 @@ function participant_get_example() {
     'id' => 1,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Participant', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -44,7 +49,7 @@ function participant_get_expectedresult() {
     'id' => 1,
     'values' => [
       '1' => [
-        'contact_id' => '2',
+        'contact_id' => '4',
         'contact_type' => 'Individual',
         'contact_sub_type' => '',
         'sort_name' => 'Anderson, Anthony',
@@ -80,23 +85,23 @@ function participant_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGetParamsAsIdOnly"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ParticipantTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGetParamsAsIdOnly"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ParticipantTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Participant/NestedDelete.ex.php b/civicrm/api/v3/examples/Participant/NestedDelete.ex.php
index 599bf723a1..cf785d31e0 100644
--- a/civicrm/api/v3/examples/Participant/NestedDelete.ex.php
+++ b/civicrm/api/v3/examples/Participant/NestedDelete.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Participant.get API.
  *
@@ -9,11 +14,11 @@
  */
 function participant_get_example() {
   $params = [
-    'contact_id' => 4,
+    'contact_id' => 6,
     'api.participant.delete' => 1,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Participant', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -46,12 +51,12 @@ function participant_get_expectedresult() {
     'count' => 2,
     'values' => [
       '2' => [
-        'contact_id' => '4',
+        'contact_id' => '6',
         'contact_type' => 'Individual',
         'contact_sub_type' => '',
         'sort_name' => 'Anderson, Anthony',
         'display_name' => 'Mr. Anthony Anderson II',
-        'event_id' => '42',
+        'event_id' => '40',
         'event_title' => 'Annual CiviCRM meet',
         'event_start_date' => '2013-07-29 00:00:00',
         'event_end_date' => '2013-08-04 00:00:00',
@@ -82,12 +87,12 @@ function participant_get_expectedresult() {
         ],
       ],
       '3' => [
-        'contact_id' => '4',
+        'contact_id' => '6',
         'contact_type' => 'Individual',
         'contact_sub_type' => '',
         'sort_name' => 'Anderson, Anthony',
         'display_name' => 'Mr. Anthony Anderson II',
-        'event_id' => '42',
+        'event_id' => '40',
         'event_title' => 'Annual CiviCRM meet',
         'event_start_date' => '2013-07-29 00:00:00',
         'event_end_date' => '2013-08-04 00:00:00',
@@ -124,23 +129,23 @@ function participant_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testNestedDelete"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ParticipantTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testNestedDelete"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ParticipantTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Participant/NestedEventGet.ex.php b/civicrm/api/v3/examples/Participant/NestedEventGet.ex.php
index 58a12c7fb8..6862b98c28 100644
--- a/civicrm/api/v3/examples/Participant/NestedEventGet.ex.php
+++ b/civicrm/api/v3/examples/Participant/NestedEventGet.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Participant.get API.
  *
@@ -13,7 +18,7 @@ function participant_get_example() {
     'api.event.get' => 1,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Participant', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -47,7 +52,7 @@ function participant_get_expectedresult() {
     'id' => 1,
     'values' => [
       '1' => [
-        'contact_id' => '2',
+        'contact_id' => '4',
         'contact_type' => 'Individual',
         'contact_sub_type' => '',
         'sort_name' => 'Anderson, Anthony',
@@ -86,8 +91,8 @@ function participant_get_expectedresult() {
               'title' => 'Annual CiviCRM meet',
               'event_title' => 'Annual CiviCRM meet',
               'summary' => 'If you have any CiviCRM related issues or want to track where CiviCRM is heading, Sign up now',
-              'description' => 'This event is intended to give brief idea about progess of CiviCRM and giving solutions to common user issues',
-              'event_description' => 'This event is intended to give brief idea about progess of CiviCRM and giving solutions to common user issues',
+              'description' => 'This event is intended to give brief idea about progress of CiviCRM and giving solutions to common user issues',
+              'event_description' => 'This event is intended to give brief idea about progress of CiviCRM and giving solutions to common user issues',
               'event_type_id' => '1',
               'is_public' => '1',
               'start_date' => '2013-07-29 00:00:00',
@@ -128,23 +133,23 @@ function participant_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGetNestedEventGet"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ParticipantTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGetNestedEventGet"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ParticipantTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/ParticipantPayment/Create.ex.php b/civicrm/api/v3/examples/ParticipantPayment/Create.ex.php
index afb8dc3e84..e00d13fcde 100644
--- a/civicrm/api/v3/examples/ParticipantPayment/Create.ex.php
+++ b/civicrm/api/v3/examples/ParticipantPayment/Create.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the ParticipantPayment.create API.
  *
@@ -7,11 +12,11 @@
  */
 function participant_payment_create_example() {
   $params = [
-    'participant_id' => 13,
+    'participant_id' => 1,
     'contribution_id' => 1,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('ParticipantPayment', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -46,7 +51,7 @@ function participant_payment_create_expectedresult() {
     'values' => [
       '1' => [
         'id' => '1',
-        'participant_id' => '13',
+        'participant_id' => '1',
         'contribution_id' => '1',
       ],
     ],
@@ -56,23 +61,23 @@ function participant_payment_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testPaymentCreate"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ParticipantPaymentTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testPaymentCreate"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ParticipantPaymentTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/ParticipantPayment/Delete.ex.php b/civicrm/api/v3/examples/ParticipantPayment/Delete.ex.php
index fd07bbc377..ba9ac3e665 100644
--- a/civicrm/api/v3/examples/ParticipantPayment/Delete.ex.php
+++ b/civicrm/api/v3/examples/ParticipantPayment/Delete.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the ParticipantPayment.delete API.
  *
@@ -10,7 +15,7 @@ function participant_payment_delete_example() {
     'id' => 6,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('ParticipantPayment', 'delete', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -48,23 +53,23 @@ function participant_payment_delete_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testPaymentDelete"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ParticipantPaymentTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testPaymentDelete"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ParticipantPaymentTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/ParticipantPayment/Get.ex.php b/civicrm/api/v3/examples/ParticipantPayment/Get.ex.php
index c0b8e4b714..aeba37e143 100644
--- a/civicrm/api/v3/examples/ParticipantPayment/Get.ex.php
+++ b/civicrm/api/v3/examples/ParticipantPayment/Get.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the ParticipantPayment.get API.
  *
@@ -7,11 +12,11 @@
  */
 function participant_payment_get_example() {
   $params = [
-    'participant_id' => 68,
+    'participant_id' => 32,
     'contribution_id' => 7,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('ParticipantPayment', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -46,7 +51,7 @@ function participant_payment_get_expectedresult() {
     'values' => [
       '7' => [
         'id' => '7',
-        'participant_id' => '68',
+        'participant_id' => '32',
         'contribution_id' => '7',
       ],
     ],
@@ -56,23 +61,23 @@ function participant_payment_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGet"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ParticipantPaymentTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGet"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ParticipantPaymentTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/ParticipantStatusType/Create.ex.php b/civicrm/api/v3/examples/ParticipantStatusType/Create.ex.php
index 474c521007..c00c9230c5 100644
--- a/civicrm/api/v3/examples/ParticipantStatusType/Create.ex.php
+++ b/civicrm/api/v3/examples/ParticipantStatusType/Create.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the ParticipantStatusType.create API.
  *
@@ -17,7 +22,7 @@ function participant_status_type_create_example() {
     'weight' => 10,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('ParticipantStatusType', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -68,23 +73,23 @@ function participant_status_type_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGetParticipantStatusType"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ParticipantStatusTypeTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGetParticipantStatusType"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ParticipantStatusTypeTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/ParticipantStatusType/Delete.ex.php b/civicrm/api/v3/examples/ParticipantStatusType/Delete.ex.php
index 77d001b4b5..52853e3c95 100644
--- a/civicrm/api/v3/examples/ParticipantStatusType/Delete.ex.php
+++ b/civicrm/api/v3/examples/ParticipantStatusType/Delete.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the ParticipantStatusType.delete API.
  *
@@ -10,7 +15,7 @@ function participant_status_type_delete_example() {
     'id' => 19,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('ParticipantStatusType', 'delete', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -48,23 +53,23 @@ function participant_status_type_delete_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testDeleteParticipantStatusType"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ParticipantStatusTypeTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testDeleteParticipantStatusType"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ParticipantStatusTypeTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/ParticipantStatusType/Get.ex.php b/civicrm/api/v3/examples/ParticipantStatusType/Get.ex.php
index 40b6e21dc2..89fcfb3c10 100644
--- a/civicrm/api/v3/examples/ParticipantStatusType/Get.ex.php
+++ b/civicrm/api/v3/examples/ParticipantStatusType/Get.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the ParticipantStatusType.get API.
  *
@@ -17,7 +22,7 @@ function participant_status_type_get_example() {
     'weight' => 10,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('ParticipantStatusType', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -68,23 +73,23 @@ function participant_status_type_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGetParticipantStatusType"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ParticipantStatusTypeTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGetParticipantStatusType"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ParticipantStatusTypeTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Payment/Cancel.ex.php b/civicrm/api/v3/examples/Payment/Cancel.ex.php
index 3b20cb8820..93fda68e28 100644
--- a/civicrm/api/v3/examples/Payment/Cancel.ex.php
+++ b/civicrm/api/v3/examples/Payment/Cancel.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Payment.cancel API.
  *
@@ -7,11 +12,11 @@
  */
 function payment_cancel_example() {
   $params = [
-    'id' => 2,
+    'id' => 1,
     'check_permissions' => TRUE,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Payment', 'cancel', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -42,15 +47,15 @@ function payment_cancel_expectedresult() {
     'is_error' => 0,
     'version' => 3,
     'count' => 1,
-    'id' => 3,
+    'id' => 2,
     'values' => [
-      '3' => [
-        'id' => '3',
+      '2' => [
+        'id' => '2',
         'from_financial_account_id' => '7',
         'to_financial_account_id' => '6',
-        'trxn_date' => '20190820192757',
+        'trxn_date' => '20220117131002',
         'total_amount' => '-150',
-        'fee_amount' => '0.00',
+        'fee_amount' => 0,
         'net_amount' => '-150',
         'currency' => 'USD',
         'is_payment' => '1',
@@ -66,23 +71,23 @@ function payment_cancel_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testCancelPayment"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/PaymentTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testCancelPayment"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/PaymentTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Payment/Create.ex.php b/civicrm/api/v3/examples/Payment/Create.ex.php
index 98fc75e877..7f4304ca59 100644
--- a/civicrm/api/v3/examples/Payment/Create.ex.php
+++ b/civicrm/api/v3/examples/Payment/Create.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Payment.create API.
  *
@@ -11,7 +16,7 @@ function payment_create_example() {
     'total_amount' => 50,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Payment', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -42,15 +47,15 @@ function payment_create_expectedresult() {
     'is_error' => 0,
     'version' => 3,
     'count' => 1,
-    'id' => 3,
+    'id' => 2,
     'values' => [
-      '3' => [
-        'id' => '3',
+      '2' => [
+        'id' => '2',
         'from_financial_account_id' => '7',
         'to_financial_account_id' => '6',
-        'trxn_date' => '20190820192755',
+        'trxn_date' => '20220117130949',
         'total_amount' => '50',
-        'fee_amount' => '',
+        'fee_amount' => 0,
         'net_amount' => '50',
         'currency' => 'USD',
         'is_payment' => '1',
@@ -66,23 +71,23 @@ function payment_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testCreatePaymentNoLineItems"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/PaymentTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testCreatePaymentNoLineItems"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/PaymentTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Payment/CreatePaymentWithLineItems.ex.php b/civicrm/api/v3/examples/Payment/CreatePaymentWithLineItems.ex.php
index a1351e8b02..c907cf1747 100644
--- a/civicrm/api/v3/examples/Payment/CreatePaymentWithLineItems.ex.php
+++ b/civicrm/api/v3/examples/Payment/CreatePaymentWithLineItems.ex.php
@@ -1,8 +1,13 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Payment.create API.
  *
- * Payment with line item
+ * Payment with line item.
  *
  * @return array
  *   API result array
@@ -21,7 +26,7 @@ function payment_create_example() {
     ],
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Payment', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -52,15 +57,15 @@ function payment_create_expectedresult() {
     'is_error' => 0,
     'version' => 3,
     'count' => 1,
-    'id' => 3,
+    'id' => 2,
     'values' => [
-      '3' => [
-        'id' => '3',
+      '2' => [
+        'id' => '2',
         'from_financial_account_id' => '7',
         'to_financial_account_id' => '6',
-        'trxn_date' => '20190820192756',
+        'trxn_date' => '20220117130953',
         'total_amount' => '50',
-        'fee_amount' => '',
+        'fee_amount' => 0,
         'net_amount' => '50',
         'currency' => 'USD',
         'is_payment' => '1',
@@ -76,23 +81,23 @@ function payment_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testCreatePaymentLineItems"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/PaymentTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testCreatePaymentLineItems"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/PaymentTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Payment/Delete.ex.php b/civicrm/api/v3/examples/Payment/Delete.ex.php
index dea29275c0..7878115133 100644
--- a/civicrm/api/v3/examples/Payment/Delete.ex.php
+++ b/civicrm/api/v3/examples/Payment/Delete.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Payment.delete API.
  *
@@ -7,11 +12,11 @@
  */
 function payment_delete_example() {
   $params = [
-    'id' => 2,
+    'id' => '1',
     'check_permissions' => TRUE,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Payment', 'delete', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -49,23 +54,23 @@ function payment_delete_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testDeletePayment"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/PaymentTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testDeletePayment"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/PaymentTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Payment/Get.ex.php b/civicrm/api/v3/examples/Payment/Get.ex.php
index 45b2bfc958..b138cd7eb5 100644
--- a/civicrm/api/v3/examples/Payment/Get.ex.php
+++ b/civicrm/api/v3/examples/Payment/Get.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Payment.get API.
  *
@@ -11,7 +16,7 @@ function payment_get_example() {
     'check_permissions' => TRUE,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Payment', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -65,23 +70,23 @@ function payment_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGetPayment"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/PaymentTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGetPayment"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/PaymentTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Payment/UpdatePayment.ex.php b/civicrm/api/v3/examples/Payment/UpdatePayment.ex.php
index 7ac7eb09c5..6802716ea9 100644
--- a/civicrm/api/v3/examples/Payment/UpdatePayment.ex.php
+++ b/civicrm/api/v3/examples/Payment/UpdatePayment.ex.php
@@ -1,8 +1,13 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Payment.create API.
  *
- * Update Payment
+ * Update Payment.
  *
  * @return array
  *   API result array
@@ -11,11 +16,11 @@ function payment_create_example() {
   $params = [
     'contribution_id' => 1,
     'total_amount' => 100,
-    'id' => 3,
+    'id' => 2,
     'check_permissions' => TRUE,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Payment', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -46,15 +51,15 @@ function payment_create_expectedresult() {
     'is_error' => 0,
     'version' => 3,
     'count' => 1,
-    'id' => 5,
+    'id' => 4,
     'values' => [
-      '5' => [
-        'id' => '5',
+      '4' => [
+        'id' => '4',
         'from_financial_account_id' => '7',
         'to_financial_account_id' => '6',
-        'trxn_date' => '20190820192758',
+        'trxn_date' => '',
         'total_amount' => '100',
-        'fee_amount' => '',
+        'fee_amount' => 0,
         'net_amount' => '100',
         'currency' => 'USD',
         'is_payment' => '1',
@@ -70,23 +75,23 @@ function payment_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testUpdatePayment"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/PaymentTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testUpdatePayment"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/PaymentTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/PaymentProcessor/Create.ex.php b/civicrm/api/v3/examples/PaymentProcessor/Create.ex.php
index d3483bdb93..69ee100f1d 100644
--- a/civicrm/api/v3/examples/PaymentProcessor/Create.ex.php
+++ b/civicrm/api/v3/examples/PaymentProcessor/Create.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the PaymentProcessor.create API.
  *
@@ -14,7 +19,7 @@ function payment_processor_create_example() {
     'domain_id' => 1,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('PaymentProcessor', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -69,7 +74,7 @@ function payment_processor_create_expectedresult() {
         'billing_mode' => '1',
         'is_recur' => 0,
         'payment_type' => '1',
-        'payment_instrument_id' => '1',
+        'payment_instrument_id' => '2',
         'accepted_credit_cards' => '',
       ],
     ],
@@ -79,23 +84,23 @@ function payment_processor_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testPaymentProcessorCreate"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/PaymentProcessorTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testPaymentProcessorCreate"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/PaymentProcessorTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/PaymentProcessor/Delete.ex.php b/civicrm/api/v3/examples/PaymentProcessor/Delete.ex.php
index 5c3ec5bf52..5277566504 100644
--- a/civicrm/api/v3/examples/PaymentProcessor/Delete.ex.php
+++ b/civicrm/api/v3/examples/PaymentProcessor/Delete.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the PaymentProcessor.delete API.
  *
@@ -7,10 +12,10 @@
  */
 function payment_processor_delete_example() {
   $params = [
-    'id' => 3,
+    'id' => 5,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('PaymentProcessor', 'delete', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -48,23 +53,23 @@ function payment_processor_delete_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testPaymentProcessorDelete"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/PaymentProcessorTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testPaymentProcessorDelete"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/PaymentProcessorTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/PaymentProcessorType/Create.ex.php b/civicrm/api/v3/examples/PaymentProcessorType/Create.ex.php
index e0baa78f23..77b7384b19 100644
--- a/civicrm/api/v3/examples/PaymentProcessorType/Create.ex.php
+++ b/civicrm/api/v3/examples/PaymentProcessorType/Create.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the PaymentProcessorType.create API.
  *
@@ -15,7 +20,7 @@ function payment_processor_type_create_example() {
     'is_recur' => 0,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('PaymentProcessorType', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -46,10 +51,10 @@ function payment_processor_type_create_expectedresult() {
     'is_error' => 0,
     'version' => 3,
     'count' => 1,
-    'id' => 13,
+    'id' => 10,
     'values' => [
       '0' => [
-        'id' => '13',
+        'id' => '10',
         'name' => 'API_Test_PP',
         'title' => 'API Test Payment Processor',
         'description' => '',
@@ -80,23 +85,23 @@ function payment_processor_type_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testPaymentProcessorTypeCreate"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/PaymentProcessorTypeTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testPaymentProcessorTypeCreate"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/PaymentProcessorTypeTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/PaymentProcessorType/Delete.ex.php b/civicrm/api/v3/examples/PaymentProcessorType/Delete.ex.php
index e8e755d263..ce41157b04 100644
--- a/civicrm/api/v3/examples/PaymentProcessorType/Delete.ex.php
+++ b/civicrm/api/v3/examples/PaymentProcessorType/Delete.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the PaymentProcessorType.delete API.
  *
@@ -7,10 +12,10 @@
  */
 function payment_processor_type_delete_example() {
   $params = [
-    'id' => 15,
+    'id' => 13,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('PaymentProcessorType', 'delete', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -48,23 +53,23 @@ function payment_processor_type_delete_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testPaymentProcessorTypeDelete"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/PaymentProcessorTypeTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testPaymentProcessorTypeDelete"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/PaymentProcessorTypeTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/PaymentToken/Create.ex.php b/civicrm/api/v3/examples/PaymentToken/Create.ex.php
index 18c9c5da78..53dc8ae162 100644
--- a/civicrm/api/v3/examples/PaymentToken/Create.ex.php
+++ b/civicrm/api/v3/examples/PaymentToken/Create.ex.php
@@ -1,8 +1,13 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the PaymentToken.create API.
  *
- * Create a payment token - Note use of relative dates here:
+ * Create a payment token - Note use of relative dates here:.
  * @link http://www.php.net/manual/en/datetime.formats.relative.php.
  *
  * @return array
@@ -11,12 +16,12 @@
 function payment_token_create_example() {
   $params = [
     'token' => 'fancy-token-xxxx',
-    'contact_id' => 3,
-    'created_id' => 3,
-    'payment_processor_id' => 1,
+    'contact_id' => 4,
+    'created_id' => 4,
+    'payment_processor_id' => 2,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('PaymentToken', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -47,15 +52,15 @@ function payment_token_create_expectedresult() {
     'is_error' => 0,
     'version' => 3,
     'count' => 1,
-    'id' => 1,
+    'id' => 2,
     'values' => [
-      '1' => [
-        'id' => '1',
-        'contact_id' => '3',
-        'payment_processor_id' => '1',
+      '2' => [
+        'id' => '2',
+        'contact_id' => '4',
+        'payment_processor_id' => '2',
         'token' => 'fancy-token-xxxx',
         'created_date' => '2013-07-28 08:49:19',
-        'created_id' => '3',
+        'created_id' => '4',
         'expiry_date' => '',
         'email' => '',
         'billing_first_name' => '',
@@ -71,23 +76,23 @@ function payment_token_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testCreatePaymentToken"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/PaymentTokenTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testCreatePaymentToken"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/PaymentTokenTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/PaymentToken/Delete.ex.php b/civicrm/api/v3/examples/PaymentToken/Delete.ex.php
index 84e51e4002..03d7fb263d 100644
--- a/civicrm/api/v3/examples/PaymentToken/Delete.ex.php
+++ b/civicrm/api/v3/examples/PaymentToken/Delete.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the PaymentToken.delete API.
  *
@@ -7,10 +12,10 @@
  */
 function payment_token_delete_example() {
   $params = [
-    'id' => 3,
+    'id' => 6,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('PaymentToken', 'delete', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -48,23 +53,23 @@ function payment_token_delete_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testDeletePaymentToken"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/PaymentTokenTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testDeletePaymentToken"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/PaymentTokenTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/PaymentToken/Get.ex.php b/civicrm/api/v3/examples/PaymentToken/Get.ex.php
index d08f098493..fd3b33ba71 100644
--- a/civicrm/api/v3/examples/PaymentToken/Get.ex.php
+++ b/civicrm/api/v3/examples/PaymentToken/Get.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the PaymentToken.get API.
  *
@@ -8,12 +13,12 @@
 function payment_token_get_example() {
   $params = [
     'token' => 'fancy-token-xxxx',
-    'contact_id' => 4,
-    'created_id' => 4,
-    'payment_processor_id' => 2,
+    'contact_id' => 6,
+    'created_id' => 6,
+    'payment_processor_id' => 4,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('PaymentToken', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -44,15 +49,15 @@ function payment_token_get_expectedresult() {
     'is_error' => 0,
     'version' => 3,
     'count' => 1,
-    'id' => 2,
+    'id' => 4,
     'values' => [
-      '2' => [
-        'id' => '2',
-        'contact_id' => '4',
-        'payment_processor_id' => '2',
+      '4' => [
+        'id' => '4',
+        'contact_id' => '6',
+        'payment_processor_id' => '4',
         'token' => 'fancy-token-xxxx',
         'created_date' => '2013-07-28 08:49:19',
-        'created_id' => '4',
+        'created_id' => '6',
       ],
     ],
   ];
@@ -61,23 +66,23 @@ function payment_token_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGetPaymentToken"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/PaymentTokenTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGetPaymentToken"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/PaymentTokenTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Pcp/ChainedGetDelete.ex.php b/civicrm/api/v3/examples/Pcp/ChainedGetDelete.ex.php
index c5634e4add..5bab4a14a6 100644
--- a/civicrm/api/v3/examples/Pcp/ChainedGetDelete.ex.php
+++ b/civicrm/api/v3/examples/Pcp/ChainedGetDelete.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Pcp.get API.
  *
@@ -13,7 +18,7 @@ function pcp_get_example() {
     'api.Pcp.delete' => 1,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Pcp', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -92,23 +97,23 @@ function pcp_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGetPcpChainDelete"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/PcpTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGetPcpChainDelete"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/PcpTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Pcp/Create.ex.php b/civicrm/api/v3/examples/Pcp/Create.ex.php
index 85da4f8b9d..56aa78e395 100644
--- a/civicrm/api/v3/examples/Pcp/Create.ex.php
+++ b/civicrm/api/v3/examples/Pcp/Create.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Pcp.create API.
  *
@@ -13,7 +18,7 @@ function pcp_create_example() {
     'pcp_block_id' => 1,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Pcp', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -71,23 +76,23 @@ function pcp_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testCreatePcp"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/PcpTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testCreatePcp"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/PcpTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Pcp/Delete.ex.php b/civicrm/api/v3/examples/Pcp/Delete.ex.php
index a623f9b68a..83f1ec5677 100644
--- a/civicrm/api/v3/examples/Pcp/Delete.ex.php
+++ b/civicrm/api/v3/examples/Pcp/Delete.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Pcp.delete API.
  *
@@ -10,7 +15,7 @@ function pcp_delete_example() {
     'id' => 4,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Pcp', 'delete', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -48,23 +53,23 @@ function pcp_delete_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testDeletePcp"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/PcpTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testDeletePcp"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/PcpTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Pcp/Get.ex.php b/civicrm/api/v3/examples/Pcp/Get.ex.php
index d1f4a266a0..36246cbbbb 100644
--- a/civicrm/api/v3/examples/Pcp/Get.ex.php
+++ b/civicrm/api/v3/examples/Pcp/Get.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Pcp.get API.
  *
@@ -13,7 +18,7 @@ function pcp_get_example() {
     'pcp_block_id' => 1,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Pcp', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -67,23 +72,23 @@ function pcp_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGetPcp"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/PcpTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGetPcp"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/PcpTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Phone/Create.ex.php b/civicrm/api/v3/examples/Phone/Create.ex.php
index 3fd8e7b230..95eab5a783 100644
--- a/civicrm/api/v3/examples/Phone/Create.ex.php
+++ b/civicrm/api/v3/examples/Phone/Create.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Phone.create API.
  *
@@ -9,11 +14,11 @@ function phone_create_example() {
   $params = [
     'contact_id' => 5,
     'phone' => '(123) 456-7890',
-    'is_primary' => 1,
+    'is_primary' => TRUE,
     'phone_type_id' => 1,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Phone', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -44,10 +49,10 @@ function phone_create_expectedresult() {
     'is_error' => 0,
     'version' => 3,
     'count' => 1,
-    'id' => 3,
+    'id' => 4,
     'values' => [
-      '3' => [
-        'id' => '3',
+      '4' => [
+        'id' => '4',
         'contact_id' => '5',
         'location_type_id' => '1',
         'is_primary' => '1',
@@ -65,23 +70,23 @@ function phone_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testCreatePhoneDefaultLocation"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/PhoneTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testCreatePhoneDefaultLocation"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/PhoneTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Phone/Delete.ex.php b/civicrm/api/v3/examples/Phone/Delete.ex.php
index beff5e9e33..44fa2491fa 100644
--- a/civicrm/api/v3/examples/Phone/Delete.ex.php
+++ b/civicrm/api/v3/examples/Phone/Delete.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Phone.delete API.
  *
@@ -7,10 +12,10 @@
  */
 function phone_delete_example() {
   $params = [
-    'id' => 4,
+    'id' => 6,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Phone', 'delete', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -48,23 +53,23 @@ function phone_delete_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testDeletePhone"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/PhoneTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testDeletePhone"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/PhoneTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Phone/Get.ex.php b/civicrm/api/v3/examples/Phone/Get.ex.php
index 57d25de2dd..981506ad46 100644
--- a/civicrm/api/v3/examples/Phone/Get.ex.php
+++ b/civicrm/api/v3/examples/Phone/Get.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Phone.get API.
  *
@@ -11,7 +16,7 @@ function phone_get_example() {
     'phone' => '(123) 456-7890',
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Phone', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -42,10 +47,10 @@ function phone_get_expectedresult() {
     'is_error' => 0,
     'version' => 3,
     'count' => 1,
-    'id' => 5,
+    'id' => 8,
     'values' => [
-      '5' => [
-        'id' => '5',
+      '8' => [
+        'id' => '8',
         'contact_id' => '12',
         'location_type_id' => '15',
         'is_primary' => '1',
@@ -61,23 +66,23 @@ function phone_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGet"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/PhoneTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGet"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/PhoneTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Phone/GetOptions.ex.php b/civicrm/api/v3/examples/Phone/GetOptions.ex.php
index 3ac7d56b31..4ca5d28124 100644
--- a/civicrm/api/v3/examples/Phone/GetOptions.ex.php
+++ b/civicrm/api/v3/examples/Phone/GetOptions.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Phone.getoptions API.
  *
@@ -10,7 +15,7 @@ function phone_getoptions_example() {
     'field' => 'phone_type_id',
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Phone', 'getoptions', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -54,23 +59,23 @@ function phone_getoptions_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testPhoneType"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ConstantTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testPhoneType"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ConstantTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Pledge/Create.ex.php b/civicrm/api/v3/examples/Pledge/Create.ex.php
index 3ffb6b2d56..53f81be28f 100644
--- a/civicrm/api/v3/examples/Pledge/Create.ex.php
+++ b/civicrm/api/v3/examples/Pledge/Create.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Pledge.create API.
  *
@@ -8,9 +13,9 @@
 function pledge_create_example() {
   $params = [
     'contact_id' => 12,
-    'pledge_create_date' => '20190820',
-    'start_date' => '20190820',
-    'scheduled_date' => '20190822',
+    'pledge_create_date' => '20220117',
+    'start_date' => '20220117',
+    'scheduled_date' => '20220119',
     'amount' => '100',
     'pledge_status_id' => '2',
     'pledge_financial_type_id' => '1',
@@ -22,7 +27,7 @@ function pledge_create_example() {
     'sequential' => 1,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Pledge', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -88,23 +93,23 @@ function pledge_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testCreatePledge"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/PledgeTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testCreatePledge"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/PledgeTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Pledge/Delete.ex.php b/civicrm/api/v3/examples/Pledge/Delete.ex.php
index d11698ce1b..beb8fab405 100644
--- a/civicrm/api/v3/examples/Pledge/Delete.ex.php
+++ b/civicrm/api/v3/examples/Pledge/Delete.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Pledge.delete API.
  *
@@ -10,7 +15,7 @@ function pledge_delete_example() {
     'id' => 1,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Pledge', 'delete', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -51,23 +56,23 @@ function pledge_delete_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testDeletePledgeUseID"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/PledgeTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testDeletePledgeUseID"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/PledgeTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Pledge/Get.ex.php b/civicrm/api/v3/examples/Pledge/Get.ex.php
index b664e2b647..99ba597bd6 100644
--- a/civicrm/api/v3/examples/Pledge/Get.ex.php
+++ b/civicrm/api/v3/examples/Pledge/Get.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Pledge.get API.
  *
@@ -10,7 +15,7 @@ function pledge_get_example() {
     'pledge_id' => 1,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Pledge', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -51,11 +56,11 @@ function pledge_get_expectedresult() {
         'display_name' => 'Mr. Anthony Anderson II',
         'pledge_id' => '1',
         'pledge_amount' => '100.00',
-        'pledge_create_date' => '2019-08-20 00:00:00',
-        'pledge_start_date' => '2019-08-20 00:00:00',
-        'pledge_status' => 'Pending',
+        'pledge_create_date' => '2022-01-17 00:00:00',
+        'pledge_start_date' => '2022-01-17 00:00:00',
+        'pledge_status' => 'Pending Label**',
         'pledge_total_paid' => '',
-        'pledge_next_pay_date' => '2019-08-22 00:00:00',
+        'pledge_next_pay_date' => '2022-01-19 00:00:00',
         'pledge_next_pay_amount' => '20.00',
         'pledge_outstanding_amount' => '',
         'pledge_financial_type' => 'Donation',
@@ -74,23 +79,23 @@ function pledge_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGetPledge"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/PledgeTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGetPledge"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/PledgeTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Pledge/GetFilterHighDate.ex.php b/civicrm/api/v3/examples/Pledge/GetFilterHighDate.ex.php
index d7dcb34cf9..612e701095 100644
--- a/civicrm/api/v3/examples/Pledge/GetFilterHighDate.ex.php
+++ b/civicrm/api/v3/examples/Pledge/GetFilterHighDate.ex.php
@@ -1,18 +1,23 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Pledge.get API.
  *
- * demonstrates high date filter
+ * demonstrates high date filter.
  *
  * @return array
  *   API result array
  */
 function pledge_get_example() {
   $params = [
-    'pledge_start_date_high' => '20190818192828',
+    'pledge_start_date_high' => '20220115131204',
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Pledge', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -53,11 +58,11 @@ function pledge_get_expectedresult() {
         'display_name' => 'Mr. Anthony Anderson II',
         'pledge_id' => '2',
         'pledge_amount' => '100.00',
-        'pledge_create_date' => '2019-08-20 00:00:00',
-        'pledge_start_date' => '2018-03-02 00:00:00',
+        'pledge_create_date' => '2022-01-17 00:00:00',
+        'pledge_start_date' => '2021-03-05 00:00:00',
         'pledge_status' => 'Overdue',
         'pledge_total_paid' => '',
-        'pledge_next_pay_date' => '2018-03-02 00:00:00',
+        'pledge_next_pay_date' => '2021-03-05 00:00:00',
         'pledge_next_pay_amount' => '20.00',
         'pledge_outstanding_amount' => '20.00',
         'pledge_financial_type' => 'Donation',
@@ -76,23 +81,23 @@ function pledge_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testPledgeGetReturnFilters"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/PledgeTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testPledgeGetReturnFilters"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/PledgeTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/PledgePayment/Create.ex.php b/civicrm/api/v3/examples/PledgePayment/Create.ex.php
index b2c50bfaac..354e2d545a 100644
--- a/civicrm/api/v3/examples/PledgePayment/Create.ex.php
+++ b/civicrm/api/v3/examples/PledgePayment/Create.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the PledgePayment.create API.
  *
@@ -14,7 +19,7 @@ function pledge_payment_create_example() {
     'actual_amount' => 20,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('PledgePayment', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -66,23 +71,23 @@ function pledge_payment_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testCreatePledgePayment"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/PledgePaymentTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testCreatePledgePayment"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/PledgePaymentTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/PledgePayment/Delete.ex.php b/civicrm/api/v3/examples/PledgePayment/Delete.ex.php
index 7f5f8bb244..b3ffa0f071 100644
--- a/civicrm/api/v3/examples/PledgePayment/Delete.ex.php
+++ b/civicrm/api/v3/examples/PledgePayment/Delete.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the PledgePayment.delete API.
  *
@@ -10,7 +15,7 @@ function pledge_payment_delete_example() {
     'id' => 1,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('PledgePayment', 'delete', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -51,23 +56,23 @@ function pledge_payment_delete_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testDeletePledgePayment"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/PledgePaymentTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testDeletePledgePayment"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/PledgePaymentTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/PledgePayment/Get.ex.php b/civicrm/api/v3/examples/PledgePayment/Get.ex.php
index 826d83948f..6c79278e9d 100644
--- a/civicrm/api/v3/examples/PledgePayment/Get.ex.php
+++ b/civicrm/api/v3/examples/PledgePayment/Get.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the PledgePayment.get API.
  *
@@ -8,7 +13,7 @@
 function pledge_payment_get_example() {
   $params = [];
 
-  try{
+  try {
     $result = civicrm_api3('PledgePayment', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -92,23 +97,23 @@ function pledge_payment_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGetPledgePayment"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/PledgePaymentTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGetPledgePayment"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/PledgePaymentTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/PledgePayment/Update.ex.php b/civicrm/api/v3/examples/PledgePayment/Update.ex.php
index cf60c64a13..3d9f0bc215 100644
--- a/civicrm/api/v3/examples/PledgePayment/Update.ex.php
+++ b/civicrm/api/v3/examples/PledgePayment/Update.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the PledgePayment.update API.
  *
@@ -11,7 +16,7 @@ function pledge_payment_update_example() {
     'status_id' => 1,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('PledgePayment', 'update', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -63,23 +68,23 @@ function pledge_payment_update_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testUpdatePledgePayment"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/PledgePaymentTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testUpdatePledgePayment"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/PledgePaymentTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/PriceField/Create.ex.php b/civicrm/api/v3/examples/PriceField/Create.ex.php
index 05ec60e5f9..87dadf1993 100644
--- a/civicrm/api/v3/examples/PriceField/Create.ex.php
+++ b/civicrm/api/v3/examples/PriceField/Create.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the PriceField.create API.
  *
@@ -15,7 +20,7 @@ function price_field_create_example() {
     'is_active' => 1,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('PriceField', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -74,23 +79,23 @@ function price_field_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testCreatePriceField"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/PriceFieldTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testCreatePriceField"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/PriceFieldTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/PriceField/Delete.ex.php b/civicrm/api/v3/examples/PriceField/Delete.ex.php
index 483b6426e4..b8b136acaf 100644
--- a/civicrm/api/v3/examples/PriceField/Delete.ex.php
+++ b/civicrm/api/v3/examples/PriceField/Delete.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the PriceField.delete API.
  *
@@ -7,10 +12,10 @@
  */
 function price_field_delete_example() {
   $params = [
-    'id' => 4,
+    'id' => 6,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('PriceField', 'delete', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -48,23 +53,23 @@ function price_field_delete_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testDeletePriceField"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/PriceFieldTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testDeletePriceField"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/PriceFieldTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/PriceField/Get.ex.php b/civicrm/api/v3/examples/PriceField/Get.ex.php
index 0562018818..7d02feb7dd 100644
--- a/civicrm/api/v3/examples/PriceField/Get.ex.php
+++ b/civicrm/api/v3/examples/PriceField/Get.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the PriceField.get API.
  *
@@ -10,7 +15,7 @@ function price_field_get_example() {
     'name' => 'contribution_amount',
   ];
 
-  try{
+  try {
     $result = civicrm_api3('PriceField', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -64,23 +69,23 @@ function price_field_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGetBasicPriceField"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/PriceFieldTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGetBasicPriceField"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/PriceFieldTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/PriceFieldValue/Create.ex.php b/civicrm/api/v3/examples/PriceFieldValue/Create.ex.php
index 7eb90fc41b..ea5f8c026c 100644
--- a/civicrm/api/v3/examples/PriceFieldValue/Create.ex.php
+++ b/civicrm/api/v3/examples/PriceFieldValue/Create.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the PriceFieldValue.create API.
  *
@@ -17,7 +22,7 @@ function price_field_value_create_example() {
     'financial_type_id' => 2,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('PriceFieldValue', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -78,23 +83,23 @@ function price_field_value_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testCreatePriceFieldValuewithMultipleTerms"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/PriceFieldValueTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testCreatePriceFieldValuewithMultipleTerms"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/PriceFieldValueTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/PriceFieldValue/Delete.ex.php b/civicrm/api/v3/examples/PriceFieldValue/Delete.ex.php
index 58af271e84..92aa1150cc 100644
--- a/civicrm/api/v3/examples/PriceFieldValue/Delete.ex.php
+++ b/civicrm/api/v3/examples/PriceFieldValue/Delete.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the PriceFieldValue.delete API.
  *
@@ -10,7 +15,7 @@ function price_field_value_delete_example() {
     'id' => 7,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('PriceFieldValue', 'delete', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -48,23 +53,23 @@ function price_field_value_delete_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testDeletePriceFieldValue"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/PriceFieldValueTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testDeletePriceFieldValue"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/PriceFieldValueTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/PriceFieldValue/Get.ex.php b/civicrm/api/v3/examples/PriceFieldValue/Get.ex.php
index 5889b0a7a3..4011501cf7 100644
--- a/civicrm/api/v3/examples/PriceFieldValue/Get.ex.php
+++ b/civicrm/api/v3/examples/PriceFieldValue/Get.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the PriceFieldValue.get API.
  *
@@ -10,7 +15,7 @@ function price_field_value_get_example() {
     'name' => 'contribution_amount',
   ];
 
-  try{
+  try {
     $result = civicrm_api3('PriceFieldValue', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -64,23 +69,23 @@ function price_field_value_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGetBasicPriceFieldValue"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/PriceFieldValueTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGetBasicPriceFieldValue"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/PriceFieldValueTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/PriceSet/Create.ex.php b/civicrm/api/v3/examples/PriceSet/Create.ex.php
index bb18c6768f..ade9452b33 100644
--- a/civicrm/api/v3/examples/PriceSet/Create.ex.php
+++ b/civicrm/api/v3/examples/PriceSet/Create.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the PriceSet.create API.
  *
@@ -14,7 +19,7 @@ function price_set_create_example() {
     'extends' => 1,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('PriceSet', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -45,10 +50,10 @@ function price_set_create_expectedresult() {
     'is_error' => 0,
     'version' => 3,
     'count' => 1,
-    'id' => 20,
+    'id' => 6,
     'values' => [
-      '20' => [
-        'id' => '20',
+      '6' => [
+        'id' => '6',
         'domain_id' => '',
         'name' => 'event price',
         'title' => 'event price',
@@ -69,23 +74,23 @@ function price_set_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testEventPriceSet"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/PriceSetTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testEventPriceSet"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/PriceSetTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/PriceSet/Delete.ex.php b/civicrm/api/v3/examples/PriceSet/Delete.ex.php
index 7ad89e8168..2fdb2dfe25 100644
--- a/civicrm/api/v3/examples/PriceSet/Delete.ex.php
+++ b/civicrm/api/v3/examples/PriceSet/Delete.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the PriceSet.delete API.
  *
@@ -7,10 +12,10 @@
  */
 function price_set_delete_example() {
   $params = [
-    'id' => 21,
+    'id' => 7,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('PriceSet', 'delete', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -48,23 +53,23 @@ function price_set_delete_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testDeletePriceSet"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/PriceSetTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testDeletePriceSet"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/PriceSetTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/PriceSet/Get.ex.php b/civicrm/api/v3/examples/PriceSet/Get.ex.php
index adfb4b89c3..9b9eac2ff3 100644
--- a/civicrm/api/v3/examples/PriceSet/Get.ex.php
+++ b/civicrm/api/v3/examples/PriceSet/Get.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the PriceSet.get API.
  *
@@ -10,7 +15,7 @@ function price_set_get_example() {
     'name' => 'default_contribution_amount',
   ];
 
-  try{
+  try {
     $result = civicrm_api3('PriceSet', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -51,7 +56,7 @@ function price_set_get_expectedresult() {
         'extends' => '2',
         'is_quick_config' => '1',
         'is_reserved' => '1',
-        'min_amount' => 0,
+        'min_amount' => '0.00',
         'entity' => [],
       ],
     ],
@@ -61,23 +66,23 @@ function price_set_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGetBasicPriceSet"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/PriceSetTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGetBasicPriceSet"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/PriceSetTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Profile/Apply.ex.php b/civicrm/api/v3/examples/Profile/Apply.ex.php
index 54279e7b13..0ec9137f6d 100644
--- a/civicrm/api/v3/examples/Profile/Apply.ex.php
+++ b/civicrm/api/v3/examples/Profile/Apply.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Profile.apply API.
  *
@@ -7,7 +12,7 @@
  */
 function profile_apply_example() {
   $params = [
-    'profile_id' => 30,
+    'profile_id' => 31,
     'contact_id' => 5,
     'first_name' => 'abc2',
     'last_name' => 'xyz2',
@@ -17,7 +22,7 @@ function profile_apply_example() {
     'state_province-1' => '1000',
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Profile', 'apply', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -54,7 +59,7 @@ function profile_apply_expectedresult() {
       'contact_id' => 5,
       'version' => 3,
       'debug' => 1,
-      'profile_id' => 30,
+      'profile_id' => 31,
       'first_name' => 'abc2',
       'last_name' => 'xyz2',
       'email' => [
@@ -87,23 +92,23 @@ function profile_apply_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testProfileApply"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ProfileTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testProfileApply"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ProfileTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Profile/Get.ex.php b/civicrm/api/v3/examples/Profile/Get.ex.php
index a8f3e4f341..b264dc7e96 100644
--- a/civicrm/api/v3/examples/Profile/Get.ex.php
+++ b/civicrm/api/v3/examples/Profile/Get.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Profile.get API.
  *
@@ -8,14 +13,14 @@
 function profile_get_example() {
   $params = [
     'profile_id' => [
-      '0' => 15,
+      '0' => 16,
       '1' => 1,
       '2' => 'Billing',
     ],
     'contact_id' => 5,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Profile', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -47,7 +52,7 @@ function profile_get_expectedresult() {
     'version' => 3,
     'count' => 3,
     'values' => [
-      '15' => [
+      '16' => [
         'postal_code-1' => '90210',
         'state_province-1' => '1021',
         'country-1' => '1228',
@@ -85,23 +90,23 @@ function profile_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testProfileGetMultiple"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ProfileTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testProfileGetMultiple"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ProfileTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Profile/GetFields.ex.php b/civicrm/api/v3/examples/Profile/GetFields.ex.php
index b95c81efca..ee57a5e603 100644
--- a/civicrm/api/v3/examples/Profile/GetFields.ex.php
+++ b/civicrm/api/v3/examples/Profile/GetFields.ex.php
@@ -1,8 +1,13 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Profile.getfields API.
  *
- * demonstrates retrieving profile fields passing in an id
+ * demonstrates retrieving profile fields passing in an id.
  *
  * @return array
  *   API result array
@@ -10,10 +15,10 @@
 function profile_getfields_example() {
   $params = [
     'action' => 'submit',
-    'profile_id' => 22,
+    'profile_id' => 23,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Profile', 'getfields', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -72,6 +77,7 @@ function profile_getfields_expectedresult() {
         'is_required' => 0,
         'table_name' => 'civicrm_value__addcustomfie_1',
         'column_name' => '_addcustomfieldtoprofile_1',
+        'serialize' => 0,
         'where' => 'civicrm_value__addcustomfie_1._addcustomfieldtoprofile_1',
         'extends_table' => 'civicrm_contact',
         'search_table' => 'contact_a',
@@ -103,6 +109,7 @@ function profile_getfields_expectedresult() {
           'maxlength' => 64,
           'size' => 6,
         ],
+        'add' => '1.1',
         'is_core_field' => TRUE,
         'api.required' => 0,
         'help_pre' => '',
@@ -124,6 +131,8 @@ function profile_getfields_expectedresult() {
         'FKClassName' => 'CRM_Core_DAO_StateProvince',
         'html' => [
           'type' => 'ChainSelect',
+          'label' => 'State/Province',
+          'controlField' => 'country_id',
           'size' => 6,
           'maxlength' => 14,
         ],
@@ -131,7 +140,9 @@ function profile_getfields_expectedresult() {
           'table' => 'civicrm_state_province',
           'keyColumn' => 'id',
           'labelColumn' => 'name',
+          'abbrColumn' => 'abbreviation',
         ],
+        'add' => '1.1',
         'is_core_field' => TRUE,
         'FKApiName' => 'StateProvince',
         'api.required' => '1',
@@ -154,6 +165,7 @@ function profile_getfields_expectedresult() {
         'FKClassName' => 'CRM_Core_DAO_Country',
         'html' => [
           'type' => 'Select',
+          'label' => 'Country',
           'size' => 6,
           'maxlength' => 14,
         ],
@@ -164,6 +176,7 @@ function profile_getfields_expectedresult() {
           'nameColumn' => 'iso_code',
           'abbrColumn' => 'iso_code',
         ],
+        'add' => '1.1',
         'is_core_field' => TRUE,
         'FKApiName' => 'Country',
         'api.required' => '1',
@@ -190,9 +203,11 @@ function profile_getfields_expectedresult() {
         'localizable' => 0,
         'html' => [
           'type' => 'Text',
+          'label' => 'Phone',
           'maxlength' => 32,
           'size' => 20,
         ],
+        'add' => '1.1',
         'is_core_field' => TRUE,
         'api.required' => '1',
         'help_pre' => '',
@@ -222,6 +237,7 @@ function profile_getfields_expectedresult() {
           'maxlength' => 254,
           'size' => 30,
         ],
+        'add' => '1.1',
         'is_core_field' => TRUE,
         'api.required' => '1',
         'help_pre' => '',
@@ -243,15 +259,18 @@ function profile_getfields_expectedresult() {
         'headerPattern' => '/^last|(l(ast\\s)?name)$/i',
         'dataPattern' => '/^\\w+(\\s\\w+)?+$/',
         'export' => TRUE,
+        'contactType' => 'Individual',
         'table_name' => 'civicrm_contact',
         'entity' => 'contact',
         'bao' => 'CRM_Contact_BAO_Contact',
         'localizable' => 0,
         'html' => [
           'type' => 'Text',
+          'label' => 'Last Name',
           'maxlength' => 64,
           'size' => 30,
         ],
+        'add' => '1.1',
         'is_core_field' => TRUE,
         'api.required' => '1',
         'help_pre' => '',
@@ -271,15 +290,18 @@ function profile_getfields_expectedresult() {
         'headerPattern' => '/^first|(f(irst\\s)?name)$/i',
         'dataPattern' => '/^\\w+$/',
         'export' => TRUE,
+        'contactType' => 'Individual',
         'table_name' => 'civicrm_contact',
         'entity' => 'contact',
         'bao' => 'CRM_Contact_BAO_Contact',
         'localizable' => 0,
         'html' => [
           'type' => 'Text',
+          'label' => 'First Name',
           'maxlength' => 64,
           'size' => 30,
         ],
+        'add' => '1.1',
         'is_core_field' => TRUE,
         'api.required' => '1',
         'help_pre' => '',
@@ -299,23 +321,23 @@ function profile_getfields_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGetFields"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ProfileTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGetFields"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ProfileTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Profile/Submit.ex.php b/civicrm/api/v3/examples/Profile/Submit.ex.php
index 3f2d700720..841fcb32a2 100644
--- a/civicrm/api/v3/examples/Profile/Submit.ex.php
+++ b/civicrm/api/v3/examples/Profile/Submit.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Profile.submit API.
  *
@@ -7,7 +12,7 @@
  */
 function profile_submit_example() {
   $params = [
-    'profile_id' => 24,
+    'profile_id' => 25,
     'contact_id' => 5,
     'first_name' => 'abc2',
     'last_name' => 'xyz2',
@@ -17,7 +22,7 @@ function profile_submit_example() {
     'state_province-1' => '1000',
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Profile', 'submit', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -108,23 +113,23 @@ function profile_submit_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testProfileSubmit"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ProfileTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testProfileSubmit"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ProfileTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Relationship/BetweenRelationshipType.ex.php b/civicrm/api/v3/examples/Relationship/BetweenRelationshipType.ex.php
index 949b9765b3..0b50ad12b3 100644
--- a/civicrm/api/v3/examples/Relationship/BetweenRelationshipType.ex.php
+++ b/civicrm/api/v3/examples/Relationship/BetweenRelationshipType.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Relationship.get API.
  *
@@ -11,13 +16,13 @@ function relationship_get_example() {
   $params = [
     'relationship_type_id' => [
       'BETWEEN' => [
-        '0' => 36,
-        '1' => 38,
+        '0' => 56,
+        '1' => 58,
       ],
     ],
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Relationship', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -51,9 +56,9 @@ function relationship_get_expectedresult() {
     'values' => [
       '2' => [
         'id' => '2',
-        'contact_id_a' => '99',
-        'contact_id_b' => '101',
-        'relationship_type_id' => '36',
+        'contact_id_a' => '3',
+        'contact_id_b' => '5',
+        'relationship_type_id' => '56',
         'start_date' => '2013-07-29 00:00:00',
         'is_active' => '1',
         'is_permission_a_b' => 0,
@@ -61,9 +66,9 @@ function relationship_get_expectedresult() {
       ],
       '3' => [
         'id' => '3',
-        'contact_id_a' => '99',
-        'contact_id_b' => '101',
-        'relationship_type_id' => '37',
+        'contact_id_a' => '3',
+        'contact_id_b' => '5',
+        'relationship_type_id' => '57',
         'start_date' => '2013-07-29 00:00:00',
         'is_active' => '1',
         'is_permission_a_b' => 0,
@@ -71,9 +76,9 @@ function relationship_get_expectedresult() {
       ],
       '4' => [
         'id' => '4',
-        'contact_id_a' => '99',
-        'contact_id_b' => '101',
-        'relationship_type_id' => '38',
+        'contact_id_a' => '3',
+        'contact_id_b' => '5',
+        'relationship_type_id' => '58',
         'start_date' => '2013-07-29 00:00:00',
         'is_active' => '1',
         'is_permission_a_b' => 0,
@@ -86,23 +91,23 @@ function relationship_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGetTypeOperators"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/RelationshipTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-master-git/
-*
-* To Learn about the API read
-* http://wiki.civicrm.org/confluence/display/CRMDOC/Using+the+API
-*
-* Browse the api on your own site with the api explorer
-* http://MYSITE.ORG/path/to/civicrm/api
-*
-* Read more about testing here
-* http://wiki.civicrm.org/confluence/display/CRM/Testing
-*
-* API Standards documentation:
-* http://wiki.civicrm.org/confluence/display/CRM/API+Architecture+Standards
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGetTypeOperators"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/RelationshipTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Relationship/Create.ex.php b/civicrm/api/v3/examples/Relationship/Create.ex.php
index 7f8db5c433..e405bc51b1 100644
--- a/civicrm/api/v3/examples/Relationship/Create.ex.php
+++ b/civicrm/api/v3/examples/Relationship/Create.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Relationship.create API.
  *
@@ -7,16 +12,16 @@
  */
 function relationship_create_example() {
   $params = [
-    'contact_id_a' => 31,
-    'contact_id_b' => 33,
-    'relationship_type_id' => 18,
+    'contact_id_a' => 3,
+    'contact_id_b' => 5,
+    'relationship_type_id' => 26,
     'start_date' => '2010-10-30',
     'end_date' => '2010-12-30',
     'is_active' => 1,
     'note' => 'note',
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Relationship', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -51,9 +56,9 @@ function relationship_create_expectedresult() {
     'values' => [
       '1' => [
         'id' => '1',
-        'contact_id_a' => '31',
-        'contact_id_b' => '33',
-        'relationship_type_id' => '18',
+        'contact_id_a' => '3',
+        'contact_id_b' => '5',
+        'relationship_type_id' => '26',
         'start_date' => '2013-07-29 00:00:00',
         'end_date' => '2013-08-04 00:00:00',
         'is_active' => '1',
@@ -69,23 +74,23 @@ function relationship_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testRelationshipCreate"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/RelationshipTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-master-git/
-*
-* To Learn about the API read
-* http://wiki.civicrm.org/confluence/display/CRMDOC/Using+the+API
-*
-* Browse the api on your own site with the api explorer
-* http://MYSITE.ORG/path/to/civicrm/api
-*
-* Read more about testing here
-* http://wiki.civicrm.org/confluence/display/CRM/Testing
-*
-* API Standards documentation:
-* http://wiki.civicrm.org/confluence/display/CRM/API+Architecture+Standards
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testRelationshipCreate"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/RelationshipTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Relationship/Delete.ex.php b/civicrm/api/v3/examples/Relationship/Delete.ex.php
index 081973a304..0f561e92d5 100644
--- a/civicrm/api/v3/examples/Relationship/Delete.ex.php
+++ b/civicrm/api/v3/examples/Relationship/Delete.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Relationship.delete API.
  *
@@ -10,7 +15,7 @@ function relationship_delete_example() {
     'id' => 1,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Relationship', 'delete', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -48,23 +53,23 @@ function relationship_delete_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testRelationshipDelete"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/RelationshipTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-master-git/
-*
-* To Learn about the API read
-* http://wiki.civicrm.org/confluence/display/CRMDOC/Using+the+API
-*
-* Browse the api on your own site with the api explorer
-* http://MYSITE.ORG/path/to/civicrm/api
-*
-* Read more about testing here
-* http://wiki.civicrm.org/confluence/display/CRM/Testing
-*
-* API Standards documentation:
-* http://wiki.civicrm.org/confluence/display/CRM/API+Architecture+Standards
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testRelationshipDelete"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/RelationshipTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Relationship/Get.ex.php b/civicrm/api/v3/examples/Relationship/Get.ex.php
index b533076a16..c3ea39ed3a 100644
--- a/civicrm/api/v3/examples/Relationship/Get.ex.php
+++ b/civicrm/api/v3/examples/Relationship/Get.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Relationship.get API.
  *
@@ -10,7 +15,7 @@ function relationship_get_example() {
     'id' => 1,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Relationship', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -45,9 +50,9 @@ function relationship_get_expectedresult() {
     'values' => [
       '1' => [
         'id' => '1',
-        'contact_id_a' => '47',
-        'contact_id_b' => '49',
-        'relationship_type_id' => '22',
+        'contact_id_a' => '3',
+        'contact_id_b' => '5',
+        'relationship_type_id' => '33',
         'start_date' => '2013-07-29 00:00:00',
         'is_active' => '1',
         'is_permission_a_b' => 0,
@@ -62,23 +67,23 @@ function relationship_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGetWithCustom"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/RelationshipTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-master-git/
-*
-* To Learn about the API read
-* http://wiki.civicrm.org/confluence/display/CRMDOC/Using+the+API
-*
-* Browse the api on your own site with the api explorer
-* http://MYSITE.ORG/path/to/civicrm/api
-*
-* Read more about testing here
-* http://wiki.civicrm.org/confluence/display/CRM/Testing
-*
-* API Standards documentation:
-* http://wiki.civicrm.org/confluence/display/CRM/API+Architecture+Standards
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGetWithCustom"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/RelationshipTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Relationship/INRelationshipType.ex.php b/civicrm/api/v3/examples/Relationship/INRelationshipType.ex.php
index 4a323b43a3..74544ef72c 100644
--- a/civicrm/api/v3/examples/Relationship/INRelationshipType.ex.php
+++ b/civicrm/api/v3/examples/Relationship/INRelationshipType.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Relationship.get API.
  *
@@ -11,13 +16,13 @@ function relationship_get_example() {
   $params = [
     'relationship_type_id' => [
       'IN' => [
-        '0' => 36,
-        '1' => 37,
+        '0' => 56,
+        '1' => 57,
       ],
     ],
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Relationship', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -51,9 +56,9 @@ function relationship_get_expectedresult() {
     'values' => [
       '2' => [
         'id' => '2',
-        'contact_id_a' => '99',
-        'contact_id_b' => '101',
-        'relationship_type_id' => '36',
+        'contact_id_a' => '3',
+        'contact_id_b' => '5',
+        'relationship_type_id' => '56',
         'start_date' => '2013-07-29 00:00:00',
         'is_active' => '1',
         'is_permission_a_b' => 0,
@@ -61,9 +66,9 @@ function relationship_get_expectedresult() {
       ],
       '3' => [
         'id' => '3',
-        'contact_id_a' => '99',
-        'contact_id_b' => '101',
-        'relationship_type_id' => '37',
+        'contact_id_a' => '3',
+        'contact_id_b' => '5',
+        'relationship_type_id' => '57',
         'start_date' => '2013-07-29 00:00:00',
         'is_active' => '1',
         'is_permission_a_b' => 0,
@@ -76,23 +81,23 @@ function relationship_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGetTypeOperators"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/RelationshipTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-master-git/
-*
-* To Learn about the API read
-* http://wiki.civicrm.org/confluence/display/CRMDOC/Using+the+API
-*
-* Browse the api on your own site with the api explorer
-* http://MYSITE.ORG/path/to/civicrm/api
-*
-* Read more about testing here
-* http://wiki.civicrm.org/confluence/display/CRM/Testing
-*
-* API Standards documentation:
-* http://wiki.civicrm.org/confluence/display/CRM/API+Architecture+Standards
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGetTypeOperators"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/RelationshipTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Relationship/NotBetweenRelationshipType.ex.php b/civicrm/api/v3/examples/Relationship/NotBetweenRelationshipType.ex.php
index 06ae19f46a..eafff85eff 100644
--- a/civicrm/api/v3/examples/Relationship/NotBetweenRelationshipType.ex.php
+++ b/civicrm/api/v3/examples/Relationship/NotBetweenRelationshipType.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Relationship.get API.
  *
@@ -11,13 +16,13 @@ function relationship_get_example() {
   $params = [
     'relationship_type_id' => [
       'NOT BETWEEN' => [
-        '0' => 36,
-        '1' => 38,
+        '0' => 56,
+        '1' => 58,
       ],
     ],
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Relationship', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -52,9 +57,9 @@ function relationship_get_expectedresult() {
     'values' => [
       '1' => [
         'id' => '1',
-        'contact_id_a' => '99',
-        'contact_id_b' => '101',
-        'relationship_type_id' => '35',
+        'contact_id_a' => '3',
+        'contact_id_b' => '5',
+        'relationship_type_id' => '55',
         'start_date' => '2013-07-29 00:00:00',
         'is_active' => '1',
         'is_permission_a_b' => 0,
@@ -67,23 +72,23 @@ function relationship_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGetTypeOperators"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/RelationshipTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-master-git/
-*
-* To Learn about the API read
-* http://wiki.civicrm.org/confluence/display/CRMDOC/Using+the+API
-*
-* Browse the api on your own site with the api explorer
-* http://MYSITE.ORG/path/to/civicrm/api
-*
-* Read more about testing here
-* http://wiki.civicrm.org/confluence/display/CRM/Testing
-*
-* API Standards documentation:
-* http://wiki.civicrm.org/confluence/display/CRM/API+Architecture+Standards
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGetTypeOperators"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/RelationshipTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Relationship/NotInRelationshipType.ex.php b/civicrm/api/v3/examples/Relationship/NotInRelationshipType.ex.php
index 42cad00cec..2696dada28 100644
--- a/civicrm/api/v3/examples/Relationship/NotInRelationshipType.ex.php
+++ b/civicrm/api/v3/examples/Relationship/NotInRelationshipType.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Relationship.get API.
  *
@@ -11,13 +16,13 @@ function relationship_get_example() {
   $params = [
     'relationship_type_id' => [
       'NOT IN' => [
-        '0' => 36,
-        '1' => 37,
+        '0' => 56,
+        '1' => 57,
       ],
     ],
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Relationship', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -51,9 +56,9 @@ function relationship_get_expectedresult() {
     'values' => [
       '1' => [
         'id' => '1',
-        'contact_id_a' => '99',
-        'contact_id_b' => '101',
-        'relationship_type_id' => '35',
+        'contact_id_a' => '3',
+        'contact_id_b' => '5',
+        'relationship_type_id' => '55',
         'start_date' => '2013-07-29 00:00:00',
         'is_active' => '1',
         'is_permission_a_b' => 0,
@@ -61,9 +66,9 @@ function relationship_get_expectedresult() {
       ],
       '4' => [
         'id' => '4',
-        'contact_id_a' => '99',
-        'contact_id_b' => '101',
-        'relationship_type_id' => '38',
+        'contact_id_a' => '3',
+        'contact_id_b' => '5',
+        'relationship_type_id' => '58',
         'start_date' => '2013-07-29 00:00:00',
         'is_active' => '1',
         'is_permission_a_b' => 0,
@@ -76,23 +81,23 @@ function relationship_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGetTypeOperators"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/RelationshipTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-master-git/
-*
-* To Learn about the API read
-* http://wiki.civicrm.org/confluence/display/CRMDOC/Using+the+API
-*
-* Browse the api on your own site with the api explorer
-* http://MYSITE.ORG/path/to/civicrm/api
-*
-* Read more about testing here
-* http://wiki.civicrm.org/confluence/display/CRM/Testing
-*
-* API Standards documentation:
-* http://wiki.civicrm.org/confluence/display/CRM/API+Architecture+Standards
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGetTypeOperators"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/RelationshipTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Relationship/filterIsCurrent.ex.php b/civicrm/api/v3/examples/Relationship/filterIsCurrent.ex.php
index a1275167f6..5407675555 100644
--- a/civicrm/api/v3/examples/Relationship/filterIsCurrent.ex.php
+++ b/civicrm/api/v3/examples/Relationship/filterIsCurrent.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Relationship.get API.
  *
@@ -14,7 +19,7 @@ function relationship_get_example() {
     ],
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Relationship', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -49,9 +54,9 @@ function relationship_get_expectedresult() {
     'values' => [
       '2' => [
         'id' => '2',
-        'contact_id_a' => '95',
-        'contact_id_b' => '97',
-        'relationship_type_id' => '34',
+        'contact_id_a' => '3',
+        'contact_id_b' => '5',
+        'relationship_type_id' => '53',
         'start_date' => '2013-07-29 00:00:00',
         'is_active' => '1',
         'is_permission_a_b' => 0,
@@ -64,23 +69,23 @@ function relationship_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGetIsCurrent"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/RelationshipTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-master-git/
-*
-* To Learn about the API read
-* http://wiki.civicrm.org/confluence/display/CRMDOC/Using+the+API
-*
-* Browse the api on your own site with the api explorer
-* http://MYSITE.ORG/path/to/civicrm/api
-*
-* Read more about testing here
-* http://wiki.civicrm.org/confluence/display/CRM/Testing
-*
-* API Standards documentation:
-* http://wiki.civicrm.org/confluence/display/CRM/API+Architecture+Standards
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGetIsCurrent"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/RelationshipTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/RelationshipType/Create.ex.php b/civicrm/api/v3/examples/RelationshipType/Create.ex.php
index e83a875ed6..9c7d4d3537 100644
--- a/civicrm/api/v3/examples/RelationshipType/Create.ex.php
+++ b/civicrm/api/v3/examples/RelationshipType/Create.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the RelationshipType.create API.
  *
@@ -16,7 +21,7 @@ function relationship_type_create_example() {
     'sequential' => 1,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('RelationshipType', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -70,23 +75,23 @@ function relationship_type_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testRelationshipTypeCreate"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/RelationshipTypeTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testRelationshipTypeCreate"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/RelationshipTypeTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/RelationshipType/Delete.ex.php b/civicrm/api/v3/examples/RelationshipType/Delete.ex.php
index 4f2afdd612..23c3ea9245 100644
--- a/civicrm/api/v3/examples/RelationshipType/Delete.ex.php
+++ b/civicrm/api/v3/examples/RelationshipType/Delete.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the RelationshipType.delete API.
  *
@@ -10,7 +15,7 @@ function relationship_type_delete_example() {
     'id' => 1,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('RelationshipType', 'delete', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -48,23 +53,23 @@ function relationship_type_delete_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testRelationshipTypeDelete"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/RelationshipTypeTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testRelationshipTypeDelete"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/RelationshipTypeTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/ReportTemplate/Getrows.ex.php b/civicrm/api/v3/examples/ReportTemplate/Getrows.ex.php
index 97e0948a9d..5441ac2df7 100644
--- a/civicrm/api/v3/examples/ReportTemplate/Getrows.ex.php
+++ b/civicrm/api/v3/examples/ReportTemplate/Getrows.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the ReportTemplate.getrows API.
  *
@@ -18,7 +23,7 @@ function report_template_getrows_example() {
     ],
   ];
 
-  try{
+  try {
     $result = civicrm_api3('ReportTemplate', 'getrows', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -58,6 +63,7 @@ function report_template_getrows_expectedresult() {
         'civicrm_mailing_mailing_subject' => 'Hello again, {contact.display_name}',
         'civicrm_mailing_event_opened_id' => '17',
         'civicrm_mailing_event_opened_time_stamp' => '2011-05-26 13:23:22',
+        'class' => '',
         'civicrm_contact_sort_name_link' => '/index.php?q=civicrm/contact/view&amp;reset=1&amp;cid=102',
         'civicrm_contact_sort_name_hover' => 'View Contact details for this contact.',
       ],
@@ -69,6 +75,7 @@ function report_template_getrows_expectedresult() {
         'civicrm_mailing_mailing_subject' => 'Hello {contact.display_name}',
         'civicrm_mailing_event_opened_id' => '9',
         'civicrm_mailing_event_opened_time_stamp' => '2011-05-26 13:19:03',
+        'class' => '',
         'civicrm_contact_sort_name_link' => '/index.php?q=civicrm/contact/view&amp;reset=1&amp;cid=109',
         'civicrm_contact_sort_name_hover' => 'View Contact details for this contact.',
       ],
@@ -80,6 +87,7 @@ function report_template_getrows_expectedresult() {
         'civicrm_mailing_mailing_subject' => 'Hello {contact.display_name}',
         'civicrm_mailing_event_opened_id' => '5',
         'civicrm_mailing_event_opened_time_stamp' => '2011-05-26 13:17:54',
+        'class' => '',
         'civicrm_contact_sort_name_link' => '/index.php?q=civicrm/contact/view&amp;reset=1&amp;cid=110',
         'civicrm_contact_sort_name_hover' => 'View Contact details for this contact.',
       ],
@@ -91,6 +99,7 @@ function report_template_getrows_expectedresult() {
         'civicrm_mailing_mailing_subject' => 'Hello {contact.display_name}',
         'civicrm_mailing_event_opened_id' => '15',
         'civicrm_mailing_event_opened_time_stamp' => '2011-05-26 13:20:59',
+        'class' => '',
         'civicrm_contact_sort_name_link' => '/index.php?q=civicrm/contact/view&amp;reset=1&amp;cid=111',
         'civicrm_contact_sort_name_hover' => 'View Contact details for this contact.',
       ],
@@ -102,6 +111,7 @@ function report_template_getrows_expectedresult() {
         'civicrm_mailing_mailing_subject' => 'Hello {contact.display_name}',
         'civicrm_mailing_event_opened_id' => '11',
         'civicrm_mailing_event_opened_time_stamp' => '2011-05-26 13:19:44',
+        'class' => '',
         'civicrm_contact_sort_name_link' => '/index.php?q=civicrm/contact/view&amp;reset=1&amp;cid=112',
         'civicrm_contact_sort_name_hover' => 'View Contact details for this contact.',
       ],
@@ -121,23 +131,23 @@ function report_template_getrows_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testReportTemplateGetRowsMailingUniqueOpened"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ReportTemplateTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testReportTemplateGetRowsMailingUniqueOpened"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ReportTemplateTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/ReportTemplate/Getstatistics.ex.php b/civicrm/api/v3/examples/ReportTemplate/Getstatistics.ex.php
index 40f22af22b..762ecb4309 100644
--- a/civicrm/api/v3/examples/ReportTemplate/Getstatistics.ex.php
+++ b/civicrm/api/v3/examples/ReportTemplate/Getstatistics.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the ReportTemplate.getstatistics API.
  *
@@ -12,7 +17,7 @@ function report_template_getstatistics_example() {
     'report_id' => 'contribute/deferredrevenue',
   ];
 
-  try{
+  try {
     $result = civicrm_api3('ReportTemplate', 'getstatistics', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -42,15 +47,17 @@ function report_template_getstatistics_expectedresult() {
   $expectedResult = [
     'is_error' => 0,
     'version' => 3,
-    'count' => 1,
-    'id' => 'counts',
+    'count' => 3,
     'values' => [
       'counts' => [
         'rowCount' => [
           'title' => 'Row(s) Listed',
           'value' => 0,
+          'type' => 1,
         ],
       ],
+      'groups' => [],
+      'filters' => [],
     ],
   ];
 
@@ -58,23 +65,23 @@ function report_template_getstatistics_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testReportTemplateGetStatisticsAllReports"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ReportTemplateTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testReportTemplateGetStatisticsAllReports"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/ReportTemplateTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/SavedSearch/Create.ex.php b/civicrm/api/v3/examples/SavedSearch/Create.ex.php
index 8edb9f8a62..8a376d32d5 100644
--- a/civicrm/api/v3/examples/SavedSearch/Create.ex.php
+++ b/civicrm/api/v3/examples/SavedSearch/Create.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the SavedSearch.create API.
  *
@@ -7,6 +12,7 @@
  */
 function saved_search_create_example() {
   $params = [
+    'expires_date' => '2021-08-08',
     'form_values' => [
       'relation_type_id' => '6_a_b',
       'relation_target_name' => 'Default Organization',
@@ -23,7 +29,7 @@ function saved_search_create_example() {
     ],
   ];
 
-  try{
+  try {
     $result = civicrm_api3('SavedSearch', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -58,12 +64,22 @@ function saved_search_create_expectedresult() {
     'values' => [
       '3' => [
         'id' => '3',
+        'name' => '',
+        'label' => '',
         'form_values' => [
           'relation_type_id' => '6_a_b',
           'relation_target_name' => 'Default Organization',
         ],
         'mapping_id' => '',
         'search_custom_id' => '',
+        'api_entity' => '',
+        'api_params' => '',
+        'created_id' => '',
+        'modified_id' => '',
+        'expires_date' => '20210808000000',
+        'created_date' => '',
+        'modified_date' => '',
+        'description' => '',
         'api.Group.create' => [
           'is_error' => 0,
           'version' => 3,
@@ -79,6 +95,9 @@ function saved_search_create_expectedresult() {
               'saved_search_id' => '3',
               'is_active' => '1',
               'visibility' => 'User and User Admin Only',
+              'where_clause' => '',
+              'select_tables' => '',
+              'where_tables' => '',
               'group_type' => '',
               'cache_date' => '',
               'refresh_date' => '',
@@ -88,6 +107,8 @@ function saved_search_create_expectedresult() {
               'is_reserved' => 0,
               'created_id' => '',
               'modified_id' => '',
+              'frontend_title' => '',
+              'frontend_description' => '',
             ],
           ],
         ],
@@ -99,23 +120,23 @@ function saved_search_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testCreateSavedSearchWithSmartGroup"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/SavedSearchTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testCreateSavedSearchWithSmartGroup"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/SavedSearchTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/SavedSearch/Delete.ex.php b/civicrm/api/v3/examples/SavedSearch/Delete.ex.php
index 00bbed7150..37574e701e 100644
--- a/civicrm/api/v3/examples/SavedSearch/Delete.ex.php
+++ b/civicrm/api/v3/examples/SavedSearch/Delete.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the SavedSearch.delete API.
  *
@@ -7,10 +12,10 @@
  */
 function saved_search_delete_example() {
   $params = [
-    'id' => 4,
+    'id' => 6,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('SavedSearch', 'delete', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -48,23 +53,23 @@ function saved_search_delete_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testDeleteSavedSearch"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/SavedSearchTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testDeleteSavedSearch"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/SavedSearchTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/SavedSearch/Get.ex.php b/civicrm/api/v3/examples/SavedSearch/Get.ex.php
index 302240797a..7d948d0a67 100644
--- a/civicrm/api/v3/examples/SavedSearch/Get.ex.php
+++ b/civicrm/api/v3/examples/SavedSearch/Get.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the SavedSearch.get API.
  *
@@ -10,7 +15,7 @@ function saved_search_get_example() {
     'id' => 2,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('SavedSearch', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -49,6 +54,9 @@ function saved_search_get_expectedresult() {
           'relation_type_id' => '6_a_b',
           'relation_target_name' => 'Default Organization',
         ],
+        'expires_date' => '2021-08-08 00:00:00',
+        'created_date' => '2013-07-28 08:49:19',
+        'modified_date' => '2012-11-14 16:02:35',
       ],
     ],
   ];
@@ -57,23 +65,23 @@ function saved_search_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testCreateAndGetSavedSearch"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/SavedSearchTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testCreateAndGetSavedSearch"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/SavedSearchTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Setting/Create.ex.php b/civicrm/api/v3/examples/Setting/Create.ex.php
index fc2b6b9bf2..7ea582474c 100644
--- a/civicrm/api/v3/examples/Setting/Create.ex.php
+++ b/civicrm/api/v3/examples/Setting/Create.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Setting.create API.
  *
@@ -7,11 +12,11 @@
  */
 function setting_create_example() {
   $params = [
-    'domain_id' => 2,
+    'domain_id' => 21,
     'uniq_email_per_site' => 1,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Setting', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -42,9 +47,9 @@ function setting_create_expectedresult() {
     'is_error' => 0,
     'version' => 3,
     'count' => 1,
-    'id' => 2,
+    'id' => 21,
     'values' => [
-      '2' => [
+      '21' => [
         'uniq_email_per_site' => '1',
       ],
     ],
@@ -54,23 +59,23 @@ function setting_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testCreateSetting"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/SettingTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testCreateSetting"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/SettingTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Setting/CreateAllDomains.ex.php b/civicrm/api/v3/examples/Setting/CreateAllDomains.ex.php
index d25e161045..f5117e6fe2 100644
--- a/civicrm/api/v3/examples/Setting/CreateAllDomains.ex.php
+++ b/civicrm/api/v3/examples/Setting/CreateAllDomains.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Setting.create API.
  *
@@ -13,7 +18,7 @@ function setting_create_example() {
     'uniq_email_per_site' => 1,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Setting', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -43,15 +48,18 @@ function setting_create_expectedresult() {
   $expectedResult = [
     'is_error' => 0,
     'version' => 3,
-    'count' => 3,
+    'count' => 4,
     'values' => [
-      '1' => [
+      '37' => [
         'uniq_email_per_site' => '1',
       ],
-      '2' => [
+      '38' => [
+        'uniq_email_per_site' => '1',
+      ],
+      '1' => [
         'uniq_email_per_site' => '1',
       ],
-      '3' => [
+      '2' => [
         'uniq_email_per_site' => '1',
       ],
     ],
@@ -61,23 +69,23 @@ function setting_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testCreateSettingMultipleDomains"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/SettingTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testCreateSettingMultipleDomains"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/SettingTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Setting/CreateSettingCurrentDomain.ex.php b/civicrm/api/v3/examples/Setting/CreateSettingCurrentDomain.ex.php
index 038295ee25..13d5f90554 100644
--- a/civicrm/api/v3/examples/Setting/CreateSettingCurrentDomain.ex.php
+++ b/civicrm/api/v3/examples/Setting/CreateSettingCurrentDomain.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Setting.create API.
  *
@@ -12,7 +17,7 @@ function setting_create_example() {
     'uniq_email_per_site' => 1,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Setting', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -55,23 +60,23 @@ function setting_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testCreateSetting"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/SettingTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testCreateSetting"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/SettingTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Setting/CreateSpecifiedDomains.ex.php b/civicrm/api/v3/examples/Setting/CreateSpecifiedDomains.ex.php
index d344556e71..9e27e290eb 100644
--- a/civicrm/api/v3/examples/Setting/CreateSpecifiedDomains.ex.php
+++ b/civicrm/api/v3/examples/Setting/CreateSpecifiedDomains.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Setting.create API.
  *
@@ -11,12 +16,12 @@ function setting_create_example() {
   $params = [
     'domain_id' => [
       '0' => 1,
-      '1' => 3,
+      '1' => 38,
     ],
     'uniq_email_per_site' => 0,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Setting', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -51,7 +56,7 @@ function setting_create_expectedresult() {
       '1' => [
         'uniq_email_per_site' => 0,
       ],
-      '3' => [
+      '38' => [
         'uniq_email_per_site' => 0,
       ],
     ],
@@ -61,23 +66,23 @@ function setting_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testCreateSettingMultipleDomains"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/SettingTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testCreateSettingMultipleDomains"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/SettingTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Setting/Get.ex.php b/civicrm/api/v3/examples/Setting/Get.ex.php
index d25be60d68..03a62f4028 100644
--- a/civicrm/api/v3/examples/Setting/Get.ex.php
+++ b/civicrm/api/v3/examples/Setting/Get.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Setting.get API.
  *
@@ -7,11 +12,11 @@
  */
 function setting_get_example() {
   $params = [
-    'domain_id' => 2,
+    'domain_id' => 41,
     'return' => 'uniq_email_per_site',
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Setting', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -42,10 +47,10 @@ function setting_get_expectedresult() {
     'is_error' => 0,
     'version' => 3,
     'count' => 1,
-    'id' => 2,
+    'id' => 41,
     'values' => [
-      '2' => [
-        'uniq_email_per_site' => '1',
+      '41' => [
+        'uniq_email_per_site' => 0,
       ],
     ],
   ];
@@ -54,23 +59,23 @@ function setting_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGetSetting"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/SettingTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGetSetting"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/SettingTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Setting/GetAllDomains.ex.php b/civicrm/api/v3/examples/Setting/GetAllDomains.ex.php
index 7a0f6b26f1..d2d96418b1 100644
--- a/civicrm/api/v3/examples/Setting/GetAllDomains.ex.php
+++ b/civicrm/api/v3/examples/Setting/GetAllDomains.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Setting.get API.
  *
@@ -13,7 +18,7 @@ function setting_get_example() {
     'return' => 'uniq_email_per_site',
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Setting', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -43,15 +48,18 @@ function setting_get_expectedresult() {
   $expectedResult = [
     'is_error' => 0,
     'version' => 3,
-    'count' => 3,
+    'count' => 4,
     'values' => [
-      '1' => [
+      '37' => [
         'uniq_email_per_site' => '1',
       ],
-      '2' => [
+      '38' => [
+        'uniq_email_per_site' => '1',
+      ],
+      '1' => [
         'uniq_email_per_site' => '1',
       ],
-      '3' => [
+      '2' => [
         'uniq_email_per_site' => '1',
       ],
     ],
@@ -61,23 +69,23 @@ function setting_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testCreateSettingMultipleDomains"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/SettingTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testCreateSettingMultipleDomains"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/SettingTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Setting/GetDefaults.ex.php b/civicrm/api/v3/examples/Setting/GetDefaults.ex.php
index cda1629a63..a721feaf0a 100644
--- a/civicrm/api/v3/examples/Setting/GetDefaults.ex.php
+++ b/civicrm/api/v3/examples/Setting/GetDefaults.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Setting.getdefaults API.
  *
@@ -12,7 +17,7 @@ function setting_getdefaults_example() {
     'name' => 'address_format',
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Setting', 'getdefaults', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -61,23 +66,23 @@ function setting_getdefaults_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGetDefaults"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/SettingTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGetDefaults"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/SettingTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Setting/GetFields.ex.php b/civicrm/api/v3/examples/Setting/GetFields.ex.php
index 2c128b70d8..e48cac75aa 100644
--- a/civicrm/api/v3/examples/Setting/GetFields.ex.php
+++ b/civicrm/api/v3/examples/Setting/GetFields.ex.php
@@ -1,8 +1,13 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Setting.getfields API.
  *
- * Demonstrate return from getfields - see subfolder for variants
+ * Demonstrate return from getfields - see subfolder for variants.
  *
  * @return array
  *   API result array
@@ -10,7 +15,7 @@
 function setting_getfields_example() {
   $params = [];
 
-  try{
+  try {
     $result = civicrm_api3('Setting', 'getfields', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -40,7 +45,7 @@ function setting_getfields_expectedresult() {
   $expectedResult = [
     'is_error' => 0,
     'version' => 3,
-    'count' => 173,
+    'count' => 195,
     'values' => [
       'address_standardization_provider' => [
         'group_name' => 'Address Preferences',
@@ -56,7 +61,6 @@ function setting_getfields_expectedresult() {
         ],
         'is_domain' => 1,
         'is_contact' => 0,
-        'description' => '',
         'help_text' => 'CiviCRM includes an optional plugin for interfacing with the United States Postal Services (USPS) Address Standardization web service. You must register to use the USPS service at https://www.usps.com/business/web-tools-apis/address-information.htm. If you are approved, they will provide you with a User ID and the URL for the service. Plugins for other address standardization services may be available from 3rd party developers. If installed, they will be included in the drop-down below. ',
       ],
       'address_standardization_userid' => [
@@ -70,7 +74,6 @@ function setting_getfields_expectedresult() {
         'title' => 'Provider service user ID',
         'is_domain' => 1,
         'is_contact' => 0,
-        'description' => '',
         'help_text' => '',
       ],
       'address_standardization_url' => [
@@ -84,7 +87,6 @@ function setting_getfields_expectedresult() {
         'title' => 'Provider Service URL',
         'is_domain' => 1,
         'is_contact' => 0,
-        'description' => '',
         'help_text' => 'Web Service URL',
         'validate_callback' => 'CRM_Utils_Rule::url',
       ],
@@ -209,7 +211,22 @@ function setting_getfields_expectedresult() {
         'title' => 'Enable deprecated Embedded Activity Revisions',
         'is_domain' => 1,
         'is_contact' => 0,
-        'description' => 'Enable tracking of activity revisions embedded within the \"civicrm_activity\" table. Alternatively, see \"Administer => System Settings => Misc => Logging\".',
+        'description' => 'Enable tracking of activity revisions embedded within the \"civicrm_activity\" table. This should not be enabled on new installs and will be unsupported in the future. You should enable \"Administer => System Settings => Misc => Logging\" instead.',
+        'help_text' => '',
+      ],
+      'civicaseShowCaseActivities' => [
+        'group_name' => 'CiviCRM Preferences',
+        'group' => 'core',
+        'name' => 'civicaseShowCaseActivities',
+        'type' => 'Boolean',
+        'quick_form_type' => 'YesNo',
+        'default' => '',
+        'html_type' => 'radio',
+        'add' => '5.24',
+        'title' => 'Include case activities in general activity views.',
+        'is_domain' => 1,
+        'is_contact' => 0,
+        'description' => 'e.g. the Contact form\'s Activity tab listing. Without this ticked, activities that belong to a case are hidden (default behavior). Warning: enabling this option means that all case activities relating to a contact will be listed which could result in users without \"access all cases and activities\" permission being able to see see the summarized details (date, subject, assignees, status etc.). Such users will still be prevented from managing the case and viewing/editing the activity.',
         'help_text' => '',
       ],
       'cvv_backoffice_required' => [
@@ -226,25 +243,21 @@ function setting_getfields_expectedresult() {
         'is_contact' => 0,
         'description' => 'Is the CVV code required for back office credit card transactions',
         'help_text' => 'If set it back-office credit card transactions will required a cvv code. Leave as required unless you have a very strong reason to change',
+        'settings_pages' => [
+          'contribute' => [
+            'weight' => 10,
+          ],
+        ],
       ],
       'contribution_invoice_settings' => [
         'group_name' => 'Contribute Preferences',
         'group' => 'contribute',
         'name' => 'contribution_invoice_settings',
         'type' => 'Array',
-        'default' => [
-          'invoice_prefix' => 'INV_',
-          'due_date' => '10',
-          'due_date_period' => 'days',
-          'notes' => '',
-          'tax_term' => 'Sales Tax',
-          'tax_display_settings' => 'Inclusive',
-        ],
         'add' => '4.7',
-        'title' => 'Contribution Invoice Settings',
+        'title' => 'Deprecated, virtualized setting',
         'is_domain' => 1,
         'is_contact' => 0,
-        'description' => '',
         'help_text' => '',
       ],
       'invoicing' => [
@@ -262,23 +275,97 @@ function setting_getfields_expectedresult() {
         'on_change' => [
           '0' => 'CRM_Invoicing_Utils::onToggle',
         ],
+        'settings_pages' => [
+          'contribute' => [
+            'weight' => 90,
+          ],
+        ],
       ],
-      'acl_financial_type' => [
-        'group_name' => 'Contribute Preferences',
-        'group' => 'contribute',
-        'name' => 'acl_financial_type',
-        'type' => 'Boolean',
+      'invoice_prefix' => [
+        'default' => 'INV_',
+        'html_type' => 'text',
+        'name' => 'invoice_prefix',
+        'add' => '5.23',
+        'type' => 2,
+        'title' => 'Invoice Prefix',
+        'description' => 'Enter prefix to be be preprended when creating an invoice number',
+        'is_domain' => 1,
+        'is_contact' => 0,
+      ],
+      'invoice_due_date' => [
+        'default' => '10',
+        'name' => 'invoice_due_date',
+        'html_type' => 'text',
+        'title' => 'Due Date',
+        'add' => '5.23',
+        'type' => 1,
+        'is_domain' => 1,
+        'is_contact' => 0,
+      ],
+      'invoice_due_date_period' => [
+        'default' => 'days',
+        'html_type' => 'select',
+        'name' => 'invoice_due_date_period',
+        'title' => 'For transmission',
+        'weight' => 4,
+        'add' => '5.23',
+        'type' => 2,
+        'is_domain' => 1,
+        'is_contact' => 0,
+        'description' => 'Select the interval for due date.',
+        'options' => [
+          'select' => '- select -',
+          'days' => 'Days',
+          'months' => 'Months',
+          'years' => 'Years',
+        ],
+      ],
+      'invoice_notes' => [
+        'default' => '',
+        'name' => 'invoice_notes',
+        'html_type' => 'wysiwyg',
+        'title' => 'Notes or Standard Terms',
+        'type' => 2,
+        'add' => '5.23',
+        'is_domain' => 1,
+        'is_contact' => 0,
+        'description' => 'Enter note or message to be displayed on PDF invoice or credit notes ',
+        'attributes' => [
+          'rows' => 2,
+          'cols' => 40,
+        ],
+      ],
+      'invoice_is_email_pdf' => [
+        'name' => 'invoice_is_email_pdf',
         'html_type' => 'checkbox',
-        'quick_form_type' => 'Element',
-        'default' => 0,
-        'add' => '4.7',
-        'title' => 'Enable Access Control by Financial Type',
+        'add' => '5.23',
+        'type' => 16,
         'is_domain' => 1,
         'is_contact' => 0,
-        'description' => '',
-        'help_text' => '',
-        'help' => [
-          'id' => 'acl_financial_type',
+        'title' => 'Automatically email invoice when user purchases online',
+        'description' => 'Should a pdf invoice be emailed automatically?',
+      ],
+      'tax_term' => [
+        'default' => 'Sales Tax',
+        'name' => 'tax_term',
+        'html_type' => 'text',
+        'add' => '5.23',
+        'title' => 'Tax Term',
+        'type' => 2,
+        'is_domain' => 1,
+        'is_contact' => 0,
+      ],
+      'tax_display_settings' => [
+        'default' => 'Inclusive',
+        'html_type' => 'select',
+        'name' => 'tax_display_settings',
+        'type' => 2,
+        'add' => '5.23',
+        'title' => 'Tax Display Settings',
+        'is_domain' => 1,
+        'is_contact' => 0,
+        'pseudoconstant' => [
+          'callback' => 'CRM_Core_SelectValues::taxDisplayOptions',
         ],
       ],
       'deferred_revenue_enabled' => [
@@ -293,8 +380,12 @@ function setting_getfields_expectedresult() {
         'title' => 'Enable Deferred Revenue',
         'is_domain' => 1,
         'is_contact' => 0,
-        'description' => '',
         'help_text' => '',
+        'settings_pages' => [
+          'contribute' => [
+            'weight' => 50,
+          ],
+        ],
       ],
       'default_invoice_page' => [
         'group_name' => 'Contribute Preferences',
@@ -304,15 +395,21 @@ function setting_getfields_expectedresult() {
         'quick_form_type' => 'Select',
         'default' => '',
         'pseudoconstant' => [
-          'callback' => 'CRM_Contribute_PseudoConstant::contributionPage',
+          'table' => 'civicrm_contribution_page',
+          'keyColumn' => 'id',
+          'labelColumn' => 'title',
         ],
         'html_type' => 'select',
         'add' => '4.7',
         'title' => 'Default invoice payment page',
         'is_domain' => 1,
         'is_contact' => 0,
-        'description' => '',
         'help_text' => '',
+        'settings_pages' => [
+          'contribute' => [
+            'weight' => 70,
+          ],
+        ],
       ],
       'always_post_to_accounts_receivable' => [
         'group_name' => 'Contribute Preferences',
@@ -326,8 +423,12 @@ function setting_getfields_expectedresult() {
         'title' => 'Always post to Accounts Receivable?',
         'is_domain' => 1,
         'is_contact' => 0,
-        'description' => '',
         'help_text' => '',
+        'settings_pages' => [
+          'contribute' => [
+            'weight' => 40,
+          ],
+        ],
       ],
       'update_contribution_on_membership_type_change' => [
         'group_name' => 'Contribute Preferences',
@@ -343,6 +444,11 @@ function setting_getfields_expectedresult() {
         'is_contact' => 0,
         'description' => 'Enabling this setting will update related contribution of membership(s) except if the membership is paid for with a recurring contribution.',
         'help_text' => '',
+        'settings_pages' => [
+          'contribute' => [
+            'weight' => 20,
+          ],
+        ],
       ],
       'contact_view_options' => [
         'group_name' => 'CiviCRM Preferences',
@@ -424,7 +530,7 @@ function setting_getfields_expectedresult() {
         'pseudoconstant' => [
           'optionGroupName' => 'address_options',
         ],
-        'default' => '123456891011',
+        'default' => '12345689101112',
         'add' => '4.1',
         'title' => 'Address Fields',
         'is_domain' => 1,
@@ -479,7 +585,7 @@ function setting_getfields_expectedresult() {
         'name' => 'display_name_format',
         'type' => 'String',
         'html_type' => 'textarea',
-        'default' => '{contact.prefix_id:label}{ }{contact.first_name}{ }{contact.last_name}{ }{contact.suffix_id:label}',
+        'default' => '{contact.individual_prefix}{ }{contact.first_name}{ }{contact.last_name}{ }{contact.individual_suffix}',
         'add' => '4.1',
         'title' => 'Individual Display Name Format',
         'is_domain' => 1,
@@ -580,6 +686,28 @@ function setting_getfields_expectedresult() {
         'description' => '',
         'help_text' => '',
       ],
+      'defaultExternUrl' => [
+        'group_name' => 'CiviCRM Preferences',
+        'group' => 'core',
+        'name' => 'defaultExternUrl',
+        'type' => 'String',
+        'quick_form_type' => 'Select',
+        'html_type' => 'Select',
+        'html_attributes' => [
+          'class' => 'crm-select2',
+        ],
+        'default' => 'router',
+        'add' => '5.27',
+        'title' => 'Extern URL Style',
+        'is_domain' => 1,
+        'is_contact' => 0,
+        'description' => 'This setting provides transitional support. It should be set to \"Prefer normal router.\" If your deployment requires \"Prefer standalone script\", then please ensure that the issue is tracked in <code>lab.civicrm.org</code>.',
+        'help_text' => '',
+        'options' => [
+          'standalone' => 'Prefer standalone scripts',
+          'router' => 'Prefer normal router',
+        ],
+      ],
       'activity_assignee_notification' => [
         'group_name' => 'CiviCRM Preferences',
         'group' => 'core',
@@ -677,9 +805,26 @@ function setting_getfields_expectedresult() {
         'pseudoconstant' => [
           'callback' => 'CRM_Contact_BAO_GroupContactCache::getModes',
         ],
-        'description' => 'Should the smart groups be by cron jobs or user actions',
+        'description' => 'Should the smart groups be flushed by cron jobs or user actions',
         'help_text' => 'In \"Opportunistic Flush\" mode, caches are flushed in response to user actions; this mode is broadly compatible but may add latency during form-submissions. In \"Cron Flush\" mode, you should schedule a cron job to flush caches; this can improve latency on form-submissions but requires more setup.',
       ],
+      'acl_cache_refresh_mode' => [
+        'group_name' => 'CiviCRM Preferences',
+        'group' => 'core',
+        'name' => 'acl_cache_refresh_mode',
+        'type' => 'String',
+        'html_type' => 'radio',
+        'default' => 'opportunistic',
+        'add' => '5.37.0',
+        'title' => 'ACL Group Refresh Mode',
+        'is_domain' => 1,
+        'is_contact' => 0,
+        'pseudoconstant' => [
+          'callback' => 'CRM_Contact_BAO_GroupContactCache::getModes',
+        ],
+        'description' => 'Should the acl cache be flushed by cron jobs or user actions',
+        'help_text' => 'In \"Opportunistic Flush\" mode, caches are flushed in response to user actions; this mode is broadly compatible but may add latency during form-submissions. In \"Cron Flush\" mode, you should schedule a cron job to flush caches if your site uses ACLs; this can improve latency on form-submissions but requires more setup.',
+      ],
       'installed' => [
         'bootstrap_comment' => 'This is a boot setting which may be loaded during bootstrap. Defaults are loaded via SettingsBag::getSystemDefaults().',
         'group_name' => 'CiviCRM Preferences',
@@ -712,7 +857,27 @@ function setting_getfields_expectedresult() {
         'title' => 'Maximum Attachments',
         'is_domain' => 1,
         'is_contact' => 0,
-        'description' => 'Maximum number of files (documents, images, etc.) which can be attached to emails or activities.',
+        'description' => 'Maximum number of files (documents, images, etc.) which can be attached to emails or activities. This setting applies to UI forms and limits the number of fields available on the form.',
+        'help_text' => '',
+      ],
+      'max_attachments_backend' => [
+        'group_name' => 'CiviCRM Preferences',
+        'group' => 'core',
+        'name' => 'max_attachments_backend',
+        'legacy_key' => 'maxAttachmentsBackend',
+        'type' => 'Integer',
+        'quick_form_type' => 'Element',
+        'html_type' => 'text',
+        'html_attributes' => [
+          'size' => 2,
+          'maxlength' => 8,
+        ],
+        'default' => 100,
+        'add' => '5.20',
+        'title' => 'Maximum Attachments For Backend Processes',
+        'is_domain' => 1,
+        'is_contact' => 0,
+        'description' => 'Maximum number of files (documents, images, etc.) which can be processed during backend processing such as automated inbound email processing. This should be a big number higher than the other Maximum Attachments setting above. This setting here merely provides an upper limit to prevent attacks that might overload the server.',
         'help_text' => '',
       ],
       'maxFileSize' => [
@@ -811,92 +976,92 @@ function setting_getfields_expectedresult() {
           'callback' => 'CRM_Contact_Form_Task_PDFLetterCommon::getLoggingOptions',
         ],
       ],
-      'wkhtmltopdfPath' => [
+      'dompdf_font_dir' => [
+        'is_domain' => 1,
+        'is_contact' => 0,
         'group_name' => 'CiviCRM Preferences',
         'group' => 'core',
-        'name' => 'wkhtmltopdfPath',
+        'name' => 'dompdf_font_dir',
+        'title' => 'DOMPDF Font Folder',
+        'description' => 'Additional folder where DOMPDF will look for fonts.',
         'type' => 'String',
         'quick_form_type' => 'Element',
+        'html_type' => 'text',
         'html_attributes' => [
           'size' => 64,
           'maxlength' => 256,
         ],
-        'html_type' => 'text',
         'default' => '',
-        'add' => '4.3',
-        'title' => 'Path to wkhtmltopdf executable',
-        'is_domain' => 1,
-        'is_contact' => 0,
-        'description' => '',
         'help_text' => '',
+        'add' => '5.43',
       ],
-      'recaptchaOptions' => [
+      'dompdf_chroot' => [
+        'is_domain' => 1,
+        'is_contact' => 0,
         'group_name' => 'CiviCRM Preferences',
         'group' => 'core',
-        'name' => 'recaptchaOptions',
+        'name' => 'dompdf_chroot',
+        'title' => 'DOMPDF Local Images Folder',
+        'description' => 'Folder to restrict where DOMPDF looks when loading local images. By default it is the DOMPDF folder itself for security reasons. It will search in subfolders.',
         'type' => 'String',
         'quick_form_type' => 'Element',
+        'html_type' => 'text',
         'html_attributes' => [
           'size' => 64,
-          'maxlength' => 64,
+          'maxlength' => 256,
         ],
-        'html_type' => 'text',
         'default' => '',
-        'add' => '4.3',
-        'title' => 'Recaptcha Options',
+        'help_text' => '',
+        'add' => '5.43',
+      ],
+      'dompdf_enable_remote' => [
         'is_domain' => 1,
         'is_contact' => 0,
-        'description' => 'You can specify the reCAPTCHA theme options as comma separated data.(eg: theme:\'blackglass\', lang : \'fr\' ). Check the available options at <a href=\"https://developers.google.com/recaptcha/docs/display#config\">Customizing the Look and Feel of reCAPTCHA</a>.',
+        'group_name' => 'CiviCRM Preferences',
+        'group' => 'core',
+        'name' => 'dompdf_enable_remote',
+        'title' => 'DOMPDF Enable Remote Images',
+        'description' => 'Enable the use of remote images. By default this is enabled, but if not using remote images you may wish to turn it off for security reasons.',
+        'type' => 'Boolean',
+        'quick_form_type' => 'YesNo',
+        'html_type' => '',
+        'default' => TRUE,
         'help_text' => '',
+        'add' => '5.43',
       ],
-      'recaptchaPublicKey' => [
+      'dompdf_log_output_file' => [
+        'is_domain' => 1,
+        'is_contact' => 0,
         'group_name' => 'CiviCRM Preferences',
         'group' => 'core',
-        'name' => 'recaptchaPublicKey',
+        'name' => 'dompdf_log_output_file',
+        'title' => 'DOMPDF Log File',
+        'description' => 'DOMPDF will log debugging output in this file.',
         'type' => 'String',
         'quick_form_type' => 'Element',
+        'html_type' => 'text',
         'html_attributes' => [
           'size' => 64,
-          'maxlength' => 64,
+          'maxlength' => 256,
         ],
-        'html_type' => 'text',
         'default' => '',
-        'add' => '4.3',
-        'title' => 'Recaptcha Site Key',
-        'is_domain' => 1,
-        'is_contact' => 0,
-        'description' => '',
-        'help_text' => '',
-      ],
-      'forceRecaptcha' => [
-        'add' => '4.7',
         'help_text' => '',
-        'is_domain' => 1,
-        'is_contact' => 0,
-        'group_name' => 'CiviCRM Preferences',
-        'group' => 'core',
-        'name' => 'forceRecaptcha',
-        'type' => 'Boolean',
-        'quick_form_type' => 'YesNo',
-        'html_type' => '',
-        'default' => 0,
-        'title' => 'Force reCAPTCHA on Contribution pages',
-        'description' => 'If enabled, reCAPTCHA will show on all contribution pages.',
+        'add' => '5.43',
       ],
-      'recaptchaPrivateKey' => [
+      'wkhtmltopdfPath' => [
         'group_name' => 'CiviCRM Preferences',
         'group' => 'core',
-        'name' => 'recaptchaPrivateKey',
+        'name' => 'wkhtmltopdfPath',
         'type' => 'String',
         'quick_form_type' => 'Element',
         'html_attributes' => [
           'size' => 64,
-          'maxlength' => 64,
+          'maxlength' => 256,
         ],
         'html_type' => 'text',
         'default' => '',
         'add' => '4.3',
-        'title' => 'Recaptcha Secret Key',
+        'title' => 'Path to wkhtmltopdf executable',
         'is_domain' => 1,
         'is_contact' => 0,
         'description' => '',
@@ -1478,7 +1643,7 @@ function setting_getfields_expectedresult() {
         'title' => 'Enable Drupal Watchdog Logging',
         'is_domain' => 1,
         'is_contact' => 0,
-        'description' => 'Set this value to Yes if you want CiviCRM error/debugging messages to appear in the Drupal error logs',
+        'description' => 'Set this value to Yes if you want CiviCRM error/debugging messages to appear in the Drupal error logs.',
         'help_text' => 'Set this value to Yes if you want CiviCRM error/debugging messages the appear in your CMS\' error log. In the case of Drupal, this will cause all CiviCRM error messages to appear in the watchdog (assuming you have Drupal\'s watchdog enabled)',
       ],
       'debug_enabled' => [
@@ -1493,7 +1658,7 @@ function setting_getfields_expectedresult() {
         'title' => 'Enable Debugging',
         'is_domain' => 1,
         'is_contact' => 0,
-        'description' => 'Set this value to Yes if you want to use one of CiviCRM\'s debugging tools. This feature should NOT be enabled for production sites',
+        'description' => 'Set this value to Yes if you want to use one of CiviCRM\'s debugging tools. This feature should NOT be enabled for production sites.',
         'help_text' => 'Do not turn this on on production sites',
       ],
       'backtrace' => [
@@ -1507,7 +1672,7 @@ function setting_getfields_expectedresult() {
         'title' => 'Display Backtrace',
         'is_domain' => 1,
         'is_contact' => 0,
-        'description' => 'Set this value to Yes if you want to display a backtrace listing when a fatal error is encountered. This feature should NOT be enabled for production sites',
+        'description' => 'Set this value to Yes if you want to display a backtrace listing when a fatal error is encountered. This feature should NOT be enabled for production sites.',
       ],
       'environment' => [
         'group_name' => 'Developer Preferences',
@@ -1556,7 +1721,6 @@ function setting_getfields_expectedresult() {
         'title' => 'Temporary Files Directory',
         'is_domain' => 1,
         'is_contact' => 0,
-        'description' => '',
         'help_text' => 'File system path where temporary CiviCRM files - such as import data files - are uploaded.',
       ],
       'imageUploadDir' => [
@@ -1639,29 +1803,6 @@ function setting_getfields_expectedresult() {
         'description' => 'Path where CiviCRM extensions are stored.',
         'help_text' => '',
       ],
-      'enable_cart' => [
-        'name' => 'enable_cart',
-        'group_name' => 'Event Preferences',
-        'settings_pages' => [
-          'event' => [
-            'weight' => 10,
-          ],
-        ],
-        'group' => 'event',
-        'type' => 'Boolean',
-        'quick_form_type' => 'CheckBox',
-        'default' => 0,
-        'add' => '4.1',
-        'title' => 'Use Shopping Cart Style Event Registration',
-        'is_domain' => 1,
-        'is_contact' => 0,
-        'description' => 'This feature allows users to register for more than one event at a time. When enabled, users will add event(s) to a \"cart\" and then pay for them all at once. Enabling this setting will affect online registration for all active events. The code is an alpha state, and you will potentially need to have developer resources to debug and fix sections of the codebase while testing and deploying it',
-        'help_text' => '',
-        'documentation_link' => [
-          'page' => 'CiviEvent Cart Checkout',
-          'resource' => 'wiki',
-        ],
-      ],
       'show_events' => [
         'name' => 'show_events',
         'group_name' => 'Event Preferences',
@@ -1701,7 +1842,6 @@ function setting_getfields_expectedresult() {
         'title' => 'Extension Repo URL',
         'is_domain' => 1,
         'is_contact' => 0,
-        'description' => '',
         'help_text' => '',
       ],
       'customTranslateFunction' => [
@@ -1721,7 +1861,6 @@ function setting_getfields_expectedresult() {
         ],
         'default' => '',
         'title' => 'Custom Translate Function',
-        'description' => '',
       ],
       'monetaryThousandSeparator' => [
         'group_name' => 'Localization Preferences',
@@ -1738,7 +1877,6 @@ function setting_getfields_expectedresult() {
         'title' => 'Thousands Separator',
         'is_domain' => 1,
         'is_contact' => 0,
-        'description' => '',
         'help_text' => '',
       ],
       'monetaryDecimalPoint' => [
@@ -1756,7 +1894,6 @@ function setting_getfields_expectedresult() {
         'title' => 'Decimal Delimiter',
         'is_domain' => 1,
         'is_contact' => 0,
-        'description' => '',
         'help_text' => '',
       ],
       'moneyformat' => [
@@ -1771,7 +1908,20 @@ function setting_getfields_expectedresult() {
         'title' => 'Monetary Amount Display',
         'is_domain' => 1,
         'is_contact' => 0,
-        'description' => '',
+        'help_text' => '',
+      ],
+      'moneyvalueformat' => [
+        'group_name' => 'Localization Preferences',
+        'group' => 'localization',
+        'name' => 'moneyvalueformat',
+        'type' => 'String',
+        'quick_form_type' => 'Element',
+        'html_type' => 'text',
+        'default' => '%!i',
+        'add' => '4.3',
+        'title' => 'Monetary Value Display',
+        'is_domain' => 1,
+        'is_contact' => 0,
         'help_text' => '',
       ],
       'defaultCurrency' => [
@@ -1828,6 +1978,9 @@ function setting_getfields_expectedresult() {
         'type' => 'Integer',
         'quick_form_type' => 'ChainSelect',
         'html_type' => 'ChainSelect',
+        'chain_select_settings' => [
+          'control_field' => 'defaultContactCountry',
+        ],
         'default' => '',
         'title' => 'Default State/Province',
         'description' => 'This value is selected by default when adding a new contact address.',
@@ -1849,7 +2002,6 @@ function setting_getfields_expectedresult() {
         'title' => 'Available Countries',
         'is_domain' => 1,
         'is_contact' => 0,
-        'description' => '',
         'help_text' => '',
         'pseudoconstant' => [
           'callback' => 'CRM_Admin_Form_Setting_Localization::getAvailableCountries',
@@ -1872,7 +2024,6 @@ function setting_getfields_expectedresult() {
         'title' => 'Available States and Provinces (by Country)',
         'is_domain' => 1,
         'is_contact' => 0,
-        'description' => '',
         'help_text' => '',
         'pseudoconstant' => [
           'callback' => 'CRM_Admin_Form_Setting_Localization::getAvailableCountries',
@@ -1889,8 +2040,8 @@ function setting_getfields_expectedresult() {
         'title' => 'Inherit CMS Language',
         'is_domain' => 1,
         'is_contact' => 0,
-        'description' => '',
         'help_text' => '',
+        'description' => 'If Yes, the initial session language will be set by the CMS, which can later be changed if using the CiviCRM language switcher.',
       ],
       'dateformatDatetime' => [
         'group_name' => 'Localization Preferences',
@@ -1904,7 +2055,6 @@ function setting_getfields_expectedresult() {
         'title' => 'Date Format: Complete Date and Time',
         'is_domain' => 1,
         'is_contact' => 0,
-        'description' => '',
         'help_text' => '',
       ],
       'dateformatFull' => [
@@ -1919,7 +2069,6 @@ function setting_getfields_expectedresult() {
         'title' => 'Date Format: Complete Date',
         'is_domain' => 1,
         'is_contact' => 0,
-        'description' => '',
         'help_text' => '',
       ],
       'dateformatPartial' => [
@@ -1934,7 +2083,6 @@ function setting_getfields_expectedresult() {
         'title' => 'Date Format: Month and Year',
         'is_domain' => 1,
         'is_contact' => 0,
-        'description' => '',
         'help_text' => '',
       ],
       'dateformatTime' => [
@@ -1954,7 +2102,6 @@ function setting_getfields_expectedresult() {
         ],
         'default' => '%l:%M %P',
         'title' => 'Date Format: Time Only',
-        'description' => '',
       ],
       'dateformatYear' => [
         'add' => '4.7',
@@ -1973,7 +2120,6 @@ function setting_getfields_expectedresult() {
         ],
         'default' => '%Y',
         'title' => 'Date Format: Year Only',
-        'description' => '',
       ],
       'dateformatFinancialBatch' => [
         'add' => '4.7',
@@ -1992,7 +2138,6 @@ function setting_getfields_expectedresult() {
         ],
         'default' => '%m/%d/%Y',
         'title' => 'Date Format: Financial Batch',
-        'description' => '',
       ],
       'dateformatshortdate' => [
         'add' => '4.7',
@@ -2011,7 +2156,6 @@ function setting_getfields_expectedresult() {
         ],
         'default' => '%m/%d/%Y',
         'title' => 'Date Format: Short date Month Day Year',
-        'description' => '',
       ],
       'dateInputFormat' => [
         'add' => '4.7',
@@ -2029,7 +2173,6 @@ function setting_getfields_expectedresult() {
         ],
         'default' => 'mm/dd/yy',
         'title' => 'Date Input Format',
-        'description' => '',
       ],
       'fieldSeparator' => [
         'add' => '4.7',
@@ -2066,7 +2209,6 @@ function setting_getfields_expectedresult() {
           'd' => 1,
         ],
         'title' => 'Fiscal Year Start',
-        'description' => '',
       ],
       'languageLimit' => [
         'group_name' => 'Localization Preferences',
@@ -2084,7 +2226,6 @@ function setting_getfields_expectedresult() {
         'title' => 'Available Languages (Multi-lingual)',
         'is_domain' => 1,
         'is_contact' => 0,
-        'description' => '',
         'help_text' => '',
         'pseudoconstant' => [
           'callback' => 'CRM_Core_I18n::languages',
@@ -2106,7 +2247,6 @@ function setting_getfields_expectedresult() {
         'title' => 'Available Languages',
         'is_domain' => 1,
         'is_contact' => 0,
-        'description' => '',
         'help_text' => 'User Interface languages available to users',
         'pseudoconstant' => [
           'callback' => 'CRM_Core_I18n::languages',
@@ -2127,7 +2267,6 @@ function setting_getfields_expectedresult() {
         'title' => 'Default Language',
         'is_domain' => 1,
         'is_contact' => 0,
-        'description' => '',
         'help_text' => '',
         'pseudoconstant' => [
           'callback' => 'CRM_Admin_Form_Setting_Localization::getDefaultLocaleOptions',
@@ -2171,7 +2310,6 @@ function setting_getfields_expectedresult() {
         ],
         'default' => '1',
         'title' => 'Time Input Format',
-        'description' => '',
         'on_change' => [
           '0' => 'CRM_Core_BAO_PreferencesDate::onChangeSetting',
         ],
@@ -2191,7 +2329,6 @@ function setting_getfields_expectedresult() {
         'title' => 'Week begins on',
         'is_domain' => 1,
         'is_contact' => 0,
-        'description' => '',
         'help_text' => '',
       ],
       'contact_default_language' => [
@@ -2212,9 +2349,32 @@ function setting_getfields_expectedresult() {
         'title' => 'Default Language for contacts',
         'is_domain' => 1,
         'is_contact' => 0,
-        'description' => 'Default language (if any) for contact records',
+        'description' => 'Default language (if any) for contact records.',
         'help_text' => 'If a contact is created with no language this setting will determine the language data (if any) to save.You may or may not wish to make an assumption here about whether it matches the site language',
       ],
+      'pinnedContactCountries' => [
+        'group_name' => 'Localization Preferences',
+        'group' => 'localization',
+        'name' => 'pinnedContactCountries',
+        'type' => 'Array',
+        'quick_form_type' => 'Element',
+        'html_type' => 'advmultiselect',
+        'html_attributes' => [
+          'size' => 5,
+          'style' => 'width:150px',
+          'class' => 'advmultiselect',
+        ],
+        'default' => [],
+        'add' => '5.33',
+        'title' => 'Pinned Countries',
+        'is_domain' => 1,
+        'is_contact' => 0,
+        'description' => 'Appear in Top section of select list',
+        'help_text' => 'Selected countries will appear in top section of country list',
+        'pseudoconstant' => [
+          'callback' => 'CRM_Admin_Form_Setting_Localization::getAvailableCountries',
+        ],
+      ],
       'profile_double_optin' => [
         'group_name' => 'Mailing Preferences',
         'group' => 'mailing',
@@ -2240,7 +2400,7 @@ function setting_getfields_expectedresult() {
         'title' => 'Track replies using VERP in Reply-To header',
         'is_domain' => 1,
         'is_contact' => 0,
-        'description' => 'If checked, mailings will default to tracking replies using VERP-ed Reply-To. ',
+        'description' => 'If checked, mailings will default to tracking replies using VERP-ed Reply-To.',
         'help_text' => '',
         'validate_callback' => 'CRM_Core_BAO_Setting::validateBoolSetting',
       ],
@@ -2269,7 +2429,6 @@ function setting_getfields_expectedresult() {
         'title' => 'Enable global server wide lock for CiviMail',
         'is_domain' => 1,
         'is_contact' => 0,
-        'description' => '',
         'help_text' => '',
       ],
       'replyTo' => [
@@ -2283,7 +2442,7 @@ function setting_getfields_expectedresult() {
         'title' => 'Enable Custom Reply-To',
         'is_domain' => 1,
         'is_contact' => 0,
-        'description' => 'Allow CiviMail users to send mailings with a custom Reply-To header',
+        'description' => 'Allow CiviMail users to send mailings with a custom Reply-To header.',
         'help_text' => '',
       ],
       'mailing_backend' => [
@@ -2299,7 +2458,6 @@ function setting_getfields_expectedresult() {
         'title' => 'Mailing Backend',
         'is_domain' => 1,
         'is_contact' => 0,
-        'description' => '',
         'help_text' => '',
       ],
       'profile_add_to_group_double_optin' => [
@@ -2355,7 +2513,7 @@ function setting_getfields_expectedresult() {
         'title' => 'Hashed Mailing URL\'s',
         'is_domain' => 1,
         'is_contact' => 0,
-        'description' => 'If enabled, a randomized hash key will be used to reference the mailing URL in the mailing.viewUrl token, instead of the mailing ID',
+        'description' => 'If enabled, a randomized hash key will be used to reference the mailing URL in the mailing.viewUrl token, instead of the mailing ID.',
         'help_text' => '',
       ],
       'civimail_multiple_bulk_emails' => [
@@ -2383,7 +2541,6 @@ function setting_getfields_expectedresult() {
         'title' => 'Enable CiviMail to generate Message-ID header',
         'is_domain' => 1,
         'is_contact' => 0,
-        'description' => '',
         'help_text' => '',
       ],
       'mailerBatchLimit' => [
@@ -2440,7 +2597,7 @@ function setting_getfields_expectedresult() {
         'title' => 'Mailer Cron Job Limit',
         'is_domain' => 1,
         'is_contact' => 0,
-        'description' => 'The maximum number of mailer delivery jobs executing simultaneously (0 = allow as many processes to execute as started by cron)',
+        'description' => 'The maximum number of mailer delivery jobs executing simultaneously (0 = allow as many processes to execute as started by cron).',
         'help_text' => '',
       ],
       'mailThrottleTime' => [
@@ -2493,7 +2650,6 @@ function setting_getfields_expectedresult() {
         'title' => 'Enable CiviMail to create activities on delivery',
         'is_domain' => 1,
         'is_contact' => 0,
-        'description' => '',
         'help_text' => '',
       ],
       'simple_mail_limit' => [
@@ -2511,7 +2667,7 @@ function setting_getfields_expectedresult() {
         'title' => 'Simple mail limit',
         'is_domain' => 1,
         'is_contact' => 0,
-        'description' => 'The number of emails sendable via simple mail. Make sure you understand the implications for your spam reputation and legal requirements for bulk emails before editing. As there is some risk both to your spam reputation and the products if this is misused it is a hidden setting',
+        'description' => 'The number of emails sendable via simple mail. Make sure you understand the implications for your spam reputation and legal requirements for bulk emails before editing. As there is some risk both to your spam reputation and the products if this is misused it is a hidden setting.',
         'help_text' => 'CiviCRM forces users sending more than this number of mails to use CiviMails. CiviMails have additional precautions: not sending to contacts who do not want bulk mail, adding domain name and opt out links. You should familiarise yourself with the law relevant to you on bulk mailings if changing this setting. For the US https://en.wikipedia.org/wiki/CAN-SPAM_Act_of_2003 is a good place to start.',
       ],
       'auto_recipient_rebuild' => [
@@ -2538,9 +2694,56 @@ function setting_getfields_expectedresult() {
         'title' => 'Allow mail from logged in contact',
         'is_domain' => 1,
         'is_contact' => 0,
-        'description' => 'Allow sending email from the logged in contact\'s email address',
+        'description' => 'Allow sending email from the logged in contact\'s email address.',
         'help_text' => 'CiviCRM allows you to send email from the domain from email addresses and the logged in contact id addresses by default. Disable this if you only want to allow the domain from addresses to be used.',
       ],
+      'url_tracking_default' => [
+        'group_name' => 'Mailing Preferences',
+        'group' => 'mailing',
+        'name' => 'url_tracking_default',
+        'type' => 'Boolean',
+        'html_type' => 'checkbox',
+        'quick_form_type' => 'CheckBox',
+        'default' => '1',
+        'title' => 'Enable click-through tracking by default',
+        'is_domain' => 1,
+        'is_contact' => 0,
+        'description' => 'If checked, mailings will have click-through tracking enabled by default.',
+        'help_text' => '',
+      ],
+      'open_tracking_default' => [
+        'group_name' => 'Mailing Preferences',
+        'group' => 'mailing',
+        'name' => 'open_tracking_default',
+        'type' => 'Boolean',
+        'html_type' => 'checkbox',
+        'quick_form_type' => 'CheckBox',
+        'default' => '1',
+        'title' => 'Enable open tracking by default',
+        'is_domain' => 1,
+        'is_contact' => 0,
+        'description' => 'If checked, mailings will have open tracking enabled by default.',
+        'help_text' => '',
+      ],
+      'civimail_sync_interval' => [
+        'group_name' => 'Mailing Preferences',
+        'group' => 'mailing',
+        'name' => 'civimail_sync_interval',
+        'type' => 'Integer',
+        'quick_form_type' => 'Element',
+        'html_type' => 'text',
+        'html_attributes' => [
+          'size' => 4,
+          'maxlength' => 8,
+        ],
+        'default' => 10,
+        'title' => 'Database Update Frequency',
+        'add' => '5.28',
+        'is_domain' => 1,
+        'is_contact' => 0,
+        'description' => 'The frequency that CiviMail updates its sent mail database.',
+        'help_text' => '',
+      ],
       'geoAPIKey' => [
         'add' => '4.7',
         'help_text' => '',
@@ -2558,7 +2761,7 @@ function setting_getfields_expectedresult() {
         ],
         'default' => '',
         'title' => 'Geo Provider Key',
-        'description' => 'Enter the API key or Application ID associated with your geocoding provider (not required for Yahoo).',
+        'description' => 'Enter the API key or Application ID associated with your geocoding provider.',
       ],
       'geoProvider' => [
         'add' => '4.7',
@@ -2696,7 +2899,6 @@ function setting_getfields_expectedresult() {
         'add' => '4.1',
         'is_domain' => 1,
         'is_contact' => 0,
-        'description' => '',
         'help_text' => '',
       ],
       'uniq_email_per_site' => [
@@ -2709,7 +2911,6 @@ function setting_getfields_expectedresult() {
         'add' => '4.1',
         'is_domain' => 1,
         'is_contact' => 0,
-        'description' => '',
         'help_text' => '',
       ],
       'search_autocomplete_count' => [
@@ -2763,7 +2964,6 @@ function setting_getfields_expectedresult() {
         'title' => 'How to handle full-text queries',
         'is_domain' => 1,
         'is_contact' => 0,
-        'description' => '',
         'help_text' => '',
       ],
       'includeOrderByClause' => [
@@ -2777,7 +2977,7 @@ function setting_getfields_expectedresult() {
         'title' => 'Include Order By Clause',
         'is_domain' => 1,
         'is_contact' => 0,
-        'description' => 'If disabled, the search results will not be ordered. This may improve response time on search results on large datasets',
+        'description' => 'If disabled, the search results will not be ordered. This may improve response time on search results on large datasets.',
         'help_text' => '',
       ],
       'includeWildCardInName' => [
@@ -2936,6 +3136,25 @@ function setting_getfields_expectedresult() {
         'description' => 'Which fields can be searched on in the menubar quicksearch box? Don\'t see your custom field here? Make sure it is marked as Searchable.',
         'help_text' => '',
       ],
+      'default_pager_size' => [
+        'group_name' => 'Search Preferences',
+        'group' => 'Search Preferences',
+        'name' => 'default_pager_size',
+        'type' => 'Integer',
+        'quick_form_type' => 'Element',
+        'html_type' => 'text',
+        'html_attributes' => [
+          'size' => 2,
+          'maxlength' => 3,
+        ],
+        'default' => 50,
+        'add' => '5.39',
+        'title' => 'Default Search Pager size',
+        'is_domain' => 1,
+        'is_contact' => 0,
+        'description' => 'What is the default number of records to show on a search',
+        'help_text' => '',
+      ],
       'userFrameworkResourceURL' => [
         'bootstrap_comment' => 'This is a boot setting which may be loaded during bootstrap. Defaults are loaded via SettingsBag::getSystemDefaults().',
         'group' => 'url',
@@ -3004,6 +3223,191 @@ function setting_getfields_expectedresult() {
         'help_text' => '',
         'validate_callback' => 'CRM_Utils_Rule::urlish',
       ],
+      'enable_cart' => [
+        'name' => 'enable_cart',
+        'group_name' => 'Event Preferences',
+        'settings_pages' => [
+          'event' => [
+            'weight' => 10,
+          ],
+        ],
+        'group' => 'event',
+        'type' => 'Boolean',
+        'quick_form_type' => 'CheckBox',
+        'default' => 0,
+        'add' => '4.1',
+        'title' => 'Use Shopping Cart Style Event Registration',
+        'is_domain' => 1,
+        'is_contact' => 0,
+        'description' => 'This feature allows users to register for more than one event at a time. When enabled, users will add event(s) to a \"cart\" and then pay for them all at once. Enabling this setting will affect online registration for all active events. The code is an alpha state, and you will potentially need to have developer resources to debug and fix sections of the codebase while testing and deploying it',
+        'help_text' => '',
+        'documentation_link' => [
+          'page' => 'CiviEvent Cart Checkout',
+          'resource' => 'wiki',
+        ],
+      ],
+      'acl_financial_type' => [
+        'group_name' => 'Contribute Preferences',
+        'group' => 'contribute',
+        'name' => 'acl_financial_type',
+        'type' => 'Boolean',
+        'html_type' => 'checkbox',
+        'quick_form_type' => 'Element',
+        'default' => 0,
+        'add' => '4.7',
+        'title' => 'Enable Access Control by Financial Type',
+        'is_domain' => 1,
+        'is_contact' => 0,
+        'help_text' => '',
+        'help' => [
+          'id' => 'acl_financial_type',
+        ],
+        'settings_pages' => [
+          'contribute' => [
+            'weight' => 30,
+          ],
+        ],
+        'on_change' => [
+          '0' => 'financialacls_toggle',
+        ],
+      ],
+      'flexmailer_traditional' => [
+        'group_name' => 'Flexmailer Preferences',
+        'group' => 'flexmailer',
+        'name' => 'flexmailer_traditional',
+        'type' => 'String',
+        'html_type' => 'select',
+        'html_attributes' => [
+          'class' => 'crm-select2',
+        ],
+        'pseudoconstant' => [
+          'callback' => '_flexmailer_traditional_options',
+        ],
+        'default' => 'auto',
+        'add' => '5.13',
+        'title' => 'Traditional Mailing Handler',
+        'is_domain' => 1,
+        'is_contact' => 0,
+        'description' => 'For greater backward-compatibility, process \"<code>traditional</code>\" mailings with the CiviMail\'s hard-coded BAO.<br/>For greater forward-compatibility, process \"<code>traditional</code>\" mailings with Flexmailer\'s extensible pipeline.',
+        'help_text' => '',
+        'settings_pages' => [
+          'flexmailer' => [
+            'weight' => 5,
+          ],
+        ],
+      ],
+      'recaptchaPublicKey' => [
+        'group_name' => 'CiviCRM Preferences',
+        'group' => 'core',
+        'name' => 'recaptchaPublicKey',
+        'type' => 'String',
+        'quick_form_type' => 'Element',
+        'html_attributes' => [
+          'size' => 64,
+          'maxlength' => 64,
+        ],
+        'html_type' => 'text',
+        'default' => '',
+        'add' => '4.3',
+        'title' => 'reCAPTCHA Site Key',
+        'is_domain' => 1,
+        'is_contact' => 0,
+        'description' => '',
+        'help_text' => '',
+        'settings_pages' => [
+          'recaptcha' => [
+            'weight' => 10,
+          ],
+        ],
+      ],
+      'recaptchaPrivateKey' => [
+        'group_name' => 'CiviCRM Preferences',
+        'group' => 'core',
+        'name' => 'recaptchaPrivateKey',
+        'type' => 'String',
+        'quick_form_type' => 'Element',
+        'html_attributes' => [
+          'size' => 64,
+          'maxlength' => 64,
+        ],
+        'html_type' => 'text',
+        'default' => '',
+        'add' => '4.3',
+        'title' => 'reCAPTCHA Secret Key',
+        'is_domain' => 1,
+        'is_contact' => 0,
+        'description' => '',
+        'help_text' => '',
+        'settings_pages' => [
+          'recaptcha' => [
+            'weight' => 10,
+          ],
+        ],
+      ],
+      'forceRecaptcha' => [
+        'add' => '4.7',
+        'help_text' => '',
+        'is_domain' => 1,
+        'is_contact' => 0,
+        'group_name' => 'CiviCRM Preferences',
+        'group' => 'core',
+        'name' => 'forceRecaptcha',
+        'type' => 'Boolean',
+        'quick_form_type' => 'YesNo',
+        'html_type' => '',
+        'default' => 0,
+        'title' => 'Force reCAPTCHA on Contribution pages',
+        'description' => 'If enabled, reCAPTCHA will show on all contribution pages.',
+        'settings_pages' => [
+          'recaptcha' => [
+            'weight' => 10,
+          ],
+        ],
+      ],
+      'recaptchaOptions' => [
+        'group_name' => 'CiviCRM Preferences',
+        'group' => 'core',
+        'name' => 'recaptchaOptions',
+        'type' => 'String',
+        'quick_form_type' => 'Element',
+        'html_attributes' => [
+          'size' => 64,
+          'maxlength' => 64,
+        ],
+        'html_type' => 'text',
+        'default' => '',
+        'add' => '4.3',
+        'title' => 'reCAPTCHA Options',
+        'is_domain' => 1,
+        'is_contact' => 0,
+        'description' => 'You can specify the reCAPTCHA theme options as comma separated data.(eg: theme:\'blackglass\', lang : \'fr\' ). Check the available options at <a href=\"https://developers.google.com/recaptcha/docs/display#config\">Customizing the Look and Feel of reCAPTCHA</a>.',
+        'help_text' => '',
+        'settings_pages' => [
+          'recaptcha' => [
+            'weight' => 10,
+          ],
+        ],
+      ],
+      'credit_notes_prefix' => [
+        'group_name' => 'Contribute Preferences',
+        'group' => 'contribute',
+        'name' => 'credit_notes_prefix',
+        'html_type' => 'text',
+        'quick_form_type' => 'Element',
+        'add' => '5.23',
+        'type' => 2,
+        'title' => 'Credit Notes Prefix',
+        'is_domain' => 1,
+        'is_contact' => 0,
+        'description' => 'Prefix to be prepended to credit note ids',
+        'default' => 'CN_',
+        'help_text' => 'The credit note ID is generated when a contribution is set to Refunded, Cancelled or Chargeback. It is visible on invoices, if invoices are enabled',
+        'settings_pages' => [
+          'contribute' => [
+            'weight' => 80,
+          ],
+        ],
+      ],
     ],
   ];
 
@@ -3011,23 +3415,23 @@ function setting_getfields_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGetFields"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/SettingTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGetFields"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/SettingTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Setting/GetSettingCurrentDomain.ex.php b/civicrm/api/v3/examples/Setting/GetSettingCurrentDomain.ex.php
index bc808c71ef..2939c09a99 100644
--- a/civicrm/api/v3/examples/Setting/GetSettingCurrentDomain.ex.php
+++ b/civicrm/api/v3/examples/Setting/GetSettingCurrentDomain.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Setting.get API.
  *
@@ -12,7 +17,7 @@ function setting_get_example() {
     'return' => 'uniq_email_per_site',
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Setting', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -55,23 +60,23 @@ function setting_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGetSetting"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/SettingTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGetSetting"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/SettingTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Setting/GetSpecifiedDomains.ex.php b/civicrm/api/v3/examples/Setting/GetSpecifiedDomains.ex.php
index 1257cc53de..5bcd7b2990 100644
--- a/civicrm/api/v3/examples/Setting/GetSpecifiedDomains.ex.php
+++ b/civicrm/api/v3/examples/Setting/GetSpecifiedDomains.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Setting.get API.
  *
@@ -11,14 +16,14 @@ function setting_get_example() {
   $params = [
     'domain_id' => [
       '0' => 1,
-      '1' => 2,
+      '1' => 37,
     ],
     'return' => [
       '0' => 'uniq_email_per_site',
     ],
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Setting', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -53,7 +58,7 @@ function setting_get_expectedresult() {
       '1' => [
         'uniq_email_per_site' => 0,
       ],
-      '2' => [
+      '37' => [
         'uniq_email_per_site' => '1',
       ],
     ],
@@ -63,23 +68,23 @@ function setting_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testCreateSettingMultipleDomains"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/SettingTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testCreateSettingMultipleDomains"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/SettingTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Setting/GetValue.ex.php b/civicrm/api/v3/examples/Setting/GetValue.ex.php
index ef75b6a9e9..7a5cb0f22f 100644
--- a/civicrm/api/v3/examples/Setting/GetValue.ex.php
+++ b/civicrm/api/v3/examples/Setting/GetValue.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Setting.getvalue API.
  *
@@ -13,7 +18,7 @@ function setting_getvalue_example() {
     'group' => 'Campaign Preferences',
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Setting', 'getvalue', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -46,23 +51,23 @@ function setting_getvalue_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGetValue"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/SettingTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGetValue"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/SettingTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Setting/Revert.ex.php b/civicrm/api/v3/examples/Setting/Revert.ex.php
index 7535db2a82..070211dfe9 100644
--- a/civicrm/api/v3/examples/Setting/Revert.ex.php
+++ b/civicrm/api/v3/examples/Setting/Revert.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Setting.revert API.
  *
@@ -12,7 +17,7 @@ function setting_revert_example() {
     'name' => 'address_format',
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Setting', 'revert', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -67,23 +72,23 @@ function setting_revert_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testRevert"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/SettingTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testRevert"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/SettingTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/StateProvince/Create.ex.php b/civicrm/api/v3/examples/StateProvince/Create.ex.php
index d2a3e6c487..8cf583aa33 100644
--- a/civicrm/api/v3/examples/StateProvince/Create.ex.php
+++ b/civicrm/api/v3/examples/StateProvince/Create.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the StateProvince.create API.
  *
@@ -12,7 +17,7 @@ function state_province_create_example() {
     'country_id' => 1226,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('StateProvince', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -43,13 +48,14 @@ function state_province_create_expectedresult() {
     'is_error' => 0,
     'version' => 3,
     'count' => 1,
-    'id' => 14033,
+    'id' => 14064,
     'values' => [
-      '14033' => [
-        'id' => '14033',
+      '14064' => [
+        'id' => '14064',
         'name' => 'Wessex',
         'abbreviation' => 'WEX',
         'country_id' => '1226',
+        'is_active' => '',
       ],
     ],
   ];
@@ -58,23 +64,23 @@ function state_province_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testCreateStateProvince"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/StateProvinceTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testCreateStateProvince"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/StateProvinceTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/StateProvince/Delete.ex.php b/civicrm/api/v3/examples/StateProvince/Delete.ex.php
index 9628de2efb..14e280b8f5 100644
--- a/civicrm/api/v3/examples/StateProvince/Delete.ex.php
+++ b/civicrm/api/v3/examples/StateProvince/Delete.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the StateProvince.delete API.
  *
@@ -7,10 +12,10 @@
  */
 function state_province_delete_example() {
   $params = [
-    'id' => 14034,
+    'id' => 14066,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('StateProvince', 'delete', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -48,23 +53,23 @@ function state_province_delete_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testDeleteStateProvince"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/StateProvinceTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testDeleteStateProvince"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/StateProvinceTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/StateProvince/Get.ex.php b/civicrm/api/v3/examples/StateProvince/Get.ex.php
index 3d3508aadc..057206f1a8 100644
--- a/civicrm/api/v3/examples/StateProvince/Get.ex.php
+++ b/civicrm/api/v3/examples/StateProvince/Get.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the StateProvince.get API.
  *
@@ -10,7 +15,7 @@ function state_province_get_example() {
     'name' => 'Wessex',
   ];
 
-  try{
+  try {
     $result = civicrm_api3('StateProvince', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -41,13 +46,14 @@ function state_province_get_expectedresult() {
     'is_error' => 0,
     'version' => 3,
     'count' => 1,
-    'id' => 14035,
+    'id' => 14068,
     'values' => [
-      '14035' => [
-        'id' => '14035',
+      '14068' => [
+        'id' => '14068',
         'name' => 'Wessex',
         'abbreviation' => 'WEX',
         'country_id' => '1226',
+        'is_active' => '1',
       ],
     ],
   ];
@@ -56,23 +62,23 @@ function state_province_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGet"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/StateProvinceTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGet"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/StateProvinceTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/StatusPreference/Create.ex.php b/civicrm/api/v3/examples/StatusPreference/Create.ex.php
index a18cc05451..509536b270 100644
--- a/civicrm/api/v3/examples/StatusPreference/Create.ex.php
+++ b/civicrm/api/v3/examples/StatusPreference/Create.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the StatusPreference.create API.
  *
@@ -14,7 +19,7 @@ function status_preference_create_example() {
     'check_info' => '',
   ];
 
-  try{
+  try {
     $result = civicrm_api3('StatusPreference', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -45,16 +50,17 @@ function status_preference_create_expectedresult() {
     'is_error' => 0,
     'version' => 3,
     'count' => 1,
-    'id' => 4,
+    'id' => 7,
     'values' => [
-      '4' => [
-        'id' => '4',
+      '7' => [
+        'id' => '7',
         'domain_id' => '1',
         'name' => 'test_check',
         'hush_until' => '20151212000000',
         'ignore_severity' => '5',
         'prefs' => '',
         'check_info' => '',
+        'is_active' => '',
       ],
     ],
   ];
@@ -63,23 +69,23 @@ function status_preference_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testCreateSeverityByName"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/StatusPreferenceTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testCreateSeverityByName"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/StatusPreferenceTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/StatusPreference/Delete.ex.php b/civicrm/api/v3/examples/StatusPreference/Delete.ex.php
index 3a7916de06..418e7514f9 100644
--- a/civicrm/api/v3/examples/StatusPreference/Delete.ex.php
+++ b/civicrm/api/v3/examples/StatusPreference/Delete.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the StatusPreference.delete API.
  *
@@ -7,10 +12,10 @@
  */
 function status_preference_delete_example() {
   $params = [
-    'id' => 2,
+    'id' => 3,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('StatusPreference', 'delete', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -48,23 +53,23 @@ function status_preference_delete_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testDeleteStatusPreference"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/StatusPreferenceTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testDeleteStatusPreference"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/StatusPreferenceTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/StatusPreference/Get.ex.php b/civicrm/api/v3/examples/StatusPreference/Get.ex.php
index 63c7503263..0feb43099e 100644
--- a/civicrm/api/v3/examples/StatusPreference/Get.ex.php
+++ b/civicrm/api/v3/examples/StatusPreference/Get.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the StatusPreference.get API.
  *
@@ -7,10 +12,10 @@
  */
 function status_preference_get_example() {
   $params = [
-    'id' => 3,
+    'id' => 5,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('StatusPreference', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -41,14 +46,15 @@ function status_preference_get_expectedresult() {
     'is_error' => 0,
     'version' => 3,
     'count' => 1,
-    'id' => 3,
+    'id' => 5,
     'values' => [
-      '3' => [
-        'id' => '3',
+      '5' => [
+        'id' => '5',
         'domain_id' => '1',
         'name' => 'test_check',
         'hush_until' => '2015-12-12',
         'ignore_severity' => '4',
+        'is_active' => '1',
       ],
     ],
   ];
@@ -57,23 +63,23 @@ function status_preference_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testStatusPreferenceGet"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/StatusPreferenceTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testStatusPreferenceGet"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/StatusPreferenceTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Survey/ChainedGetDelete.ex.php b/civicrm/api/v3/examples/Survey/ChainedGetDelete.ex.php
index a0b99eaede..df1218be8b 100644
--- a/civicrm/api/v3/examples/Survey/ChainedGetDelete.ex.php
+++ b/civicrm/api/v3/examples/Survey/ChainedGetDelete.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Survey.get API.
  *
@@ -13,7 +18,7 @@ function survey_get_example() {
     'api.survey.delete' => 1,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Survey', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -71,23 +76,23 @@ function survey_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGetSurveyChainDelete"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/SurveyTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGetSurveyChainDelete"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/SurveyTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Survey/Create.ex.php b/civicrm/api/v3/examples/Survey/Create.ex.php
index 98ef5d3247..3dce012bd7 100644
--- a/civicrm/api/v3/examples/Survey/Create.ex.php
+++ b/civicrm/api/v3/examples/Survey/Create.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Survey.create API.
  *
@@ -13,7 +18,7 @@ function survey_create_example() {
     'instructions' => 'Call people, ask for money',
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Survey', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -75,23 +80,23 @@ function survey_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testCreateSurvey"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/SurveyTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testCreateSurvey"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/SurveyTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Survey/Delete.ex.php b/civicrm/api/v3/examples/Survey/Delete.ex.php
index af49e79597..1cfe8ea9e4 100644
--- a/civicrm/api/v3/examples/Survey/Delete.ex.php
+++ b/civicrm/api/v3/examples/Survey/Delete.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Survey.delete API.
  *
@@ -10,7 +15,7 @@ function survey_delete_example() {
     'id' => 3,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Survey', 'delete', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -48,23 +53,23 @@ function survey_delete_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testDeleteSurvey"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/SurveyTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testDeleteSurvey"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/SurveyTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Survey/Get.ex.php b/civicrm/api/v3/examples/Survey/Get.ex.php
index a175e1473f..7dac9efd14 100644
--- a/civicrm/api/v3/examples/Survey/Get.ex.php
+++ b/civicrm/api/v3/examples/Survey/Get.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Survey.get API.
  *
@@ -13,7 +18,7 @@ function survey_get_example() {
     'instructions' => 'Call people, ask for money',
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Survey', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -65,23 +70,23 @@ function survey_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGetSurvey"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/SurveyTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGetSurvey"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/SurveyTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/SurveyRespondant/Get.ex.php b/civicrm/api/v3/examples/SurveyRespondant/Get.ex.php
index e54521f3aa..2e93c13aad 100644
--- a/civicrm/api/v3/examples/SurveyRespondant/Get.ex.php
+++ b/civicrm/api/v3/examples/SurveyRespondant/Get.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the SurveyRespondant.get API.
  *
@@ -14,7 +19,7 @@ function survey_respondant_get_example() {
     'survey_id' => 1,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('SurveyRespondant', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -53,23 +58,23 @@ function survey_respondant_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGetSurveyRespondants"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/SurveyRespondantTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGetSurveyRespondants"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/SurveyRespondantTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/System/Flush.ex.php b/civicrm/api/v3/examples/System/Flush.ex.php
index 34b2ce28f4..a5323b45fb 100644
--- a/civicrm/api/v3/examples/System/Flush.ex.php
+++ b/civicrm/api/v3/examples/System/Flush.ex.php
@@ -1,8 +1,13 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the System.flush API.
  *
- * Flush all system caches
+ * Flush all system caches.
  *
  * @return array
  *   API result array
@@ -10,7 +15,7 @@
 function system_flush_example() {
   $params = [];
 
-  try{
+  try {
     $result = civicrm_api3('System', 'flush', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -48,23 +53,23 @@ function system_flush_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testFlush"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/SystemTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testFlush"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/SystemTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Tag/Create.ex.php b/civicrm/api/v3/examples/Tag/Create.ex.php
index 3905455770..e3bbbb9f10 100644
--- a/civicrm/api/v3/examples/Tag/Create.ex.php
+++ b/civicrm/api/v3/examples/Tag/Create.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Tag.create API.
  *
@@ -11,7 +16,7 @@ function tag_create_example() {
     'description' => 'Outside undie-wearers',
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Tag', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -49,9 +54,9 @@ function tag_create_expectedresult() {
         'name' => 'Super Heros',
         'description' => 'Outside undie-wearers',
         'parent_id' => '',
-        'is_selectable' => '1',
-        'is_reserved' => 0,
-        'is_tagset' => 0,
+        'is_selectable' => '',
+        'is_reserved' => '',
+        'is_tagset' => '',
         'used_for' => 'civicrm_contact',
         'created_id' => '',
         'color' => '',
@@ -64,23 +69,23 @@ function tag_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testCreate"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/TagTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testCreate"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/TagTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Tag/Delete.ex.php b/civicrm/api/v3/examples/Tag/Delete.ex.php
index 2f8867db1f..2371cb6039 100644
--- a/civicrm/api/v3/examples/Tag/Delete.ex.php
+++ b/civicrm/api/v3/examples/Tag/Delete.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Tag.delete API.
  *
@@ -10,7 +15,7 @@ function tag_delete_example() {
     'id' => '24',
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Tag', 'delete', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -48,23 +53,23 @@ function tag_delete_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testTagDeleteCorrectSyntax"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/TagTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testTagDeleteCorrectSyntax"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/TagTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Tag/Get.ex.php b/civicrm/api/v3/examples/Tag/Get.ex.php
index c3d91f9dc2..ace87a8763 100644
--- a/civicrm/api/v3/examples/Tag/Get.ex.php
+++ b/civicrm/api/v3/examples/Tag/Get.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Tag.get API.
  *
@@ -11,7 +16,7 @@ function tag_get_example() {
     'name' => 'New Tag3',
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Tag', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -61,23 +66,23 @@ function tag_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGet"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/TagTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGet"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/TagTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Tag/GetFields.ex.php b/civicrm/api/v3/examples/Tag/GetFields.ex.php
index acf9b173f7..789b79c899 100644
--- a/civicrm/api/v3/examples/Tag/GetFields.ex.php
+++ b/civicrm/api/v3/examples/Tag/GetFields.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Tag.getfields API.
  *
@@ -12,7 +17,7 @@ function tag_getfields_example() {
     'action' => 'create',
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Tag', 'getfields', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -55,6 +60,13 @@ function tag_getfields_expectedresult() {
         'entity' => 'Tag',
         'bao' => 'CRM_Core_BAO_Tag',
         'localizable' => 0,
+        'html' => [
+          'type' => 'Number',
+          'size' => 6,
+          'maxlength' => 14,
+        ],
+        'readonly' => TRUE,
+        'add' => '1.1',
         'is_core_field' => TRUE,
         'api.aliases' => [
           '0' => 'tag',
@@ -73,6 +85,7 @@ function tag_getfields_expectedresult() {
         'entity' => 'Tag',
         'bao' => 'CRM_Core_BAO_Tag',
         'localizable' => 0,
+        'add' => '1.1',
         'is_core_field' => TRUE,
         'api.required' => 1,
       ],
@@ -88,20 +101,31 @@ function tag_getfields_expectedresult() {
         'entity' => 'Tag',
         'bao' => 'CRM_Core_BAO_Tag',
         'localizable' => 0,
+        'add' => '1.1',
         'is_core_field' => TRUE,
       ],
       'parent_id' => [
         'name' => 'parent_id',
         'type' => 1,
-        'title' => 'Parent Tag',
+        'title' => 'Parent Tag ID',
         'description' => 'Optional parent id for this tag.',
         'where' => 'civicrm_tag.parent_id',
-        'default' => 'NULL',
         'table_name' => 'civicrm_tag',
         'entity' => 'Tag',
         'bao' => 'CRM_Core_BAO_Tag',
         'localizable' => 0,
         'FKClassName' => 'CRM_Core_DAO_Tag',
+        'html' => [
+          'label' => 'Parent Tag',
+          'size' => 6,
+          'maxlength' => 14,
+        ],
+        'pseudoconstant' => [
+          'table' => 'civicrm_tag',
+          'keyColumn' => 'id',
+          'labelColumn' => 'name',
+        ],
+        'add' => '1.1',
         'is_core_field' => TRUE,
         'FKApiName' => 'Tag',
       ],
@@ -116,6 +140,7 @@ function tag_getfields_expectedresult() {
         'entity' => 'Tag',
         'bao' => 'CRM_Core_BAO_Tag',
         'localizable' => 0,
+        'add' => '2.1',
         'is_core_field' => TRUE,
       ],
       'is_reserved' => [
@@ -127,6 +152,7 @@ function tag_getfields_expectedresult() {
         'entity' => 'Tag',
         'bao' => 'CRM_Core_BAO_Tag',
         'localizable' => 0,
+        'add' => '3.2',
         'is_core_field' => TRUE,
       ],
       'is_tagset' => [
@@ -138,6 +164,7 @@ function tag_getfields_expectedresult() {
         'entity' => 'Tag',
         'bao' => 'CRM_Core_BAO_Tag',
         'localizable' => 0,
+        'add' => '3.2',
         'is_core_field' => TRUE,
       ],
       'used_for' => [
@@ -147,7 +174,6 @@ function tag_getfields_expectedresult() {
         'maxlength' => 64,
         'size' => 30,
         'where' => 'civicrm_tag.used_for',
-        'default' => 'NULL',
         'table_name' => 'civicrm_tag',
         'entity' => 'Tag',
         'bao' => 'CRM_Core_BAO_Tag',
@@ -162,13 +188,14 @@ function tag_getfields_expectedresult() {
           'optionGroupName' => 'tag_used_for',
           'optionEditPath' => 'civicrm/admin/options/tag_used_for',
         ],
+        'add' => '3.2',
         'is_core_field' => TRUE,
         'api.default' => 'civicrm_contact',
       ],
       'created_id' => [
         'name' => 'created_id',
         'type' => 1,
-        'title' => 'Tag Created By',
+        'title' => 'Created By Contact ID',
         'description' => 'FK to civicrm_contact, who created this tag',
         'where' => 'civicrm_tag.created_id',
         'table_name' => 'civicrm_tag',
@@ -176,6 +203,12 @@ function tag_getfields_expectedresult() {
         'bao' => 'CRM_Core_BAO_Tag',
         'localizable' => 0,
         'FKClassName' => 'CRM_Contact_DAO_Contact',
+        'html' => [
+          'label' => 'Created By',
+          'size' => 6,
+          'maxlength' => 14,
+        ],
+        'add' => '3.4',
         'is_core_field' => TRUE,
         'FKApiName' => 'Contact',
       ],
@@ -187,11 +220,11 @@ function tag_getfields_expectedresult() {
         'maxlength' => 255,
         'size' => 45,
         'where' => 'civicrm_tag.color',
-        'default' => 'NULL',
         'table_name' => 'civicrm_tag',
         'entity' => 'Tag',
         'bao' => 'CRM_Core_BAO_Tag',
         'localizable' => 0,
+        'add' => '4.7',
         'is_core_field' => TRUE,
       ],
       'created_date' => [
@@ -204,6 +237,7 @@ function tag_getfields_expectedresult() {
         'entity' => 'Tag',
         'bao' => 'CRM_Core_BAO_Tag',
         'localizable' => 0,
+        'add' => '3.4',
         'is_core_field' => TRUE,
       ],
     ],
@@ -213,23 +247,23 @@ function tag_getfields_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testTagGetfields"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/TagTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testTagGetfields"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/TagTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Tag/GetList.ex.php b/civicrm/api/v3/examples/Tag/GetList.ex.php
index a1fc219534..23aa5c33b1 100644
--- a/civicrm/api/v3/examples/Tag/GetList.ex.php
+++ b/civicrm/api/v3/examples/Tag/GetList.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Tag.getlist API.
  *
@@ -15,7 +20,7 @@ function tag_getlist_example() {
     ],
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Tag', 'getlist', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -67,23 +72,23 @@ function tag_getlist_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testTagGetList"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/TagTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testTagGetList"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/TagTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Tag/GetReturnArray.ex.php b/civicrm/api/v3/examples/Tag/GetReturnArray.ex.php
index 88bb104708..9ccbb63fa1 100644
--- a/civicrm/api/v3/examples/Tag/GetReturnArray.ex.php
+++ b/civicrm/api/v3/examples/Tag/GetReturnArray.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Tag.get API.
  *
@@ -16,7 +21,7 @@ function tag_get_example() {
     ],
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Tag', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -60,23 +65,23 @@ function tag_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGetReturnArray"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/TagTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGetReturnArray"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/TagTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/TaxContributionPage/Create.ex.php b/civicrm/api/v3/examples/TaxContributionPage/Create.ex.php
index 850ab57997..5dd5d4fcd2 100644
--- a/civicrm/api/v3/examples/TaxContributionPage/Create.ex.php
+++ b/civicrm/api/v3/examples/TaxContributionPage/Create.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example of using tax_contribution_page create API.
  *
@@ -18,7 +23,7 @@ function tax_contribution_page_create_example() {
     'contribution_status_id' => 2,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('tax_contribution_page', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -92,7 +97,7 @@ function tax_contribution_page_create_expectedresult() {
 * The test that created it is called
 * testCreateContributionPendingOnline
 * and can be found in
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/TaxContributionPageTest.php
+* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/TaxContributionPageTest.php.
 *
 * You can see the outcome of the API tests at
 * https://test.civicrm.org/job/CiviCRM-master-git/
diff --git a/civicrm/api/v3/examples/TaxContributionPage/CreateWithNestedLineItems.ex.php b/civicrm/api/v3/examples/TaxContributionPage/CreateWithNestedLineItems.ex.php
index e6b6217e9d..fe1b5a8af7 100644
--- a/civicrm/api/v3/examples/TaxContributionPage/CreateWithNestedLineItems.ex.php
+++ b/civicrm/api/v3/examples/TaxContributionPage/CreateWithNestedLineItems.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example of using tax_contribution_page create API.
  *
@@ -40,7 +45,7 @@ function tax_contribution_page_create_example() {
     ],
   ];
 
-  try{
+  try {
     $result = civicrm_api3('tax_contribution_page', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -168,7 +173,7 @@ function tax_contribution_page_create_expectedresult() {
 * The test that created it is called
 * testCreateContributionChainedLineItems
 * and can be found in
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/TaxContributionPageTest.php
+* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/TaxContributionPageTest.php.
 *
 * You can see the outcome of the API tests at
 * https://test.civicrm.org/job/CiviCRM-master-git/
diff --git a/civicrm/api/v3/examples/TaxContributionPage/Delete.ex.php b/civicrm/api/v3/examples/TaxContributionPage/Delete.ex.php
index 5733ca2c5f..fe9fc736ee 100644
--- a/civicrm/api/v3/examples/TaxContributionPage/Delete.ex.php
+++ b/civicrm/api/v3/examples/TaxContributionPage/Delete.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example of using tax_contribution_page delete API.
  *
@@ -10,7 +15,7 @@ function tax_contribution_page_delete_example() {
     'id' => 1,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('tax_contribution_page', 'delete', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -54,7 +59,7 @@ function tax_contribution_page_delete_expectedresult() {
 * The test that created it is called
 * testDeleteContribution
 * and can be found in
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/TaxContributionPageTest.php
+* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/TaxContributionPageTest.php.
 *
 * You can see the outcome of the API tests at
 * https://test.civicrm.org/job/CiviCRM-master-git/
diff --git a/civicrm/api/v3/examples/UFField/Create.ex.php b/civicrm/api/v3/examples/UFField/Create.ex.php
index a4eb8f0eed..947797d36f 100644
--- a/civicrm/api/v3/examples/UFField/Create.ex.php
+++ b/civicrm/api/v3/examples/UFField/Create.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the UFField.create API.
  *
@@ -19,7 +24,7 @@ function uf_field_create_example() {
     'uf_group_id' => 11,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('UFField', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -80,23 +85,23 @@ function uf_field_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testCreateUFField"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/UFFieldTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testCreateUFField"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/UFFieldTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/UFField/Delete.ex.php b/civicrm/api/v3/examples/UFField/Delete.ex.php
index b25806af75..95ef1f9063 100644
--- a/civicrm/api/v3/examples/UFField/Delete.ex.php
+++ b/civicrm/api/v3/examples/UFField/Delete.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the UFField.delete API.
  *
@@ -10,7 +15,7 @@ function uf_field_delete_example() {
     'field_id' => 1,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('UFField', 'delete', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -48,23 +53,23 @@ function uf_field_delete_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testDeleteUFField"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/UFFieldTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testDeleteUFField"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/UFFieldTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/UFField/Get.ex.php b/civicrm/api/v3/examples/UFField/Get.ex.php
index fc537cc71d..2d8cf63484 100644
--- a/civicrm/api/v3/examples/UFField/Get.ex.php
+++ b/civicrm/api/v3/examples/UFField/Get.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the UFField.get API.
  *
@@ -8,7 +13,7 @@
 function uf_field_get_example() {
   $params = [];
 
-  try{
+  try {
     $result = civicrm_api3('UFField', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -65,23 +70,23 @@ function uf_field_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGetUFFieldSuccess"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/UFFieldTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGetUFFieldSuccess"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/UFFieldTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/UFField/Replace.ex.php b/civicrm/api/v3/examples/UFField/Replace.ex.php
index f0230b225e..4bad961e70 100644
--- a/civicrm/api/v3/examples/UFField/Replace.ex.php
+++ b/civicrm/api/v3/examples/UFField/Replace.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the UFField.replace API.
  *
@@ -44,7 +49,7 @@ function uf_field_replace_example() {
     'check_permissions' => TRUE,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('UFField', 'replace', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -146,23 +151,23 @@ function uf_field_replace_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testReplaceUFFields"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/UFFieldTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testReplaceUFFields"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/UFFieldTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/UFGroup/Create.ex.php b/civicrm/api/v3/examples/UFGroup/Create.ex.php
index f4096f2ac1..879d513ec2 100644
--- a/civicrm/api/v3/examples/UFGroup/Create.ex.php
+++ b/civicrm/api/v3/examples/UFGroup/Create.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the UFGroup.create API.
  *
@@ -29,7 +34,7 @@ function uf_group_create_example() {
     'title' => 'Test Group',
   ];
 
-  try{
+  try {
     $result = civicrm_api3('UFGroup', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -98,23 +103,23 @@ function uf_group_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testUFGroupCreate"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/UFGroupTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testUFGroupCreate"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/UFGroupTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/UFGroup/Delete.ex.php b/civicrm/api/v3/examples/UFGroup/Delete.ex.php
index b5560002db..b25743455a 100644
--- a/civicrm/api/v3/examples/UFGroup/Delete.ex.php
+++ b/civicrm/api/v3/examples/UFGroup/Delete.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the UFGroup.delete API.
  *
@@ -10,7 +15,7 @@ function uf_group_delete_example() {
     'id' => 2,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('UFGroup', 'delete', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -48,23 +53,23 @@ function uf_group_delete_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testUFGroupDelete"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/UFGroupTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testUFGroupDelete"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/UFGroupTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/UFGroup/Get.ex.php b/civicrm/api/v3/examples/UFGroup/Get.ex.php
index e7abf95562..fc4d018ae3 100644
--- a/civicrm/api/v3/examples/UFGroup/Get.ex.php
+++ b/civicrm/api/v3/examples/UFGroup/Get.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the UFGroup.get API.
  *
@@ -10,7 +15,7 @@ function uf_group_get_example() {
     'id' => 2,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('UFGroup', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -75,23 +80,23 @@ function uf_group_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testUFGroupGet"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/UFGroupTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testUFGroupGet"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/UFGroupTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/UFJoin/Create.ex.php b/civicrm/api/v3/examples/UFJoin/Create.ex.php
index 4b388f10ac..b0244edbe9 100644
--- a/civicrm/api/v3/examples/UFJoin/Create.ex.php
+++ b/civicrm/api/v3/examples/UFJoin/Create.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the UFJoin.create API.
  *
@@ -16,7 +21,7 @@ function uf_join_create_example() {
     'sequential' => 1,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('UFJoin', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -66,23 +71,23 @@ function uf_join_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testCreateSurveyUFJoin"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/UFJoinTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testCreateSurveyUFJoin"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/UFJoinTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/UFJoin/Get.ex.php b/civicrm/api/v3/examples/UFJoin/Get.ex.php
index 88246c4694..08f3ca6443 100644
--- a/civicrm/api/v3/examples/UFJoin/Get.ex.php
+++ b/civicrm/api/v3/examples/UFJoin/Get.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the UFJoin.get API.
  *
@@ -12,7 +17,7 @@ function uf_join_get_example() {
     'sequential' => 1,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('UFJoin', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -61,23 +66,23 @@ function uf_join_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGetUFJoinId"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/UFJoinTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGetUFJoinId"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/UFJoinTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/UFMatch/Get.ex.php b/civicrm/api/v3/examples/UFMatch/Get.ex.php
index 9f68b0c692..8b87d90e44 100644
--- a/civicrm/api/v3/examples/UFMatch/Get.ex.php
+++ b/civicrm/api/v3/examples/UFMatch/Get.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the UFMatch.get API.
  *
@@ -10,7 +15,7 @@ function uf_match_get_example() {
     'contact_id' => 69,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('UFMatch', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -56,23 +61,23 @@ function uf_match_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGetUFID"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/UFMatchTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGetUFID"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/UFMatchTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/User/Get.ex.php b/civicrm/api/v3/examples/User/Get.ex.php
index 9c71f5b1b8..92cc07edd2 100644
--- a/civicrm/api/v3/examples/User/Get.ex.php
+++ b/civicrm/api/v3/examples/User/Get.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the User.get API.
  *
@@ -11,7 +16,7 @@ function user_get_example() {
     'sequential' => 1,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('User', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -56,23 +61,23 @@ function user_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testUserGet"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/UserTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testUserGet"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/UserTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/User/GetFields.ex.php b/civicrm/api/v3/examples/User/GetFields.ex.php
index d390e46af1..4df70c6922 100644
--- a/civicrm/api/v3/examples/User/GetFields.ex.php
+++ b/civicrm/api/v3/examples/User/GetFields.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the User.getfields API.
  *
@@ -10,7 +15,7 @@ function user_getfields_example() {
     'action' => 'get',
   ];
 
-  try{
+  try {
     $result = civicrm_api3('User', 'getfields', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -65,23 +70,23 @@ function user_getfields_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGetFields"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/UserTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGetFields"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/UserTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Website/Create.ex.php b/civicrm/api/v3/examples/Website/Create.ex.php
index 66874a2227..ba17211e96 100644
--- a/civicrm/api/v3/examples/Website/Create.ex.php
+++ b/civicrm/api/v3/examples/Website/Create.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Website.create API.
  *
@@ -12,7 +17,7 @@ function website_create_example() {
     'website_type_id' => 1,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Website', 'create', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -58,23 +63,23 @@ function website_create_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testCreateWebsite"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/WebsiteTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testCreateWebsite"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/WebsiteTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Website/Delete.ex.php b/civicrm/api/v3/examples/Website/Delete.ex.php
index 4a0d85693b..2b04101b8a 100644
--- a/civicrm/api/v3/examples/Website/Delete.ex.php
+++ b/civicrm/api/v3/examples/Website/Delete.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Website.delete API.
  *
@@ -7,10 +12,10 @@
  */
 function website_delete_example() {
   $params = [
-    'id' => 3,
+    'id' => 5,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Website', 'delete', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -48,23 +53,23 @@ function website_delete_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testDeleteWebsite"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/WebsiteTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testDeleteWebsite"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/WebsiteTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Website/Get.ex.php b/civicrm/api/v3/examples/Website/Get.ex.php
index 4c2470c789..8492e1faef 100644
--- a/civicrm/api/v3/examples/Website/Get.ex.php
+++ b/civicrm/api/v3/examples/Website/Get.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Website.get API.
  *
@@ -12,7 +17,7 @@ function website_get_example() {
     'website_type_id' => 1,
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Website', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -43,10 +48,10 @@ function website_get_expectedresult() {
     'is_error' => 0,
     'version' => 3,
     'count' => 1,
-    'id' => 2,
+    'id' => 3,
     'values' => [
-      '2' => [
-        'id' => '2',
+      '3' => [
+        'id' => '3',
         'contact_id' => '5',
         'url' => 'website.com',
         'website_type_id' => '1',
@@ -58,23 +63,23 @@ function website_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGetWebsite"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/WebsiteTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGetWebsite"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/WebsiteTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Website/GetFields.ex.php b/civicrm/api/v3/examples/Website/GetFields.ex.php
index a4a5f78056..6801f5543a 100644
--- a/civicrm/api/v3/examples/Website/GetFields.ex.php
+++ b/civicrm/api/v3/examples/Website/GetFields.ex.php
@@ -1,4 +1,9 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Website.getfields API.
  *
@@ -10,7 +15,7 @@ function website_getfields_example() {
     'action' => 'get',
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Website', 'getfields', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -53,6 +58,13 @@ function website_getfields_expectedresult() {
         'entity' => 'Website',
         'bao' => 'CRM_Core_BAO_Website',
         'localizable' => 0,
+        'html' => [
+          'type' => 'Number',
+          'size' => 6,
+          'maxlength' => 14,
+        ],
+        'readonly' => TRUE,
+        'add' => '3.2',
         'is_core_field' => TRUE,
         'api.aliases' => [
           '0' => 'website_id',
@@ -61,7 +73,7 @@ function website_getfields_expectedresult() {
       'contact_id' => [
         'name' => 'contact_id',
         'type' => 1,
-        'title' => 'Contact',
+        'title' => 'Contact ID',
         'description' => 'FK to Contact ID',
         'where' => 'civicrm_website.contact_id',
         'table_name' => 'civicrm_website',
@@ -69,6 +81,12 @@ function website_getfields_expectedresult() {
         'bao' => 'CRM_Core_BAO_Website',
         'localizable' => 0,
         'FKClassName' => 'CRM_Contact_DAO_Contact',
+        'html' => [
+          'label' => 'Contact',
+          'size' => 6,
+          'maxlength' => 14,
+        ],
+        'add' => '3.2',
         'is_core_field' => TRUE,
         'FKApiName' => 'Contact',
       ],
@@ -93,6 +111,7 @@ function website_getfields_expectedresult() {
           'maxlength' => 128,
           'size' => 30,
         ],
+        'add' => '3.2',
         'is_core_field' => TRUE,
       ],
       'website_type_id' => [
@@ -114,6 +133,7 @@ function website_getfields_expectedresult() {
           'optionGroupName' => 'website_type',
           'optionEditPath' => 'civicrm/admin/options/website_type',
         ],
+        'add' => '3.2',
         'is_core_field' => TRUE,
       ],
     ],
@@ -123,23 +143,23 @@ function website_getfields_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGetFields"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/WebsiteTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGetFields"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/WebsiteTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/examples/Website/GetWithMetadata.ex.php b/civicrm/api/v3/examples/Website/GetWithMetadata.ex.php
index 2cf480b8f2..d3cd32d16d 100644
--- a/civicrm/api/v3/examples/Website/GetWithMetadata.ex.php
+++ b/civicrm/api/v3/examples/Website/GetWithMetadata.ex.php
@@ -1,8 +1,13 @@
 <?php
+
+/**
+ * @file
+ */
+
 /**
  * Test Generated example demonstrating the Website.get API.
  *
- * Demonostrates returning field metadata
+ * Demonostrates returning field metadata.
  *
  * @return array
  *   API result array
@@ -16,7 +21,7 @@ function website_get_example() {
     ],
   ];
 
-  try{
+  try {
     $result = civicrm_api3('Website', 'get', $params);
   }
   catch (CiviCRM_API3_Exception $e) {
@@ -61,6 +66,13 @@ function website_get_expectedresult() {
           'entity' => 'Website',
           'bao' => 'CRM_Core_BAO_Website',
           'localizable' => 0,
+          'html' => [
+            'type' => 'Number',
+            'size' => '6',
+            'maxlength' => '14',
+          ],
+          'readonly' => '1',
+          'add' => '3.2',
           'is_core_field' => '1',
           'api.aliases' => [
             '0' => 'website_id',
@@ -69,7 +81,7 @@ function website_get_expectedresult() {
         'contact_id' => [
           'name' => 'contact_id',
           'type' => '1',
-          'title' => 'Contact',
+          'title' => 'Contact ID',
           'description' => 'FK to Contact ID',
           'where' => 'civicrm_website.contact_id',
           'table_name' => 'civicrm_website',
@@ -77,6 +89,12 @@ function website_get_expectedresult() {
           'bao' => 'CRM_Core_BAO_Website',
           'localizable' => 0,
           'FKClassName' => 'CRM_Contact_DAO_Contact',
+          'html' => [
+            'label' => 'Contact',
+            'size' => '6',
+            'maxlength' => '14',
+          ],
+          'add' => '3.2',
           'is_core_field' => '1',
           'FKApiName' => 'Contact',
         ],
@@ -101,6 +119,7 @@ function website_get_expectedresult() {
             'maxlength' => '128',
             'size' => '30',
           ],
+          'add' => '3.2',
           'is_core_field' => '1',
         ],
         'website_type_id' => [
@@ -122,6 +141,7 @@ function website_get_expectedresult() {
             'optionGroupName' => 'website_type',
             'optionEditPath' => 'civicrm/admin/options/website_type',
           ],
+          'add' => '3.2',
           'is_core_field' => '1',
         ],
       ],
@@ -132,23 +152,23 @@ function website_get_expectedresult() {
 }
 
 /*
-* This example has been generated from the API test suite.
-* The test that created it is called "testGetMetadata"
-* and can be found at:
-* https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/WebsiteTest.php
-*
-* You can see the outcome of the API tests at
-* https://test.civicrm.org/job/CiviCRM-Core-Matrix/
-*
-* To Learn about the API read
-* https://docs.civicrm.org/dev/en/latest/api/
-*
-* Browse the API on your own site with the API Explorer. It is in the main
-* CiviCRM menu, under: Support > Development > API Explorer.
-*
-* Read more about testing here
-* https://docs.civicrm.org/dev/en/latest/testing/
-*
-* API Standards documentation:
-* https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
-*/
+ * This example has been generated from the API test suite.
+ * The test that created it is called "testGetMetadata"
+ * and can be found at:
+ * https://github.com/civicrm/civicrm-core/blob/master/tests/phpunit/api/v3/WebsiteTest.php
+ *
+ * You can see the outcome of the API tests at
+ * https://test.civicrm.org/job/CiviCRM-Core-Matrix/
+ *
+ * To Learn about the API read
+ * https://docs.civicrm.org/dev/en/latest/api/
+ *
+ * Browse the API on your own site with the API Explorer. It is in the main
+ * CiviCRM menu, under: Support > Development > API Explorer.
+ *
+ * Read more about testing here
+ * https://docs.civicrm.org/dev/en/latest/testing/
+ *
+ * API Standards documentation:
+ * https://docs.civicrm.org/dev/en/latest/framework/api-architecture/
+ */
diff --git a/civicrm/api/v3/utils.php b/civicrm/api/v3/utils.php
index 53e652bed7..a7ce83160e 100644
--- a/civicrm/api/v3/utils.php
+++ b/civicrm/api/v3/utils.php
@@ -273,7 +273,7 @@ function civicrm_api3_create_success($values = 1, $params = [], $entity = NULL,
 /**
  * Load the DAO of the entity.
  *
- * @param $entity
+ * @param string $entity
  *
  * @return bool
  */
@@ -405,7 +405,7 @@ function _civicrm_api3_get_BAO($name) {
 /**
  * Recursive function to explode value-separated strings into arrays.
  *
- * @param $values
+ * @param array $values
  */
 function _civicrm_api3_separate_values(&$values) {
   $sp = CRM_Core_DAO::VALUE_SEPARATOR;
@@ -445,15 +445,15 @@ function _civicrm_api3_filter_fields_for_bao($entity, &$params, &$values) {
 }
 
 /**
- * Store values.
+ * Copy values (other than id) from params to values if they exist in fields.
  *
  * @param array $fields
  * @param array $params
  * @param array $values
  *
- * @return Bool
+ * @return bool
  */
-function _civicrm_api3_store_values(&$fields, &$params, &$values) {
+function _civicrm_api3_store_values(array $fields, array $params, &$values): bool {
   $valueFound = FALSE;
 
   $keys = array_intersect_key($params, $fields);
@@ -498,7 +498,7 @@ function _civicrm_api3_field_names($fields) {
  * Ideally this would be merged with _civicrm_get_query_object but we need to resolve differences in what the
  * 2 variants call
  *
- * @param $entity
+ * @param string $entity
  * @param array $params
  *   As passed into api get or getcount function.
  * @param array $additional_options
@@ -898,7 +898,7 @@ function _civicrm_api3_get_options_from_params($params, $queryObject = FALSE, $e
  *   Params array as passed into civicrm_api.
  * @param object $dao
  *   DAO object.
- * @param $entity
+ * @param string $entity
  *
  * @throws \API_Exception
  * @throws \CRM_Core_Exception
@@ -1068,8 +1068,8 @@ function _civicrm_api3_object_to_array(&$dao, &$values, $uniqueFields = FALSE) {
 /**
  * Wrapper for _civicrm_object_to_array when api supports unique fields.
  *
- * @param $dao
- * @param $values
+ * @param CRM_Core_DAO $dao
+ * @param array $values
  *
  * @return array
  */
@@ -1125,10 +1125,10 @@ function _civicrm_api3_custom_format_params($params, &$values, $extends, $entity
  * Format parameters for create action.
  *
  * @param array $params
- * @param $entity
+ * @param string $entity
  */
 function _civicrm_api3_format_params_for_create(&$params, $entity) {
-  $nonGenericEntities = ['Contact', 'Individual', 'Household', 'Organization'];
+  $nonGenericEntities = array_merge(['Contact'], CRM_Contact_BAO_ContactType::basicTypes(TRUE));
 
   $customFieldEntities = array_diff_key(CRM_Core_SelectValues::customGroupExtends(), array_fill_keys($nonGenericEntities, 1));
   if (!array_key_exists($entity, $customFieldEntities)) {
@@ -1302,29 +1302,20 @@ function _civicrm_api3_basic_get($bao_name, $params, $returnAsSuccess = TRUE, $e
 function _civicrm_api3_basic_create($bao_name, &$params, $entity = NULL) {
   _civicrm_api3_check_edit_permissions($bao_name, $params);
   _civicrm_api3_format_params_for_create($params, $entity);
-  $args = array(&$params);
-  if ($entity) {
-    $ids = [$entity => CRM_Utils_Array::value('id', $params)];
-    $args[] = &$ids;
-  }
 
   if (method_exists($bao_name, 'create')) {
     $fct = 'create';
-    $fct_name = $bao_name . '::' . $fct;
-    $bao = call_user_func_array([$bao_name, $fct], $args);
   }
   elseif (method_exists($bao_name, 'add')) {
     $fct = 'add';
-    $fct_name = $bao_name . '::' . $fct;
-    $bao = call_user_func_array([$bao_name, $fct], $args);
   }
-  else {
-    $fct_name = '_civicrm_api3_basic_create_fallback';
-    $bao = _civicrm_api3_basic_create_fallback($bao_name, $params);
+  if (!isset($fct) || \Civi\Api4\Utils\ReflectionUtils::isMethodDeprecated($bao_name, $fct)) {
+    $fct = 'writeRecord';
   }
+  $bao = $bao_name::$fct($params);
 
   if (is_null($bao)) {
-    return civicrm_api3_create_error('Entity not created (' . $fct_name . ')');
+    return civicrm_api3_create_error("Entity not created ($bao_name::$fct)");
   }
   elseif (is_a($bao, 'CRM_Core_Error')) {
     //some weird circular thing means the error takes itself as an argument
@@ -1338,8 +1329,9 @@ function _civicrm_api3_basic_create($bao_name, &$params, $entity = NULL) {
   }
   else {
     // If we have custom fields the BAO may have taken care of it or we may have to.
-    // $extendsMap provides a pretty good hard-coded list of BAOs that take care of the custom data.
-    if (isset($params['custom']) && empty(CRM_Core_BAO_CustomQuery::$extendsMap[$entity])) {
+    // DAO::writeRecord always handles custom data.
+    // Otherwise guess based on the $extendsMap hard-coded list of BAOs that take care of custom data.
+    if (isset($params['custom']) && $fct !== 'writeRecord' && empty(CRM_Core_BAO_CustomQuery::$extendsMap[$entity])) {
       CRM_Core_BAO_CustomValueTable::store($params['custom'], CRM_Core_DAO_AllCoreTables::getTableForClass(CRM_Core_DAO_AllCoreTables::getFullName($entity)), $bao->id);
     }
     $values = [];
@@ -1409,7 +1401,7 @@ function _civicrm_api3_basic_delete($bao_name, &$params) {
  *
  * @param array $returnArray
  *   Array to append custom data too - generally $result[4] where 4 is the entity id.
- * @param $checkPermission
+ * @param bool $checkPermission
  * @param string $entity
  *   E.g membership, event.
  * @param int $entity_id
@@ -1513,7 +1505,7 @@ function _civicrm_api3_validate($entity, $action, $params) {
 
 /**
  * Used by the Validate API.
- * @param $fieldName
+ * @param string $fieldName
  * @param array $fieldInfo
  * @param string $entity
  * @param array $params
@@ -1713,7 +1705,7 @@ function _civicrm_api3_validate_date(&$params, &$fieldName, &$fieldInfo) {
  *
  * @param string $dateValue
  * @param string $fieldName
- * @param $fieldType
+ * @param int $fieldType
  *
  * @throws Exception
  * @return mixed
@@ -1884,7 +1876,7 @@ function _civicrm_api3_generic_replace_base_params($params) {
 /**
  * Returns fields allowable by api.
  *
- * @param $entity
+ * @param string $entity
  *   String Entity to query.
  * @param bool $unique
  *   Index by unique fields?.
@@ -1960,7 +1952,7 @@ function _civicrm_api_get_fields($entity, $unique = FALSE, &$params = []) {
  *
  * This is the same as the BAO function but fields are prefixed with 'custom_' to represent api params.
  *
- * @param $entity
+ * @param string $entity
  * @param array $params
  *
  * @return array
@@ -2004,8 +1996,8 @@ function _civicrm_api_get_custom_fields($entity, &$params) {
  *
  * Function also swaps unique fields for non-unique fields & vice versa.
  *
- * @param $apiRequest
- * @param $fields
+ * @param array $apiRequest
+ * @param array $fields
  */
 function _civicrm_api3_swap_out_aliases(&$apiRequest, $fields) {
   foreach ($fields as $field => $values) {
@@ -2085,10 +2077,10 @@ function _civicrm_api3_validate_integer(&$params, $fieldName, &$fieldInfo, $enti
       }
     }
     if (
-      (!empty($fieldInfo['pseudoconstant']) || !empty($fieldInfo['options']) || $fieldName === 'campaign_id')
-      // if it is already numeric AND it is an FK field we don't need to validate because
-      // sql will do that for us on insert (this also saves a big lookup)
-      && (!is_numeric($fieldValue) || !in_array($fieldName, ['campaign_id', 'payment_processor_id']))
+      !empty($fieldInfo['pseudoconstant']) ||
+      !empty($fieldInfo['options']) ||
+      // Special case for campaign_id which is no longer a pseudoconstant
+      ($fieldName === 'campaign_id' && !CRM_Utils_Rule::positiveInteger($fieldValue))
     ) {
       $additional_lookup_params = [];
       if (strtolower($entity) === 'address' && $fieldName == 'state_province_id') {
@@ -2126,7 +2118,7 @@ function _civicrm_api3_validate_integer(&$params, $fieldName, &$fieldInfo, $enti
 
 /**
  * Helper function to determine country_id given the myriad of values for country_id or country that are supported
- * @param $params
+ * @param array $params
  *
  * @return int|null
  */
@@ -2402,9 +2394,9 @@ function _civicrm_api3_api_match_pseudoconstant_value(&$value, $options, $fieldN
 /**
  * Returns the canonical name of a field.
  *
- * @param $entity
+ * @param string $entity
  *   api entity name (string should already be standardized - no camelCase).
- * @param $fieldName
+ * @param string $fieldName
  *   any variation of a field's name (name, unique_name, api.alias).
  *
  * @param string $action
@@ -2497,7 +2489,7 @@ function _civicrm_api3_field_value_check(&$params, $fieldName, $type = NULL) {
  * _civicrm_api3_basic_get but does not use DAO/BAO. This is useful for
  * small/mid-size data loaded from external JSON or XML documents.
  *
- * @param $entity
+ * @param string $entity
  * @param array $params
  *   API parameters.
  * @param array $records
diff --git a/civicrm/civicrm-version.php b/civicrm/civicrm-version.php
index 843c9c0e01..4240123d8e 100644
--- a/civicrm/civicrm-version.php
+++ b/civicrm/civicrm-version.php
@@ -1,7 +1,7 @@
 <?php
 /** @deprecated */
 function civicrmVersion( ) {
-  return array( 'version'  => '5.46.2',
+  return array( 'version'  => '5.47.0',
                 'cms'      => 'Wordpress',
                 'revision' => '' );
 }
diff --git a/civicrm/composer.json b/civicrm/composer.json
index 3450c57ca2..06a7dcbf9b 100644
--- a/civicrm/composer.json
+++ b/civicrm/composer.json
@@ -39,6 +39,11 @@
   "config": {
     "platform": {
       "php": "7.2"
+    },
+    "allow-plugins": {
+      "civicrm/composer-compile-plugin": true,
+      "civicrm/composer-downloads-plugin": true,
+      "cweagans/composer-patches": true
     }
   },
   "require": {
diff --git a/civicrm/css/abtesting.css b/civicrm/css/abtesting.css
index e69de29bb2..8b13789179 100644
--- a/civicrm/css/abtesting.css
+++ b/civicrm/css/abtesting.css
@@ -0,0 +1 @@
+
diff --git a/civicrm/css/admin.css b/civicrm/css/admin.css
index f32f51f710..61ff521cb8 100644
--- a/civicrm/css/admin.css
+++ b/civicrm/css/admin.css
@@ -6,12 +6,12 @@
 }
 
 #crm-container table.selector td.tasklist {
-  border-right: 1px solid #DDDDDD;
+  border-right: 1px solid #dddddd;
   width: 20%;
 }
 
 #crm-container td.tasklist a:link {
-  color: #FF0105;
+  color: #ff0105;
 }
 
 #crm-container td.tasklist a:visited {
@@ -20,22 +20,22 @@
 
 /* Class for successful upgrade */
 .crm-container .upgrade-success {
-  background-color: #00CC00;
+  background-color: #00cc00;
   color: white;
 }
 
 /* Extension management */
 
 .crm-container .extension-upgradable {
-  background-color: #FFFFCC !important;
+  background-color: #ffffcc !important;
 }
 
 .crm-container .extension-installed {
-  background-color: #DDFFDD !important;
+  background-color: #ddffdd !important;
 }
 
 .crm-container .extension-missing {
-  color: #E43D2B !important;
+  color: #e43d2b !important;
 }
 
 #crm-container .crm-extensions-upgrade {
@@ -56,7 +56,7 @@
 }
 
 .crm-container .crm-extensions-stage.fa-check-circle {
-  color: #00994D;
+  color: #00994d;
 }
 
 @media screen and (min-width: 480px) {
diff --git a/civicrm/css/backdrop.css b/civicrm/css/backdrop.css
index 2d99f549e3..53faf1ac70 100644
--- a/civicrm/css/backdrop.css
+++ b/civicrm/css/backdrop.css
@@ -2,7 +2,7 @@
 
 /* Make status messages work with Backdrop styles */
 .crm-container :not(.crm-footer) .messages.status {
-  background-color: #E9EEBC;
+  background-color: #e9eebc;
   padding: 0.9em 0.625em 1em 3.438em;
   border: none;
 }
@@ -10,7 +10,7 @@
 .crm-container :not(.crm-footer) .messages.status .crm-i {
   font-size: 1.5rem;
   color: #fff;
-  background-color: #CFDE56;
+  background-color: #cfde56;
   position: absolute;
   padding: .4rem;
   left: 0;
@@ -22,7 +22,7 @@
   .crm-container :not(.crm-footer) .messages.status {
     padding-left: 4.375em;
   }
-  
+
   .crm-container :not(.crm-footer) .messages.status .crm-i {
     font-size: 1.75rem;
     padding: .5rem;
diff --git a/civicrm/css/bluemarine.css b/civicrm/css/bluemarine.css
index 95b9cde6ca..f3fc40bd8f 100644
--- a/civicrm/css/bluemarine.css
+++ b/civicrm/css/bluemarine.css
@@ -10,10 +10,16 @@ body {
   background-color: #fff;
   font: 76% Verdana, Arial, Helvetica, sans-serif;
 }
-tr.dark td, tr.light td {
+tr.dark td,
+tr.light td {
   padding: 0.3em;
 }
-h1, h2, h3, h4, h5, h6 {
+h1,
+h2,
+h3,
+h4,
+h5,
+h6 {
   margin-bottom: 0.5em;
 }
 h1 {
@@ -22,7 +28,10 @@ h1 {
 h2 {
   font-size: 1.2em;
 }
-h3, h4, h5, h6 {
+h3,
+h4,
+h5,
+h6 {
   font-size: 1.1em;
 }
 p {
@@ -74,7 +83,8 @@ table {
 /*
 ** Page layout blocks / IDs
 */
-#header, #content {
+#header,
+#content {
   width: 100%;
 }
 #header {
@@ -112,7 +122,8 @@ table {
   font-weight: bold;
   color: #9cf;
 }
-#search .form-text, #search .crm-form-submit {
+#search .form-text,
+#search .crm-form-submit {
   border: 1px solid #369;
   font-size: 1.1em;
 }
@@ -130,7 +141,8 @@ table {
   padding: 1.5em 2em;
   color: #fff;
 }
-#mission a, #mission a:visited {
+#mission a,
+#mission a:visited {
   color: #9cf;
   font-weight: bold;
 }
@@ -139,7 +151,8 @@ table {
   padding: 0em;
   font-size: 2em;
 }
-.site-name a:link, .site-name a:visited {
+.site-name a:link,
+.site-name a:visited {
   color: #fff;
 }
 .site-name a:hover {
@@ -158,7 +171,9 @@ table {
   /* padding in px not ex because IE messes up 100% width tables otherwise */
   padding: 10px;
 }
-#mission, .node .content, .comment .content {
+#mission,
+.node .content,
+.comment .content {
   line-height: 1.4;
 }
 #help {
@@ -177,7 +192,8 @@ table {
 .error {
   border-color: red;
 }
-#sidebar-left, #sidebar-right {
+#sidebar-left,
+#sidebar-right {
   background-color: #ddd;
   width: 16em;
   /* padding in px not ex because IE messes up 100% width tables otherwise */
@@ -196,7 +212,8 @@ table {
 ** additional rules /with only the differing properties!/ to .parent .class.
 ** See .comment .title for an example.
 */
-.title, .title a {
+.title,
+.title a {
   font-weight: bold;
   font-size: 1.3em;
   color: #777;
@@ -212,7 +229,8 @@ table {
 .links a {
   font-weight: bold;
 }
-.block, .box {
+.block,
+.box {
   padding: 0 0 1.5em 0;
 }
 .block {
@@ -234,7 +252,8 @@ table {
   background-color: #eee;
   border: solid 1px #ddd;
 }
-.node .content, .comment .content {
+.node .content,
+.comment .content {
   margin: .5em 0 .5em 0;
 }
 .node .taxonomy {
@@ -278,7 +297,10 @@ table {
   padding: 1em;
   margin: 1em 0 1em 0;
 }
-#aggregator .news-item .source, #aggregator .news-item .categories, #aggregator .source, #aggregator .age {
+#aggregator .news-item .source,
+#aggregator .news-item .categories,
+#aggregator .source,
+#aggregator .age {
   color: #999;
   font-style: italic;
   font-size: 0.9em;
@@ -296,10 +318,12 @@ table {
 #forum td {
   padding: 0.5em 0.5em 0.5em 0.5em;
 }
-#forum td.forum, #forum td.posts {
+#forum td.forum,
+#forum td.posts {
   background-color: #eee;
 }
-#forum td.topics, #forum td.last-reply {
+#forum td.topics,
+#forum td.last-reply {
   background-color: #ddd;
 }
 #forum td.container {
@@ -308,7 +332,9 @@ table {
 #forum td.container a {
   color: #555;
 }
-#forum td.statistics, #forum td.settings, #forum td.pager {
+#forum td.statistics,
+#forum td.settings,
+#forum td.pager {
   height: 1.5em;
   border: 1px solid #bbb;
 }
@@ -334,7 +360,8 @@ table {
 .calendar a {
   text-decoration: none;
 }
-.calendar td, .calendar th {
+.calendar td,
+.calendar th {
   padding: 0.4em 0;
   border-color: #888;
 }
@@ -355,5 +382,6 @@ table {
   background-color: #ccc;
 }
 .calendar .row-week td a:hover {
-  background-color: #fff; color: #000;
+  background-color: #fff;
+  color: #000;
 }
diff --git a/civicrm/css/civicrm.css b/civicrm/css/civicrm.css
index 163095e9d0..3216339b5c 100644
--- a/civicrm/css/civicrm.css
+++ b/civicrm/css/civicrm.css
@@ -8,15 +8,15 @@
 
 /* Use this class to hide text that should only be there for screen readers */
 .sr-only {
-   border: 0;
-   clip: rect(1px, 1px, 1px, 1px);
-   clip-path: inset(50%);
-   height: 1px;
-   width: 1px;
-   margin: -1px;
-   overflow: hidden;
-   padding: 0;
-   position: absolute;
+  border: 0;
+  clip: rect(1px, 1px, 1px, 1px);
+  clip-path: inset(50%);
+  height: 1px;
+  width: 1px;
+  margin: -1px;
+  overflow: hidden;
+  padding: 0;
+  position: absolute;
 }
 
 .crm-container .crm-flex-box {
@@ -62,11 +62,12 @@ div.crm-container label {
   display: inline;
 }
 
-div.crm-container fieldset label{
+div.crm-container fieldset label {
   float: none;
 }
 
-input.crm-form-radio + label, input.crm-form-checkbox + label{
+input.crm-form-radio + label,
+input.crm-form-checkbox + label {
   margin-left: 7px;
 }
 
@@ -112,11 +113,11 @@ input.crm-form-radio + label, input.crm-form-checkbox + label{
 .crm-container table.display thead th,
 .crm-container table thead.sticky th,
 .crm-container table.caseSelector tr.columnheader th {
-  background-color: #FFFFFF;
-  border-color: #FFFFFF #FFFFFF #CFCEC3;
+  background-color: #ffffff;
+  border-color: #ffffff #ffffff #cfcec3;
   border-style: solid;
   border-width: 1px 1px 2px;
-  color: #A7A7A7;
+  color: #a7a7a7;
   font-size: 13px;
   font-weight: bold;
   padding: 4px;
@@ -125,13 +126,13 @@ input.crm-form-radio + label, input.crm-form-checkbox + label{
 }
 /* Styles for Sticky Header */
 .crm-container table thead.sticky {
-  background-color: #FFF;
+  background-color: #fff;
 }
 
 .crm-container thead div.sticky-header {
   height: 15px;
-  border-bottom: 2px solid #CFCEC3;
-  background-color: #FFF;
+  border-bottom: 2px solid #cfcec3;
+  background-color: #fff;
   z-index: 10;
 }
 
@@ -143,12 +144,12 @@ input.crm-form-radio + label, input.crm-form-checkbox + label{
 .crm-container table.caseSelector tr.columnheader th a.sort-ascending,
 .crm-container table.caseSelector tr.columnheader th a.sort-descending {
   color: #3e3e3e;
-  background-color: #FFF;
+  background-color: #fff;
 }
 
 /* Set background back to normal gray for form labels which use <th>. Temporary fix until we standardize form layout markup. */
 .crm-container table.form-layout-compressed tbody th.label {
-  background-color: #F7F7F7;
+  background-color: #f7f7f7;
 }
 
 .crm-container tbody {
@@ -164,7 +165,7 @@ input.crm-form-radio + label, input.crm-form-checkbox + label{
   margin: 0;
   padding: 3px 0 3px 0;
   clear: none;
-  background-color: #F1F8EB;
+  background-color: #f1f8eb;
 }
 
 /*
@@ -240,7 +241,7 @@ input.crm-form-entityref {
 
 /* Base crm-container styles */
 .crm-container hr {
-  background-color: #B0B0B0;
+  background-color: #b0b0b0;
 }
 
 .crm-container .crm-form-block {
@@ -248,7 +249,7 @@ input.crm-form-entityref {
   margin-bottom: 4px;
   font-size: 13px;
   background-color: #efefe5;
-  color: #3E3E3E;
+  color: #3e3e3e;
 }
 
 .crm-container .no-border {
@@ -303,7 +304,7 @@ input.crm-form-entityref {
 }
 
 .crm-container input.crm-form-text.ng-invalid.ng-dirty {
-    border: 1px solid #FF0000;
+  border: 1px solid #ff0000;
 }
 .crm-container input.crm-form-text,
 .crm-container .crm-icon-picker-button,
@@ -358,7 +359,7 @@ input.crm-form-entityref {
   padding: 4px 0;
   margin: 10px 0;
   border: none;
-  border-top: 1px solid #CFCEC3;
+  border-top: 1px solid #cfcec3;
 }
 
 .crm-container fieldset.no-border {
@@ -373,7 +374,7 @@ input.crm-form-entityref {
   background: none;
   border: medium none;
   background-color: transparent;
-  color: #3E3E3E;
+  color: #3e3e3e;
   position: relative;
   text-indent: 0;
   width: auto;
@@ -422,7 +423,7 @@ input.crm-form-entityref {
   }
 }
 
-.crm-container .crm-section .label label{
+.crm-container .crm-section .label label {
   white-space: normal;
 }
 
@@ -633,14 +634,14 @@ input.crm-form-entityref {
 }
 
 .crm-container .messages table td {
-  background-color: #F7F7F7;
-  border-bottom: 1px solid #DDDDDD;
+  background-color: #f7f7f7;
+  border-bottom: 1px solid #dddddd;
 }
 
 .crm-container .status {
-  background-color: #FFFFCC;
+  background-color: #ffffcc;
   background-image: none;
-  border: 1px solid #FFFF66;
+  border: 1px solid #ffff66;
   margin: 0.5em 0;
   padding: 0.25em 0.5em;
   color: #3e3e3e;
@@ -673,26 +674,26 @@ input.crm-form-entityref {
   color: #000080;
 }
 
-.crm-container .crm-marker{
-  color: #8A1F11;
+.crm-container .crm-marker {
+  color: #8a1f11;
   font-weight: bold;
   margin-right: 5px;
 }
 
 .crm-container .crm-error,
 .crm-container .crm-inline-error {
-  background: #FBE3E4 none repeat scroll 0 0;
+  background: #fbe3e4 none repeat scroll 0 0;
   border: none;
-  color: #8A1F11;
+  color: #8a1f11;
 }
 .crm-container .crm-error {
   padding: 4px;
 }
 
 .crm-container .status.crm-ok {
-  border-color: #B0D730;
-  background-color: #F1F8EB;
-  color: #3E3E3E;
+  border-color: #b0d730;
+  background-color: #f1f8eb;
+  color: #3e3e3e;
 }
 
 .crm-container .crm-footer {
@@ -744,7 +745,7 @@ input.crm-form-entityref {
   padding: 0.5em;
   background-color: #999999;
   font-weight: bold;
-  color: #FAFAFA;
+  color: #fafafa;
   border-radius: 2px;
 }
 
@@ -756,10 +757,10 @@ input.crm-form-entityref {
 /* Data display layouts */
 .crm-container h3 {
   /* h3 used as table header for civicrm */
-  background-color: #CDE8FE;
+  background-color: #cde8fe;
   font-size: 15px;
   font-weight: bold;
-  color: #121A2D;
+  color: #121a2d;
   padding: 4px 6px;
   margin: 0 0 0.3em;
 }
@@ -842,9 +843,9 @@ input.crm-form-entityref {
 /* Page and form-level 'help' */
 .crm-container .help,
 .crm-container #help {
-  background-color: #F1F8EB;
-  border: 1px solid #B0D730;
-  color: #3E3E3E;
+  background-color: #f1f8eb;
+  border: 1px solid #b0d730;
+  color: #3e3e3e;
   font-size: 13px;
   margin: 0 0 8px;
   padding: 4px;
@@ -870,14 +871,6 @@ input.crm-form-entityref {
   font-style: italic;
 }
 
-.crm-container .font-size11pt {
-  font-size: 1.1em;
-}
-
-.crm-container .font-size12pt {
-  font-size: 1.2em;
-}
-
 .crm-container .qill {
   font-weight: normal;
   line-height: 1.1em;
@@ -903,9 +896,9 @@ input.crm-form-entityref {
 }
 
 #crm-container tr.columnheader {
-  background-color: #E6E6E6;
+  background-color: #e6e6e6;
   color: #000000;
-  border: 1px solid #DDD;
+  border: 1px solid #ddd;
 }
 
 #crm-container tr.columnheader a {
@@ -916,7 +909,7 @@ input.crm-form-entityref {
 
 #crm-container tr.columnheader-dark th {
   background-color: #999999;
-  color: #FAFAFA;
+  color: #fafafa;
   border: 1px solid #696969;
 }
 
@@ -956,7 +949,7 @@ input.crm-form-entityref {
 
 #crm-container .report td {
   border: 1px solid #999999;
-  background-color: #F6F6F6;
+  background-color: #f6f6f6;
 }
 
 /* double line right border for last cell in a horizontal grouping */
@@ -966,9 +959,9 @@ input.crm-form-entityref {
 
 #crm-container .report td.separator {
   padding-top: 1em;
-  background-color: #FFFFFF;
-  border-left-color: #FFFFFF;
-  border-right-color: #FFFFFF;
+  background-color: #ffffff;
+  border-left-color: #ffffff;
+  border-right-color: #ffffff;
 }
 
 #crm-container .chart td {
@@ -1023,7 +1016,7 @@ input.crm-form-entityref {
 
 .crm-container .crm-pager {
   border: none;
-  background-color: #F5F6F1;
+  background-color: #f5f6f1;
   position: relative;
   height: 35px;
   padding-top: 5px;
@@ -1060,7 +1053,7 @@ input.crm-form-entityref {
 #crm-container form .section-hidden-border {
   background-color: #5c5c59;
   border: medium none;
-  color: #FFFFFF;
+  color: #ffffff;
   margin-left: 5px;
   font-size: 13px;
   font-family: Verdana;
@@ -1093,7 +1086,7 @@ input.crm-form-entityref {
 
 #crm-container ul.wizard-bar li {
   display: inline;
-  background-color: #FAFAFA;
+  background-color: #fafafa;
   border: 1px solid #999999;
   height: auto;
   margin: -2px;
@@ -1104,14 +1097,14 @@ input.crm-form-entityref {
 }
 
 #crm-container ul.wizard-bar li.current-step {
-  background-color: #4A89DC;
-  border-color: #4A89DC;
+  background-color: #4a89dc;
+  border-color: #4a89dc;
   color: #ffffff;
   font-weight: bold;
 }
 
 #crm-container ul.wizard-bar li.past-step {
-  background-color: #F5F5F5;
+  background-color: #f5f5f5;
   color: #666;
 }
 
@@ -1133,7 +1126,7 @@ input.crm-form-entityref {
 #crm-recently-viewed li.crm-recently-viewed {
   margin: 1px;
   padding: 1px 1px 4px 3px;
-  border: 1px solid #D7D7D0;
+  border: 1px solid #d7d7d0;
   background-color: #fff;
   white-space: nowrap;
   list-style-type: none;
@@ -1143,14 +1136,14 @@ input.crm-form-entityref {
 
 #crm-recently-viewed ul li.crm-recently-viewed:hover,
 #crm-recently-viewed .crm-recentview-wrapper {
-  background-color: #FFFFCC;
-  border: 1px solid #FFFF66;
+  background-color: #ffffcc;
+  border: 1px solid #ffff66;
   border-radius: 4px;
 }
 
 #crm-recently-viewed a {
   font-weight: normal;
-  color: #4A88DF;
+  color: #4a88df;
   text-decoration: none;
   font-size: .95em;
 }
@@ -1266,7 +1259,7 @@ input.crm-form-entityref {
 }
 
 #crm-container table.campaign table {
-  background: #F7F7F7;
+  background: #f7f7f7;
 }
 
 #crm-container div.remaining {
@@ -1332,7 +1325,7 @@ input.crm-form-entityref {
 }
 
 #crm-container .pcp-widgets {
-  border: 1px solid #CCCCCC;
+  border: 1px solid #cccccc;
   float: right;
   margin: 0 0 1em 1em;
   padding: 0.5em;
@@ -1396,10 +1389,10 @@ input.crm-form-entityref {
 
 #crm-container table.nestedActivitySelector tr.columnheader th {
   color: #000000;
-  background-color: #CFCEC3;
-  border-top-color: #FFF;
-  border-left-color: #FFFFFF;
-  border-right-color: #FFFFFF;
+  background-color: #cfcec3;
+  border-top-color: #fff;
+  border-left-color: #ffffff;
+  border-right-color: #ffffff;
   border-bottom-color: #999999;
 }
 
@@ -1413,17 +1406,16 @@ input.crm-form-entityref {
 }
 
 #crm-container table#activities-selector.nestedActivitySelector tr.status-overdue {
-
 }
 
 #crm-container table.nestedActivitySelector tr.priority-urgent,
 #crm-container table.nestedActivitySelector tr a.priority-urgent {
-  background-color: #FFDDDD;
+  background-color: #ffdddd;
 }
 
 #crm-container table.nestedActivitySelector tr.priority-low,
 #crm-container table.nestedActivitySelector tr a.priority-low {
-  background-color: #DDFFDD;
+  background-color: #ddffdd;
 }
 
 #crm-container table.nestedActivitySelector tr.status-scheduled,
@@ -1438,7 +1430,7 @@ input.crm-form-entityref {
 
 #crm-container table.nestedActivitySelector tr.status-overdue,
 #crm-container table.nestedActivitySelector tr a.status-overdue {
-  color: #FF0000;
+  color: #ff0000;
 }
 
 #crm-container table.nestedActivitySelector tr a.crm-activity-status {
@@ -1489,7 +1481,7 @@ input.crm-form-entityref {
 
 .crm-container .action-item-wrap {
   padding: 0 5px;
-  border-left: 1px solid #CCC;
+  border-left: 1px solid #ccc;
   white-space: normal;
 }
 
@@ -1531,9 +1523,9 @@ input.crm-form-entityref {
   background-image: -moz-linear-gradient(center bottom, #eee 0%, #ccc 100%);
   filter: progid:DXImageTransform.Microsoft.gradient(startColorstr = '#cccccc', endColorstr = '#eeeeee', GradientType = 0);
   background-image: linear-gradient(top, #eee 0%, #ccc 100%);
-  border: 1px solid #AAAAAA;
+  border: 1px solid #aaaaaa;
   opacity: 1;
-  color: #2786C2;
+  color: #2786c2;
 }
 .crm-container .crm-hover-button .icon {
   cursor: pointer;
@@ -1551,7 +1543,7 @@ input.crm-form-entityref {
 
 /* theming for panel and context menus */
 .crm-container td ul.panel li {
-  background-color: #2F2F2E;
+  background-color: #2f2f2e;
 }
 
 .crm-container .btn-slide .panel li a:hover,
@@ -1559,7 +1551,7 @@ input.crm-form-entityref {
 .crm-container .crm-event-links-list-inner li a:hover,
 .crm-container .crm-contribpage-links-list-inner li a:hover {
   color: #3e3e3e;
-  background-color: #F5F6F1;
+  background-color: #f5f6f1;
   text-decoration: none;
 }
 
@@ -1617,7 +1609,7 @@ input.crm-form-entityref {
   padding: 4px;
   display: block;
   cursor: pointer;
-  color: #DFDFDF;
+  color: #dfdfdf;
 }
 
 /*class for CMS user name check used in profile*/
@@ -1694,7 +1686,7 @@ input.crm-form-entityref {
 .crm-container div.crm-clear {
   clear: both;
   margin-bottom: 1px;
-  background-color: #FAFAFA;
+  background-color: #fafafa;
   font-size: 11px;
 }
 
@@ -1738,7 +1730,7 @@ input.crm-form-entityref {
 
 .crm-container a.crm-event-feed-link {
   margin: 0 1ex;
-  color: #52534D;
+  color: #52534d;
   display: inline-block;
   font-size: 10px;
   padding: 2px 2px 0;
@@ -1766,8 +1758,8 @@ input.crm-form-entityref {
 }
 
 #crm-container .report-contents {
-  background-color: #F5F5F5;
-  border: 1px solid #CDCDC3;
+  background-color: #f5f5f5;
+  border: 1px solid #cdcdc3;
   padding: 4px;
   width: 20%;
   white-space: normal;
@@ -1775,7 +1767,7 @@ input.crm-form-entityref {
 }
 
 #crm-container .report-contents-right {
-  border: 1px solid #CDCDC3;
+  border: 1px solid #cdcdc3;
   padding: 4px;
   font-size: 0.95em;
   text-align: right;
@@ -1783,7 +1775,7 @@ input.crm-form-entityref {
 
 #crm-container table.report-layout td {
   padding: 4px;
-  border-bottom: 1px solid #CDCDC3;
+  border-bottom: 1px solid #cdcdc3;
   vertical-align: top;
 }
 
@@ -1797,8 +1789,7 @@ input.crm-form-entityref {
 }
 
 #crm-container table.report-layout th.report-contents {
-  background-color: #F5F5F5;
-
+  background-color: #f5f5f5;
 }
 
 #crm-container table.report-layout th.statistics {
@@ -1823,7 +1814,7 @@ input.crm-form-entityref {
   vertical-align: top;
   font-weight: bold;
   margin-right: 10px;
-  background-color: #EEEEEE;
+  background-color: #eeeeee;
   width: 20%;
 }
 
@@ -1896,7 +1887,7 @@ input.crm-form-entityref {
 .crm-container .crm-button {
   text-shadow: 0 1px 0 black;
   background: #696969;
-  color: #FFF;
+  color: #fff;
   font-size: 13px;
   font-weight: normal;
   margin: 0 6px 0 0;
@@ -2078,11 +2069,11 @@ a.crm-i:hover {
 .crm-container .crm-hover-button:hover .crm-i.fa-trash,
 .crm-container span:hover > .crm-i.fa-trash,
 .crm-i.crm-i-red {
-  color: #8A1F11;
+  color: #8a1f11;
 }
 
 .crm-i.crm-i-blue {
-  color: #6177D5;
+  color: #6177d5;
 }
 
 .crm-i.crm-i-green {
@@ -2094,8 +2085,8 @@ a.crm-i:hover {
 }
 
 .crm-submit-buttons .helpicon {
-    float: left;
-    padding-right: 6px;
+  float: left;
+  padding-right: 6px;
 }
 
 .crm-container  a.helpicon:hover,
@@ -2197,21 +2188,21 @@ div.crm-master-accordion-header a.helpicon {
 /* Specific types of headers */
 
 #crm-container .widget-content .crm-accordion-header {
-  background-color: #EFEFE5;
+  background-color: #efefe5;
   color: #080808;
 }
 
 .crm-container a.crm-expand-row:before,
 .crm-container a.crm-expand-row:link::before,
 .crm-container a.crm-expand-row:visited::before {
-  color: #3E3E3E;
+  color: #3e3e3e;
 }
 
 .crm-container .crm-accordion-header {
-  color: #F5F6F1;
+  color: #f5f6f1;
   font-weight: normal;
   padding: 4px 8px;
-  background-color: #5D677B;
+  background-color: #5d677b;
   border-radius: 4px 4px 0 0;
 }
 
@@ -2221,11 +2212,11 @@ div.crm-master-accordion-header a.helpicon {
 
 .crm-container .crm-accordion-header.active {
   font-weight: bold;
-  background-color: #3E3E3E;
+  background-color: #3e3e3e;
 }
 
 .crm-container .crm-accordion-header:hover {
-  background-color: #2F2F2E;
+  background-color: #2f2f2e;
 }
 
 #crm-container .widget-content .crm-accordion-header:hover {
@@ -2234,7 +2225,7 @@ div.crm-master-accordion-header a.helpicon {
 
 .crm-container .crm-accordion-wrapper .crm-master-accordion-header {
   background-color: transparent;
-  color: #3E3E3E;
+  color: #3e3e3e;
 }
 
 .crm-container .crm-accordion-wrapper .crm-master-accordion-header {
@@ -2243,7 +2234,7 @@ div.crm-master-accordion-header a.helpicon {
 
 .crm-container .crm-master-accordion-header.crm-accordion-header:hover,
 .crm-container .crm-collapsible .collapsible-title:hover {
-  color: #121A2D;
+  color: #121a2d;
 }
 
 .crm-container .collapsed .crm-accordion-body,
@@ -2289,7 +2280,7 @@ div.crm-master-accordion-header a.helpicon {
 
 .crm-container .crm-accordion-body {
   border-radius: 0 0 4px 4px;
-  border: 1px solid #70716B;
+  border: 1px solid #70716b;
   border-top: 0;
   padding: 4px 0;
 }
@@ -2322,7 +2313,7 @@ div.crm-master-accordion-header a.helpicon {
 }
 
 .crm-status-box-outer.status-start {
-  background: #F8FF03 url("../i/animated-overlay.gif");
+  background: #f8ff03 url("../i/animated-overlay.gif");
 }
 
 .crm-status-box-outer .crm-status-box-inner {
@@ -2377,7 +2368,7 @@ div.crm-master-accordion-header a.helpicon {
 .crm-container .crm-tooltip {
   padding: 4px;
   background-color: #2f2f2e;
-  color: #FFF;
+  color: #fff;
   margin-left: 11px;
   min-width: 20px;
   min-height: 20px;
@@ -2386,7 +2377,7 @@ div.crm-master-accordion-header a.helpicon {
 #crm-container .crm-tooltip table tr td {
   background-color: #2f2f2e;
   border: none;
-  color: #FFF;
+  color: #fff;
   word-wrap: break-word;
 }
 .crm-container .crm-tooltip .crm-summary-group {
@@ -2406,7 +2397,7 @@ div.crm-master-accordion-header a.helpicon {
 .crm-container .crm-summary-group h2 {
   padding: 2px 4px 0 4px;
   font-size: 14px;
-  color: #FFF;
+  color: #fff;
   margin-bottom: 0;
 }
 
@@ -2415,7 +2406,7 @@ div.crm-master-accordion-header a.helpicon {
   text-align: left;
   width: 40%;
   font-size: 11px;
-  color: #A7A7A7;
+  color: #a7a7a7;
   background-color: transparent;
 }
 
@@ -2710,7 +2701,7 @@ div.crm-container form {
 .crm-container tr.even,
 .crm-container tr.odd,
 .crm-container tbody th {
-  border-color: #FFF #FFF #efefef #FFF;
+  border-color: #fff #fff #efefef #fff;
 }
 
 .crm-container tr.even-row td,
@@ -2724,12 +2715,12 @@ div.crm-container form {
 .crm-container .odd-row,
 .crm-container .odd,
 tbody.scrollContent {
-  background-color: #FAFAFA;
+  background-color: #fafafa;
 }
 .crm-container .even-row,
 .crm-container .even,
 tbody.scrollContent tr.alternateRow {
-  background-color: #EFEFEF;
+  background-color: #efefef;
 }
 
 .crm-container td.checkbox {
@@ -2743,7 +2734,7 @@ tbody.scrollContent tr.alternateRow {
 .crm-container a.sorting,
 .crm-container a.sorting_desc,
 .crm-container a.sorting_asc {
-  color: #A7A7A7;
+  color: #a7a7a7;
   background: url("../bower_components/datatables/media/images/sort_both.png") no-repeat left center;
   padding-left: 20px;
 }
@@ -2755,7 +2746,7 @@ tbody.scrollContent tr.alternateRow {
 .crm-container tr a.sorting,
 .crm-container tr a.sorting_asc,
 .crm-container tr a.sorting_desc {
-  color: #52534D;
+  color: #52534d;
 }
 
 .crm-container table thead a.sorting_asc {
@@ -2783,7 +2774,7 @@ tbody.scrollContent tr.alternateRow {
 }
 
 .crm-container table.crm-info-panel td {
-  border-bottom: 1px solid #FFF;
+  border-bottom: 1px solid #fff;
 }
 
 .crm-container table.crm-info-panel .label {
@@ -2806,7 +2797,7 @@ tbody.scrollContent tr.alternateRow {
 }
 
 .crm-container table.selector td {
-  border-right: 1px dotted #DDDDDD;
+  border-right: 1px dotted #dddddd;
 }
 
 .crm-container div.contact_panel td,
@@ -2861,8 +2852,8 @@ tbody.scrollContent tr.alternateRow {
 /* search results */
 .crm-container .crm-search-tasks,
 .crm-container .crm-tasks {
-  background-color: #F0F0E8;
-  color: #52534D;
+  background-color: #f0f0e8;
+  color: #52534d;
 }
 
 #crm-container .crm-tasks table {
@@ -2885,7 +2876,7 @@ tbody.scrollContent tr.alternateRow {
 .crm-container .status-past,
 .crm-contact-deceased,
 .crm-container .status-warning {
-  color: #E43D2B !important;
+  color: #e43d2b !important;
 }
 
 /* rounded corners */
@@ -2924,7 +2915,8 @@ tbody.scrollContent tr.alternateRow {
   padding: 4px;
 }
 
-.crm-create-new-list-inner, .crm-create-new-list-inner ul {
+.crm-create-new-list-inner,
+.crm-create-new-list-inner ul {
   width: 160px!important;
 }
 
@@ -2935,12 +2927,12 @@ tbody.scrollContent tr.alternateRow {
 .crm-container .ac_results li,
 .crm-container .ac_results li a,
 .crm-container .ac_results li a:visited {
-  color: #DFDFDF;
+  color: #dfdfdf;
   text-decoration: none;
 }
 
 .ac_results li strong {
-  color: #FFF;
+  color: #fff;
   font-weight: normal;
 }
 
@@ -2957,7 +2949,7 @@ tbody.scrollContent tr.alternateRow {
 .ac_results li:hover,
 .ac_results li:hover a,
 .ac_results li a:hover {
-  background-color: #F5F6F1;
+  background-color: #f5f6f1;
   color: #666;
 }
 .crm-container .ac_results li:hover strong {
@@ -3107,7 +3099,7 @@ tbody.scrollContent tr.alternateRow {
   padding: 0;
 }
 .crm-container .crm-action-menu .select2-default span.select2-chosen {
-  color: #2786C2;
+  color: #2786c2;
 }
 .crm-container .select2-container[class*=" fa-"]:before {
   display: none;
@@ -3155,7 +3147,7 @@ span.crm-select-item-color {
   box-shadow: 0 0 10px rgba(0, 0, 0, 0.6);
 }
 .crm-container.ui-dialog.ui-resizable:before {
-  display:block;
+  display: block;
   content: " ";
   width: 16px;
   height: 16px;
@@ -3165,8 +3157,8 @@ span.crm-select-item-color {
   right: 0;
 }
 .crm-container .ui-dialog-titlebar.ui-widget-header {
-  background: #5D677B;
-  color: #F5F6F1;
+  background: #5d677b;
+  color: #f5f6f1;
 }
 .crm-container .ui-dialog-title {
   background: url("../i/item_sprites.png") no-repeat scroll -79px -47px;
@@ -3193,16 +3185,16 @@ span.crm-select-item-color {
 
 /* table row highlightng */
 .crm-container .crm-row-ok {
-  background-color: #EFFFE7;
+  background-color: #efffe7;
   border-bottom: 1px solid #ccc;
 }
 .crm-container .crm-row-error {
-  background-color: #FFECEC;
+  background-color: #ffecec;
   border-bottom: 1px solid #ccc;
 }
 .crm-container table.row-highlight tr:hover,
 .crm-container .crm-row-selected {
-  background-color: #FFFFCC;
+  background-color: #ffffcc;
 }
 .crm-container table.row-highlight tr.even-row:hover,
 .crm-container table.row-highlight tr.even:hover,
@@ -3248,10 +3240,10 @@ span.crm-select-item-color {
   word-break: break-all;
 }
 .crm-container ul.crm-checkbox-list li:nth-child(even) label {
-  background-color: #FAFAFA;
+  background-color: #fafafa;
 }
 .crm-container ul.crm-checkbox-list li input:checked + label {
-  background-color: #FFFFCC;
+  background-color: #ffffcc;
 }
 .crm-container ul.crm-checkbox-list li:nth-child(even) input:checked + label {
   background-color: #fffdb2
@@ -3302,7 +3294,7 @@ span.crm-select-item-color {
 }
 
 .crm-container table.batch-totals {
-  border: 1px solid #7A7A60 !important;
+  border: 1px solid #7a7a60 !important;
   margin-top: 10px !important;
 }
 
@@ -3310,13 +3302,13 @@ span.crm-select-item-color {
 .crm-container .crm-grid-table {
   display: table;
   border-collapse: collapse;
-  border: 1px solid #7A7A60;
-  background-color: #FFFFFF;
+  border: 1px solid #7a7a60;
+  background-color: #ffffff;
   margin: 10px 3px 10px !important;
 }
 
 .crm-container .crm-batch-entry-table {
-  border-right: 2px solid #7A7A60 !important;
+  border-right: 2px solid #7a7a60 !important;
 }
 
 .crm-container .crm-grid-row,
@@ -3330,7 +3322,7 @@ span.crm-select-item-color {
 
 .crm-container .crm-grid-cell {
   display: table-cell;
-  border-right: 1px solid #EFEFEF;
+  border-right: 1px solid #efefef;
   padding: 2px;
   vertical-align: top;
 }
@@ -3410,7 +3402,7 @@ span.crm-select-item-color {
 }
 
 .crm-container .crm-editable-saving {
-  background: #FFFFCC!important;
+  background: #ffffcc!important;
   opacity: 0.8;
 }
 
@@ -3524,15 +3516,15 @@ span.crm-select-item-color {
 }
 .crm-container div.ui-notify-message-style a,
 .crm-container div.ui-notify-message-style a:link {
-  color: #CCD0FF;
+  color: #ccd0ff;
   text-decoration: underline;
 }
 .crm-container div.ui-notify-message-style a:hover,
 .crm-container div.ui-notify-message-style a:focus {
-  color: #B2B8FF;
+  color: #b2b8ff;
 }
 .crm-container div.ui-notify-message-style .ui-button .ui-button-text {
-  color: #2F2F2F;
+  color: #2f2f2f;
   text-decoration: none;
 }
 #crm-notification-container .ui-notify-message .ui-notify-close {
@@ -3546,7 +3538,7 @@ span.crm-select-item-color {
   font-weight: bold;
   text-shadow: 0 1px 1px #fff;
   padding: 2px;
-  color: #FDFDFD;
+  color: #fdfdfd;
 }
 #crm-notification-container .ui-notify-message .ui-notify-cross:hover,
 #crm-notification-container .ui-notify-message .ui-notify-cross:focus {
@@ -3827,7 +3819,7 @@ span.crm-status-icon {
   margin-right: 10px;
   box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.5);
   border-radius: 3px;
-  border: 1px solid #FFFFFF;
+  border: 1px solid #ffffff;
 }
 
 .crm-container .credit_card_type-section .crm-credit_card_type-icons .crm-credit_card_type-icon-visa {
@@ -3877,15 +3869,15 @@ span.crm-status-icon {
 .crm-container input.ng-invalid.ng-dirty,
 .crm-container select.ng-invalid.ng-dirty,
 .crm-container textarea.ng-invalid.ng-dirty {
-    border: 1px solid red;
+  border: 1px solid red;
 }
 .crm-container input.ng-valid,
 .crm-container input.ng-pristine,
 .crm-container textarea.ng-valid,
 .crm-container textarea.ng-pristine,
 .crm-container select.ng-valid,
-.crm-container select.ng-pristine{
-    border: 1px solid #666;
+.crm-container select.ng-pristine {
+  border: 1px solid #666;
 }
 
 /* block-ui */
@@ -3894,7 +3886,7 @@ span.crm-status-icon {
 }
 
 .crm-container table.mergecontact thead th {
-  width:30%;
+  width: 30%;
 }
 .crm-container .crm-ui-datetime.ng-dirty input.incomplete {
   border: 1px solid red;
diff --git a/civicrm/css/contactSummary.css b/civicrm/css/contactSummary.css
index 1fc283ef56..6f719b3c80 100644
--- a/civicrm/css/contactSummary.css
+++ b/civicrm/css/contactSummary.css
@@ -18,7 +18,7 @@ div#crm-contact-thumbnail {
 }
 
 .crm-container div.contact_panel td {
-  border-bottom: 1px solid #FFF;
+  border-bottom: 1px solid #fff;
 }
 
 #crm-container div.crm-inline-edit {
@@ -34,7 +34,7 @@ div#crm-contact-thumbnail {
 
 #crm-container div.crm-inline-edit.form {
   cursor: default;
-  border: 2px dashed #6665BF;
+  border: 2px dashed #6665bf;
   box-shadow: rgba(255, 255, 255, 0.3) 0 0 0 99999px;
   background-color: white;
   float: left;
@@ -61,12 +61,12 @@ div#crm-contact-thumbnail {
 
 #crm-container .crm-address-block+.crm-address-block .add-new .crm-edit-help {
   display: block;
-  background-color: #EBEBEB;
+  background-color: #ebebeb;
 }
 
 #crm-container .crm-edit-ready .crm-summary-block .crm-inline-edit:hover .crm-edit-help {
   display: block;
-  background-color: #DFE1FF;
+  background-color: #dfe1ff;
 }
 
 #crm-container div.crm-inline-edit.form .crm-edit-help {
@@ -150,7 +150,7 @@ div#crm-contact-thumbnail {
 #crm-container div.contact_panel td {
   padding: 4px;
   vertical-align: top;
-  border-bottom: 1px solid #E2E2E2;
+  border-bottom: 1px solid #e2e2e2;
 }
 
 #crm-container div.contact_panel td.label {
@@ -176,7 +176,7 @@ div#crm-contact-thumbnail {
   width: 100%;
 }
 .crm-container div.contact_panel td.grouplabel {
-  border-bottom: 2px solid #D7D7D0 !important;
+  border-bottom: 2px solid #d7d7d0 !important;
 }
 
 #crm-container div.contact_panel .crm-address-block {
@@ -195,14 +195,14 @@ div#crm-contact-thumbnail {
 }
 
 #crm-container div.crm-summary-row {
-  background-color: #F4F4ED;
+  background-color: #f4f4ed;
   border-top: 1px solid #ffffff;
   margin-bottom: 1px;
   min-height: 17px;
 }
 
 #crm-container div.crm-summary-row div.crm-label {
-  background-color: #FAFAFA;
+  background-color: #fafafa;
   color: #777760;
   text-align: left;
   width: 122px;
@@ -216,7 +216,7 @@ div#crm-contact-thumbnail {
 }
 
 .crm-container #customFields div.contact_panel td {
-  border-bottom: 1px solid #FFFFFF;
+  border-bottom: 1px solid #ffffff;
   padding: 4px;
   vertical-align: top;
 }
@@ -372,7 +372,7 @@ div#crm-contact-thumbnail {
 }
 
 #tagGroup table .label {
-  color: #FFF;
+  color: #fff;
 }
 #tagGroup table {
   color: #000;
diff --git a/civicrm/css/crm-menubar.css b/civicrm/css/crm-menubar.css
index f4428a4fad..646fd57af0 100644
--- a/civicrm/css/crm-menubar.css
+++ b/civicrm/css/crm-menubar.css
@@ -44,9 +44,9 @@
 }
 #civicrm-menu li li .sub-arrow:before {
   content: "\f0da";
-	font-family: 'FontAwesome';
-	float: right;
-	margin-right: -25px;
+  font-family: 'FontAwesome';
+  float: right;
+  margin-right: -25px;
 }
 /* x icon */
 #crm-menubar-state:checked ~ .crm-menubar-toggle-btn .crm-menubar-toggle-btn-icon {
@@ -205,13 +205,32 @@ body.crm-menubar-over-cms-menu #crm-menubar-toggle-position a i {
      collapsible to desktop (navbar + dropdowns)
   -----------------------------------------------*/
   /* start... (it's not recommended editing these rules) */
-  #civicrm-menu ul{position:absolute;width:12em;}
-  #civicrm-menu li{float:left;}
-  #civicrm-menu.sm-rtl li{float:right;}
-  #civicrm-menu ul li,#civicrm-menu.sm-rtl ul li,#civicrm-menu.sm-vertical li{float:none;}
-  #civicrm-menu a{white-space:nowrap;}
-  #civicrm-menu ul a,#civicrm-menu.sm-vertical a{white-space:normal;}
-  #civicrm-menu .sm-nowrap > li > a,#civicrm-menu .sm-nowrap > li > :not(ul) a{white-space:nowrap;}
+  #civicrm-menu ul {
+    position: absolute;
+    width: 12em;
+  }
+  #civicrm-menu li {
+    float: left;
+  }
+  #civicrm-menu.sm-rtl li {
+    float: right;
+  }
+  #civicrm-menu ul li,
+  #civicrm-menu.sm-rtl ul li,
+  #civicrm-menu.sm-vertical li {
+    float: none;
+  }
+  #civicrm-menu a {
+    white-space: nowrap;
+  }
+  #civicrm-menu ul a,
+  #civicrm-menu.sm-vertical a {
+    white-space: normal;
+  }
+  #civicrm-menu .sm-nowrap > li > a,
+  #civicrm-menu .sm-nowrap > li > :not(ul) a {
+    white-space: nowrap;
+  }
   /* ...end */
 
   /* hide the button in desktop view */
@@ -286,23 +305,23 @@ body.crm-menubar-over-cms-menu #crm-menubar-toggle-position a i {
     z-index: 100000;
     background-color: #1b1b1b;
   }
-	#civicrm-menu ul {
-		background-color: #444;
-	}
-	#civicrm-menu ul ul {
-		background-color: #555;
-	}
-	#civicrm-menu ul ul ul {
-		background-color: #666;
-	}
+  #civicrm-menu ul {
+    background-color: #444;
+  }
+  #civicrm-menu ul ul {
+    background-color: #555;
+  }
+  #civicrm-menu ul ul ul {
+    background-color: #666;
+  }
   #civicrm-menu li {
     padding: 5px;
   }
-	#civicrm-menu li a {
-		text-align: center;
-		font-size: 14px;
+  #civicrm-menu li a {
+    text-align: center;
+    font-size: 14px;
     color: #ddd;
-	}
+  }
   #civicrm-menu li a:focus,
   #civicrm-menu li a:hover,
   #civicrm-menu li a.highlighted {
diff --git a/civicrm/css/crm.designer.css b/civicrm/css/crm.designer.css
index ac0bda7fff..d31b47161d 100644
--- a/civicrm/css/crm.designer.css
+++ b/civicrm/css/crm.designer.css
@@ -1,9 +1,9 @@
 .crm-profile-selector-preview-pane {
-    width: 75%;
-    min-width: 500px;
-    height: 20em;
-    border: 1px solid black;
-    padding: 4px;
+  width: 75%;
+  min-width: 500px;
+  height: 20em;
+  border: 1px solid black;
+  padding: 4px;
 }
 
 .crm-container .crm-profile-selector-preview .icon {
@@ -27,14 +27,14 @@
 }
 
 .crm-designer-toolbar .ui-resizable-w {
-  border-left: 4px dotted #BFBFBF;
+  border-left: 4px dotted #bfbfbf;
   cursor: ew-resize;
   height: 50px;
   top: 45%;
 }
 
 .crm-designer-toolbar .ui-resizable-w:hover {
-  border-left: 4px dotted #6B6B6B;
+  border-left: 4px dotted #6b6b6b;
 }
 
 .crm-designer-palette {
@@ -63,7 +63,7 @@
 .crm-designer-row-placeholder {
   border: 1px dashed gray;
   cursor: move;
-  background-color: #E9E9F5;
+  background-color: #e9e9f5;
 }
 
 .crm-designer-palette .crm-designer-palette-field.disabled a,
@@ -109,9 +109,9 @@
 }
 
 .crm-designer-fields {
-  min-width:100px;
+  min-width: 100px;
   /* to allow dropping in big whitespace, coordinate with min-height of dialog */
-  min-height:500px;
+  min-height: 500px;
 }
 
 .crm-designer-duplicate .crm-designer-row {
@@ -143,7 +143,7 @@
   cursor: pointer;
   display: inline-block;
   border-radius: 4px;
-  border: 1px solid #D7D7D7;
+  border: 1px solid #d7d7d7;
 }
 
 .crm-designer-row .crm-designer-buttons a:hover,
@@ -164,7 +164,7 @@
   right: 5px;
   top: 35px;
   font-size: .8em;
-  border: 1px solid #CFCEC3;
+  border: 1px solid #cfcec3;
 }
 
 button#crm-designer-add-custom-set {
@@ -177,11 +177,11 @@ button#crm-designer-add-custom-set {
 }
 
 .crm-designer-row .crm-designer-buttons a.crm-designer-action-settings:hover {
-  background-color: #71D46E;
+  background-color: #71d46e;
 }
 
 .crm-designer-row .crm-designer-buttons a.crm-designer-action-remove:hover {
-  background-color: #F19489;
+  background-color: #f19489;
 }
 
 .crm-designer-row,
diff --git a/civicrm/css/dashboard.css b/civicrm/css/dashboard.css
index 63d78c1776..ef17e63d85 100644
--- a/civicrm/css/dashboard.css
+++ b/civicrm/css/dashboard.css
@@ -28,7 +28,7 @@
 }
 
 .crm-container .crm-dashlet-header {
-  background-color: #5D677B;
+  background-color: #5d677b;
   display: block;
   padding: 5px 0;
 }
diff --git a/civicrm/css/joomla.css b/civicrm/css/joomla.css
index 7656c9af0e..7e902f35ba 100644
--- a/civicrm/css/joomla.css
+++ b/civicrm/css/joomla.css
@@ -27,7 +27,8 @@ img {
   border: 0;
 }
 /* Added in CiviCRM 2.0 to alleviate tiny font issues. */
-#crm-container tr, #crm-container tr td {
+#crm-container tr,
+#crm-container tr td {
   font-size: 1em;
 }
 
@@ -45,7 +46,8 @@ th {
 th.active img {
   display: inline;
 }
-tr.dark, tr.light {
+tr.dark,
+tr.light {
   background-color: #eee;
   border-bottom: 1px solid #ccc;
   padding: 0.1em 0.6em;
@@ -108,10 +110,13 @@ br.clear {
   list-style: disc;
 }
 /* Override .9em field help size from civicrm.css - CiviCRM 2.0 */
-#crm-container div.description, #crm-container span.description, #crm-container dd.description {
+#crm-container div.description,
+#crm-container span.description,
+#crm-container dd.description {
   font-size: 1em;
 }
-#crm-container div.description, #crm-container span.description {
+#crm-container div.description,
+#crm-container span.description {
   margin: 2px 0 15px 0;
   display: block;
 }
@@ -124,7 +129,8 @@ br.clear {
 .crm-form-submit {
   margin: 0.5em 0;
 }
-.marker, .form-required {
+.marker,
+.form-required {
   color: #f00;
 }
 .more-link {
@@ -152,7 +158,8 @@ br.clear {
 /*
 ** Page layout blocks / IDs
 */
-#header, #content {
+#header,
+#content {
   width: 100%;
 }
 #logo {
@@ -186,7 +193,8 @@ br.clear {
   font-weight: bold;
   color: #9cf;
 }
-#search .form-text, #search .crm-form-submit {
+#search .form-text,
+#search .crm-form-submit {
   border: 1px solid #369;
   font-size: 1.1em;
 }
@@ -220,7 +228,8 @@ br.clear {
   border-color: red;
   color: red;
 }
-#sidebar-left, #sidebar-right {
+#sidebar-left,
+#sidebar-right {
   background-color: #ddd;
   width: 16em;
   /* padding in px not ex because IE messes up 100% width tables otherwise */
@@ -229,7 +238,7 @@ br.clear {
 }
 
 #content-right {
-  background-color: #FFFFFF;
+  background-color: #ffffff;
 }
 
 #footer {
@@ -243,13 +252,15 @@ br.clear {
 ** additional rules /with only the differing properties!/ to .parent .class.
 ** See .comment .title for an example.
 */
-.title, .title a {
+.title,
+.title a {
   font-weight: normal;
   font-size: 1.6em;
   color: #666;
   margin: 0 auto 0 auto;  /* decrease default margins for h<x>.title */
 }
-.block-civicrm #recently-viewed .crm-icon, .crm-icon {
+.block-civicrm #recently-viewed .crm-icon,
+.crm-icon {
   margin-top: 0 !important;
 }
 .submitted {
@@ -262,7 +273,8 @@ br.clear {
 .links a {
   font-weight: bold;
 }
-.block, .box {
+.block,
+.box {
   padding: 0 0 1.5em 0;
 }
 .block {
@@ -278,14 +290,15 @@ br.clear {
   font-size: 1.1em;
 }
 
-#module-status, .version {
-  font-size:11px;
+#module-status,
+.version {
+  font-size: 11px;
 }
 #module-status a {
   font-weight: normal;
 }
 .main {
-  text-align:left;
+  text-align: left;
 }
 
 /* Joomla Admin Menu alterations */
@@ -299,7 +312,8 @@ div#toolbar-box div.m {
   margin-top: 8px;
 }
 
-div#toolbar-box, div#toolbar-box div.m{
+div#toolbar-box,
+div#toolbar-box div.m {
   height: auto;
 }
 
@@ -312,8 +326,8 @@ div#toolbar-box, div#toolbar-box div.m{
   padding: 0.2em 3px 1px;
 }
 #mainTabContainer li.crm-tab-button {
-  margin:0 3px 3px 0;
-  border: 1px solid #F5F6F1 !important;
+  margin: 0 3px 3px 0;
+  border: 1px solid #f5f6f1 !important;
 }
 #mainTabContainer li.crm-tab-button.ui-tabs-selected {
   padding-bottom: 0;
@@ -379,20 +393,20 @@ div#toolbar-box, div#toolbar-box div.m{
 /* Remove Joomla subhead toolbar & whitespace border */
 
 body.admin.com_civicrm .subhead-collapse {
-	display:none;
+  display: none;
 }
 body.admin.com_civicrm .container-fluid.container-main {
-	padding: 0;
-	border-top: 1px solid #787878;
+  padding: 0;
+  border-top: 1px solid #787878;
 }
 body.admin.com_civicrm.task-civicrmupgrade .container-fluid.container-main {
-	padding: 10px 25px 25px;
+  padding: 10px 25px 25px;
 }
 body.admin.com_civicrm #crm-nav-menu-container {
-	padding-bottom: 0 !important;
+  padding-bottom: 0 !important;
 }
 body.admin.com_civicrm #content-right {
-	padding: 12px;
+  padding: 12px;
 }
 
 /* Make footer admin bar hide behind popup windows (CRM-15723) */
@@ -403,36 +417,35 @@ body.ui-dialog-open #status {
 /* Joomla 4 */
 
 body.admin.com_civicrm.layout-default #content {
-	padding: 0;
+  padding: 0;
 }
 
 body.admin.com_civicrm.layout-default #subhead-container {
-	display: none;
+  display: none;
 }
 
 body.admin.com_civicrm.layout-default .crm-container .crm-dashlet {
-	max-width: 50vw; /* fixes over-wide news dashlet */ 
+  max-width: 50vw; /* fixes over-wide news dashlet */
 }
 
 body.admin.com_civicrm.layout-default .crm-container .content {
-	padding: inherit; /* overrides J4 duplicated padding */
+  padding: inherit; /* overrides J4 duplicated padding */
 }
 
 /* J4 Modals */
 
 body.admin.com_civicrm.layout-default .crm-container.ui-dialog.ui-resizable {
-	z-index: 1021;
+  z-index: 1021;
 }
 
 body.admin.com_civicrm.layout-default .ui-widget-overlay {
-	z-index: 1;
+  z-index: 1;
 }
 
 body.admin.com_civicrm.layout-default .crm-container .modal-dialog {
-	max-width: inherit;
-	padding: 0;
-	margin: 0;
-	overflow: scroll;
-	pointer-events: all;
+  max-width: inherit;
+  padding: 0;
+  margin: 0;
+  overflow: scroll;
+  pointer-events: all;
 }
-
diff --git a/civicrm/css/menubar-joomla.css b/civicrm/css/menubar-joomla.css
index f73a1d27bc..407308d013 100644
--- a/civicrm/css/menubar-joomla.css
+++ b/civicrm/css/menubar-joomla.css
@@ -1,5 +1,5 @@
 @media (min-width: $breakMin) {
-	
+
   body.crm-menubar-over-cms-menu.crm-menubar-visible {
     padding-top: $menubarHeight;
   }
@@ -45,15 +45,15 @@ body.admin.com_civicrm.layout-default #crm-qsearch label {
     top: calc($menubarHeight + 26px);
     z-index: 10000;
     position: absolute;
-	  border-top: 1px solid #aaa;
+    border-top: 1px solid #aaa;
   }
 
   body.crm-menubar-below-cms-menu.layout-default #header {
-	  margin-bottom: calc($menubarHeight + 1px);
+    margin-bottom: calc($menubarHeight + 1px);
   }
 
   body.crm-menubar-below-cms-menu.crm-menubar-wrapped.layout-default #header {
-	  margin-bottom: 81px;
+    margin-bottom: 81px;
   }
 }
 
diff --git a/civicrm/css/print.css b/civicrm/css/print.css
index 99e8fab6fb..dca92850e4 100644
--- a/civicrm/css/print.css
+++ b/civicrm/css/print.css
@@ -1,77 +1,81 @@
 /* CiviCRM Print Media Stylesheet */
 
 /* Hide any buttons or other form items when printing*/
-#crm-container .buttons, #crm-container .crm-submit-buttons, #crm-container .crm-actions-ribbon, #crm-container .crm-form-submit {
-     display: none;
+#crm-container .buttons,
+#crm-container .crm-submit-buttons,
+#crm-container .crm-actions-ribbon,
+#crm-container .crm-form-submit {
+  display: none;
 }
 
-table.form-layout td, table.form-layout th {
+table.form-layout td,
+table.form-layout th {
   border: 1px solid grey;
   padding: 4px;
   margin: 0px;
 }
 
-.form-item .element-right{
-     display: none;
- }
+.form-item .element-right {
+  display: none;
+}
 #crm-container {
-    overflow: visible !important;
-    font-family      : DejaVu Sans, serif;
-    margin           : 0px 10px 0px 10px;
+  overflow: visible !important;
+  font-family: DejaVu Sans, serif;
+  margin: 0px 10px 0px 10px;
 }
 
 /* CSS for Print and PDF of Reports */
 #crm-container .report-layout {
-    border           : 1px groove #DDDDDD;
-    width            : 100%;
-    border-collapse  : collapse;
+  border: 1px groove #dddddd;
+  width: 100%;
+  border-collapse: collapse;
 }
 
 #crm-container .bold {
-    font-weight      : bold;
-    font-size        : 1.1em;
+  font-weight: bold;
+  font-size: 1.1em;
 }
 
 #crm-container .criterial-group {
-    border-bottom: 2px solid #DCDCDC;
+  border-bottom: 2px solid #dcdcdc;
 }
 
 #crm-container .reports-header-right {
-    text-align       : right;
+  text-align: right;
 }
 
 #crm-container .reports-header {
-    text-align       : left;
+  text-align: left;
 }
 
 #crm-container .report-contents {
-    border           : 1px groove #DDDDDD;
-    padding          : 4px;
-    width            : 20%;
+  border: 1px groove #dddddd;
+  padding: 4px;
+  width: 20%;
 }
 
 #crm-container .report-contents-right {
-    border           : 1px groove #DDDDDD;
-    padding          : 4px;
-    text-align       : right;
+  border: 1px groove #dddddd;
+  padding: 4px;
+  text-align: right;
 }
 
 #crm-container table.report-layout td {
-    border           : 1px groove #DDDDDD;
-    padding          : 4px;
+  border: 1px groove #dddddd;
+  padding: 4px;
 }
 
 #crm-container table.report-layout tr {
-    font-size        : 0.9em;
+  font-size: 0.9em;
 }
 
 #crm-container table.report-layout tr.group-row {
-    font-size        : 1em;
+  font-size: 1em;
 }
 
 #crm-container table.report-layout tr.total-row {
-   font-size        : 1em;
-   border-top       : 2px groove #DCDCDC;
+  font-size: 1em;
+  border-top: 2px groove #dcdcdc;
 }
 
 #crm-container div.page-break {
@@ -80,52 +84,53 @@ table.form-layout td, table.form-layout th {
 }
 
 #crm-container .report-label {
-    text-align       : right;
-    font-weight      : bold;
+  text-align: right;
+  font-weight: bold;
 }
 
 #crm-container table.report-layout th {
-    padding          : 4px;
-    background-color : #DCDCDC;
-    /*text-align       : left;*/
-    vertical-align   : top;
+  padding: 4px;
+  background-color: #dcdcdc;
+  /*text-align       : left;*/
+  vertical-align: top;
 }
 
 #crm-container table.report-layout th.report-contents {
-    background-color : #F5F5F5;
+  background-color: #f5f5f5;
 }
 
 #crm-container table.report-layout th.statistics {
-    width            : 5%;
-    white-space      : nowrap;
-    text-align       : left;
+  width: 5%;
+  white-space: nowrap;
+  text-align: left;
 }
 
-#crm-container table.report-layout th.statistics, #crm-container table.report-layout th.label {
-    width            : 20%;
-    text-align       : left;
+#crm-container table.report-layout th.statistics,
+#crm-container table.report-layout th.label {
+  width: 20%;
+  text-align: left;
 }
 
 #crm-container h1 {
-    text-align       : center;
-    font-size        : 1.5em;
-    font-style       : italic;
-    margin           : 0;
+  text-align: center;
+  font-size: 1.5em;
+  font-style: italic;
+  margin: 0;
 }
 
 #crm-container h2 {
-    text-align       : left;
-    font-size        : 1.2em;
+  text-align: left;
+  font-size: 1.2em;
 }
 
 
 #crm-container div#report-date {
-    font-size        : .8em;
-    font-style       : italic;
-    float            : right;
+  font-size: .8em;
+  font-style: italic;
+  float: right;
 }
 
 /* Fix for CRM-19869 */
 tr {
-    page-break-inside: avoid;
+  page-break-inside: avoid;
 }
diff --git a/civicrm/css/searchForm.css b/civicrm/css/searchForm.css
index a0f57b283a..8beb3a631b 100644
--- a/civicrm/css/searchForm.css
+++ b/civicrm/css/searchForm.css
@@ -11,7 +11,7 @@
 
 .crm-container div#searchForm table.form-layout td {
   padding: 4px;
-  border: 1px solid #DDDDDD;
+  border: 1px solid #dddddd;
 }
 
 /* top submit button on advanced search */
@@ -30,7 +30,7 @@
 }
 
 .crm-container div#alpha-filter {
-  background-color: #CDE8FE;
+  background-color: #cde8fe;
   margin: 4px 0 5px;
   padding: 2px;
   text-align: left;
@@ -40,7 +40,7 @@
   background-color: transparent;
   background-image: none;
   border: none;
-  color: #AAAAAA;
+  color: #aaaaaa;
   display: inline;
   font-size: 15px;
   font-weight: normal;
@@ -51,15 +51,15 @@
 }
 
 .crm-container #alpha-filter a {
-  border-bottom: 1px dotted #2A71B4;
-  color: #2A71B4;
+  border-bottom: 1px dotted #2a71b4;
+  color: #2a71b4;
   font-weight: normal;
 }
 
 /* CRM-20945 Remove underline to show active pager */
 .crm-container #alpha-filter a.active {
   border-bottom: none;
-  color: #41477E;
+  color: #41477e;
   font-weight: bold;
 }
 
diff --git a/civicrm/ext/afform/admin/afform_admin.civix.php b/civicrm/ext/afform/admin/afform_admin.civix.php
index 132b749239..3071d542f3 100644
--- a/civicrm/ext/afform/admin/afform_admin.civix.php
+++ b/civicrm/ext/afform/admin/afform_admin.civix.php
@@ -91,9 +91,9 @@ function _afform_admin_civix_civicrm_config(&$config = NULL) {
   }
   $configured = TRUE;
 
-  $template =& CRM_Core_Smarty::singleton();
+  $template = CRM_Core_Smarty::singleton();
 
-  $extRoot = dirname(__FILE__) . DIRECTORY_SEPARATOR;
+  $extRoot = __DIR__ . DIRECTORY_SEPARATOR;
   $extDir = $extRoot . 'templates';
 
   if (is_array($template->template_dir)) {
diff --git a/civicrm/ext/afform/admin/ang/afGuiEditor.css b/civicrm/ext/afform/admin/ang/afGuiEditor.css
index cd75a4411a..a89d90afc3 100644
--- a/civicrm/ext/afform/admin/ang/afGuiEditor.css
+++ b/civicrm/ext/afform/admin/ang/afGuiEditor.css
@@ -137,7 +137,7 @@
   height: 22px;
   width: 100%;
   transition: opacity .2s;
-  position:relative;
+  position: relative;
   font-family: "Courier New", Courier, monospace;
   font-size: 12px;
 }
@@ -550,11 +550,11 @@ body.af-gui-dragging {
   list-style: none;
   padding-left: 15px;
   position: relative;
-  background-color:#e7ecf1;
+  background-color: #e7ecf1;
   cursor: move;
 }
 #afGuiEditor af-gui-edit-options.af-gui-content-editing-area ul[ui-sortable] li:nth-child(even) {
-  background-color:#f2f2f2;
+  background-color: #f2f2f2;
 }
 #afGuiEditor af-gui-edit-options.af-gui-content-editing-area ul[ui-sortable] li > div {
   width: calc(100% - 30px);
diff --git a/civicrm/ext/afform/admin/info.xml b/civicrm/ext/afform/admin/info.xml
index e26b1b7099..e7ba31b2ec 100644
--- a/civicrm/ext/afform/admin/info.xml
+++ b/civicrm/ext/afform/admin/info.xml
@@ -13,7 +13,7 @@
     <url desc="Licensing">http://www.gnu.org/licenses/agpl-3.0.html</url>
   </urls>
   <releaseDate>2020-01-09</releaseDate>
-  <version>5.46.2</version>
+  <version>5.47.0</version>
   <develStage>beta</develStage>
   <compatibility>
     <ver>5.23</ver>
diff --git a/civicrm/ext/afform/core/CRM/Afform/DAO/AfformSubmission.php b/civicrm/ext/afform/core/CRM/Afform/DAO/AfformSubmission.php
index 5ab88359cd..aed8cdb28e 100644
--- a/civicrm/ext/afform/core/CRM/Afform/DAO/AfformSubmission.php
+++ b/civicrm/ext/afform/core/CRM/Afform/DAO/AfformSubmission.php
@@ -6,7 +6,7 @@
  *
  * Generated from org.civicrm.afform/xml/schema/CRM/Afform/AfformSubmission.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:6bffbfbde72fe38c0ab2bb8f49c945b8)
+ * (GenCodeChecksum:b7fb038bdf54aaf91859c3d455dd8756)
  */
 use CRM_Afform_ExtensionUtil as E;
 
@@ -34,31 +34,41 @@ class CRM_Afform_DAO_AfformSubmission extends CRM_Core_DAO {
   /**
    * Unique Submission ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $contact_id;
 
   /**
    * Name of submitted afform
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $afform_name;
 
   /**
    * IDs of saved entities
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $data;
 
   /**
-   * @var timestamp
+   * @var string|null
+   *   (SQL type: timestamp)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $submission_date;
 
diff --git a/civicrm/ext/afform/core/afform.civix.php b/civicrm/ext/afform/core/afform.civix.php
index b33d0cce1b..ae7b0c0fa4 100644
--- a/civicrm/ext/afform/core/afform.civix.php
+++ b/civicrm/ext/afform/core/afform.civix.php
@@ -91,9 +91,9 @@ function _afform_civix_civicrm_config(&$config = NULL) {
   }
   $configured = TRUE;
 
-  $template =& CRM_Core_Smarty::singleton();
+  $template = CRM_Core_Smarty::singleton();
 
-  $extRoot = dirname(__FILE__) . DIRECTORY_SEPARATOR;
+  $extRoot = __DIR__ . DIRECTORY_SEPARATOR;
   $extDir = $extRoot . 'templates';
 
   if (is_array($template->template_dir)) {
diff --git a/civicrm/ext/afform/core/ang/afCore.css b/civicrm/ext/afform/core/ang/afCore.css
index d1c8f0874d..554758de1f 100644
--- a/civicrm/ext/afform/core/ang/afCore.css
+++ b/civicrm/ext/afform/core/ang/afCore.css
@@ -1,21 +1,21 @@
 .af-api4-action-running {
-    cursor: not-allowed;
-    color: black;
+  cursor: not-allowed;
+  color: black;
 }
 a.af-api4-action-idle {
-    cursor: pointer;
+  cursor: pointer;
 }
 
 .af-container.af-layout-cols {
-    display: flex;
+  display: flex;
 }
 .af-container.af-layout-cols > * {
-    flex: 1;
+  flex: 1;
 }
 .af-container.af-layout-inline > * {
-    display: inline-block;
-    margin-right: .5em;
-    vertical-align: top;
+  display: inline-block;
+  margin-right: .5em;
+  vertical-align: top;
 }
 af-form {
   display: block;
diff --git a/civicrm/ext/afform/core/info.xml b/civicrm/ext/afform/core/info.xml
index 38a61a876c..f3839a78ba 100644
--- a/civicrm/ext/afform/core/info.xml
+++ b/civicrm/ext/afform/core/info.xml
@@ -13,7 +13,7 @@
     <url desc="Licensing">http://www.gnu.org/licenses/agpl-3.0.html</url>
   </urls>
   <releaseDate>2020-01-09</releaseDate>
-  <version>5.46.2</version>
+  <version>5.47.0</version>
   <develStage>beta</develStage>
   <compatibility>
     <ver>5.23</ver>
diff --git a/civicrm/ext/afform/core/templates/afform/contactSummary/AfformBlock.tpl b/civicrm/ext/afform/core/templates/afform/contactSummary/AfformBlock.tpl
index 7940af4612..a509138c11 100644
--- a/civicrm/ext/afform/core/templates/afform/contactSummary/AfformBlock.tpl
+++ b/civicrm/ext/afform/core/templates/afform/contactSummary/AfformBlock.tpl
@@ -1,5 +1,5 @@
 <crm-angular-js modules="{$block.module}">
-  <div id="bootstrap-theme">
+  <form id="bootstrap-theme">
     <{$block.directive} options="{ldelim}contact_id: {$contactId}{rdelim}"></{$block.directive}>
-  </div>
+  </form>
 </crm-angular-js>
diff --git a/civicrm/ext/afform/core/templates/afform/contactSummary/AfformTab.tpl b/civicrm/ext/afform/core/templates/afform/contactSummary/AfformTab.tpl
index 1cf843254d..d0f4eac9a1 100644
--- a/civicrm/ext/afform/core/templates/afform/contactSummary/AfformTab.tpl
+++ b/civicrm/ext/afform/core/templates/afform/contactSummary/AfformTab.tpl
@@ -1,5 +1,5 @@
 <crm-angular-js modules="{$tabValue.module}">
-  <div id="bootstrap-theme">
+  <form id="bootstrap-theme">
     <{$tabValue.directive} options="{ldelim}contact_id: {$contactId}{rdelim}"></{$tabValue.directive}>
-  </div>
+  </form>
 </crm-angular-js>
diff --git a/civicrm/ext/afform/docs/sandbox/planning-v0.2.md b/civicrm/ext/afform/docs/sandbox/planning-v0.2.md
index 0016f960a0..f226b1af63 100644
--- a/civicrm/ext/afform/docs/sandbox/planning-v0.2.md
+++ b/civicrm/ext/afform/docs/sandbox/planning-v0.2.md
@@ -167,4 +167,3 @@ Which leads to this structure:
  {civicrm.files}/ang/afl-address.aff.json
  {civicrm.files}/ang/afl-address.aff.html
 ```
-
diff --git a/civicrm/ext/afform/html/afform_html.civix.php b/civicrm/ext/afform/html/afform_html.civix.php
index 8d7ccb5626..80d673e53a 100644
--- a/civicrm/ext/afform/html/afform_html.civix.php
+++ b/civicrm/ext/afform/html/afform_html.civix.php
@@ -91,9 +91,9 @@ function _afform_html_civix_civicrm_config(&$config = NULL) {
   }
   $configured = TRUE;
 
-  $template =& CRM_Core_Smarty::singleton();
+  $template = CRM_Core_Smarty::singleton();
 
-  $extRoot = dirname(__FILE__) . DIRECTORY_SEPARATOR;
+  $extRoot = __DIR__ . DIRECTORY_SEPARATOR;
   $extDir = $extRoot . 'templates';
 
   if (is_array($template->template_dir)) {
diff --git a/civicrm/ext/afform/html/info.xml b/civicrm/ext/afform/html/info.xml
index 1e8048b1b0..70f066d3f1 100644
--- a/civicrm/ext/afform/html/info.xml
+++ b/civicrm/ext/afform/html/info.xml
@@ -13,7 +13,7 @@
     <url desc="Licensing">http://www.gnu.org/licenses/agpl-3.0.html</url>
   </urls>
   <releaseDate>2020-01-09</releaseDate>
-  <version>5.46.2</version>
+  <version>5.47.0</version>
   <develStage>alpha</develStage>
   <compatibility>
     <ver>5.23</ver>
diff --git a/civicrm/ext/afform/mock/afform_mock.civix.php b/civicrm/ext/afform/mock/afform_mock.civix.php
index 9714aef7d9..b28d263901 100644
--- a/civicrm/ext/afform/mock/afform_mock.civix.php
+++ b/civicrm/ext/afform/mock/afform_mock.civix.php
@@ -91,9 +91,9 @@ function _afform_mock_civix_civicrm_config(&$config = NULL) {
   }
   $configured = TRUE;
 
-  $template =& CRM_Core_Smarty::singleton();
+  $template = CRM_Core_Smarty::singleton();
 
-  $extRoot = dirname(__FILE__) . DIRECTORY_SEPARATOR;
+  $extRoot = __DIR__ . DIRECTORY_SEPARATOR;
   $extDir = $extRoot . 'templates';
 
   if (is_array($template->template_dir)) {
diff --git a/civicrm/ext/afform/mock/info.xml b/civicrm/ext/afform/mock/info.xml
index 6e7fa8ae64..19057ee901 100644
--- a/civicrm/ext/afform/mock/info.xml
+++ b/civicrm/ext/afform/mock/info.xml
@@ -12,7 +12,7 @@
     <url desc="Licensing">http://www.gnu.org/licenses/agpl-3.0.html</url>
   </urls>
   <releaseDate>2020-01-09</releaseDate>
-  <version>5.46.2</version>
+  <version>5.47.0</version>
   <tags>
     <tag>mgmt:hidden</tag>
   </tags>
diff --git a/civicrm/ext/authx/Civi/Authx/LegacyRestAuthenticator.php b/civicrm/ext/authx/Civi/Authx/LegacyRestAuthenticator.php
new file mode 100644
index 0000000000..aaf37892ca
--- /dev/null
+++ b/civicrm/ext/authx/Civi/Authx/LegacyRestAuthenticator.php
@@ -0,0 +1,42 @@
+<?php
+/*
+ +--------------------------------------------------------------------+
+ | Copyright CiviCRM LLC. All rights reserved.                        |
+ |                                                                    |
+ | This work is published under the GNU AGPLv3 license with some      |
+ | permitted exceptions and without any warranty. For full license    |
+ | and copyright information, see https://civicrm.org/licensing       |
+ +--------------------------------------------------------------------+
+ */
+
+namespace Civi\Authx;
+
+use GuzzleHttp\Psr7\Response;
+
+/**
+ * Historically, 'extern/rest.php' and 'civicrm/ajax/rest' were similar interfaces
+ * based on the same controller, but they used different authentication styles.
+ *
+ * This authenticator is activated if one requests 'civicrm/ajax/rest' using the
+ * authentication style of 'extern/rest.php'.
+ *
+ * @package Civi\Authx
+ */
+class LegacyRestAuthenticator extends Authenticator {
+
+  protected function reject($message = 'Authentication failed') {
+    $data = ["error_message" => "FATAL: $message", "is_error" => 1];
+    $r = new Response(200, ['Content-Type' => 'text/javascript'], json_encode($data));
+    \CRM_Utils_System::sendResponse($r);
+  }
+
+  protected function login(AuthenticatorTarget $tgt) {
+    parent::login($tgt);
+    \Civi::dispatcher()->addListener('hook_civicrm_permission_check', function ($e) {
+      if ($e->permission === 'access AJAX API') {
+        $e->granted = TRUE;
+      }
+    });
+  }
+
+}
diff --git a/civicrm/ext/authx/authx.civix.php b/civicrm/ext/authx/authx.civix.php
index 6a25c05c5c..3320d7a451 100644
--- a/civicrm/ext/authx/authx.civix.php
+++ b/civicrm/ext/authx/authx.civix.php
@@ -91,9 +91,9 @@ function _authx_civix_civicrm_config(&$config = NULL) {
   }
   $configured = TRUE;
 
-  $template =& CRM_Core_Smarty::singleton();
+  $template = CRM_Core_Smarty::singleton();
 
-  $extRoot = dirname(__FILE__) . DIRECTORY_SEPARATOR;
+  $extRoot = __DIR__ . DIRECTORY_SEPARATOR;
   $extDir = $extRoot . 'templates';
 
   if (is_array($template->template_dir)) {
diff --git a/civicrm/ext/authx/authx.php b/civicrm/ext/authx/authx.php
index 25fe959f4c..220be9577a 100644
--- a/civicrm/ext/authx/authx.php
+++ b/civicrm/ext/authx/authx.php
@@ -36,6 +36,14 @@ Civi::dispatcher()->addListener('civi.invoke.auth', function($e) {
       _authx_redact(['_authx']);
     }
   }
+
+  // Accept legacy auth (?key=...&api_key=...) for 'civicrm/ajax/rest' and 'civicrm/ajax/api4/*'.
+  // The use of `?key=` could clash on some endpoints. Only accept on a small list of endpoints that are compatible with it.
+  if (count($e->args) > 2 && $e->args[1] === 'ajax' && in_array($e->args[2], ['rest', 'api4'])) {
+    if ((!empty($_REQUEST['api_key']) || !empty($_REQUEST['key']))) {
+      return (new \Civi\Authx\LegacyRestAuthenticator())->auth($e, ['flow' => 'legacyrest', 'cred' => 'Bearer ' . $_REQUEST['api_key'] ?? '', 'siteKey' => $_REQUEST['key'] ?? NULL]);
+    }
+  }
 });
 
 /**
diff --git a/civicrm/ext/authx/info.xml b/civicrm/ext/authx/info.xml
index 5b19d6ddce..1a8dac6c4d 100644
--- a/civicrm/ext/authx/info.xml
+++ b/civicrm/ext/authx/info.xml
@@ -15,7 +15,7 @@
     <url desc="Licensing">http://www.gnu.org/licenses/agpl-3.0.html</url>
   </urls>
   <releaseDate>2021-02-11</releaseDate>
-  <version>5.46.2</version>
+  <version>5.47.0</version>
   <develStage>alpha</develStage>
   <compatibility>
     <ver>5.0</ver>
diff --git a/civicrm/ext/authx/settings/authx.setting.php b/civicrm/ext/authx/settings/authx.setting.php
index d08d376c3c..67d20f82a2 100644
--- a/civicrm/ext/authx/settings/authx.setting.php
+++ b/civicrm/ext/authx/settings/authx.setting.php
@@ -17,7 +17,17 @@ use CRM_Authx_ExtensionUtil as E;
  * @copyright CiviCRM LLC https://civicrm.org/licensing
  */
 $_authx_settings = function() {
-  $flows = ['param', 'header', 'xheader', 'login', 'auto', 'script'];
+  $weight = 10;
+  $flows = [
+    'auto' => ts('Auto Login'),
+    'header' => ts('HTTP Header'),
+    'login' => ts('HTTP Session Login'),
+    'param' => ts('HTTP Parameter'),
+    'xheader' => ts('HTTP X-Header'),
+    'legacyrest' => ts('Legacy REST'),
+    'pipe' => ts('Pipe'),
+    'script' => ts('Script'),
+  ];
   $basic = [
     'group_name' => 'CiviCRM Preferences',
     'group' => 'authx',
@@ -34,16 +44,18 @@ $_authx_settings = function() {
     'html_type' => 'Select',
     'html_attributes' => [
       'multiple' => 1,
-      'class' => 'crm-select2',
+      'class' => 'huge crm-select2',
     ],
     'default' => ['site_key', 'perm'],
     'title' => ts('Authentication guard'),
-    'help_text' => ts('Enable an authentication guard if you want to limit which users may authenticate via authx. The permission-based guard is satisfied by checking user permissions. The key-based guard is satisfied by checking the secret site-key. The JWT guard is satisfied if the user presents a signed token. If there are no guards, then any user can authenticate.'),
+    'description' => ts('Enable an authentication guard if you want to limit which users may authenticate via authx. The permission-based guard is satisfied by checking user permissions. The key-based guard is satisfied by checking the secret site-key. If there are no guards, then any user can authenticate.'),
     'pseudoconstant' => [
       'callback' => ['\Civi\Authx\Meta', 'getGuardTypes'],
     ],
+    'settings_pages' => ['authx' => ['weight' => $weight]],
   ];
-  foreach ($flows as $flow) {
+  foreach ($flows as $flow => $flowLabel) {
+    $weight = $weight + 10;
     $s["authx_{$flow}_cred"] = $basic + [
       'name' => "authx_{$flow}_cred",
       'type' => 'Array',
@@ -51,14 +63,14 @@ $_authx_settings = function() {
       'html_type' => 'Select',
       'html_attributes' => [
         'multiple' => 1,
-        'class' => 'crm-select2',
+        'class' => 'huge crm-select2',
       ],
       'default' => ['jwt'],
-      'title' => ts('Acceptable credentials (%1)', [1 => $flow]),
-      'help_text' => NULL,
+      'title' => ts('Acceptable credentials (%1)', [1 => $flowLabel]),
       'pseudoconstant' => [
         'callback' => ['\Civi\Authx\Meta', 'getCredentialTypes'],
       ],
+      'settings_pages' => ['authx' => ['weight' => 1000 + $weight]],
     ];
     $s["authx_{$flow}_user"] = $basic + [
       'name' => "authx_{$flow}_user",
@@ -66,20 +78,31 @@ $_authx_settings = function() {
       'quick_form_type' => 'Select',
       'html_type' => 'Select',
       'html_attributes' => [
-        'class' => 'crm-select2',
+        'class' => 'huge crm-select2',
       ],
       'default' => 'optional',
-      'title' => ts('User account requirements (%1)', [1 => $flow]),
+      'title' => ts('User account requirements (%1)', [1 => $flowLabel]),
       'help_text' => NULL,
       'pseudoconstant' => [
         'callback' => ['\Civi\Authx\Meta', 'getUserModes'],
       ],
+      'settings_pages' => ['authx' => ['weight' => 2000 + $weight]],
     ];
   }
 
+  // Override defaults for a few specific elements
+  $s['authx_legacyrest_cred']['default'] = ['jwt', 'api_key'];
+  $s['authx_legacyrest_user']['default'] = 'require';
   $s['authx_param_cred']['default'] = ['jwt', 'api_key'];
   $s['authx_header_cred']['default'] = ['jwt', 'api_key'];
   $s['authx_xheader_cred']['default'] = ['jwt', 'api_key'];
+  $s['authx_pipe_cred']['default'] = ['jwt', 'api_key'];
+
+  // Oof. Attach description to one flow. This is silly - should be on all flows. But, at time of writing, the auto-generated `settings_pages` would become unreadable.
+  $finalFlow = key(array_slice($flows, -1));
+  $seeAlso = ts('See also: <a %1>Authentication Documentation</a>', [1 => 'href="https://docs.civicrm.org/dev/en/latest/framework/authx/" target="_blank"']);
+  $s["authx_{$finalFlow}_cred"]['description'] = ts('Specify which types of <em>credentials</em> are allowed in each <em>authentication flow</em>.') . '<br/>' . $seeAlso;
+  $s["authx_{$finalFlow}_user"]['description'] = ts('CiviCRM <em>Contacts</em> are often attached to CMS <em>User Accounts</em>. When authenticating a <em>Contact</em>, should it also load the <em>User Account</em>?') . '<br/>' . $seeAlso;
 
   return $s;
 };
diff --git a/civicrm/ext/authx/tests/phpunit/Civi/Authx/AllFlowsTest.php b/civicrm/ext/authx/tests/phpunit/Civi/Authx/AllFlowsTest.php
index cb583345f9..3b63dda50a 100644
--- a/civicrm/ext/authx/tests/phpunit/Civi/Authx/AllFlowsTest.php
+++ b/civicrm/ext/authx/tests/phpunit/Civi/Authx/AllFlowsTest.php
@@ -2,6 +2,8 @@
 
 namespace Civi\Authx;
 
+use Civi\Pipe\BasicPipeClient;
+use Civi\Pipe\JsonRpcMethodException;
 use Civi\Test\HttpTestTrait;
 use CRM_Authx_ExtensionUtil as E;
 use Civi\Test\EndToEndInterface;
@@ -179,13 +181,6 @@ class AllFlowsTest extends \PHPUnit\Framework\TestCase implements EndToEndInterf
       $this->markTestIncomplete("Cannot run test without CIVICRM_SITE_KEY");
     }
 
-    $addParam = function($request, $key, $value) {
-      $query = $request->getUri()->getQuery();
-      return $request->withUri(
-        $request->getUri()->withQuery($query . '&' . urlencode($key) . '=' . urlencode($value))
-      );
-    };
-
     [$credType, $flowType] = ['pass', 'header'];
     $http = $this->createGuzzle(['http_errors' => FALSE]);
     \Civi::settings()->set("authx_{$flowType}_cred", [$credType]);
@@ -512,6 +507,40 @@ class AllFlowsTest extends \PHPUnit\Framework\TestCase implements EndToEndInterf
     }
   }
 
+  public function testCliPipeTrustedLogin() {
+    $rpc = new BasicPipeClient('cv ev \'Civi::pipe("tl");\'');
+    $this->assertEquals('trusted', $rpc->getWelcome()['t']);
+    $this->assertEquals(['login'], $rpc->getWelcome()['l']);
+
+    $login = $rpc->call('login', ['userId' => $this->getDemoUID()]);
+    $this->assertEquals($this->getDemoCID(), $login['contactId']);
+    $this->assertEquals($this->getDemoUID(), $login['userId']);
+
+    $me = $rpc->call('api3', ['Contact', 'get', ['id' => 'user_contact_id', 'sequential' => TRUE]]);
+    $this->assertEquals($this->getDemoCID(), $me['values'][0]['contact_id']);
+  }
+
+  public function testCliPipeUntrustedLogin() {
+    $rpc = new BasicPipeClient('cv ev \'Civi::pipe("ul");\'');
+    $this->assertEquals('untrusted', $rpc->getWelcome()['u']);
+    $this->assertEquals(['login'], $rpc->getWelcome()['l']);
+
+    try {
+      $rpc->call('login', ['userId' => $this->getDemoUID()]);
+      $this->fail('Untrusted sessions should require authentication credentials');
+    }
+    catch (JsonRpcMethodException $e) {
+      $this->assertRegExp(';not trusted;', $e->getMessage());
+    }
+
+    $login = $rpc->call('login', ['cred' => $this->credJwt($this->getDemoCID())]);
+    $this->assertEquals($this->getDemoCID(), $login['contactId']);
+    $this->assertEquals($this->getDemoUID(), $login['userId']);
+
+    $me = $rpc->call('api3', ['Contact', 'get', ['id' => 'user_contact_id', 'sequential' => TRUE]]);
+    $this->assertEquals($this->getDemoCID(), $me['values'][0]['contact_id']);
+  }
+
   /**
    * Filter a request, applying the given authentication options
    *
diff --git a/civicrm/ext/authx/xml/Menu/authx.xml b/civicrm/ext/authx/xml/Menu/authx.xml
index 1f0e738339..9247d93a41 100644
--- a/civicrm/ext/authx/xml/Menu/authx.xml
+++ b/civicrm/ext/authx/xml/Menu/authx.xml
@@ -21,4 +21,12 @@
     <access_arguments>*always allow*</access_arguments>
     <is_public>true</is_public>
   </item>
+  <item>
+    <path>civicrm/admin/setting/authx</path>
+    <title>Authentication</title>
+    <page_callback>CRM_Admin_Form_Generic</page_callback>
+    <adminGroup>System Settings</adminGroup>
+    <desc>Configure authentication for external systems</desc>
+    <access_arguments>administer CiviCRM</access_arguments>
+  </item>
 </menu>
diff --git a/civicrm/CRM/Grant/BAO/Grant.php b/civicrm/ext/civigrant/CRM/Grant/BAO/Grant.php
similarity index 93%
rename from civicrm/CRM/Grant/BAO/Grant.php
rename to civicrm/ext/civigrant/CRM/Grant/BAO/Grant.php
index aca48e7714..51d09236b5 100644
--- a/civicrm/CRM/Grant/BAO/Grant.php
+++ b/civicrm/ext/civigrant/CRM/Grant/BAO/Grant.php
@@ -60,23 +60,20 @@ class CRM_Grant_BAO_Grant extends CRM_Grant_DAO_Grant {
   }
 
   /**
-   * Fetch object based on array of properties.
+   * Retrieve DB object and copy to defaults array.
    *
    * @param array $params
-   *   (reference ) an assoc array of name/value pairs.
+   *   Array of criteria values.
    * @param array $defaults
-   *   (reference ) an assoc array to hold the flattened values.
+   *   Array to be populated with found values.
    *
-   * @return CRM_Grant_DAO_Grant
+   * @return self|null
+   *   The DAO object, if found.
+   *
+   * @deprecated
    */
-  public static function retrieve(&$params, &$defaults) {
-    $grant = new CRM_Grant_DAO_Grant();
-    $grant->copyValues($params);
-    if ($grant->find(TRUE)) {
-      CRM_Core_DAO::storeValues($grant, $defaults);
-      return $grant;
-    }
-    return NULL;
+  public static function retrieve(array $params, array &$defaults = []) {
+    return self::commonRetrieve(self::class, $params, $defaults);
   }
 
   /**
diff --git a/civicrm/CRM/Grant/BAO/Query.php b/civicrm/ext/civigrant/CRM/Grant/BAO/Query.php
similarity index 76%
rename from civicrm/CRM/Grant/BAO/Query.php
rename to civicrm/ext/civigrant/CRM/Grant/BAO/Query.php
index 2e814b2a77..9c59f40125 100644
--- a/civicrm/CRM/Grant/BAO/Query.php
+++ b/civicrm/ext/civigrant/CRM/Grant/BAO/Query.php
@@ -9,26 +9,30 @@
  +--------------------------------------------------------------------+
  */
 
+use CRM_Grant_ExtensionUtil as E;
+
 /**
  * Class CRM_Grant_BAO_Query
  */
-class CRM_Grant_BAO_Query extends CRM_Core_BAO_Query {
+class CRM_Grant_BAO_Query extends CRM_Contact_BAO_Query_Interface {
 
   /**
-   * Get grant fields.
+   * Unused.
+   *
+   * This function is meant to return extra contact fields, but grants are not contacts.
    *
    * @return array
    */
-  public static function &getFields() {
-    return CRM_Grant_BAO_Grant::exportableFields();
+  public function &getFields() {
+    $fields = [];
+    return $fields;
+    // return CRM_Grant_BAO_Grant::exportableFields();
   }
 
   /**
    * Build select for CiviGrant.
    *
    * @param $query
-   *
-   * @return void
    */
   public static function select(&$query) {
     if (!empty($query->_returnProperties['grant_status_id'])) {
@@ -65,6 +69,11 @@ class CRM_Grant_BAO_Query extends CRM_Core_BAO_Query {
       $query->_tables['grant_note'] = 1;
     }
 
+    if (!empty($query->_returnProperties['grant_id'])) {
+      $query->_select['grant_id'] = "civicrm_grant.id as grant_id";
+      $query->_element['grant_id'] = 1;
+    }
+
     if ($query->_mode & CRM_Contact_BAO_Query::MODE_GRANT) {
       $query->_select['grant_amount_requested'] = 'civicrm_grant.amount_requested as grant_amount_requested';
       $query->_select['grant_amount_granted'] = 'civicrm_grant.amount_granted as grant_amount_granted';
@@ -84,8 +93,6 @@ class CRM_Grant_BAO_Query extends CRM_Core_BAO_Query {
    * where clause
    *
    * @param $query
-   *
-   * @return void
    */
   public static function where(&$query) {
     foreach ($query->_params as $id => $values) {
@@ -104,7 +111,7 @@ class CRM_Grant_BAO_Query extends CRM_Core_BAO_Query {
    * @param \CRM_Contact_BAO_Query $query
    */
   public static function whereClauseSingle(&$values, &$query) {
-    list($name, $op, $value, $grouping, $wildcard) = $values;
+    [$name, $op, $value, $grouping, $wildcard] = $values;
     switch ($name) {
       case 'grant_money_transfer_date_low':
       case 'grant_money_transfer_date_high':
@@ -116,7 +123,7 @@ class CRM_Grant_BAO_Query extends CRM_Core_BAO_Query {
 
       case 'grant_money_transfer_date_notset':
         $query->_where[$grouping][] = "civicrm_grant.money_transfer_date IS NULL";
-        $query->_qill[$grouping][] = ts("Grant Money Transfer Date is NULL");
+        $query->_qill[$grouping][] = E::ts("Grant Money Transfer Date is NULL");
         $query->_tables['civicrm_grant'] = $query->_whereTables['civicrm_grant'] = 1;
         return;
 
@@ -130,7 +137,7 @@ class CRM_Grant_BAO_Query extends CRM_Core_BAO_Query {
 
       case 'grant_application_received_date_notset':
         $query->_where[$grouping][] = "civicrm_grant.application_received_date IS NULL";
-        $query->_qill[$grouping][] = ts("Grant Application Received Date is NULL");
+        $query->_qill[$grouping][] = E::ts("Grant Application Received Date is NULL");
         $query->_tables['civicrm_grant'] = $query->_whereTables['civicrm_grant'] = 1;
         return;
 
@@ -138,13 +145,13 @@ class CRM_Grant_BAO_Query extends CRM_Core_BAO_Query {
       case 'grant_due_date_high':
         $query->dateQueryBuilder($values, 'civicrm_grant',
           'grant_due_date',
-          'grant_due_date', ts('Grant Due Date')
+          'grant_due_date', E::ts('Grant Due Date')
         );
         return;
 
       case 'grant_due_date_notset':
         $query->_where[$grouping][] = "civicrm_grant.grant_due_date IS NULL";
-        $query->_qill[$grouping][] = ts("Grant Due Date is NULL");
+        $query->_qill[$grouping][] = E::ts("Grant Due Date is NULL");
         $query->_tables['civicrm_grant'] = $query->_whereTables['civicrm_grant'] = 1;
         return;
 
@@ -152,13 +159,13 @@ class CRM_Grant_BAO_Query extends CRM_Core_BAO_Query {
       case 'grant_decision_date_high':
         $query->dateQueryBuilder($values, 'civicrm_grant',
           'grant_decision_date',
-          'decision_date', ts('Grant Decision Date')
+          'decision_date', E::ts('Grant Decision Date')
         );
         return;
 
       case 'grant_decision_date_notset':
         $query->_where[$grouping][] = "civicrm_grant.decision_date IS NULL";
-        $query->_qill[$grouping][] = ts("Grant Decision Date is NULL");
+        $query->_qill[$grouping][] = E::ts("Grant Decision Date is NULL");
         $query->_tables['civicrm_grant'] = $query->_whereTables['civicrm_grant'] = 1;
         return;
 
@@ -169,17 +176,17 @@ class CRM_Grant_BAO_Query extends CRM_Core_BAO_Query {
 
         if (strstr($name, 'type')) {
           $name = 'grant_type_id';
-          $label = ts('Grant Type(s)');
+          $label = E::ts('Grant Type(s)');
         }
         else {
           $name = 'status_id';
-          $label = ts('Grant Status(s)');
+          $label = E::ts('Grant Status(s)');
         }
 
         $query->_where[$grouping][] = CRM_Contact_BAO_Query::buildClause("civicrm_grant.$name", $op, $value, "Integer");
 
         list($qillop, $qillVal) = CRM_Contact_BAO_Query::buildQillForFieldValue('CRM_Grant_DAO_Grant', $name, $value, $op);
-        $query->_qill[$grouping][] = ts("%1 %2 %3", [1 => $label, 2 => $qillop, 3 => $qillVal]);
+        $query->_qill[$grouping][] = E::ts("%1 %2 %3", [1 => $label, 2 => $qillop, 3 => $qillVal]);
         $query->_tables['civicrm_grant'] = $query->_whereTables['civicrm_grant'] = 1;
 
         return;
@@ -187,15 +194,15 @@ class CRM_Grant_BAO_Query extends CRM_Core_BAO_Query {
       case 'grant_report_received':
 
         if ($value == 1) {
-          $yesNo = ts('Yes');
+          $yesNo = E::ts('Yes');
           $query->_where[$grouping][] = "civicrm_grant.grant_report_received $op $value";
         }
         elseif ($value == 0) {
-          $yesNo = ts('No');
+          $yesNo = E::ts('No');
           $query->_where[$grouping][] = "civicrm_grant.grant_report_received IS NULL";
         }
 
-        $query->_qill[$grouping][] = ts('Grant Report Received = %1', [1 => $yesNo]);
+        $query->_qill[$grouping][] = E::ts('Grant Report Received = %1', [1 => $yesNo]);
         $query->_tables['civicrm_grant'] = $query->_whereTables['civicrm_grant'] = 1;
 
         return;
@@ -305,37 +312,80 @@ class CRM_Grant_BAO_Query extends CRM_Core_BAO_Query {
    *
    *
    * @param \CRM_Grant_Form_Search $form
+   * @param $type
    *
    * @return void
    */
-  public static function buildSearchForm(&$form) {
+  public function buildAdvancedSearchPaneForm(&$form, $type) {
+    if ($type !== 'CiviGrant') {
+      return;
+    }
 
     $grantType = CRM_Core_OptionGroup::values('grant_type');
     $form->addSearchFieldMetadata(['Grant' => self::getSearchFieldMetadata()]);
     $form->addFormFieldsFromMetadata();
     $form->assign('grantSearchFields', self::getTemplateHandlableSearchFields());
-    $form->add('select', 'grant_type_id', ts('Grant Type'), $grantType, FALSE,
+    $form->add('select', 'grant_type_id', E::ts('Grant Type'), $grantType, FALSE,
       ['id' => 'grant_type_id', 'multiple' => 'multiple', 'class' => 'crm-select2']
     );
 
     $grantStatus = CRM_Core_OptionGroup::values('grant_status');
-    $form->add('select', 'grant_status_id', ts('Grant Status'), $grantStatus, FALSE,
+    $form->add('select', 'grant_status_id', E::ts('Grant Status'), $grantStatus, FALSE,
       ['id' => 'grant_status_id', 'multiple' => 'multiple', 'class' => 'crm-select2']
     );
-    $form->addElement('checkbox', 'grant_application_received_date_notset', ts('Date is not set'), NULL);
-    $form->addElement('checkbox', 'grant_money_transfer_date_notset', ts('Date is not set'), NULL);
-    $form->addElement('checkbox', 'grant_due_date_notset', ts('Date is not set'), NULL);
-    $form->addElement('checkbox', 'grant_decision_date_notset', ts('Date is not set'), NULL);
+    $form->addElement('checkbox', 'grant_application_received_date_notset', E::ts('Date is not set'), NULL);
+    $form->addElement('checkbox', 'grant_money_transfer_date_notset', E::ts('Date is not set'), NULL);
+    $form->addElement('checkbox', 'grant_due_date_notset', E::ts('Date is not set'), NULL);
+    $form->addElement('checkbox', 'grant_decision_date_notset', E::ts('Date is not set'), NULL);
 
-    $form->add('text', 'grant_amount_low', ts('Minimum Amount'), ['size' => 8, 'maxlength' => 8]);
-    $form->addRule('grant_amount_low', ts('Please enter a valid money value (e.g. %1).', [1 => CRM_Utils_Money::formatLocaleNumericRoundedForDefaultCurrency('9.99')]), 'money');
+    $form->add('text', 'grant_amount_low', E::ts('Minimum Amount'), ['size' => 8, 'maxlength' => 8]);
+    $form->addRule('grant_amount_low', E::ts('Please enter a valid money value (e.g. %1).', [1 => CRM_Utils_Money::formatLocaleNumericRoundedForDefaultCurrency('9.99')]), 'money');
 
-    $form->add('text', 'grant_amount_high', ts('Maximum Amount'), ['size' => 8, 'maxlength' => 8]);
-    $form->addRule('grant_amount_high', ts('Please enter a valid money value (e.g. %1).', [1 => CRM_Utils_Money::formatLocaleNumericRoundedForDefaultCurrency('99.99')]), 'money');
+    $form->add('text', 'grant_amount_high', E::ts('Maximum Amount'), ['size' => 8, 'maxlength' => 8]);
+    $form->addRule('grant_amount_high', E::ts('Please enter a valid money value (e.g. %1).', [1 => CRM_Utils_Money::formatLocaleNumericRoundedForDefaultCurrency('99.99')]), 'money');
 
-    self::addCustomFormFields($form, ['Grant']);
+    CRM_Core_BAO_Query::addCustomFormFields($form, ['Grant']);
 
     $form->assign('validGrant', TRUE);
   }
 
+  /**
+   * @param string[] $panes
+   */
+  public function registerAdvancedSearchPane(&$panes) {
+    $panes[E::ts('Grants')] = 'CiviGrant';
+  }
+
+  /**
+   * @param string[] $panes
+   */
+  public function getPanesMapper(&$panes) {
+    $panes[E::ts('Grants')] = 'civicrm_grant';
+  }
+
+  /**
+   * @param $tables
+   */
+  public function setTableDependency(&$tables) {
+    // $tables['civicrm_grant'] = 1;
+  }
+
+  /**
+   * @param $paneTemplatePathArray
+   * @param $type
+   */
+  public function setAdvancedSearchPaneTemplatePath(&$paneTemplatePathArray, $type) {
+    $paneTemplatePathArray['CiviGrant'] = 'CRM/Grant/Form/Search/AdvancedSearchPane.tpl';
+  }
+
+  /**
+   * Describe options for available for use in the search-builder.
+   *
+   * @param array $apiEntities
+   * @param array $fieldOptions
+   */
+  public function alterSearchBuilderOptions(&$apiEntities, &$fieldOptions) {
+    $apiEntities[] = 'grant';
+  }
+
 }
diff --git a/civicrm/CRM/Grant/Controller/Search.php b/civicrm/ext/civigrant/CRM/Grant/Controller/Search.php
similarity index 100%
rename from civicrm/CRM/Grant/Controller/Search.php
rename to civicrm/ext/civigrant/CRM/Grant/Controller/Search.php
diff --git a/civicrm/CRM/Grant/DAO/Grant.php b/civicrm/ext/civigrant/CRM/Grant/DAO/Grant.php
similarity index 74%
rename from civicrm/CRM/Grant/DAO/Grant.php
rename to civicrm/ext/civigrant/CRM/Grant/DAO/Grant.php
index 3337bd12cb..a9a90d8cbf 100644
--- a/civicrm/CRM/Grant/DAO/Grant.php
+++ b/civicrm/ext/civigrant/CRM/Grant/DAO/Grant.php
@@ -4,18 +4,18 @@
  * @package CRM
  * @copyright CiviCRM LLC https://civicrm.org/licensing
  *
- * Generated from xml/schema/CRM/Grant/Grant.xml
+ * Generated from civigrant/xml/schema/CRM/Grant/Grant.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:36856b7ed6b7fc04e812c92fd42df94f)
+ * (GenCodeChecksum:bd866aa053f6871792fdecfc4aa3c92a)
  */
+use CRM_Grant_ExtensionUtil as E;
 
 /**
  * Database access object for the Grant entity.
  */
 class CRM_Grant_DAO_Grant extends CRM_Core_DAO {
-  const EXT = 'civicrm';
+  const EXT = E::LONG_NAME;
   const TABLE_ADDED = '1.8';
-  const COMPONENT = 'CiviGrant';
 
   /**
    * Static instance to hold the table name.
@@ -53,77 +53,99 @@ class CRM_Grant_DAO_Grant extends CRM_Core_DAO {
   /**
    * Unique Grant id
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * Contact ID of contact record given grant belongs to.
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $contact_id;
 
   /**
    * Date on which grant application was received by donor.
    *
-   * @var date
+   * @var string|null
+   *   (SQL type: date)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $application_received_date;
 
   /**
    * Date on which grant decision was made.
    *
-   * @var date
+   * @var string|null
+   *   (SQL type: date)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $decision_date;
 
   /**
    * Date on which grant money transfer was made.
    *
-   * @var date
+   * @var string|null
+   *   (SQL type: date)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $money_transfer_date;
 
   /**
    * Date on which grant report is due.
    *
-   * @var date
+   * @var string|null
+   *   (SQL type: date)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $grant_due_date;
 
   /**
    * Yes/No field stating whether grant report was received by donor.
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $grant_report_received;
 
   /**
    * Type of grant. Implicit FK to civicrm_option_value in grant_type option_group.
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $grant_type_id;
 
   /**
    * Requested grant amount, in default currency.
    *
-   * @var float
+   * @var float|string
+   *   (SQL type: decimal(20,2))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $amount_total;
 
   /**
    * Requested grant amount, in original currency (optional).
    *
-   * @var float
+   * @var float|string|null
+   *   (SQL type: decimal(20,2))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $amount_requested;
 
   /**
    * Granted amount, in default currency.
    *
-   * @var float
+   * @var float|string|null
+   *   (SQL type: decimal(20,2))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $amount_granted;
 
@@ -131,27 +153,35 @@ class CRM_Grant_DAO_Grant extends CRM_Core_DAO {
    * 3 character string, value from config setting or input via user.
    *
    * @var string
+   *   (SQL type: varchar(3))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $currency;
 
   /**
    * Grant rationale.
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $rationale;
 
   /**
    * ID of Grant status.
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $status_id;
 
   /**
    * FK to Financial Type.
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $financial_type_id;
 
@@ -170,7 +200,7 @@ class CRM_Grant_DAO_Grant extends CRM_Core_DAO {
    *   Whether to return the plural version of the title.
    */
   public static function getEntityTitle($plural = FALSE) {
-    return $plural ? ts('Grants') : ts('Grant');
+    return $plural ? E::ts('Grants') : E::ts('Grant');
   }
 
   /**
@@ -179,7 +209,7 @@ class CRM_Grant_DAO_Grant extends CRM_Core_DAO {
    * @return string
    */
   public static function getEntityDescription() {
-    return ts('Funds applied for and given out by this organization.');
+    return E::ts('Funds applied for and given out by this organization.');
   }
 
   /**
@@ -209,15 +239,15 @@ class CRM_Grant_DAO_Grant extends CRM_Core_DAO {
         'grant_id' => [
           'name' => 'id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Grant ID'),
-          'description' => ts('Unique Grant id'),
+          'title' => E::ts('Grant ID'),
+          'description' => E::ts('Unique Grant id'),
           'required' => TRUE,
           'import' => TRUE,
           'where' => 'civicrm_grant.id',
           'export' => TRUE,
           'table_name' => 'civicrm_grant',
           'entity' => 'Grant',
-          'bao' => 'CRM_Grant_BAO_Grant',
+          'bao' => 'CRM_Grant_DAO_Grant',
           'localizable' => 0,
           'html' => [
             'type' => 'Number',
@@ -228,33 +258,33 @@ class CRM_Grant_DAO_Grant extends CRM_Core_DAO {
         'grant_contact_id' => [
           'name' => 'contact_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Contact ID'),
-          'description' => ts('Contact ID of contact record given grant belongs to.'),
+          'title' => E::ts('Contact ID'),
+          'description' => E::ts('Contact ID of contact record given grant belongs to.'),
           'required' => TRUE,
           'where' => 'civicrm_grant.contact_id',
           'export' => TRUE,
           'table_name' => 'civicrm_grant',
           'entity' => 'Grant',
-          'bao' => 'CRM_Grant_BAO_Grant',
+          'bao' => 'CRM_Grant_DAO_Grant',
           'localizable' => 0,
           'FKClassName' => 'CRM_Contact_DAO_Contact',
           'html' => [
             'type' => 'EntityRef',
-            'label' => ts("Contact"),
+            'label' => E::ts("Contact"),
           ],
           'add' => '1.8',
         ],
         'grant_application_received_date' => [
           'name' => 'application_received_date',
           'type' => CRM_Utils_Type::T_DATE,
-          'title' => ts('Application received date'),
-          'description' => ts('Date on which grant application was received by donor.'),
+          'title' => E::ts('Application received date'),
+          'description' => E::ts('Date on which grant application was received by donor.'),
           'import' => TRUE,
           'where' => 'civicrm_grant.application_received_date',
           'export' => TRUE,
           'table_name' => 'civicrm_grant',
           'entity' => 'Grant',
-          'bao' => 'CRM_Grant_BAO_Grant',
+          'bao' => 'CRM_Grant_DAO_Grant',
           'localizable' => 0,
           'html' => [
             'type' => 'Select Date',
@@ -265,14 +295,14 @@ class CRM_Grant_DAO_Grant extends CRM_Core_DAO {
         'grant_decision_date' => [
           'name' => 'decision_date',
           'type' => CRM_Utils_Type::T_DATE,
-          'title' => ts('Decision date'),
-          'description' => ts('Date on which grant decision was made.'),
+          'title' => E::ts('Decision date'),
+          'description' => E::ts('Date on which grant decision was made.'),
           'import' => TRUE,
           'where' => 'civicrm_grant.decision_date',
           'export' => TRUE,
           'table_name' => 'civicrm_grant',
           'entity' => 'Grant',
-          'bao' => 'CRM_Grant_BAO_Grant',
+          'bao' => 'CRM_Grant_DAO_Grant',
           'localizable' => 0,
           'html' => [
             'type' => 'Select Date',
@@ -283,14 +313,14 @@ class CRM_Grant_DAO_Grant extends CRM_Core_DAO {
         'grant_money_transfer_date' => [
           'name' => 'money_transfer_date',
           'type' => CRM_Utils_Type::T_DATE,
-          'title' => ts('Grant Money transfer date'),
-          'description' => ts('Date on which grant money transfer was made.'),
+          'title' => E::ts('Grant Money transfer date'),
+          'description' => E::ts('Date on which grant money transfer was made.'),
           'import' => TRUE,
           'where' => 'civicrm_grant.money_transfer_date',
           'export' => TRUE,
           'table_name' => 'civicrm_grant',
           'entity' => 'Grant',
-          'bao' => 'CRM_Grant_BAO_Grant',
+          'bao' => 'CRM_Grant_DAO_Grant',
           'localizable' => 0,
           'html' => [
             'type' => 'Select Date',
@@ -301,14 +331,14 @@ class CRM_Grant_DAO_Grant extends CRM_Core_DAO {
         'grant_due_date' => [
           'name' => 'grant_due_date',
           'type' => CRM_Utils_Type::T_DATE,
-          'title' => ts('Grant Report Due Date'),
-          'description' => ts('Date on which grant report is due.'),
+          'title' => E::ts('Grant Report Due Date'),
+          'description' => E::ts('Date on which grant report is due.'),
           'import' => TRUE,
           'where' => 'civicrm_grant.grant_due_date',
           'export' => TRUE,
           'table_name' => 'civicrm_grant',
           'entity' => 'Grant',
-          'bao' => 'CRM_Grant_BAO_Grant',
+          'bao' => 'CRM_Grant_DAO_Grant',
           'localizable' => 0,
           'html' => [
             'type' => 'Select Date',
@@ -319,14 +349,14 @@ class CRM_Grant_DAO_Grant extends CRM_Core_DAO {
         'grant_report_received' => [
           'name' => 'grant_report_received',
           'type' => CRM_Utils_Type::T_BOOLEAN,
-          'title' => ts('Grant report received'),
-          'description' => ts('Yes/No field stating whether grant report was received by donor.'),
+          'title' => E::ts('Grant report received'),
+          'description' => E::ts('Yes/No field stating whether grant report was received by donor.'),
           'import' => TRUE,
           'where' => 'civicrm_grant.grant_report_received',
           'export' => TRUE,
           'table_name' => 'civicrm_grant',
           'entity' => 'Grant',
-          'bao' => 'CRM_Grant_BAO_Grant',
+          'bao' => 'CRM_Grant_DAO_Grant',
           'localizable' => 0,
           'html' => [
             'type' => 'CheckBox',
@@ -336,14 +366,14 @@ class CRM_Grant_DAO_Grant extends CRM_Core_DAO {
         'grant_type_id' => [
           'name' => 'grant_type_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Grant Type'),
-          'description' => ts('Type of grant. Implicit FK to civicrm_option_value in grant_type option_group.'),
+          'title' => E::ts('Grant Type'),
+          'description' => E::ts('Type of grant. Implicit FK to civicrm_option_value in grant_type option_group.'),
           'required' => TRUE,
           'where' => 'civicrm_grant.grant_type_id',
           'export' => TRUE,
           'table_name' => 'civicrm_grant',
           'entity' => 'Grant',
-          'bao' => 'CRM_Grant_BAO_Grant',
+          'bao' => 'CRM_Grant_DAO_Grant',
           'localizable' => 0,
           'html' => [
             'type' => 'Select',
@@ -357,8 +387,8 @@ class CRM_Grant_DAO_Grant extends CRM_Core_DAO {
         'amount_total' => [
           'name' => 'amount_total',
           'type' => CRM_Utils_Type::T_MONEY,
-          'title' => ts('Total Amount'),
-          'description' => ts('Requested grant amount, in default currency.'),
+          'title' => E::ts('Total Amount'),
+          'description' => E::ts('Requested grant amount, in default currency.'),
           'required' => TRUE,
           'precision' => [
             20,
@@ -370,7 +400,7 @@ class CRM_Grant_DAO_Grant extends CRM_Core_DAO {
           'export' => TRUE,
           'table_name' => 'civicrm_grant',
           'entity' => 'Grant',
-          'bao' => 'CRM_Grant_BAO_Grant',
+          'bao' => 'CRM_Grant_DAO_Grant',
           'localizable' => 0,
           'html' => [
             'type' => 'Text',
@@ -380,8 +410,8 @@ class CRM_Grant_DAO_Grant extends CRM_Core_DAO {
         'amount_requested' => [
           'name' => 'amount_requested',
           'type' => CRM_Utils_Type::T_MONEY,
-          'title' => ts('Amount Requested'),
-          'description' => ts('Requested grant amount, in original currency (optional).'),
+          'title' => E::ts('Amount Requested'),
+          'description' => E::ts('Requested grant amount, in original currency (optional).'),
           'precision' => [
             20,
             2,
@@ -390,7 +420,7 @@ class CRM_Grant_DAO_Grant extends CRM_Core_DAO {
           'dataPattern' => '/^\d+(\.\d{2})?$/',
           'table_name' => 'civicrm_grant',
           'entity' => 'Grant',
-          'bao' => 'CRM_Grant_BAO_Grant',
+          'bao' => 'CRM_Grant_DAO_Grant',
           'localizable' => 0,
           'html' => [
             'type' => 'Text',
@@ -400,8 +430,8 @@ class CRM_Grant_DAO_Grant extends CRM_Core_DAO {
         'amount_granted' => [
           'name' => 'amount_granted',
           'type' => CRM_Utils_Type::T_MONEY,
-          'title' => ts('Amount granted'),
-          'description' => ts('Granted amount, in default currency.'),
+          'title' => E::ts('Amount granted'),
+          'description' => E::ts('Granted amount, in default currency.'),
           'precision' => [
             20,
             2,
@@ -412,7 +442,7 @@ class CRM_Grant_DAO_Grant extends CRM_Core_DAO {
           'export' => TRUE,
           'table_name' => 'civicrm_grant',
           'entity' => 'Grant',
-          'bao' => 'CRM_Grant_BAO_Grant',
+          'bao' => 'CRM_Grant_DAO_Grant',
           'localizable' => 0,
           'html' => [
             'type' => 'Text',
@@ -422,15 +452,15 @@ class CRM_Grant_DAO_Grant extends CRM_Core_DAO {
         'currency' => [
           'name' => 'currency',
           'type' => CRM_Utils_Type::T_STRING,
-          'title' => ts('Grant Currency'),
-          'description' => ts('3 character string, value from config setting or input via user.'),
+          'title' => E::ts('Grant Currency'),
+          'description' => E::ts('3 character string, value from config setting or input via user.'),
           'required' => TRUE,
           'maxlength' => 3,
           'size' => CRM_Utils_Type::FOUR,
           'where' => 'civicrm_grant.currency',
           'table_name' => 'civicrm_grant',
           'entity' => 'Grant',
-          'bao' => 'CRM_Grant_BAO_Grant',
+          'bao' => 'CRM_Grant_DAO_Grant',
           'localizable' => 0,
           'html' => [
             'type' => 'Select',
@@ -447,8 +477,8 @@ class CRM_Grant_DAO_Grant extends CRM_Core_DAO {
         'rationale' => [
           'name' => 'rationale',
           'type' => CRM_Utils_Type::T_TEXT,
-          'title' => ts('Grant Rationale'),
-          'description' => ts('Grant rationale.'),
+          'title' => E::ts('Grant Rationale'),
+          'description' => E::ts('Grant rationale.'),
           'rows' => 4,
           'cols' => 60,
           'import' => TRUE,
@@ -456,7 +486,7 @@ class CRM_Grant_DAO_Grant extends CRM_Core_DAO {
           'export' => TRUE,
           'table_name' => 'civicrm_grant',
           'entity' => 'Grant',
-          'bao' => 'CRM_Grant_BAO_Grant',
+          'bao' => 'CRM_Grant_DAO_Grant',
           'localizable' => 0,
           'html' => [
             'type' => 'TextArea',
@@ -466,15 +496,15 @@ class CRM_Grant_DAO_Grant extends CRM_Core_DAO {
         'grant_status_id' => [
           'name' => 'status_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Grant Status'),
-          'description' => ts('ID of Grant status.'),
+          'title' => E::ts('Grant Status'),
+          'description' => E::ts('ID of Grant status.'),
           'required' => TRUE,
           'import' => TRUE,
           'where' => 'civicrm_grant.status_id',
           'export' => FALSE,
           'table_name' => 'civicrm_grant',
           'entity' => 'Grant',
-          'bao' => 'CRM_Grant_BAO_Grant',
+          'bao' => 'CRM_Grant_DAO_Grant',
           'localizable' => 0,
           'html' => [
             'type' => 'Select',
@@ -488,17 +518,17 @@ class CRM_Grant_DAO_Grant extends CRM_Core_DAO {
         'financial_type_id' => [
           'name' => 'financial_type_id',
           'type' => CRM_Utils_Type::T_INT,
-          'title' => ts('Financial Type ID'),
-          'description' => ts('FK to Financial Type.'),
+          'title' => E::ts('Financial Type ID'),
+          'description' => E::ts('FK to Financial Type.'),
           'where' => 'civicrm_grant.financial_type_id',
           'default' => NULL,
           'table_name' => 'civicrm_grant',
           'entity' => 'Grant',
-          'bao' => 'CRM_Grant_BAO_Grant',
+          'bao' => 'CRM_Grant_DAO_Grant',
           'localizable' => 0,
           'FKClassName' => 'CRM_Financial_DAO_FinancialType',
           'html' => [
-            'label' => ts("Financial Type"),
+            'label' => E::ts("Financial Type"),
           ],
           'pseudoconstant' => [
             'table' => 'civicrm_financial_type',
diff --git a/civicrm/CRM/Grant/Export/Form/Map.php b/civicrm/ext/civigrant/CRM/Grant/Export/Form/Map.php
similarity index 100%
rename from civicrm/CRM/Grant/Export/Form/Map.php
rename to civicrm/ext/civigrant/CRM/Grant/Export/Form/Map.php
diff --git a/civicrm/CRM/Grant/Export/Form/Select.php b/civicrm/ext/civigrant/CRM/Grant/Export/Form/Select.php
similarity index 100%
rename from civicrm/CRM/Grant/Export/Form/Select.php
rename to civicrm/ext/civigrant/CRM/Grant/Export/Form/Select.php
diff --git a/civicrm/CRM/Grant/Form/Grant.php b/civicrm/ext/civigrant/CRM/Grant/Form/Grant.php
similarity index 100%
rename from civicrm/CRM/Grant/Form/Grant.php
rename to civicrm/ext/civigrant/CRM/Grant/Form/Grant.php
diff --git a/civicrm/CRM/Grant/Form/GrantView.php b/civicrm/ext/civigrant/CRM/Grant/Form/GrantView.php
similarity index 100%
rename from civicrm/CRM/Grant/Form/GrantView.php
rename to civicrm/ext/civigrant/CRM/Grant/Form/GrantView.php
diff --git a/civicrm/CRM/Grant/Form/Search.php b/civicrm/ext/civigrant/CRM/Grant/Form/Search.php
similarity index 98%
rename from civicrm/CRM/Grant/Form/Search.php
rename to civicrm/ext/civigrant/CRM/Grant/Form/Search.php
index b997f2cab7..9104bce36a 100644
--- a/civicrm/CRM/Grant/Form/Search.php
+++ b/civicrm/ext/civigrant/CRM/Grant/Form/Search.php
@@ -119,7 +119,8 @@ class CRM_Grant_Form_Search extends CRM_Core_Form_Search {
     parent::buildQuickForm();
     $this->addSortNameField();
 
-    CRM_Grant_BAO_Query::buildSearchForm($this);
+    (new CRM_Grant_BAO_Query())
+      ->buildAdvancedSearchPaneForm($this, 'CiviGrant');
 
     $rows = $this->get('rows');
     if (is_array($rows)) {
diff --git a/civicrm/CRM/Grant/Form/Task.php b/civicrm/ext/civigrant/CRM/Grant/Form/Task.php
similarity index 100%
rename from civicrm/CRM/Grant/Form/Task.php
rename to civicrm/ext/civigrant/CRM/Grant/Form/Task.php
diff --git a/civicrm/CRM/Grant/Form/Task/Delete.php b/civicrm/ext/civigrant/CRM/Grant/Form/Task/Delete.php
similarity index 100%
rename from civicrm/CRM/Grant/Form/Task/Delete.php
rename to civicrm/ext/civigrant/CRM/Grant/Form/Task/Delete.php
diff --git a/civicrm/CRM/Grant/Form/Task/Print.php b/civicrm/ext/civigrant/CRM/Grant/Form/Task/Print.php
similarity index 97%
rename from civicrm/CRM/Grant/Form/Task/Print.php
rename to civicrm/ext/civigrant/CRM/Grant/Form/Task/Print.php
index 70dcd64936..1a6b240e2f 100644
--- a/civicrm/CRM/Grant/Form/Task/Print.php
+++ b/civicrm/ext/civigrant/CRM/Grant/Form/Task/Print.php
@@ -29,7 +29,7 @@ class CRM_Grant_Form_Task_Print extends CRM_Grant_Form_Task {
     parent::preprocess();
 
     // set print view, so that print templates are called
-    $this->controller->setPrint(1);
+    $this->controller->setPrint(CRM_Core_Smarty::PRINT_PAGE);
 
     // get the formatted params
     $queryParams = $this->get('queryParams');
diff --git a/civicrm/CRM/Grant/Form/Task/Result.php b/civicrm/ext/civigrant/CRM/Grant/Form/Task/Result.php
similarity index 100%
rename from civicrm/CRM/Grant/Form/Task/Result.php
rename to civicrm/ext/civigrant/CRM/Grant/Form/Task/Result.php
diff --git a/civicrm/CRM/Grant/Form/Task/Update.php b/civicrm/ext/civigrant/CRM/Grant/Form/Task/Update.php
similarity index 100%
rename from civicrm/CRM/Grant/Form/Task/Update.php
rename to civicrm/ext/civigrant/CRM/Grant/Form/Task/Update.php
diff --git a/civicrm/CRM/Grant/Page/DashBoard.php b/civicrm/ext/civigrant/CRM/Grant/Page/DashBoard.php
similarity index 100%
rename from civicrm/CRM/Grant/Page/DashBoard.php
rename to civicrm/ext/civigrant/CRM/Grant/Page/DashBoard.php
diff --git a/civicrm/CRM/Grant/Page/Tab.php b/civicrm/ext/civigrant/CRM/Grant/Page/Tab.php
similarity index 98%
rename from civicrm/CRM/Grant/Page/Tab.php
rename to civicrm/ext/civigrant/CRM/Grant/Page/Tab.php
index 4f2219364a..40fe12bcd6 100644
--- a/civicrm/CRM/Grant/Page/Tab.php
+++ b/civicrm/ext/civigrant/CRM/Grant/Page/Tab.php
@@ -46,7 +46,7 @@ class CRM_Grant_Page_Tab extends CRM_Contact_Page_View {
     if ($this->_contactId) {
       $displayName = CRM_Contact_BAO_Contact::displayName($this->_contactId);
       $this->assign('displayName', $displayName);
-      $this->ajaxResponse['tabCount'] = CRM_Contact_BAO_Contact::getCountComponent('grant', $this->_contactId);
+      $this->ajaxResponse['tabCount'] = CRM_Grant_BAO_Grant::getContactGrantCount($this->_contactId);
     }
   }
 
diff --git a/civicrm/CRM/Grant/Selector/Search.php b/civicrm/ext/civigrant/CRM/Grant/Selector/Search.php
similarity index 99%
rename from civicrm/CRM/Grant/Selector/Search.php
rename to civicrm/ext/civigrant/CRM/Grant/Selector/Search.php
index 454ab8aaec..565d6ce8bf 100644
--- a/civicrm/CRM/Grant/Selector/Search.php
+++ b/civicrm/ext/civigrant/CRM/Grant/Selector/Search.php
@@ -104,7 +104,7 @@ class CRM_Grant_Selector_Search extends CRM_Core_Selector_Base implements CRM_Co
   /**
    * The query object.
    *
-   * @var string
+   * @var CRM_Contact_BAO_Query
    */
   protected $_query;
 
diff --git a/civicrm/CRM/Grant/StateMachine/Search.php b/civicrm/ext/civigrant/CRM/Grant/StateMachine/Search.php
similarity index 100%
rename from civicrm/CRM/Grant/StateMachine/Search.php
rename to civicrm/ext/civigrant/CRM/Grant/StateMachine/Search.php
diff --git a/civicrm/CRM/Grant/Task.php b/civicrm/ext/civigrant/CRM/Grant/Task.php
similarity index 100%
rename from civicrm/CRM/Grant/Task.php
rename to civicrm/ext/civigrant/CRM/Grant/Task.php
diff --git a/civicrm/ext/civigrant/CRM/Grant/Upgrader.php b/civicrm/ext/civigrant/CRM/Grant/Upgrader.php
new file mode 100644
index 0000000000..1798462a98
--- /dev/null
+++ b/civicrm/ext/civigrant/CRM/Grant/Upgrader.php
@@ -0,0 +1,9 @@
+<?php
+use CRM_Grant_ExtensionUtil as E;
+
+/**
+ * Collection of upgrade steps.
+ */
+class CRM_Grant_Upgrader extends CRM_Extension_Upgrader_Base {
+
+}
diff --git a/civicrm/CRM/Report/Form/Grant/Detail.php b/civicrm/ext/civigrant/CRM/Report/Form/Grant/Detail.php
similarity index 100%
rename from civicrm/CRM/Report/Form/Grant/Detail.php
rename to civicrm/ext/civigrant/CRM/Report/Form/Grant/Detail.php
diff --git a/civicrm/CRM/Report/Form/Grant/Statistics.php b/civicrm/ext/civigrant/CRM/Report/Form/Grant/Statistics.php
similarity index 100%
rename from civicrm/CRM/Report/Form/Grant/Statistics.php
rename to civicrm/ext/civigrant/CRM/Report/Form/Grant/Statistics.php
diff --git a/civicrm/Civi/Api4/Grant.php b/civicrm/ext/civigrant/Civi/Api4/Grant.php
similarity index 74%
rename from civicrm/Civi/Api4/Grant.php
rename to civicrm/ext/civigrant/Civi/Api4/Grant.php
index b7327f6d54..96caf2375e 100644
--- a/civicrm/Civi/Api4/Grant.php
+++ b/civicrm/ext/civigrant/Civi/Api4/Grant.php
@@ -23,4 +23,21 @@ namespace Civi\Api4;
  */
 class Grant extends Generic\DAOEntity {
 
+  public static function permissions() {
+    return [
+      'get' => [
+        'access CiviGrant',
+      ],
+      'delete' => [
+        'delete in CiviGrant',
+      ],
+      'create' => [
+        'edit grants',
+      ],
+      'update' => [
+        'edit grants',
+      ],
+    ];
+  }
+
 }
diff --git a/wp-cli/LICENSE b/civicrm/ext/civigrant/LICENSE.txt
similarity index 98%
rename from wp-cli/LICENSE
rename to civicrm/ext/civigrant/LICENSE.txt
index 3ffc567893..159b9faeff 100644
--- a/wp-cli/LICENSE
+++ b/civicrm/ext/civigrant/LICENSE.txt
@@ -1,4 +1,10 @@
-GNU AFFERO GENERAL PUBLIC LICENSE
+Package: civigrant
+Copyright (C) 2021, Coleman Watts <coleman@civicrm.org>
+Licensed under the GNU Affero Public License 3.0 (below).
+
+-------------------------------------------------------------------------------
+
+                    GNU AFFERO GENERAL PUBLIC LICENSE
                        Version 3, 19 November 2007
 
  Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
@@ -633,8 +639,8 @@ the "copyright" line and a pointer to where the full notice is found.
     Copyright (C) <year>  <name of author>
 
     This program is free software: you can redistribute it and/or modify
-    it under the terms of the GNU Affero General Public License as published
-    by the Free Software Foundation, either version 3 of the License, or
+    it under the terms of the GNU Affero General Public License as published by
+    the Free Software Foundation, either version 3 of the License, or
     (at your option) any later version.
 
     This program is distributed in the hope that it will be useful,
@@ -658,4 +664,4 @@ specific requirements.
   You should also get your employer (if you work as a programmer) or school,
 if any, to sign a "copyright disclaimer" for the program, if necessary.
 For more information on this, and how to apply and follow the GNU AGPL, see
-<http://www.gnu.org/licenses/>.
\ No newline at end of file
+<http://www.gnu.org/licenses/>.
diff --git a/civicrm/ext/civigrant/README.md b/civicrm/ext/civigrant/README.md
new file mode 100644
index 0000000000..6e9d8b7a73
--- /dev/null
+++ b/civicrm/ext/civigrant/README.md
@@ -0,0 +1,10 @@
+# CiviGrant
+
+Track grants in CiviCRM.
+Grants are designed to be used by organisations that distribute funds to others.
+
+The extension is licensed under [AGPL-3.0](LICENSE.txt).
+
+## Getting Started
+
+See https://docs.civicrm.org/user/en/latest/grants/what-is-civigrant/
diff --git a/civicrm/ext/civigrant/ang/afsearchGrants.aff.html b/civicrm/ext/civigrant/ang/afsearchGrants.aff.html
new file mode 100644
index 0000000000..afedc03b5e
--- /dev/null
+++ b/civicrm/ext/civigrant/ang/afsearchGrants.aff.html
@@ -0,0 +1,9 @@
+<div class="btn-group">
+  <a class="btn btn-primary crm-popup" ng-href="{{ crmUrl('civicrm/grant/add', {reset: 1, action: 'add', context: 'grant', cid: options.contact_id}) }}">
+    <i class="crm-i fa-plus-circle"></i>
+    {{:: ts('Add Grant') }}
+  </a>
+</div>
+<div af-fieldset="">
+  <crm-search-display-table search-name="CiviGrant_Summary" display-name="Grant_Tab" filters="{'contact_id': options.contact_id}"></crm-search-display-table>
+</div>
diff --git a/civicrm/ext/civigrant/ang/afsearchGrants.aff.json b/civicrm/ext/civigrant/ang/afsearchGrants.aff.json
new file mode 100644
index 0000000000..093d18d9f9
--- /dev/null
+++ b/civicrm/ext/civigrant/ang/afsearchGrants.aff.json
@@ -0,0 +1,7 @@
+{
+    "type": "search",
+    "title": "Grants",
+    "contact_summary": "tab",
+    "server_route": "",
+    "permission": "access CiviGrant"
+}
diff --git a/civicrm/api/v3/Grant.php b/civicrm/ext/civigrant/api/v3/Grant.php
similarity index 100%
rename from civicrm/api/v3/Grant.php
rename to civicrm/ext/civigrant/api/v3/Grant.php
diff --git a/civicrm/ext/civigrant/civigrant.civix.php b/civicrm/ext/civigrant/civigrant.civix.php
new file mode 100644
index 0000000000..dcf1934b5b
--- /dev/null
+++ b/civicrm/ext/civigrant/civigrant.civix.php
@@ -0,0 +1,137 @@
+<?php
+
+// AUTO-GENERATED FILE -- Civix may overwrite any changes made to this file
+
+/**
+ * The ExtensionUtil class provides small stubs for accessing resources of this
+ * extension.
+ */
+class CRM_Grant_ExtensionUtil {
+  const SHORT_NAME = 'civigrant';
+  const LONG_NAME = 'civigrant';
+  const CLASS_PREFIX = 'CRM_Grant';
+
+  /**
+   * Translate a string using the extension's domain.
+   *
+   * If the extension doesn't have a specific translation
+   * for the string, fallback to the default translations.
+   *
+   * @param string $text
+   *   Canonical message text (generally en_US).
+   * @param array $params
+   * @return string
+   *   Translated text.
+   * @see ts
+   */
+  public static function ts($text, $params = []) {
+    if (!array_key_exists('domain', $params)) {
+      $params['domain'] = [self::LONG_NAME, NULL];
+    }
+    return ts($text, $params);
+  }
+
+  /**
+   * Get the URL of a resource file (in this extension).
+   *
+   * @param string|NULL $file
+   *   Ex: NULL.
+   *   Ex: 'css/foo.css'.
+   * @return string
+   *   Ex: 'http://example.org/sites/default/ext/org.example.foo'.
+   *   Ex: 'http://example.org/sites/default/ext/org.example.foo/css/foo.css'.
+   */
+  public static function url($file = NULL) {
+    if ($file === NULL) {
+      return rtrim(CRM_Core_Resources::singleton()->getUrl(self::LONG_NAME), '/');
+    }
+    return CRM_Core_Resources::singleton()->getUrl(self::LONG_NAME, $file);
+  }
+
+  /**
+   * Get the path of a resource file (in this extension).
+   *
+   * @param string|NULL $file
+   *   Ex: NULL.
+   *   Ex: 'css/foo.css'.
+   * @return string
+   *   Ex: '/var/www/example.org/sites/default/ext/org.example.foo'.
+   *   Ex: '/var/www/example.org/sites/default/ext/org.example.foo/css/foo.css'.
+   */
+  public static function path($file = NULL) {
+    // return CRM_Core_Resources::singleton()->getPath(self::LONG_NAME, $file);
+    return __DIR__ . ($file === NULL ? '' : (DIRECTORY_SEPARATOR . $file));
+  }
+
+  /**
+   * Get the name of a class within this extension.
+   *
+   * @param string $suffix
+   *   Ex: 'Page_HelloWorld' or 'Page\\HelloWorld'.
+   * @return string
+   *   Ex: 'CRM_Foo_Page_HelloWorld'.
+   */
+  public static function findClass($suffix) {
+    return self::CLASS_PREFIX . '_' . str_replace('\\', '_', $suffix);
+  }
+
+}
+
+use CRM_Grant_ExtensionUtil as E;
+
+/**
+ * (Delegated) Implements hook_civicrm_config().
+ *
+ * @link https://docs.civicrm.org/dev/en/latest/hooks/hook_civicrm_config
+ */
+function _civigrant_civix_civicrm_config(&$config = NULL) {
+  static $configured = FALSE;
+  if ($configured) {
+    return;
+  }
+  $configured = TRUE;
+
+  $template = CRM_Core_Smarty::singleton();
+
+  $extRoot = __DIR__ . DIRECTORY_SEPARATOR;
+  $extDir = $extRoot . 'templates';
+
+  if (is_array($template->template_dir)) {
+    array_unshift($template->template_dir, $extDir);
+  }
+  else {
+    $template->template_dir = [$extDir, $template->template_dir];
+  }
+
+  $include_path = $extRoot . PATH_SEPARATOR . get_include_path();
+  set_include_path($include_path);
+}
+
+/**
+ * (Delegated) Implements hook_civicrm_alterSettingsFolders().
+ *
+ * @link https://docs.civicrm.org/dev/en/latest/hooks/hook_civicrm_alterSettingsFolders
+ */
+function _civigrant_civix_civicrm_alterSettingsFolders(&$metaDataFolders = NULL) {
+  $settingsDir = __DIR__ . DIRECTORY_SEPARATOR . 'settings';
+  if (!in_array($settingsDir, $metaDataFolders) && is_dir($settingsDir)) {
+    $metaDataFolders[] = $settingsDir;
+  }
+}
+
+/**
+ * (Delegated) Implements hook_civicrm_entityTypes().
+ *
+ * Find any *.entityType.php files, merge their content, and return.
+ *
+ * @link https://docs.civicrm.org/dev/en/latest/hooks/hook_civicrm_entityTypes
+ */
+function _civigrant_civix_civicrm_entityTypes(&$entityTypes) {
+  $entityTypes = array_merge($entityTypes, [
+    'CRM_Grant_DAO_Grant' => [
+      'name' => 'Grant',
+      'class' => 'CRM_Grant_DAO_Grant',
+      'table' => 'civicrm_grant',
+    ],
+  ]);
+}
diff --git a/civicrm/ext/civigrant/civigrant.php b/civicrm/ext/civigrant/civigrant.php
new file mode 100644
index 0000000000..e3df6eb489
--- /dev/null
+++ b/civicrm/ext/civigrant/civigrant.php
@@ -0,0 +1,105 @@
+<?php
+
+require_once 'civigrant.civix.php';
+use CRM_Grant_ExtensionUtil as E;
+
+/**
+ * Implements hook_civicrm_config().
+ *
+ * @link https://docs.civicrm.org/dev/en/latest/hooks/hook_civicrm_config/
+ */
+function civigrant_civicrm_config(&$config) {
+  _civigrant_civix_civicrm_config($config);
+}
+
+/**
+ * Implements hook_civicrm_alterSettingsFolders().
+ *
+ * @link https://docs.civicrm.org/dev/en/latest/hooks/hook_civicrm_alterSettingsFolders
+ */
+function civigrant_civicrm_alterSettingsFolders(&$metaDataFolders = NULL) {
+  _civigrant_civix_civicrm_alterSettingsFolders($metaDataFolders);
+}
+
+/**
+ * Implements hook_civicrm_entityTypes().
+ *
+ * Declare entity types provided by this module.
+ *
+ * @link https://docs.civicrm.org/dev/en/latest/hooks/hook_civicrm_entityTypes
+ */
+function civigrant_civicrm_entityTypes(&$entityTypes) {
+  _civigrant_civix_civicrm_entityTypes($entityTypes);
+}
+
+/**
+ * Implements hook_civicrm_links().
+ *
+ * Add shortcut link to create new grant.
+ */
+function civigrant_civicrm_links($context, $name, $id, &$links) {
+  if ($context === 'create.new.shortcuts' && CRM_Core_Permission::check(['access CiviGrant', 'edit grants'])) {
+    $links[] = [
+      'path' => 'civicrm/grant/add',
+      'query' => "reset=1&action=add&context=standalone",
+      'ref' => 'new-grant',
+      'title' => ts('Grant'),
+    ];
+  }
+}
+
+/**
+ * Implements hook_civicrm_permission().
+ *
+ * Define CiviGrant permissions.
+ */
+function civigrant_civicrm_permission(&$permissions) {
+  $permissions['access CiviGrant'] = [
+    E::ts('access CiviGrant'),
+    E::ts('View all grants'),
+  ];
+  $permissions['edit grants'] = [
+    E::ts('edit grants'),
+    E::ts('Create and update grants'),
+  ];
+  $permissions['delete in CiviGrant'] = [
+    E::ts('delete in CiviGrant'),
+    E::ts('Delete grants'),
+  ];
+}
+
+/**
+ * Implements hook_civicrm_alterAPIPermissions().
+ *
+ * Set CiviGrant permissions for APIv3.
+ */
+function civigrant_civicrm_alterAPIPermissions($entity, $action, &$params, &$permissions) {
+  $permissions['grant'] = [
+    'get' => [
+      'access CiviGrant',
+    ],
+    'delete' => [
+      'delete in CiviGrant',
+    ],
+    'create' => [
+      'edit grants',
+    ],
+    'update' => [
+      'edit grants',
+    ],
+  ];
+}
+
+/**
+ * Implements hook_civicrm_queryObjects().
+ *
+ * Adds query object for legacy screens like advanced search, search builder, etc.
+ */
+function civigrant_civicrm_queryObjects(&$queryObjects, $type) {
+  if ($type == 'Contact') {
+    $queryObjects[] = new CRM_Grant_BAO_Query();
+  }
+  elseif ($type == 'Report') {
+    // Do we need to do something here?
+  }
+}
diff --git a/civicrm/ext/civigrant/info.xml b/civicrm/ext/civigrant/info.xml
new file mode 100644
index 0000000000..db3987c525
--- /dev/null
+++ b/civicrm/ext/civigrant/info.xml
@@ -0,0 +1,38 @@
+<?xml version="1.0"?>
+<extension key="civigrant" type="module">
+  <file>civigrant</file>
+  <name>CiviGrant</name>
+  <description>Track grant distribution.</description>
+  <license>AGPL-3.0</license>
+  <maintainer>
+    <author>Coleman Watts</author>
+    <email>coleman@civicrm.org</email>
+  </maintainer>
+  <urls>
+    <url desc="Documentation">https://docs.civicrm.org/user/en/latest/grants/what-is-civigrant/</url>
+    <url desc="Licensing">http://www.gnu.org/licenses/agpl-3.0.html</url>
+  </urls>
+  <releaseDate>2021-11-11</releaseDate>
+  <version>5.47.0</version>
+  <develStage>stable</develStage>
+  <compatibility>
+    <ver>5.47</ver>
+  </compatibility>
+  <comments>CiviGrant was originally a core component before migrating to an extension</comments>
+  <requires>
+    <ext>org.civicrm.afform</ext>
+    <ext>org.civicrm.search_kit</ext>
+  </requires>
+  <classloader>
+    <psr0 prefix="CRM_" path=""/>
+    <psr4 prefix="Civi\" path="Civi"/>
+  </classloader>
+  <upgrader>CRM_Grant_Upgrader</upgrader>
+  <mixins>
+    <mixin>menu-xml@1.0.0</mixin>
+    <mixin>mgd-php@1.0.0</mixin>
+  </mixins>
+  <civix>
+    <namespace>CRM/Grant</namespace>
+  </civix>
+</extension>
diff --git a/civicrm/ext/civigrant/managed/Navigation_Grants.mgd.php b/civicrm/ext/civigrant/managed/Navigation_Grants.mgd.php
new file mode 100644
index 0000000000..fe1d40e93d
--- /dev/null
+++ b/civicrm/ext/civigrant/managed/Navigation_Grants.mgd.php
@@ -0,0 +1,175 @@
+<?php
+return [
+  [
+    'name' => 'Navigation_Grants',
+    'entity' => 'Navigation',
+    'cleanup' => 'unused',
+    'update' => 'unmodified',
+    'params' => [
+      'version' => 4,
+      'values' => [
+        'label' => 'Grants',
+        'name' => 'Grants',
+        'url' => NULL,
+        'icon' => 'crm-i fa-money',
+        'permission' => 'access CiviGrant',
+        'permission_operator' => '',
+        'is_active' => TRUE,
+        'weight' => 90,
+        'parent_id' => NULL,
+        'has_separator' => NULL,
+        'domain_id' => 'current_domain',
+      ],
+    ],
+  ],
+  [
+    'name' => 'Navigation_Grants_Navigation_Dashboard',
+    'entity' => 'Navigation',
+    'cleanup' => 'unused',
+    'update' => 'unmodified',
+    'params' => [
+      'version' => 4,
+      'values' => [
+        'label' => 'Dashboard',
+        'name' => 'Dashboard',
+        'url' => 'civicrm/grant?reset=1',
+        'icon' => NULL,
+        'permission' => 'access CiviGrant',
+        'permission_operator' => '',
+        'parent_id.name' => 'Grants',
+        'is_active' => TRUE,
+        'has_separator' => NULL,
+        'domain_id' => 'current_domain',
+      ],
+    ],
+  ],
+  [
+    'name' => 'Navigation_Grants_Navigation_New_Grant',
+    'entity' => 'Navigation',
+    'cleanup' => 'unused',
+    'update' => 'unmodified',
+    'params' => [
+      'version' => 4,
+      'values' => [
+        'label' => 'New Grant',
+        'name' => 'New Grant',
+        'url' => 'civicrm/grant/add?reset=1&action=add&context=standalone',
+        'icon' => NULL,
+        'permission' => 'access CiviGrant,edit grants',
+        'permission_operator' => 'AND',
+        'parent_id.name' => 'Grants',
+        'is_active' => TRUE,
+        'has_separator' => NULL,
+        'domain_id' => 'current_domain',
+      ],
+    ],
+  ],
+  [
+    'name' => 'Navigation_Grants_Navigation_Find_Grants',
+    'entity' => 'Navigation',
+    'cleanup' => 'unused',
+    'update' => 'unmodified',
+    'params' => [
+      'version' => 4,
+      'values' => [
+        'label' => 'Find Grants',
+        'name' => 'Find Grants',
+        'url' => 'civicrm/grant/search?reset=1',
+        'icon' => NULL,
+        'permission' => 'access CiviGrant',
+        'permission_operator' => '',
+        'parent_id.name' => 'Grants',
+        'is_active' => TRUE,
+        'has_separator' => '1',
+        'domain_id' => 'current_domain',
+      ],
+    ],
+  ],
+  [
+    'name' => 'Navigation_CiviGrant',
+    'entity' => 'Navigation',
+    'cleanup' => 'unused',
+    'update' => 'unmodified',
+    'params' => [
+      'version' => 4,
+      'values' => [
+        'label' => 'CiviGrant',
+        'name' => 'CiviGrant',
+        'url' => NULL,
+        'icon' => NULL,
+        'permission' => 'access CiviGrant,administer CiviCRM',
+        'permission_operator' => 'AND',
+        'parent_id.name' => 'Administer',
+        'is_active' => TRUE,
+        'weight' => 13,
+        'has_separator' => NULL,
+        'domain_id' => 'current_domain',
+      ],
+    ],
+  ],
+  [
+    'name' => 'Navigation_CiviGrant_Navigation_Grant_Types',
+    'entity' => 'Navigation',
+    'cleanup' => 'unused',
+    'update' => 'unmodified',
+    'params' => [
+      'version' => 4,
+      'values' => [
+        'label' => 'Grant Types',
+        'name' => 'Grant Types',
+        'url' => 'civicrm/admin/options/grant_type?reset=1',
+        'icon' => NULL,
+        'permission' => 'access CiviGrant,administer CiviCRM',
+        'permission_operator' => 'AND',
+        'parent_id.name' => 'CiviGrant',
+        'is_active' => TRUE,
+        'weight' => 1,
+        'has_separator' => NULL,
+        'domain_id' => 'current_domain',
+      ],
+    ],
+  ],
+  [
+    'name' => 'Navigation_CiviGrant_Navigation_Grant_Status',
+    'entity' => 'Navigation',
+    'cleanup' => 'unused',
+    'update' => 'unmodified',
+    'params' => [
+      'version' => 4,
+      'values' => [
+        'label' => 'Grant Status',
+        'name' => 'Grant Status',
+        'url' => 'civicrm/admin/options/grant_status?reset=1',
+        'icon' => NULL,
+        'permission' => 'access CiviGrant,administer CiviCRM',
+        'permission_operator' => 'AND',
+        'parent_id.name' => 'CiviGrant',
+        'is_active' => TRUE,
+        'weight' => 2,
+        'has_separator' => NULL,
+        'domain_id' => 'current_domain',
+      ],
+    ],
+  ],
+  [
+    'name' => 'Navigation_Grants_Navigation_Grant_Reports',
+    'entity' => 'Navigation',
+    'cleanup' => 'unused',
+    'update' => 'unmodified',
+    'params' => [
+      'version' => 4,
+      'values' => [
+        'label' => 'Grant Reports',
+        'name' => 'Grant Reports',
+        'url' => 'civicrm/report/list?compid=5&reset=1',
+        'icon' => NULL,
+        'permission' => 'access CiviGrant',
+        'permission_operator' => '',
+        'parent_id.name' => 'Grants',
+        'is_active' => TRUE,
+        'has_separator' => NULL,
+        'domain_id' => 'current_domain',
+      ],
+    ],
+  ],
+];
diff --git a/civicrm/ext/civigrant/managed/OptionGroup_advanced_search_options_OptionValue_CiviGrant.mgd.php b/civicrm/ext/civigrant/managed/OptionGroup_advanced_search_options_OptionValue_CiviGrant.mgd.php
new file mode 100644
index 0000000000..757d2d9342
--- /dev/null
+++ b/civicrm/ext/civigrant/managed/OptionGroup_advanced_search_options_OptionValue_CiviGrant.mgd.php
@@ -0,0 +1,31 @@
+<?php
+return [
+  [
+    'name' => 'OptionGroup_advanced_search_options_OptionValue_CiviGrant',
+    'entity' => 'OptionValue',
+    'cleanup' => 'unused',
+    'update' => 'unmodified',
+    'params' => [
+      'version' => 4,
+      'values' => [
+        'option_group_id.name' => 'advanced_search_options',
+        'label' => 'Grants',
+        'value' => '12',
+        'name' => 'CiviGrant',
+        'grouping' => NULL,
+        'filter' => 0,
+        'is_default' => FALSE,
+        'weight' => 14,
+        'description' => NULL,
+        'is_optgroup' => FALSE,
+        'is_reserved' => FALSE,
+        'is_active' => TRUE,
+        'icon' => NULL,
+        'color' => NULL,
+        'component_id' => NULL,
+        'domain_id' => NULL,
+        'visibility_id' => NULL,
+      ],
+    ],
+  ],
+];
diff --git a/civicrm/ext/civigrant/managed/OptionGroup_contact_view_options_OptionValue_CiviGrant.mgd.php b/civicrm/ext/civigrant/managed/OptionGroup_contact_view_options_OptionValue_CiviGrant.mgd.php
new file mode 100644
index 0000000000..0458ec905b
--- /dev/null
+++ b/civicrm/ext/civigrant/managed/OptionGroup_contact_view_options_OptionValue_CiviGrant.mgd.php
@@ -0,0 +1,31 @@
+<?php
+return [
+  [
+    'name' => 'OptionGroup_contact_view_options_OptionValue_CiviGrant',
+    'entity' => 'OptionValue',
+    'cleanup' => 'unused',
+    'update' => 'unmodified',
+    'params' => [
+      'version' => 4,
+      'values' => [
+        'option_group_id.name' => 'contact_view_options',
+        'label' => 'Grants',
+        'value' => '11',
+        'name' => 'CiviGrant',
+        'grouping' => NULL,
+        'filter' => 0,
+        'is_default' => FALSE,
+        'weight' => 11,
+        'description' => NULL,
+        'is_optgroup' => FALSE,
+        'is_reserved' => FALSE,
+        'is_active' => TRUE,
+        'icon' => NULL,
+        'color' => NULL,
+        'component_id' => NULL,
+        'domain_id' => NULL,
+        'visibility_id' => NULL,
+      ],
+    ],
+  ],
+];
diff --git a/civicrm/ext/civigrant/managed/OptionGroup_grant_status.mgd.php b/civicrm/ext/civigrant/managed/OptionGroup_grant_status.mgd.php
new file mode 100644
index 0000000000..2ebab03245
--- /dev/null
+++ b/civicrm/ext/civigrant/managed/OptionGroup_grant_status.mgd.php
@@ -0,0 +1,217 @@
+<?php
+return [
+  [
+    'name' => 'OptionGroup_grant_status',
+    'entity' => 'OptionGroup',
+    'cleanup' => 'unused',
+    'update' => 'unmodified',
+    'params' => [
+      'version' => 4,
+      'values' => [
+        'name' => 'grant_status',
+        'title' => 'Grant status',
+        'description' => NULL,
+        'data_type' => NULL,
+        'is_reserved' => TRUE,
+        'is_active' => TRUE,
+        'is_locked' => FALSE,
+      ],
+    ],
+  ],
+  [
+    'name' => 'OptionGroup_grant_status_OptionValue_Submitted',
+    'entity' => 'OptionValue',
+    'cleanup' => 'unused',
+    'update' => 'unmodified',
+    'params' => [
+      'version' => 4,
+      'values' => [
+        'option_group_id.name' => 'grant_status',
+        'label' => 'Submitted',
+        'value' => '1',
+        'name' => 'Submitted',
+        'grouping' => NULL,
+        'filter' => 0,
+        'is_default' => TRUE,
+        'weight' => 1,
+        'description' => NULL,
+        'is_optgroup' => FALSE,
+        'is_reserved' => FALSE,
+        'is_active' => TRUE,
+        'icon' => NULL,
+        'color' => NULL,
+        'component_id' => NULL,
+        'domain_id' => NULL,
+        'visibility_id' => NULL,
+      ],
+    ],
+  ],
+  [
+    'name' => 'OptionGroup_grant_status_OptionValue_Eligible',
+    'entity' => 'OptionValue',
+    'cleanup' => 'unused',
+    'update' => 'unmodified',
+    'params' => [
+      'version' => 4,
+      'values' => [
+        'option_group_id.name' => 'grant_status',
+        'label' => 'Eligible',
+        'value' => '2',
+        'name' => 'Eligible',
+        'grouping' => NULL,
+        'filter' => 0,
+        'is_default' => FALSE,
+        'weight' => 2,
+        'description' => NULL,
+        'is_optgroup' => FALSE,
+        'is_reserved' => FALSE,
+        'is_active' => TRUE,
+        'icon' => NULL,
+        'color' => NULL,
+        'component_id' => NULL,
+        'domain_id' => NULL,
+        'visibility_id' => NULL,
+      ],
+    ],
+  ],
+  [
+    'name' => 'OptionGroup_grant_status_OptionValue_Ineligible',
+    'entity' => 'OptionValue',
+    'cleanup' => 'unused',
+    'update' => 'unmodified',
+    'params' => [
+      'version' => 4,
+      'values' => [
+        'option_group_id.name' => 'grant_status',
+        'label' => 'Ineligible',
+        'value' => '3',
+        'name' => 'Ineligible',
+        'grouping' => NULL,
+        'filter' => 0,
+        'is_default' => FALSE,
+        'weight' => 3,
+        'description' => NULL,
+        'is_optgroup' => FALSE,
+        'is_reserved' => FALSE,
+        'is_active' => TRUE,
+        'icon' => NULL,
+        'color' => NULL,
+        'component_id' => NULL,
+        'domain_id' => NULL,
+        'visibility_id' => NULL,
+      ],
+    ],
+  ],
+  [
+    'name' => 'OptionGroup_grant_status_OptionValue_Paid',
+    'entity' => 'OptionValue',
+    'cleanup' => 'unused',
+    'update' => 'unmodified',
+    'params' => [
+      'version' => 4,
+      'values' => [
+        'option_group_id.name' => 'grant_status',
+        'label' => 'Paid',
+        'value' => '4',
+        'name' => 'Paid',
+        'grouping' => NULL,
+        'filter' => 0,
+        'is_default' => FALSE,
+        'weight' => 4,
+        'description' => NULL,
+        'is_optgroup' => FALSE,
+        'is_reserved' => FALSE,
+        'is_active' => TRUE,
+        'icon' => NULL,
+        'color' => NULL,
+        'component_id' => NULL,
+        'domain_id' => NULL,
+        'visibility_id' => NULL,
+      ],
+    ],
+  ],
+  [
+    'name' => 'OptionGroup_grant_status_OptionValue_Awaiting Information',
+    'entity' => 'OptionValue',
+    'cleanup' => 'unused',
+    'update' => 'unmodified',
+    'params' => [
+      'version' => 4,
+      'values' => [
+        'option_group_id.name' => 'grant_status',
+        'label' => 'Awaiting Information',
+        'value' => '5',
+        'name' => 'Awaiting Information',
+        'grouping' => NULL,
+        'filter' => 0,
+        'is_default' => FALSE,
+        'weight' => 5,
+        'description' => NULL,
+        'is_optgroup' => FALSE,
+        'is_reserved' => FALSE,
+        'is_active' => TRUE,
+        'icon' => NULL,
+        'color' => NULL,
+        'component_id' => NULL,
+        'domain_id' => NULL,
+        'visibility_id' => NULL,
+      ],
+    ],
+  ],
+  [
+    'name' => 'OptionGroup_grant_status_OptionValue_Withdrawn',
+    'entity' => 'OptionValue',
+    'cleanup' => 'unused',
+    'update' => 'unmodified',
+    'params' => [
+      'version' => 4,
+      'values' => [
+        'option_group_id.name' => 'grant_status',
+        'label' => 'Withdrawn',
+        'value' => '6',
+        'name' => 'Withdrawn',
+        'grouping' => NULL,
+        'filter' => 0,
+        'is_default' => FALSE,
+        'weight' => 6,
+        'description' => NULL,
+        'is_optgroup' => FALSE,
+        'is_reserved' => FALSE,
+        'is_active' => TRUE,
+        'icon' => NULL,
+        'color' => NULL,
+        'component_id' => NULL,
+        'domain_id' => NULL,
+        'visibility_id' => NULL,
+      ],
+    ],
+  ],
+  [
+    'name' => 'OptionGroup_grant_status_OptionValue_Approved for Payment',
+    'entity' => 'OptionValue',
+    'cleanup' => 'unused',
+    'update' => 'unmodified',
+    'params' => [
+      'version' => 4,
+      'values' => [
+        'option_group_id.name' => 'grant_status',
+        'label' => 'Approved for Payment',
+        'value' => '7',
+        'name' => 'Approved for Payment',
+        'grouping' => NULL,
+        'filter' => 0,
+        'is_default' => FALSE,
+        'weight' => 7,
+        'description' => NULL,
+        'is_optgroup' => FALSE,
+        'is_reserved' => FALSE,
+        'is_active' => TRUE,
+        'icon' => NULL,
+        'color' => NULL,
+        'component_id' => NULL,
+        'domain_id' => NULL,
+        'visibility_id' => NULL,
+      ],
+    ],
+  ],
+];
diff --git a/civicrm/ext/civigrant/managed/OptionGroup_grant_type.mgd.php b/civicrm/ext/civigrant/managed/OptionGroup_grant_type.mgd.php
new file mode 100644
index 0000000000..8c98381b9a
--- /dev/null
+++ b/civicrm/ext/civigrant/managed/OptionGroup_grant_type.mgd.php
@@ -0,0 +1,133 @@
+<?php
+return [
+  [
+    'name' => 'OptionGroup_grant_type',
+    'entity' => 'OptionGroup',
+    'cleanup' => 'unused',
+    'update' => 'unmodified',
+    'params' => [
+      'version' => 4,
+      'values' => [
+        'name' => 'grant_type',
+        'title' => 'Grant Type',
+        'description' => NULL,
+        'data_type' => NULL,
+        'is_reserved' => TRUE,
+        'is_active' => TRUE,
+        'is_locked' => FALSE,
+      ],
+    ],
+  ],
+  [
+    'name' => 'OptionGroup_grant_type_OptionValue_Emergency',
+    'entity' => 'OptionValue',
+    'cleanup' => 'unused',
+    'update' => 'unmodified',
+    'params' => [
+      'version' => 4,
+      'values' => [
+        'option_group_id.name' => 'grant_type',
+        'label' => 'Emergency',
+        'value' => '1',
+        'name' => 'Emergency',
+        'grouping' => NULL,
+        'filter' => 0,
+        'is_default' => TRUE,
+        'weight' => 1,
+        'description' => NULL,
+        'is_optgroup' => FALSE,
+        'is_reserved' => FALSE,
+        'is_active' => TRUE,
+        'icon' => NULL,
+        'color' => NULL,
+        'component_id' => NULL,
+        'visibility_id' => NULL,
+        'domain_id' => 'current_domain',
+      ],
+    ],
+  ],
+  [
+    'name' => 'OptionGroup_grant_type_OptionValue_Family Support',
+    'entity' => 'OptionValue',
+    'cleanup' => 'unused',
+    'update' => 'unmodified',
+    'params' => [
+      'version' => 4,
+      'values' => [
+        'option_group_id.name' => 'grant_type',
+        'label' => 'Family Support',
+        'value' => '2',
+        'name' => 'Family Support',
+        'grouping' => NULL,
+        'filter' => 0,
+        'is_default' => FALSE,
+        'weight' => 2,
+        'description' => NULL,
+        'is_optgroup' => FALSE,
+        'is_reserved' => FALSE,
+        'is_active' => TRUE,
+        'icon' => NULL,
+        'color' => NULL,
+        'component_id' => NULL,
+        'visibility_id' => NULL,
+        'domain_id' => 'current_domain',
+      ],
+    ],
+  ],
+  [
+    'name' => 'OptionGroup_grant_type_OptionValue_General Protection',
+    'entity' => 'OptionValue',
+    'cleanup' => 'unused',
+    'update' => 'unmodified',
+    'params' => [
+      'version' => 4,
+      'values' => [
+        'option_group_id.name' => 'grant_type',
+        'label' => 'General Protection',
+        'value' => '3',
+        'name' => 'General Protection',
+        'grouping' => NULL,
+        'filter' => 0,
+        'is_default' => FALSE,
+        'weight' => 3,
+        'description' => NULL,
+        'is_optgroup' => FALSE,
+        'is_reserved' => FALSE,
+        'is_active' => TRUE,
+        'icon' => NULL,
+        'color' => NULL,
+        'component_id' => NULL,
+        'visibility_id' => NULL,
+        'domain_id' => 'current_domain',
+      ],
+    ],
+  ],
+  [
+    'name' => 'OptionGroup_grant_type_OptionValue_Impunity',
+    'entity' => 'OptionValue',
+    'cleanup' => 'unused',
+    'update' => 'unmodified',
+    'params' => [
+      'version' => 4,
+      'values' => [
+        'option_group_id.name' => 'grant_type',
+        'label' => 'Impunity',
+        'value' => '4',
+        'name' => 'Impunity',
+        'grouping' => NULL,
+        'filter' => 0,
+        'is_default' => FALSE,
+        'weight' => 4,
+        'description' => NULL,
+        'is_optgroup' => FALSE,
+        'is_reserved' => FALSE,
+        'is_active' => TRUE,
+        'icon' => NULL,
+        'color' => NULL,
+        'component_id' => NULL,
+        'visibility_id' => NULL,
+        'domain_id' => 'current_domain',
+      ],
+    ],
+  ],
+];
diff --git a/civicrm/ext/civigrant/managed/OptionGroup_mapping_type_OptionValue_Export.mgd.php b/civicrm/ext/civigrant/managed/OptionGroup_mapping_type_OptionValue_Export.mgd.php
new file mode 100644
index 0000000000..33532b150c
--- /dev/null
+++ b/civicrm/ext/civigrant/managed/OptionGroup_mapping_type_OptionValue_Export.mgd.php
@@ -0,0 +1,31 @@
+<?php
+return [
+  [
+    'name' => 'OptionGroup_mapping_type_OptionValue_Export Grant',
+    'entity' => 'OptionValue',
+    'cleanup' => 'unused',
+    'update' => 'unmodified',
+    'params' => [
+      'version' => 4,
+      'values' => [
+        'option_group_id.name' => 'mapping_type',
+        'label' => 'Export Grant',
+        'value' => '13',
+        'name' => 'Export Grant',
+        'grouping' => NULL,
+        'filter' => 0,
+        'is_default' => FALSE,
+        'weight' => 13,
+        'description' => NULL,
+        'is_optgroup' => FALSE,
+        'is_reserved' => TRUE,
+        'is_active' => TRUE,
+        'icon' => NULL,
+        'color' => NULL,
+        'component_id' => NULL,
+        'domain_id' => NULL,
+        'visibility_id' => NULL,
+      ],
+    ],
+  ],
+];
diff --git a/civicrm/ext/civigrant/managed/OptionGroup_report_template_OptionValue_CRM_Report_Form_Grants.mgd.php b/civicrm/ext/civigrant/managed/OptionGroup_report_template_OptionValue_CRM_Report_Form_Grants.mgd.php
new file mode 100644
index 0000000000..ed7a5367e4
--- /dev/null
+++ b/civicrm/ext/civigrant/managed/OptionGroup_report_template_OptionValue_CRM_Report_Form_Grants.mgd.php
@@ -0,0 +1,59 @@
+<?php
+return [
+  [
+    'name' => 'OptionGroup_report_template_OptionValue_CRM_Report_Form_Grant_Detail',
+    'entity' => 'OptionValue',
+    'cleanup' => 'unused',
+    'update' => 'unmodified',
+    'params' => [
+      'version' => 4,
+      'values' => [
+        'option_group_id.name' => 'report_template',
+        'label' => 'Grant Report (Detail)',
+        'value' => 'grant/detail',
+        'name' => 'CRM_Report_Form_Grant_Detail',
+        'grouping' => NULL,
+        'filter' => 0,
+        'is_default' => FALSE,
+        'weight' => 30,
+        'description' => 'Grant Report Detail',
+        'is_optgroup' => FALSE,
+        'is_reserved' => FALSE,
+        'is_active' => TRUE,
+        'component_id' => NULL,
+        'icon' => NULL,
+        'color' => NULL,
+        'domain_id' => NULL,
+        'visibility_id' => NULL,
+      ],
+    ],
+  ],
+  [
+    'name' => 'OptionGroup_report_template_OptionValue_CRM_Report_Form_Grant_Statistics',
+    'entity' => 'OptionValue',
+    'cleanup' => 'unused',
+    'update' => 'unmodified',
+    'params' => [
+      'version' => 4,
+      'values' => [
+        'option_group_id.name' => 'report_template',
+        'label' => 'Grant Report (Statistics)',
+        'value' => 'grant/statistics',
+        'name' => 'CRM_Report_Form_Grant_Statistics',
+        'grouping' => NULL,
+        'filter' => 0,
+        'is_default' => FALSE,
+        'weight' => 42,
+        'description' => 'Shows statistics for Grants.',
+        'is_optgroup' => FALSE,
+        'is_reserved' => FALSE,
+        'is_active' => TRUE,
+        'component_id' => NULL,
+        'icon' => NULL,
+        'color' => NULL,
+        'domain_id' => NULL,
+        'visibility_id' => NULL,
+      ],
+    ],
+  ],
+];
diff --git a/civicrm/ext/civigrant/managed/SavedSearch_CiviGrant_Summary.mgd.php b/civicrm/ext/civigrant/managed/SavedSearch_CiviGrant_Summary.mgd.php
new file mode 100644
index 0000000000..1b71072ef1
--- /dev/null
+++ b/civicrm/ext/civigrant/managed/SavedSearch_CiviGrant_Summary.mgd.php
@@ -0,0 +1,153 @@
+<?php
+return [
+  [
+    'name' => 'SavedSearch_CiviGrant_Summary',
+    'entity' => 'SavedSearch',
+    'cleanup' => 'unused',
+    'update' => 'unmodified',
+    'params' => [
+      'version' => 4,
+      'values' => [
+        'name' => 'CiviGrant_Summary',
+        'label' => 'CiviGrant Summary',
+        'form_values' => NULL,
+        'search_custom_id' => NULL,
+        'api_entity' => 'Grant',
+        'api_params' => [
+          'version' => 4,
+          'select' => [
+            'status_id:label',
+            'grant_type_id:label',
+            'amount_requested',
+            'amount_granted',
+            'application_received_date',
+            'grant_report_received',
+            'money_transfer_date',
+          ],
+          'orderBy' => [],
+          'where' => [],
+          'groupBy' => [],
+          'join' => [],
+          'having' => [],
+        ],
+        'expires_date' => NULL,
+        'description' => NULL,
+        'mapping_id' => NULL,
+      ],
+    ],
+  ],
+  [
+    'name' => 'SavedSearch_CiviGrant_Summary_SearchDisplay_Grant_Tab',
+    'entity' => 'SearchDisplay',
+    'cleanup' => 'unused',
+    'update' => 'unmodified',
+    'params' => [
+      'version' => 4,
+      'values' => [
+        'name' => 'Grant_Tab',
+        'label' => 'Grant Tab',
+        'saved_search_id.name' => 'CiviGrant_Summary',
+        'type' => 'table',
+        'settings' => [
+          'actions' => FALSE,
+          'limit' => 50,
+          'classes' => [
+            'table',
+            'table-striped',
+          ],
+          'pager' => [
+            'show_count' => TRUE,
+            'expose_limit' => TRUE,
+          ],
+          'sort' => [],
+          'columns' => [
+            [
+              'type' => 'field',
+              'key' => 'status_id:label',
+              'dataType' => 'Integer',
+              'label' => 'Status',
+              'sortable' => TRUE,
+            ],
+            [
+              'type' => 'field',
+              'key' => 'grant_type_id:label',
+              'dataType' => 'Integer',
+              'label' => 'Type',
+              'sortable' => TRUE,
+            ],
+            [
+              'type' => 'field',
+              'key' => 'amount_requested',
+              'dataType' => 'Money',
+              'label' => 'Requested',
+              'sortable' => TRUE,
+            ],
+            [
+              'type' => 'field',
+              'key' => 'amount_granted',
+              'dataType' => 'Money',
+              'label' => 'Granted',
+              'sortable' => TRUE,
+            ],
+            [
+              'type' => 'field',
+              'key' => 'application_received_date',
+              'dataType' => 'Date',
+              'label' => 'Application received',
+              'sortable' => TRUE,
+            ],
+            [
+              'type' => 'field',
+              'key' => 'grant_report_received',
+              'dataType' => 'Boolean',
+              'label' => 'Report received',
+              'sortable' => TRUE,
+            ],
+            [
+              'type' => 'field',
+              'key' => 'money_transfer_date',
+              'dataType' => 'Date',
+              'label' => 'Money transferred',
+              'sortable' => TRUE,
+            ],
+            [
+              'size' => 'btn-xs',
+              'links' => [
+                [
+                  'entity' => 'Grant',
+                  'action' => 'view',
+                  'join' => '',
+                  'target' => 'crm-popup',
+                  'icon' => 'fa-external-link',
+                  'text' => 'View',
+                  'style' => 'default',
+                ],
+                [
+                  'entity' => 'Grant',
+                  'action' => 'update',
+                  'join' => '',
+                  'target' => 'crm-popup',
+                  'icon' => 'fa-pencil',
+                  'text' => 'Edit',
+                  'style' => 'default',
+                ],
+                [
+                  'entity' => 'Grant',
+                  'action' => 'delete',
+                  'join' => '',
+                  'target' => 'crm-popup',
+                  'icon' => 'fa-trash',
+                  'text' => 'Delete',
+                  'style' => 'danger',
+                ],
+              ],
+              'type' => 'buttons',
+              'alignment' => 'text-right',
+            ],
+          ],
+        ],
+        'acl_bypass' => FALSE,
+      ],
+    ],
+  ],
+];
diff --git a/civicrm/ext/civigrant/phpunit.xml.dist b/civicrm/ext/civigrant/phpunit.xml.dist
new file mode 100644
index 0000000000..fc8f870b72
--- /dev/null
+++ b/civicrm/ext/civigrant/phpunit.xml.dist
@@ -0,0 +1,18 @@
+<?xml version="1.0"?>
+<phpunit backupGlobals="false" backupStaticAttributes="false" colors="true" convertErrorsToExceptions="true" convertNoticesToExceptions="true" convertWarningsToExceptions="true" processIsolation="false" stopOnFailure="false" bootstrap="tests/phpunit/bootstrap.php">
+  <testsuites>
+    <testsuite name="My Test Suite">
+      <directory>./tests/phpunit</directory>
+    </testsuite>
+  </testsuites>
+  <filter>
+    <whitelist>
+      <directory suffix=".php">./</directory>
+    </whitelist>
+  </filter>
+  <listeners>
+    <listener class="Civi\Test\CiviTestListener">
+      <arguments/>
+    </listener>
+  </listeners>
+</phpunit>
diff --git a/civicrm/templates/CRM/Grant/Form/Grant.tpl b/civicrm/ext/civigrant/templates/CRM/Grant/Form/Grant.tpl
similarity index 100%
rename from civicrm/templates/CRM/Grant/Form/Grant.tpl
rename to civicrm/ext/civigrant/templates/CRM/Grant/Form/Grant.tpl
diff --git a/civicrm/templates/CRM/Grant/Form/GrantView.tpl b/civicrm/ext/civigrant/templates/CRM/Grant/Form/GrantView.tpl
similarity index 100%
rename from civicrm/templates/CRM/Grant/Form/GrantView.tpl
rename to civicrm/ext/civigrant/templates/CRM/Grant/Form/GrantView.tpl
diff --git a/civicrm/templates/CRM/Grant/Form/Search.tpl b/civicrm/ext/civigrant/templates/CRM/Grant/Form/Search.tpl
similarity index 97%
rename from civicrm/templates/CRM/Grant/Form/Search.tpl
rename to civicrm/ext/civigrant/templates/CRM/Grant/Form/Search.tpl
index a59ce1db40..b6da5cf864 100644
--- a/civicrm/templates/CRM/Grant/Form/Search.tpl
+++ b/civicrm/ext/civigrant/templates/CRM/Grant/Form/Search.tpl
@@ -20,7 +20,7 @@
         </div>
         <table class="form-layout">
             <tr>
-               <td class="font-size12pt" colspan="3">
+               <td colspan="3">
                     {$form.sort_name.label}&nbsp;&nbsp;{$form.sort_name.html}&nbsp;&nbsp;&nbsp;{$form.buttons.html}<br />
                </td>
             </tr>
diff --git a/civicrm/templates/CRM/Grant/Form/Search/AdvancedSearchPane.tpl b/civicrm/ext/civigrant/templates/CRM/Grant/Form/Search/AdvancedSearchPane.tpl
similarity index 100%
rename from civicrm/templates/CRM/Grant/Form/Search/AdvancedSearchPane.tpl
rename to civicrm/ext/civigrant/templates/CRM/Grant/Form/Search/AdvancedSearchPane.tpl
diff --git a/civicrm/templates/CRM/Grant/Form/Search/Common.tpl b/civicrm/ext/civigrant/templates/CRM/Grant/Form/Search/Common.tpl
similarity index 100%
rename from civicrm/templates/CRM/Grant/Form/Search/Common.tpl
rename to civicrm/ext/civigrant/templates/CRM/Grant/Form/Search/Common.tpl
diff --git a/civicrm/templates/CRM/Grant/Form/Search/EmptyResults.tpl b/civicrm/ext/civigrant/templates/CRM/Grant/Form/Search/EmptyResults.tpl
similarity index 100%
rename from civicrm/templates/CRM/Grant/Form/Search/EmptyResults.tpl
rename to civicrm/ext/civigrant/templates/CRM/Grant/Form/Search/EmptyResults.tpl
diff --git a/civicrm/templates/CRM/Grant/Form/Selector.tpl b/civicrm/ext/civigrant/templates/CRM/Grant/Form/Selector.tpl
similarity index 100%
rename from civicrm/templates/CRM/Grant/Form/Selector.tpl
rename to civicrm/ext/civigrant/templates/CRM/Grant/Form/Selector.tpl
diff --git a/civicrm/templates/CRM/Grant/Form/Task.tpl b/civicrm/ext/civigrant/templates/CRM/Grant/Form/Task.tpl
similarity index 100%
rename from civicrm/templates/CRM/Grant/Form/Task.tpl
rename to civicrm/ext/civigrant/templates/CRM/Grant/Form/Task.tpl
diff --git a/civicrm/templates/CRM/Grant/Form/Task/Delete.tpl b/civicrm/ext/civigrant/templates/CRM/Grant/Form/Task/Delete.tpl
similarity index 100%
rename from civicrm/templates/CRM/Grant/Form/Task/Delete.tpl
rename to civicrm/ext/civigrant/templates/CRM/Grant/Form/Task/Delete.tpl
diff --git a/civicrm/templates/CRM/Grant/Form/Task/Print.tpl b/civicrm/ext/civigrant/templates/CRM/Grant/Form/Task/Print.tpl
similarity index 100%
rename from civicrm/templates/CRM/Grant/Form/Task/Print.tpl
rename to civicrm/ext/civigrant/templates/CRM/Grant/Form/Task/Print.tpl
diff --git a/civicrm/templates/CRM/Grant/Form/Task/Update.tpl b/civicrm/ext/civigrant/templates/CRM/Grant/Form/Task/Update.tpl
similarity index 100%
rename from civicrm/templates/CRM/Grant/Form/Task/Update.tpl
rename to civicrm/ext/civigrant/templates/CRM/Grant/Form/Task/Update.tpl
diff --git a/civicrm/templates/CRM/Grant/Page/DashBoard.tpl b/civicrm/ext/civigrant/templates/CRM/Grant/Page/DashBoard.tpl
similarity index 100%
rename from civicrm/templates/CRM/Grant/Page/DashBoard.tpl
rename to civicrm/ext/civigrant/templates/CRM/Grant/Page/DashBoard.tpl
diff --git a/civicrm/templates/CRM/Grant/Page/Tab.tpl b/civicrm/ext/civigrant/templates/CRM/Grant/Page/Tab.tpl
similarity index 100%
rename from civicrm/templates/CRM/Grant/Page/Tab.tpl
rename to civicrm/ext/civigrant/templates/CRM/Grant/Page/Tab.tpl
diff --git a/civicrm/templates/CRM/Report/Form/Grant/Detail.tpl b/civicrm/ext/civigrant/templates/CRM/Report/Form/Grant/Detail.tpl
similarity index 100%
rename from civicrm/templates/CRM/Report/Form/Grant/Detail.tpl
rename to civicrm/ext/civigrant/templates/CRM/Report/Form/Grant/Detail.tpl
diff --git a/civicrm/templates/CRM/Report/Form/Grant/Statistics.tpl b/civicrm/ext/civigrant/templates/CRM/Report/Form/Grant/Statistics.tpl
similarity index 100%
rename from civicrm/templates/CRM/Report/Form/Grant/Statistics.tpl
rename to civicrm/ext/civigrant/templates/CRM/Report/Form/Grant/Statistics.tpl
diff --git a/civicrm/ext/civigrant/tests/phpunit/api/v3/GrantTest.php b/civicrm/ext/civigrant/tests/phpunit/api/v3/GrantTest.php
new file mode 100644
index 0000000000..bf4dfd34d0
--- /dev/null
+++ b/civicrm/ext/civigrant/tests/phpunit/api/v3/GrantTest.php
@@ -0,0 +1,186 @@
+<?php
+/*
+ +--------------------------------------------------------------------+
+ | Copyright CiviCRM LLC. All rights reserved.                        |
+ |                                                                    |
+ | This work is published under the GNU AGPLv3 license with some      |
+ | permitted exceptions and without any warranty. For full license    |
+ | and copyright information, see https://civicrm.org/licensing       |
+ +--------------------------------------------------------------------+
+ */
+
+/**
+ *  Test APIv3 civicrm_grant* functions
+ *
+ * @package CiviCRM_APIv3
+ * @subpackage API_Grant
+ * @group headless
+ */
+class api_v3_GrantTest extends \PHPUnit\Framework\TestCase implements \Civi\Test\HeadlessInterface {
+  use \Civi\Test\Api3TestTrait;
+  use \Civi\Test\ContactTestTrait;
+
+
+  protected $_apiversion = 3;
+  protected $params;
+  protected $ids = [];
+  protected $_entity = 'Grant';
+
+  public $DBResetRequired = FALSE;
+
+  public function setUpHeadless() {
+    return \Civi\Test::headless()
+      ->install(['org.civicrm.afform', 'org.civicrm.search_kit'])
+      ->installMe(__DIR__)
+      ->apply();
+  }
+
+  public function setUp(): void {
+    parent::setUp();
+    $this->ids['contact'][0] = $this->individualCreate();
+    $this->params = [
+      'contact_id' => $this->ids['contact'][0],
+      'application_received_date' => 'now',
+      'decision_date' => 'next Monday',
+      'amount_total' => '500.00',
+      'status_id' => 1,
+      'rationale' => 'Just Because',
+      'currency' => 'USD',
+      'grant_type_id' => 1,
+    ];
+  }
+
+  /**
+   * Cleanup after test.
+   *
+   * @throws \Exception
+   */
+  public function tearDown(): void {
+    foreach ($this->ids as $entity => $entities) {
+      foreach ($entities as $id) {
+        $this->callAPISuccess($entity, 'delete', ['id' => $id]);
+      }
+    }
+    parent::tearDown();
+  }
+
+  public function testCreateGrant() {
+    $result = $this->callAPISuccess($this->_entity, 'create', $this->params);
+    $this->ids['grant'][0] = $result['id'];
+    $this->assertEquals(1, $result['count']);
+    $this->assertNotNull($result['values'][$result['id']]['id']);
+  }
+
+  /**
+   * Check checkbox type custom fields are created correctly.
+   *
+   * We want to ensure they are saved with separators as appropriate
+   */
+  public function testCreateCustomCheckboxGrant() {
+    $cg = $this->callAPISuccess('customGroup', 'create', [
+      'title' => 'Grant custom group',
+      'extends' => 'Grant',
+    ]);
+    $customTable = $cg['values'][$cg['id']]['table_name'];
+    $cf = $this->callAPISuccess('CustomField', 'create', [
+      'label' => 'Custom Field',
+      'data_type' => 'String',
+      'html_type' => 'CheckBox',
+      'custom_group_id' => $cg['id'],
+      'option_values' => [
+        ['label' => 'my valley', 'value' => 'valley', 'is_active' => TRUE, 'weight' => 1],
+        ['label' => 'my goat', 'value' => 'goat', 'is_active' => TRUE, 'weight' => 2],
+        ['label' => 'mohair', 'value' => 'wool', 'is_active' => TRUE, 'weight' => 3],
+        ['label' => 'hungry', 'value' => '', 'is_active' => TRUE, 'weight' => 3],
+      ],
+    ]);
+    $columnName = $cf['values'][$cf['id']]['column_name'];
+    $this->ids['custom_field'][] = $cf['id'];
+    $this->ids['custom_group'][] = $cg['id'];
+    $customFieldLabel = 'custom_' . $cf['id'];
+    $expectedValue = CRM_Core_DAO::VALUE_SEPARATOR . 'valley' . CRM_Core_DAO::VALUE_SEPARATOR;
+    //first we pass in the core separators ourselves
+    $this->params[$customFieldLabel] = $expectedValue;
+    $result = $this->callAPISuccess($this->_entity, 'create', $this->params);
+    $this->params['id'] = $result['id'];
+
+    $savedValue = CRM_Core_DAO::singleValueQuery("SELECT {$columnName} FROM $customTable WHERE entity_id = {$result['id']}");
+
+    $this->assertEquals($expectedValue, $savedValue);
+
+    // now we ask CiviCRM to add the separators
+    $this->params[$customFieldLabel] = "valley";
+    $result = $this->callAPISuccess($this->_entity, 'create', $this->params);
+    $savedValue = CRM_Core_DAO::singleValueQuery("SELECT {$columnName} FROM $customTable WHERE entity_id = {$result['id']}");
+    $this->assertEquals($expectedValue, $savedValue);
+
+    //let's try with 2 params already separated
+    $expectedValue = CRM_Core_DAO::VALUE_SEPARATOR . 'valley' . CRM_Core_DAO::VALUE_SEPARATOR . 'goat' . CRM_Core_DAO::VALUE_SEPARATOR;
+    $this->params[$customFieldLabel] = $expectedValue;
+    $result = $this->callAPISuccess($this->_entity, 'create', $this->params);
+    $savedValue = CRM_Core_DAO::singleValueQuery("SELECT {$columnName} FROM $customTable WHERE entity_id = {$result['id']}");
+    $this->assertEquals($expectedValue, $savedValue);
+
+    //& an array for good measure
+    $this->params[$customFieldLabel] = ['valley', 'goat'];
+    $result = $this->callAPISuccess($this->_entity, 'create', $this->params);
+    $savedValue = CRM_Core_DAO::singleValueQuery("SELECT {$columnName} FROM $customTable WHERE entity_id = {$result['id']}");
+    $this->assertEquals($expectedValue, $savedValue);
+  }
+
+  public function testGetGrant() {
+    $result = $this->callAPISuccess($this->_entity, 'create', $this->params);
+    $this->ids['grant'][0] = $result['id'];
+    $result = $this->callAPISuccess($this->_entity, 'get', ['rationale' => 'Just Because']);
+    $this->assertGreaterThanOrEqual(1, $result['count']);
+  }
+
+  public function testDeleteGrant() {
+    $result = $this->callAPISuccess($this->_entity, 'create', $this->params);
+    $this->callAPISuccess($this->_entity, 'delete', ['id' => $result['id']]);
+    $checkDeleted = $this->callAPISuccess($this->_entity, 'get', ['id' => $result['id']]);
+    $this->assertEquals(0, $checkDeleted['count']);
+  }
+
+  /**
+   * Test Grant status with `0` value.
+   */
+  public function testGrantWithZeroStatus() {
+    $params = [
+      'action' => 'create',
+      'grant_type_id' => "Emergency",
+      'amount_total' => 100,
+      'contact_id' => "1",
+      'status_id' => 0,
+      'id' => 1,
+    ];
+    $validation = $this->callAPISuccess('Grant', 'validate', $params);
+
+    $expectedOut = [
+      'status_id' => [
+        'message' => "'0' is not a valid option for field status_id",
+        'code' => "incorrect_value",
+      ],
+    ];
+    $this->assertEquals($validation['values'][0], $expectedOut);
+  }
+
+  /**
+   * Test contact subtype filter on grant report.
+   *
+   * @throws \CRM_Core_Exception
+   */
+  public function testGrantReportSeparatedFilter() {
+    $this->ids['contact'][] = $contactID = $this->individualCreate(['contact_sub_type' => ['Student', 'Parent']]);
+    $this->ids['contact'][] = $contactID2 = $this->individualCreate();
+    $this->ids['grant'][] = $this->callAPISuccess('Grant', 'create', ['contact_id' => $contactID, 'status_id' => 1, 'grant_type_id' => 1, 'amount_total' => 1])['id'];
+    $this->ids['grant'][] = $this->callAPISuccess('Grant', 'create', ['contact_id' => $contactID2, 'status_id' => 1, 'grant_type_id' => 1, 'amount_total' => 1])['id'];
+    $rows = $this->callAPISuccess('report_template', 'getrows', [
+      'report_id' => 'grant/detail',
+      'contact_sub_type_op' => 'in',
+      'contact_sub_type_value' => ['Student'],
+    ]);
+    $this->assertEquals(1, $rows['count']);
+  }
+
+}
diff --git a/civicrm/ext/civigrant/tests/phpunit/bootstrap.php b/civicrm/ext/civigrant/tests/phpunit/bootstrap.php
new file mode 100644
index 0000000000..4da10a185a
--- /dev/null
+++ b/civicrm/ext/civigrant/tests/phpunit/bootstrap.php
@@ -0,0 +1,64 @@
+<?php
+
+ini_set('memory_limit', '2G');
+
+// phpcs:disable
+eval(cv('php:boot --level=classloader', 'phpcode'));
+// phpcs:enable
+// Allow autoloading of PHPUnit helper classes in this extension.
+$loader = new \Composer\Autoload\ClassLoader();
+$loader->add('CRM_', __DIR__);
+$loader->add('Civi\\', __DIR__);
+$loader->add('api_', __DIR__);
+$loader->add('api\\', __DIR__);
+$loader->register();
+
+/**
+ * Call the "cv" command.
+ *
+ * @param string $cmd
+ *   The rest of the command to send.
+ * @param string $decode
+ *   Ex: 'json' or 'phpcode'.
+ * @return mixed
+ *   Response output (if the command executed normally).
+ *   For 'raw' or 'phpcode', this will be a string. For 'json', it could be any JSON value.
+ * @throws \RuntimeException
+ *   If the command terminates abnormally.
+ */
+function cv(string $cmd, string $decode = 'json') {
+  $cmd = 'cv ' . $cmd;
+  $descriptorSpec = [0 => ['pipe', 'r'], 1 => ['pipe', 'w'], 2 => STDERR];
+  $oldOutput = getenv('CV_OUTPUT');
+  putenv('CV_OUTPUT=json');
+
+  // Execute `cv` in the original folder. This is a work-around for
+  // phpunit/codeception, which seem to manipulate PWD.
+  $cmd = sprintf('cd %s; %s', escapeshellarg(getenv('PWD')), $cmd);
+
+  $process = proc_open($cmd, $descriptorSpec, $pipes, __DIR__);
+  putenv("CV_OUTPUT=$oldOutput");
+  fclose($pipes[0]);
+  $result = stream_get_contents($pipes[1]);
+  fclose($pipes[1]);
+  if (proc_close($process) !== 0) {
+    throw new RuntimeException("Command failed ($cmd):\n$result");
+  }
+  switch ($decode) {
+    case 'raw':
+      return $result;
+
+    case 'phpcode':
+      // If the last output is /*PHPCODE*/, then we managed to complete execution.
+      if (substr(trim($result), 0, 12) !== '/*BEGINPHP*/' || substr(trim($result), -10) !== '/*ENDPHP*/') {
+        throw new \RuntimeException("Command failed ($cmd):\n$result");
+      }
+      return $result;
+
+    case 'json':
+      return json_decode($result, 1);
+
+    default:
+      throw new RuntimeException("Bad decoder format ($decode)");
+  }
+}
diff --git a/civicrm/CRM/Grant/xml/Menu/Grant.xml b/civicrm/ext/civigrant/xml/Menu/Grant.xml
similarity index 94%
rename from civicrm/CRM/Grant/xml/Menu/Grant.xml
rename to civicrm/ext/civigrant/xml/Menu/Grant.xml
index b9bc0f796e..c31d0ecb27 100644
--- a/civicrm/CRM/Grant/xml/Menu/Grant.xml
+++ b/civicrm/ext/civigrant/xml/Menu/Grant.xml
@@ -8,7 +8,6 @@
      <access_arguments>access CiviGrant</access_arguments>
      <page_type>1</page_type>
      <weight>1000</weight>
-     <component>CiviGrant</component>
   </item>
   <item>
      <path>civicrm/grant/info</path>
@@ -30,7 +29,6 @@
      <path_arguments>action=add</path_arguments>
      <access_arguments>access CiviGrant</access_arguments>
      <page_type>1</page_type>
-     <component>CiviGrant</component>
   </item>
   <item>
      <path>civicrm/contact/view/grant</path>
diff --git a/civicrm/ext/civigrant/xml/schema/CRM/Grant/Grant.entityType.php b/civicrm/ext/civigrant/xml/schema/CRM/Grant/Grant.entityType.php
new file mode 100644
index 0000000000..89d4b72f8d
--- /dev/null
+++ b/civicrm/ext/civigrant/xml/schema/CRM/Grant/Grant.entityType.php
@@ -0,0 +1,10 @@
+<?php
+// This file declares a new entity type. For more details, see "hook_civicrm_entityTypes" at:
+// https://docs.civicrm.org/dev/en/latest/hooks/hook_civicrm_entityTypes
+return [
+  [
+    'name' => 'Grant',
+    'class' => 'CRM_Grant_DAO_Grant',
+    'table' => 'civicrm_grant',
+  ],
+];
diff --git a/civicrm/xml/schema/Grant/Grant.xml b/civicrm/ext/civigrant/xml/schema/CRM/Grant/Grant.xml
similarity index 99%
rename from civicrm/xml/schema/Grant/Grant.xml
rename to civicrm/ext/civigrant/xml/schema/CRM/Grant/Grant.xml
index 567865e761..b6955d4399 100644
--- a/civicrm/xml/schema/Grant/Grant.xml
+++ b/civicrm/ext/civigrant/xml/schema/CRM/Grant/Grant.xml
@@ -8,7 +8,6 @@
   <add>1.8</add>
   <log>true</log>
   <icon>fa-money</icon>
-  <component>CiviGrant</component>
   <paths>
     <add>civicrm/grant/add?reset=1&amp;action=add&amp;context=standalone</add>
     <view>civicrm/contact/view/grant?reset=1&amp;action=view&amp;id=[id]&amp;cid=[contact_id]</view>
diff --git a/civicrm/ext/ckeditor4/CRM/Ckeditor4/Upgrader.php b/civicrm/ext/ckeditor4/CRM/Ckeditor4/Upgrader.php
index bb700c4d5e..76d3f1b7d7 100644
--- a/civicrm/ext/ckeditor4/CRM/Ckeditor4/Upgrader.php
+++ b/civicrm/ext/ckeditor4/CRM/Ckeditor4/Upgrader.php
@@ -26,7 +26,7 @@ class CRM_Ckeditor4_Upgrader extends CRM_Ckeditor4_Upgrader_Base {
     foreach ($domains as $domain) {
       $currentSetting = \Civi::settings($domain['id'])->get('editor_id');
       if ($currentSetting === 'CKEditor') {
-        \Civi::setttings($domain['id'])->set('editor_id', 'Textarea');
+        \Civi::settings($domain['id'])->set('editor_id', 'Textarea');
       }
     }
     civicrm_api3('OptionValue', 'get', ['name' => 'CKEditor', 'api.option_value.delete' => ['id' => "\$value.id"]]);
diff --git a/civicrm/ext/ckeditor4/ckeditor4.civix.php b/civicrm/ext/ckeditor4/ckeditor4.civix.php
index bb862286b5..17a0475106 100644
--- a/civicrm/ext/ckeditor4/ckeditor4.civix.php
+++ b/civicrm/ext/ckeditor4/ckeditor4.civix.php
@@ -91,9 +91,9 @@ function _ckeditor4_civix_civicrm_config(&$config = NULL) {
   }
   $configured = TRUE;
 
-  $template =& CRM_Core_Smarty::singleton();
+  $template = CRM_Core_Smarty::singleton();
 
-  $extRoot = dirname(__FILE__) . DIRECTORY_SEPARATOR;
+  $extRoot = __DIR__ . DIRECTORY_SEPARATOR;
   $extDir = $extRoot . 'templates';
 
   if (is_array($template->template_dir)) {
diff --git a/civicrm/ext/ckeditor4/info.xml b/civicrm/ext/ckeditor4/info.xml
index d5dc7187c3..5c4a8b0273 100644
--- a/civicrm/ext/ckeditor4/info.xml
+++ b/civicrm/ext/ckeditor4/info.xml
@@ -15,7 +15,7 @@
     <url desc="Licensing">https://www.gnu.org/licenses/agpl-3.0.html</url>
   </urls>
   <releaseDate>2021-05-23</releaseDate>
-  <version>5.46.2</version>
+  <version>5.47.0</version>
   <develStage>stable</develStage>
   <compatibility>
     <ver>5.39</ver>
diff --git a/civicrm/ext/contributioncancelactions/README.md b/civicrm/ext/contributioncancelactions/README.md
index e2e17c3a8c..8a55e9ffc6 100644
--- a/civicrm/ext/contributioncancelactions/README.md
+++ b/civicrm/ext/contributioncancelactions/README.md
@@ -21,4 +21,3 @@ The extension is licensed under [AGPL-3.0](LICENSE.txt).
 ## Installation (Web UI)
 
 This extension ships with core - you can enable or disable in the extensions UI.
-
diff --git a/civicrm/ext/contributioncancelactions/contributioncancelactions.civix.php b/civicrm/ext/contributioncancelactions/contributioncancelactions.civix.php
index 7f1e9712e9..af68033f7b 100644
--- a/civicrm/ext/contributioncancelactions/contributioncancelactions.civix.php
+++ b/civicrm/ext/contributioncancelactions/contributioncancelactions.civix.php
@@ -91,9 +91,9 @@ function _contributioncancelactions_civix_civicrm_config(&$config = NULL) {
   }
   $configured = TRUE;
 
-  $template =& CRM_Core_Smarty::singleton();
+  $template = CRM_Core_Smarty::singleton();
 
-  $extRoot = dirname(__FILE__) . DIRECTORY_SEPARATOR;
+  $extRoot = __DIR__ . DIRECTORY_SEPARATOR;
   $extDir = $extRoot . 'templates';
 
   if (is_array($template->template_dir)) {
diff --git a/civicrm/ext/contributioncancelactions/info.xml b/civicrm/ext/contributioncancelactions/info.xml
index ce54ecb56a..27612d5f4b 100644
--- a/civicrm/ext/contributioncancelactions/info.xml
+++ b/civicrm/ext/contributioncancelactions/info.xml
@@ -15,7 +15,7 @@
     <url desc="Licensing">http://www.gnu.org/licenses/agpl-3.0.html</url>
   </urls>
   <releaseDate>2020-10-12</releaseDate>
-  <version>5.46.2</version>
+  <version>5.47.0</version>
   <develStage>stable</develStage>
   <compatibility>
     <ver>5.32</ver>
diff --git a/civicrm/ext/eventcart/CRM/Event/Cart/BAO/EventInCart.php b/civicrm/ext/eventcart/CRM/Event/Cart/BAO/EventInCart.php
index abb9bb4ce6..97cc92d256 100644
--- a/civicrm/ext/eventcart/CRM/Event/Cart/BAO/EventInCart.php
+++ b/civicrm/ext/eventcart/CRM/Event/Cart/BAO/EventInCart.php
@@ -10,13 +10,6 @@ class CRM_Event_Cart_BAO_EventInCart extends CRM_Event_Cart_DAO_EventInCart impl
   public $location = NULL;
   public $participants = [];
 
-  /**
-   * Class constructor.
-   */
-  public function __construct() {
-    parent::__construct();
-  }
-
   /**
    * Add participant to cart.
    *
@@ -164,7 +157,7 @@ class CRM_Event_Cart_BAO_EventInCart extends CRM_Event_Cart_DAO_EventInCart impl
   }
 
   /**
-   * @param null $event_cart
+   * @param CRM_Event_Cart_BAO_Cart|null $event_cart
    */
   public function load_associations($event_cart = NULL) {
     if ($this->assocations_loaded) {
diff --git a/civicrm/ext/eventcart/CRM/Event/Cart/BAO/MerParticipant.php b/civicrm/ext/eventcart/CRM/Event/Cart/BAO/MerParticipant.php
index 4cdf4e341b..c1324e2d9b 100644
--- a/civicrm/ext/eventcart/CRM/Event/Cart/BAO/MerParticipant.php
+++ b/civicrm/ext/eventcart/CRM/Event/Cart/BAO/MerParticipant.php
@@ -30,8 +30,7 @@ class CRM_Event_Cart_BAO_MerParticipant extends CRM_Event_BAO_Participant {
   public $cart = NULL;
 
   /**
-   * XXX.
-   * @param null $participant
+   * @param array $participant
    */
   public function __construct($participant = NULL) {
     parent::__construct();
diff --git a/civicrm/ext/eventcart/CRM/Event/Cart/Controller/Checkout.php b/civicrm/ext/eventcart/CRM/Event/Cart/Controller/Checkout.php
index a00044bdda..10ccc2c407 100644
--- a/civicrm/ext/eventcart/CRM/Event/Cart/Controller/Checkout.php
+++ b/civicrm/ext/eventcart/CRM/Event/Cart/Controller/Checkout.php
@@ -6,7 +6,7 @@
 class CRM_Event_Cart_Controller_Checkout extends CRM_Core_Controller {
 
   /**
-   * @param null $title
+   * @param string $title
    * @param bool|int $action
    * @param bool $modal
    */
diff --git a/civicrm/ext/eventcart/eventcart.civix.php b/civicrm/ext/eventcart/eventcart.civix.php
index bec41bc7f2..bdce986d6e 100644
--- a/civicrm/ext/eventcart/eventcart.civix.php
+++ b/civicrm/ext/eventcart/eventcart.civix.php
@@ -91,9 +91,9 @@ function _eventcart_civix_civicrm_config(&$config = NULL) {
   }
   $configured = TRUE;
 
-  $template =& CRM_Core_Smarty::singleton();
+  $template = CRM_Core_Smarty::singleton();
 
-  $extRoot = dirname(__FILE__) . DIRECTORY_SEPARATOR;
+  $extRoot = __DIR__ . DIRECTORY_SEPARATOR;
   $extDir = $extRoot . 'templates';
 
   if (is_array($template->template_dir)) {
diff --git a/civicrm/ext/eventcart/info.xml b/civicrm/ext/eventcart/info.xml
index f5f14259c1..58bef5187a 100644
--- a/civicrm/ext/eventcart/info.xml
+++ b/civicrm/ext/eventcart/info.xml
@@ -13,7 +13,7 @@
     <url desc="Licensing">http://www.gnu.org/licenses/agpl-3.0.html</url>
   </urls>
   <releaseDate>2020-08-03</releaseDate>
-  <version>5.46.2</version>
+  <version>5.47.0</version>
   <tags>
     <tag>mgmt:hidden</tag>
   </tags>
diff --git a/civicrm/ext/ewaysingle/ewaysingle.civix.php b/civicrm/ext/ewaysingle/ewaysingle.civix.php
index 474030a1c2..d94d1fa614 100644
--- a/civicrm/ext/ewaysingle/ewaysingle.civix.php
+++ b/civicrm/ext/ewaysingle/ewaysingle.civix.php
@@ -91,9 +91,9 @@ function _ewaysingle_civix_civicrm_config(&$config = NULL) {
   }
   $configured = TRUE;
 
-  $template =& CRM_Core_Smarty::singleton();
+  $template = CRM_Core_Smarty::singleton();
 
-  $extRoot = dirname(__FILE__) . DIRECTORY_SEPARATOR;
+  $extRoot = __DIR__ . DIRECTORY_SEPARATOR;
   $extDir = $extRoot . 'templates';
 
   if (is_array($template->template_dir)) {
diff --git a/civicrm/ext/ewaysingle/info.xml b/civicrm/ext/ewaysingle/info.xml
index 802e952249..8dc7e53f24 100644
--- a/civicrm/ext/ewaysingle/info.xml
+++ b/civicrm/ext/ewaysingle/info.xml
@@ -15,7 +15,7 @@
     <url desc="Licensing">http://www.gnu.org/licenses/agpl-3.0.html</url>
   </urls>
   <releaseDate>2020-10-07</releaseDate>
-  <version>5.46.2</version>
+  <version>5.47.0</version>
   <tags>
     <tag>mgmt:hidden</tag>
   </tags>
diff --git a/civicrm/ext/financialacls/financialacls.civix.php b/civicrm/ext/financialacls/financialacls.civix.php
index d9ade0d325..6948a1e926 100644
--- a/civicrm/ext/financialacls/financialacls.civix.php
+++ b/civicrm/ext/financialacls/financialacls.civix.php
@@ -91,9 +91,9 @@ function _financialacls_civix_civicrm_config(&$config = NULL) {
   }
   $configured = TRUE;
 
-  $template =& CRM_Core_Smarty::singleton();
+  $template = CRM_Core_Smarty::singleton();
 
-  $extRoot = dirname(__FILE__) . DIRECTORY_SEPARATOR;
+  $extRoot = __DIR__ . DIRECTORY_SEPARATOR;
   $extDir = $extRoot . 'templates';
 
   if (is_array($template->template_dir)) {
diff --git a/civicrm/ext/financialacls/financialacls.php b/civicrm/ext/financialacls/financialacls.php
index ccd3722205..d87f4eb9a5 100644
--- a/civicrm/ext/financialacls/financialacls.php
+++ b/civicrm/ext/financialacls/financialacls.php
@@ -139,6 +139,7 @@ function financialacls_civicrm_selectWhereClause($entity, &$clauses) {
     case 'LineItem':
     case 'MembershipType':
     case 'ContributionRecur':
+    case 'Contribution':
       $clauses['financial_type_id'] = _financialacls_civicrm_get_type_clause();
       break;
 
@@ -397,6 +398,18 @@ function financialacls_toggle() {
 //
 //}
 
+/**
+ * Require financial acl permissions for financial screens.
+ *
+ * @param array $menu
+ */
+function financialacls_civicrm_alterMenu(array &$menu): void {
+  if (!financialacls_is_acl_limiting_enabled()) {
+    return;
+  }
+  $menu['civicrm/admin/financial/financialType']['access_arguments'] = [['administer CiviCRM Financial Types']];
+}
+
 /**
  * Implements hook_civicrm_navigationMenu().
  *
diff --git a/civicrm/ext/financialacls/info.xml b/civicrm/ext/financialacls/info.xml
index 38efcb3475..aee154a731 100644
--- a/civicrm/ext/financialacls/info.xml
+++ b/civicrm/ext/financialacls/info.xml
@@ -15,7 +15,7 @@
     <url desc="Licensing">http://www.gnu.org/licenses/agpl-3.0.html</url>
   </urls>
   <releaseDate>2020-08-27</releaseDate>
-  <version>5.46.2</version>
+  <version>5.47.0</version>
   <develStage>stable</develStage>
   <compatibility>
     <ver>5.30</ver>
diff --git a/civicrm/ext/financialacls/tests/phpunit/Civi/Financialacls/FinancialTypeTest.php b/civicrm/ext/financialacls/tests/phpunit/Civi/Financialacls/FinancialTypeTest.php
index bb68b08eab..31594b86c2 100644
--- a/civicrm/ext/financialacls/tests/phpunit/Civi/Financialacls/FinancialTypeTest.php
+++ b/civicrm/ext/financialacls/tests/phpunit/Civi/Financialacls/FinancialTypeTest.php
@@ -16,8 +16,6 @@ class FinancialTypeTest extends BaseTestClass {
   /**
    * Test that a message is put in session when changing the name of a
    * financial type.
-   *
-   * @throws \CRM_Core_Exception
    */
   public function testChangeFinancialTypeName(): void {
     Civi::settings()->set('acl_financial_type', TRUE);
@@ -73,4 +71,25 @@ class FinancialTypeTest extends BaseTestClass {
     $this->assertEquals([1 => 'Donation'], $type);
   }
 
+  /**
+   * Check method test buildPermissionedClause()
+   */
+  public function testBuildPermissionedClause(): void {
+    Civi::settings()->set('acl_financial_type', 1);
+    $this->setPermissions([
+      'view contributions of type Donation',
+      'view contributions of type Member Dues',
+    ]);
+    $whereClause = \CRM_Financial_BAO_FinancialType::buildPermissionedClause('contribution');
+    $this->assertEquals('(`civicrm_contribution`.`financial_type_id` IS NULL OR (`civicrm_contribution`.`financial_type_id` IN (1,2)))', $whereClause);
+    $this->setPermissions([
+      'view contributions of type Donation',
+      'view contributions of type Member Dues',
+      'view contributions of type Event Fee',
+    ]);
+
+    $whereClause = \CRM_Financial_BAO_FinancialType::buildPermissionedClause('contribution');
+    $this->assertEquals('(`civicrm_contribution`.`financial_type_id` IS NULL OR (`civicrm_contribution`.`financial_type_id` IN (1,4,2)))', $whereClause);
+  }
+
 }
diff --git a/civicrm/ext/flexmailer/docs/develop/CheckSendableEvent.md b/civicrm/ext/flexmailer/docs/develop/CheckSendableEvent.md
index a36d83f58c..be73ee09a7 100644
--- a/civicrm/ext/flexmailer/docs/develop/CheckSendableEvent.md
+++ b/civicrm/ext/flexmailer/docs/develop/CheckSendableEvent.md
@@ -20,10 +20,13 @@ function mustache_civicrm_container($container) {
 }
 
 function _mustache_check_sendable(\Civi\FlexMailer\Event\CheckSendableEvent $e) {
-  if ($e->getMailing()->template_type !== 'mustache') return;
+  if ($e->getMailing()->template_type !== 'mustache') {
+    return;
+  }
 
   if (strpos('{{unsubscribeUrl}}', $e->getMailing()->body_html) === FALSE) {
     $e->setError('body_html:unsubscribeUrl', E::ts('Please include the token {{unsubscribeUrl}}'));
   }
 }
+
 ```
diff --git a/civicrm/ext/flexmailer/docs/develop/ComposeBatchEvent.md b/civicrm/ext/flexmailer/docs/develop/ComposeBatchEvent.md
index 80bd17cc58..e19d3e892b 100644
--- a/civicrm/ext/flexmailer/docs/develop/ComposeBatchEvent.md
+++ b/civicrm/ext/flexmailer/docs/develop/ComposeBatchEvent.md
@@ -31,11 +31,15 @@ function mustache_civicrm_container($container) {
 }
 
 function _mustache_compose_batch(\Civi\FlexMailer\Event\ComposeBatchEvent $event) {
-  if ($event->getMailing()->template_type !== 'mustache') return;
+  if ($event->getMailing()->template_type !== 'mustache') {
+    return;
+  }
 
   $m = new Mustache_Engine();
   foreach ($event->getTasks() as $task) {
-    if ($task->hasContent()) continue;
+    if ($task->hasContent()) {
+      continue;
+    }
     $contact = civicrm_api3('Contact', 'getsingle', array(
       'id' => $task->getContactId(),
     ));
@@ -43,6 +47,7 @@ function _mustache_compose_batch(\Civi\FlexMailer\Event\ComposeBatchEvent $event
     $task->setMailParam('html', $m->render($event->getMailing()->body_html, $contact));
   }
 }
+
 ```
 
 This implementation is naive in a few ways -- it performs separate SQL queries for each recipient; it doesn't optimize
diff --git a/civicrm/ext/flexmailer/docs/develop/RunEvent.md b/civicrm/ext/flexmailer/docs/develop/RunEvent.md
index a4fa5d25e0..289d466925 100644
--- a/civicrm/ext/flexmailer/docs/develop/RunEvent.md
+++ b/civicrm/ext/flexmailer/docs/develop/RunEvent.md
@@ -28,6 +28,7 @@ function example_civicrm_container($container) {
 function _example_run(\Civi\FlexMailer\Event\RunEvent $event) {
   printf("Starting work on job #%d for mailing #%d\n", $event->getJob()->id, $event->getMailing()->id);
 }
+
 ```
 
 !!! note "Stopping the `RunEvent` will stop FlexMailer."
diff --git a/civicrm/ext/flexmailer/docs/develop/SendBatchEvent.md b/civicrm/ext/flexmailer/docs/develop/SendBatchEvent.md
index dcba869b0b..0b88c36b59 100644
--- a/civicrm/ext/flexmailer/docs/develop/SendBatchEvent.md
+++ b/civicrm/ext/flexmailer/docs/develop/SendBatchEvent.md
@@ -11,7 +11,8 @@ function example_civicrm_container($container) {
 }
 
 function _example_send_batch(\Civi\FlexMailer\Event\SendBatchEvent $event) {
-  $event->stopPropagation(); // Disable standard delivery
+  // Disable standard delivery
+  $event->stopPropagation();
 
   $context = stream_context_create(array(
     'http' => array(
@@ -20,6 +21,7 @@ function _example_send_batch(\Civi\FlexMailer\Event\SendBatchEvent $event) {
       'content' => serialize($event->getTasks()),
     ),
   ));
-  return file_get_contents('https://example.org/batch-delivery', false, $context);
+  return file_get_contents('https://example.org/batch-delivery', FALSE, $context);
 }
+
 ```
diff --git a/civicrm/ext/flexmailer/docs/develop/WalkBatchesEvent.md b/civicrm/ext/flexmailer/docs/develop/WalkBatchesEvent.md
index 346aefdc7d..9703344bb0 100644
--- a/civicrm/ext/flexmailer/docs/develop/WalkBatchesEvent.md
+++ b/civicrm/ext/flexmailer/docs/develop/WalkBatchesEvent.md
@@ -13,7 +13,8 @@ function example_civicrm_container($container) {
 }
 
 function _example_walk_batches(\Civi\FlexMailer\Event\WalkBatchesEvent $event) {
-  $event->stopPropagation(); // Disable standard delivery
+  // Disable standard delivery
+  $event->stopPropagation();
 
   while (...) {
     $tasks = array();
@@ -23,4 +24,5 @@ function _example_walk_batches(\Civi\FlexMailer\Event\WalkBatchesEvent $event) {
     $event->visit($tasks);
   }
 }
+
 ```
diff --git a/civicrm/ext/flexmailer/flexmailer.civix.php b/civicrm/ext/flexmailer/flexmailer.civix.php
index 0935d49cc3..becfec49fc 100644
--- a/civicrm/ext/flexmailer/flexmailer.civix.php
+++ b/civicrm/ext/flexmailer/flexmailer.civix.php
@@ -91,9 +91,9 @@ function _flexmailer_civix_civicrm_config(&$config = NULL) {
   }
   $configured = TRUE;
 
-  $template =& CRM_Core_Smarty::singleton();
+  $template = CRM_Core_Smarty::singleton();
 
-  $extRoot = dirname(__FILE__) . DIRECTORY_SEPARATOR;
+  $extRoot = __DIR__ . DIRECTORY_SEPARATOR;
   $extDir = $extRoot . 'templates';
 
   if (is_array($template->template_dir)) {
diff --git a/civicrm/ext/flexmailer/info.xml b/civicrm/ext/flexmailer/info.xml
index a43a83c10d..b39af4bda8 100644
--- a/civicrm/ext/flexmailer/info.xml
+++ b/civicrm/ext/flexmailer/info.xml
@@ -15,7 +15,7 @@
     <url desc="Licensing">http://www.gnu.org/licenses/agpl-3.0.html</url>
   </urls>
   <releaseDate>2020-08-05</releaseDate>
-  <version>5.46.2</version>
+  <version>5.47.0</version>
   <develStage>stable</develStage>
   <comments>
     FlexMailer is an email delivery engine which replaces the internal guts
diff --git a/civicrm/ext/greenwich/greenwich.civix.php b/civicrm/ext/greenwich/greenwich.civix.php
index a1903f1e90..c7649fd1e9 100644
--- a/civicrm/ext/greenwich/greenwich.civix.php
+++ b/civicrm/ext/greenwich/greenwich.civix.php
@@ -91,9 +91,9 @@ function _greenwich_civix_civicrm_config(&$config = NULL) {
   }
   $configured = TRUE;
 
-  $template =& CRM_Core_Smarty::singleton();
+  $template = CRM_Core_Smarty::singleton();
 
-  $extRoot = dirname(__FILE__) . DIRECTORY_SEPARATOR;
+  $extRoot = __DIR__ . DIRECTORY_SEPARATOR;
   $extDir = $extRoot . 'templates';
 
   if (is_array($template->template_dir)) {
diff --git a/civicrm/ext/greenwich/info.xml b/civicrm/ext/greenwich/info.xml
index eeb7a02714..18d562e06b 100644
--- a/civicrm/ext/greenwich/info.xml
+++ b/civicrm/ext/greenwich/info.xml
@@ -15,7 +15,7 @@
     <url desc="Licensing">http://www.gnu.org/licenses/agpl-3.0.html</url>
   </urls>
   <releaseDate>2020-07-21</releaseDate>
-  <version>5.46.2</version>
+  <version>5.47.0</version>
   <tags>
     <tag>mgmt:hidden</tag>
   </tags>
diff --git a/civicrm/ext/legacycustomsearches/CRM/Contact/Form/Search/Custom/FullText.php b/civicrm/ext/legacycustomsearches/CRM/Contact/Form/Search/Custom/FullText.php
index dcc3ea12f1..64cb9ba3c4 100644
--- a/civicrm/ext/legacycustomsearches/CRM/Contact/Form/Search/Custom/FullText.php
+++ b/civicrm/ext/legacycustomsearches/CRM/Contact/Form/Search/Custom/FullText.php
@@ -308,7 +308,7 @@ WHERE      t.table_name = 'Activity' AND
       }
     }
 
-    $form->add('select', 'table', ts('Tables'), $tables);
+    $form->add('select', 'table', ts('in...'), $tables);
 
     $form->assign('csID', $form->get('csid'));
 
diff --git a/civicrm/ext/legacycustomsearches/CRM/Contact/Form/Search/Custom/FullText/Case.php b/civicrm/ext/legacycustomsearches/CRM/Contact/Form/Search/Custom/FullText/Case.php
index dcc9bd71f4..dfd812c4c8 100644
--- a/civicrm/ext/legacycustomsearches/CRM/Contact/Form/Search/Custom/FullText/Case.php
+++ b/civicrm/ext/legacycustomsearches/CRM/Contact/Form/Search/Custom/FullText/Case.php
@@ -29,8 +29,7 @@ class CRM_Contact_Form_Search_Custom_FullText_Case extends CRM_Contact_Form_Sear
    * @return bool
    */
   public function isActive() {
-    $config = CRM_Core_Config::singleton();
-    return in_array('CiviCase', $config->enableComponents);
+    return CRM_Core_Component::isEnabled('CiviCase');
   }
 
   /**
diff --git a/civicrm/ext/legacycustomsearches/CRM/Contact/Form/Search/Custom/FullText/Contribution.php b/civicrm/ext/legacycustomsearches/CRM/Contact/Form/Search/Custom/FullText/Contribution.php
index 78ec8d6b20..913bb85cad 100644
--- a/civicrm/ext/legacycustomsearches/CRM/Contact/Form/Search/Custom/FullText/Contribution.php
+++ b/civicrm/ext/legacycustomsearches/CRM/Contact/Form/Search/Custom/FullText/Contribution.php
@@ -29,9 +29,8 @@ class CRM_Contact_Form_Search_Custom_FullText_Contribution extends CRM_Contact_F
    * @return bool
    */
   public function isActive() {
-    $config = CRM_Core_Config::singleton();
-    return in_array('CiviContribute', $config->enableComponents) &&
-    CRM_Core_Permission::check('access CiviContribute');
+    return CRM_Core_Component::isEnabled('CiviContribute') &&
+      CRM_Core_Permission::check('access CiviContribute');
   }
 
   /**
diff --git a/civicrm/ext/legacycustomsearches/CRM/Contact/Form/Search/Custom/FullText/Membership.php b/civicrm/ext/legacycustomsearches/CRM/Contact/Form/Search/Custom/FullText/Membership.php
index b56940cbed..3d142fe7e1 100644
--- a/civicrm/ext/legacycustomsearches/CRM/Contact/Form/Search/Custom/FullText/Membership.php
+++ b/civicrm/ext/legacycustomsearches/CRM/Contact/Form/Search/Custom/FullText/Membership.php
@@ -29,9 +29,8 @@ class CRM_Contact_Form_Search_Custom_FullText_Membership extends CRM_Contact_For
    * @return bool
    */
   public function isActive() {
-    $config = CRM_Core_Config::singleton();
-    return in_array('CiviMember', $config->enableComponents) &&
-    CRM_Core_Permission::check('access CiviMember');
+    return CRM_Core_Component::isEnabled('CiviMember') &&
+      CRM_Core_Permission::check('access CiviMember');
   }
 
   /**
diff --git a/civicrm/ext/legacycustomsearches/CRM/Contact/Form/Search/Custom/FullText/Participant.php b/civicrm/ext/legacycustomsearches/CRM/Contact/Form/Search/Custom/FullText/Participant.php
index a24ce0d407..7012b47dbf 100644
--- a/civicrm/ext/legacycustomsearches/CRM/Contact/Form/Search/Custom/FullText/Participant.php
+++ b/civicrm/ext/legacycustomsearches/CRM/Contact/Form/Search/Custom/FullText/Participant.php
@@ -29,9 +29,8 @@ class CRM_Contact_Form_Search_Custom_FullText_Participant extends CRM_Contact_Fo
    * @return bool
    */
   public function isActive() {
-    $config = CRM_Core_Config::singleton();
-    return in_array('CiviEvent', $config->enableComponents) &&
-    CRM_Core_Permission::check('view event participants');
+    return CRM_Core_Component::isEnabled('CiviEvent') &&
+      CRM_Core_Permission::check('view event participants');
   }
 
   /**
diff --git a/civicrm/ext/legacycustomsearches/CRM/Contact/Form/Search/Custom/Sample.php b/civicrm/ext/legacycustomsearches/CRM/Contact/Form/Search/Custom/Sample.php
index 70bc6b8f19..775dada57b 100644
--- a/civicrm/ext/legacycustomsearches/CRM/Contact/Form/Search/Custom/Sample.php
+++ b/civicrm/ext/legacycustomsearches/CRM/Contact/Form/Search/Custom/Sample.php
@@ -83,7 +83,7 @@ class CRM_Contact_Form_Search_Custom_Sample extends CRM_Contact_Form_Search_Cust
   /**
    * @param int $offset
    * @param int $rowcount
-   * @param null $sort
+   * @param string|null $sort
    * @param bool $returnSQL
    *
    * @return string
@@ -95,7 +95,7 @@ class CRM_Contact_Form_Search_Custom_Sample extends CRM_Contact_Form_Search_Cust
   /**
    * @param int $offset
    * @param int $rowcount
-   * @param null $sort
+   * @param string|null $sort
    * @param bool $includeContactIDs
    * @param bool $justIDs
    *
diff --git a/civicrm/ext/legacycustomsearches/info.xml b/civicrm/ext/legacycustomsearches/info.xml
index faad08e98a..22f7377faf 100644
--- a/civicrm/ext/legacycustomsearches/info.xml
+++ b/civicrm/ext/legacycustomsearches/info.xml
@@ -15,7 +15,7 @@
     <url desc="Licensing">http://www.gnu.org/licenses/agpl-3.0.html</url>
   </urls>
   <releaseDate>2021-07-25</releaseDate>
-  <version>5.46.2</version>
+  <version>5.47.0</version>
   <develStage>stable</develStage>
   <tags>
     <tag>mgmt:hidden</tag>
diff --git a/civicrm/ext/legacycustomsearches/legacycustomsearches.civix.php b/civicrm/ext/legacycustomsearches/legacycustomsearches.civix.php
index 25b8eb3f5a..3cb227a420 100644
--- a/civicrm/ext/legacycustomsearches/legacycustomsearches.civix.php
+++ b/civicrm/ext/legacycustomsearches/legacycustomsearches.civix.php
@@ -91,9 +91,9 @@ function _legacycustomsearches_civix_civicrm_config(&$config = NULL) {
   }
   $configured = TRUE;
 
-  $template =& CRM_Core_Smarty::singleton();
+  $template = CRM_Core_Smarty::singleton();
 
-  $extRoot = dirname(__FILE__) . DIRECTORY_SEPARATOR;
+  $extRoot = __DIR__ . DIRECTORY_SEPARATOR;
   $extDir = $extRoot . 'templates';
 
   if (is_array($template->template_dir)) {
diff --git a/civicrm/ext/legacycustomsearches/templates/CRM/Contact/Form/Search/Custom/ContributionAggregate.tpl b/civicrm/ext/legacycustomsearches/templates/CRM/Contact/Form/Search/Custom/ContributionAggregate.tpl
index 68af3dd085..781088fa9c 100644
--- a/civicrm/ext/legacycustomsearches/templates/CRM/Contact/Form/Search/Custom/ContributionAggregate.tpl
+++ b/civicrm/ext/legacycustomsearches/templates/CRM/Contact/Form/Search/Custom/ContributionAggregate.tpl
@@ -26,7 +26,7 @@
               <td class="label" for="receive_date_relative">
                 <label>{ts}Contribution Dates{/ts}</label>
               </td>
-              {include file="CRM/Core/DatePickerRangeWrapper.tpl" fieldName="receive_date" colspan="2"}
+              {include file="CRM/Core/DatePickerRangeWrapper.tpl" fieldName="receive_date" to='' from='' colspan="2" class='' hideRelativeLabel=0}
             </tr>
             <tr class="crm-contact-custom-search-contributionDetails-form-block-financial_type">
                 <td class="label" for="financial_type_id">
diff --git a/civicrm/ext/legacycustomsearches/templates/CRM/Contact/Form/Search/Custom/FullText.tpl b/civicrm/ext/legacycustomsearches/templates/CRM/Contact/Form/Search/Custom/FullText.tpl
index d720d1843c..2503715ca9 100644
--- a/civicrm/ext/legacycustomsearches/templates/CRM/Contact/Form/Search/Custom/FullText.tpl
+++ b/civicrm/ext/legacycustomsearches/templates/CRM/Contact/Form/Search/Custom/FullText.tpl
@@ -14,11 +14,11 @@
       <table class="form-layout-compressed">
         <tr>
           <td>
-            <label>{$form.text.label}</label>
+            {$form.text.label}
             {$form.text.html}
           </td>
           <td>
-            <label>{ts}in...{/ts}</label>
+            {$form.table.label}
             {$form.table.html}
           </td>
           <td>{$form.buttons.html} {help id="id-fullText"}</td>
diff --git a/civicrm/ext/message_admin/ang/crmMsgadm.css b/civicrm/ext/message_admin/ang/crmMsgadm.css
index db9eddc58c..2b55bda45a 100644
--- a/civicrm/ext/message_admin/ang/crmMsgadm.css
+++ b/civicrm/ext/message_admin/ang/crmMsgadm.css
@@ -1,3 +1,3 @@
 .ui-dialog.crm-msgadm-dialog .ui-dialog-titlebar {
-  display:none;
+  display: none;
 }
diff --git a/civicrm/ext/message_admin/info.xml b/civicrm/ext/message_admin/info.xml
index 205ac768d2..062da0de18 100644
--- a/civicrm/ext/message_admin/info.xml
+++ b/civicrm/ext/message_admin/info.xml
@@ -15,7 +15,7 @@
     <url desc="Licensing">http://www.gnu.org/licenses/agpl-3.0.html</url>
   </urls>
   <releaseDate>2021-06-12</releaseDate>
-  <version>5.46.2</version>
+  <version>5.47.0</version>
   <tags>
     <tag>mgmt:hidden</tag>
   </tags>
diff --git a/civicrm/ext/message_admin/message_admin.civix.php b/civicrm/ext/message_admin/message_admin.civix.php
index 3de3912c36..483d0b9c07 100644
--- a/civicrm/ext/message_admin/message_admin.civix.php
+++ b/civicrm/ext/message_admin/message_admin.civix.php
@@ -91,9 +91,9 @@ function _message_admin_civix_civicrm_config(&$config = NULL) {
   }
   $configured = TRUE;
 
-  $template =& CRM_Core_Smarty::singleton();
+  $template = CRM_Core_Smarty::singleton();
 
-  $extRoot = dirname(__FILE__) . DIRECTORY_SEPARATOR;
+  $extRoot = __DIR__ . DIRECTORY_SEPARATOR;
   $extDir = $extRoot . 'templates';
 
   if (is_array($template->template_dir)) {
diff --git a/civicrm/ext/oauth-client/CRM/OAuth/DAO/OAuthClient.php b/civicrm/ext/oauth-client/CRM/OAuth/DAO/OAuthClient.php
index 92d2f4378e..8ef1e32107 100644
--- a/civicrm/ext/oauth-client/CRM/OAuth/DAO/OAuthClient.php
+++ b/civicrm/ext/oauth-client/CRM/OAuth/DAO/OAuthClient.php
@@ -6,7 +6,7 @@
  *
  * Generated from oauth-client/xml/schema/CRM/OAuth/OAuthClient.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:16542326ad093d2d6826a11f1576522e)
+ * (GenCodeChecksum:6d11e5e77e49b52267e60124c13d9fa4)
  */
 use CRM_OAuth_ExtensionUtil as E;
 
@@ -34,7 +34,9 @@ class CRM_OAuth_DAO_OAuthClient extends CRM_Core_DAO {
   /**
    * Internal Client ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
@@ -42,6 +44,8 @@ class CRM_OAuth_DAO_OAuthClient extends CRM_Core_DAO {
    * Provider
    *
    * @var string
+   *   (SQL type: varchar(128))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $provider;
 
@@ -49,41 +53,53 @@ class CRM_OAuth_DAO_OAuthClient extends CRM_Core_DAO {
    * Client ID
    *
    * @var string
+   *   (SQL type: varchar(128))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $guid;
 
   /**
    * Client Secret
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $secret;
 
   /**
    * Extra override options for the service (JSON)
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $options;
 
   /**
    * Is the client currently enabled?
    *
-   * @var bool
+   * @var bool|string
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $is_active;
 
   /**
    * When the client was created.
    *
-   * @var timestamp
+   * @var string
+   *   (SQL type: timestamp)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $created_date;
 
   /**
    * When the client was created or modified.
    *
-   * @var timestamp
+   * @var string
+   *   (SQL type: timestamp)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $modified_date;
 
diff --git a/civicrm/ext/oauth-client/CRM/OAuth/DAO/OAuthContactToken.php b/civicrm/ext/oauth-client/CRM/OAuth/DAO/OAuthContactToken.php
index 691a37b578..65305eb68e 100644
--- a/civicrm/ext/oauth-client/CRM/OAuth/DAO/OAuthContactToken.php
+++ b/civicrm/ext/oauth-client/CRM/OAuth/DAO/OAuthContactToken.php
@@ -6,7 +6,7 @@
  *
  * Generated from oauth-client/xml/schema/CRM/OAuth/OAuthContactToken.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:48364c8d563f29a459f0c3ccbe4f1c8e)
+ * (GenCodeChecksum:1246756a94c72807dc6cb4bc2c70bb7e)
  */
 use CRM_OAuth_ExtensionUtil as E;
 
@@ -34,112 +34,144 @@ class CRM_OAuth_DAO_OAuthContactToken extends CRM_Core_DAO {
   /**
    * Token ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * The tag specifies how this token will be used.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(128))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $tag;
 
   /**
    * Client ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $client_id;
 
   /**
    * Contact ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $contact_id;
 
   /**
    * Ex: authorization_code
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(31))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $grant_type;
 
   /**
    * List of scopes addressed by this token
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $scopes;
 
   /**
    * Ex: Bearer or MAC
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(128))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $token_type;
 
   /**
    * Token to present when accessing resources
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $access_token;
 
   /**
    * Expiration time for the access_token (seconds since epoch)
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $expires;
 
   /**
    * Token to present when refreshing the access_token
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $refresh_token;
 
   /**
    * Identifier for the resource owner. Structure varies by service.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(128))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $resource_owner_name;
 
   /**
    * Cached details describing the resource owner
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $resource_owner;
 
   /**
    * ?? copied from OAuthSysToken
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $error;
 
   /**
    * The token response data, per AccessToken::jsonSerialize
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $raw;
 
   /**
    * When the token was created.
    *
-   * @var timestamp
+   * @var string
+   *   (SQL type: timestamp)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $created_date;
 
   /**
    * When the token was created or modified.
    *
-   * @var timestamp
+   * @var string
+   *   (SQL type: timestamp)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $modified_date;
 
diff --git a/civicrm/ext/oauth-client/CRM/OAuth/DAO/OAuthSysToken.php b/civicrm/ext/oauth-client/CRM/OAuth/DAO/OAuthSysToken.php
index 6e924542e9..ee08c34ada 100644
--- a/civicrm/ext/oauth-client/CRM/OAuth/DAO/OAuthSysToken.php
+++ b/civicrm/ext/oauth-client/CRM/OAuth/DAO/OAuthSysToken.php
@@ -6,7 +6,7 @@
  *
  * Generated from oauth-client/xml/schema/CRM/OAuth/OAuthSysToken.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:75d2f40faea06bdd175a66124d1ac77d)
+ * (GenCodeChecksum:14387fad3c51ab994575b3cd759e6229)
  */
 use CRM_OAuth_ExtensionUtil as E;
 
@@ -34,105 +34,135 @@ class CRM_OAuth_DAO_OAuthSysToken extends CRM_Core_DAO {
   /**
    * Token ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
   /**
    * The tag specifies how this token will be used.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(128))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $tag;
 
   /**
    * Client ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $client_id;
 
   /**
    * Ex: authorization_code
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(31))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $grant_type;
 
   /**
    * List of scopes addressed by this token
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $scopes;
 
   /**
    * Ex: Bearer or MAC
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(128))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $token_type;
 
   /**
    * Token to present when accessing resources
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $access_token;
 
   /**
    * Expiration time for the access_token (seconds since epoch)
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $expires;
 
   /**
    * Token to present when refreshing the access_token
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $refresh_token;
 
   /**
    * Identifier for the resource owner. Structure varies by service.
    *
-   * @var string
+   * @var string|null
+   *   (SQL type: varchar(128))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $resource_owner_name;
 
   /**
    * Cached details describing the resource owner
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $resource_owner;
 
   /**
    * List of scopes addressed by this token
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $error;
 
   /**
    * The token response data, per AccessToken::jsonSerialize
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $raw;
 
   /**
    * When the token was created.
    *
-   * @var timestamp
+   * @var string
+   *   (SQL type: timestamp)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $created_date;
 
   /**
    * When the token was created or modified.
    *
-   * @var timestamp
+   * @var string
+   *   (SQL type: timestamp)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $modified_date;
 
diff --git a/civicrm/ext/oauth-client/info.xml b/civicrm/ext/oauth-client/info.xml
index 962d7d44ff..6708b73e60 100644
--- a/civicrm/ext/oauth-client/info.xml
+++ b/civicrm/ext/oauth-client/info.xml
@@ -15,7 +15,7 @@
     <url desc="Licensing">http://www.gnu.org/licenses/agpl-3.0.html</url>
   </urls>
   <releaseDate>2020-10-23</releaseDate>
-  <version>5.46.2</version>
+  <version>5.47.0</version>
   <develStage>stable</develStage>
   <compatibility>
     <ver>5.38</ver>
diff --git a/civicrm/ext/oauth-client/oauth_client.civix.php b/civicrm/ext/oauth-client/oauth_client.civix.php
index f4fc3b0468..3d9ae5d3f5 100644
--- a/civicrm/ext/oauth-client/oauth_client.civix.php
+++ b/civicrm/ext/oauth-client/oauth_client.civix.php
@@ -91,9 +91,9 @@ function _oauth_client_civix_civicrm_config(&$config = NULL) {
   }
   $configured = TRUE;
 
-  $template =& CRM_Core_Smarty::singleton();
+  $template = CRM_Core_Smarty::singleton();
 
-  $extRoot = dirname(__FILE__) . DIRECTORY_SEPARATOR;
+  $extRoot = __DIR__ . DIRECTORY_SEPARATOR;
   $extDir = $extRoot . 'templates';
 
   if (is_array($template->template_dir)) {
diff --git a/civicrm/ext/payflowpro/info.xml b/civicrm/ext/payflowpro/info.xml
index cda6ccc31b..a0d5addf72 100644
--- a/civicrm/ext/payflowpro/info.xml
+++ b/civicrm/ext/payflowpro/info.xml
@@ -15,7 +15,7 @@
     <url desc="Licensing">http://www.gnu.org/licenses/agpl-3.0.html</url>
   </urls>
   <releaseDate>2021-04-13</releaseDate>
-  <version>5.46.2</version>
+  <version>5.47.0</version>
   <develStage>stable</develStage>
   <compatibility>
     <ver>5.0</ver>
diff --git a/civicrm/ext/payflowpro/payflowpro.civix.php b/civicrm/ext/payflowpro/payflowpro.civix.php
index 981716e9d6..02c9abccac 100644
--- a/civicrm/ext/payflowpro/payflowpro.civix.php
+++ b/civicrm/ext/payflowpro/payflowpro.civix.php
@@ -91,9 +91,10 @@ function _payflowpro_civix_civicrm_config(&$config = NULL) {
   }
   $configured = TRUE;
 
-  $template =& CRM_Core_Smarty::singleton();
+  $template = CRM_Core_Smarty::singleton();
 
-  $extRoot = dirname(__FILE__) . DIRECTORY_SEPARATOR;
+  $extRoot = __DIR__
+    . DIRECTORY_SEPARATOR;
   $extDir = $extRoot . 'templates';
 
   if (is_array($template->template_dir)) {
diff --git a/civicrm/ext/recaptcha/info.xml b/civicrm/ext/recaptcha/info.xml
index 9a4d5e2c8d..1c1f4bf241 100644
--- a/civicrm/ext/recaptcha/info.xml
+++ b/civicrm/ext/recaptcha/info.xml
@@ -13,7 +13,7 @@
     <url desc="Licensing">http://www.gnu.org/licenses/agpl-3.0.html</url>
   </urls>
   <releaseDate>2021-04-03</releaseDate>
-  <version>5.46.2</version>
+  <version>5.47.0</version>
   <tags>
     <tag>mgmt:hidden</tag>
   </tags>
diff --git a/civicrm/ext/recaptcha/recaptcha.civix.php b/civicrm/ext/recaptcha/recaptcha.civix.php
index 3b0feb3880..dc51b7677d 100644
--- a/civicrm/ext/recaptcha/recaptcha.civix.php
+++ b/civicrm/ext/recaptcha/recaptcha.civix.php
@@ -91,9 +91,9 @@ function _recaptcha_civix_civicrm_config(&$config = NULL) {
   }
   $configured = TRUE;
 
-  $template =& CRM_Core_Smarty::singleton();
+  $template = CRM_Core_Smarty::singleton();
 
-  $extRoot = dirname(__FILE__) . DIRECTORY_SEPARATOR;
+  $extRoot = __DIR__ . DIRECTORY_SEPARATOR;
   $extDir = $extRoot . 'templates';
 
   if (is_array($template->template_dir)) {
diff --git a/civicrm/ext/search_kit/CRM/Search/DAO/SearchDisplay.php b/civicrm/ext/search_kit/CRM/Search/DAO/SearchDisplay.php
index c7dfeb7b18..3ecead8308 100644
--- a/civicrm/ext/search_kit/CRM/Search/DAO/SearchDisplay.php
+++ b/civicrm/ext/search_kit/CRM/Search/DAO/SearchDisplay.php
@@ -6,7 +6,7 @@
  *
  * Generated from org.civicrm.search_kit/xml/schema/CRM/Search/SearchDisplay.xml
  * DO NOT EDIT.  Generated by CRM_Core_CodeGen
- * (GenCodeChecksum:6d44d0c212e3f352182cac098e4d44ac)
+ * (GenCodeChecksum:d67945fe44bd5c7f1822580239f044ab)
  */
 use CRM_Search_ExtensionUtil as E;
 
@@ -34,7 +34,9 @@ class CRM_Search_DAO_SearchDisplay extends CRM_Core_DAO {
   /**
    * Unique SearchDisplay ID
    *
-   * @var int
+   * @var int|string|null
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $id;
 
@@ -42,6 +44,8 @@ class CRM_Search_DAO_SearchDisplay extends CRM_Core_DAO {
    * Unique name for identifying search display
    *
    * @var string
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $name;
 
@@ -49,13 +53,17 @@ class CRM_Search_DAO_SearchDisplay extends CRM_Core_DAO {
    * Label for identifying search display to administrators
    *
    * @var string
+   *   (SQL type: varchar(255))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $label;
 
   /**
    * FK to saved search table.
    *
-   * @var int
+   * @var int|string
+   *   (SQL type: int unsigned)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $saved_search_id;
 
@@ -63,20 +71,26 @@ class CRM_Search_DAO_SearchDisplay extends CRM_Core_DAO {
    * Type of display
    *
    * @var string
+   *   (SQL type: varchar(128))
+   *   Note that values will be retrieved from the database as a string.
    */
   public $type;
 
   /**
    * Configuration data for the search display
    *
-   * @var text
+   * @var string|null
+   *   (SQL type: text)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $settings;
 
   /**
    * Skip permission checks and ACLs when running this display.
    *
-   * @var bool
+   * @var bool|string|null
+   *   (SQL type: tinyint)
+   *   Note that values will be retrieved from the database as a string.
    */
   public $acl_bypass;
 
@@ -213,7 +227,7 @@ class CRM_Search_DAO_SearchDisplay extends CRM_Core_DAO {
           'title' => E::ts('Search Display Settings'),
           'description' => E::ts('Configuration data for the search display'),
           'where' => 'civicrm_search_display.settings',
-          'default' => 'NULL',
+          'default' => NULL,
           'table_name' => 'civicrm_search_display',
           'entity' => 'SearchDisplay',
           'bao' => 'CRM_Search_DAO_SearchDisplay',
diff --git a/civicrm/ext/search_kit/Civi/Api4/Action/SearchDisplay/AbstractRunAction.php b/civicrm/ext/search_kit/Civi/Api4/Action/SearchDisplay/AbstractRunAction.php
index 795bb7d492..d702f76335 100644
--- a/civicrm/ext/search_kit/Civi/Api4/Action/SearchDisplay/AbstractRunAction.php
+++ b/civicrm/ext/search_kit/Civi/Api4/Action/SearchDisplay/AbstractRunAction.php
@@ -94,19 +94,8 @@ abstract class AbstractRunAction extends \Civi\Api4\Generic\AbstractAction {
       throw new UnauthorizedException('Access denied');
     }
     $this->loadSavedSearch();
-    if (is_string($this->display)) {
-      $this->display = SearchDisplay::get(FALSE)
-        ->setSelect(['*', 'type:name'])
-        ->addWhere('name', '=', $this->display)
-        ->addWhere('saved_search_id', '=', $this->savedSearch['id'])
-        ->execute()->single();
-    }
-    elseif (is_null($this->display)) {
-      $this->display = SearchDisplay::getDefault(FALSE)
-        ->addSelect('*', 'type:name')
-        ->setSavedSearch($this->savedSearch)
-        ->execute()->first();
-    }
+    $this->loadSearchDisplay();
+
     // Displays with acl_bypass must be embedded on an afform which the user has access to
     if (
       $this->checkPermissions && !empty($this->display['acl_bypass']) &&
@@ -203,8 +192,8 @@ abstract class AbstractRunAction extends \Civi\Api4\Generic\AbstractAction {
   }
 
   /**
-   * @param $column
-   * @param $data
+   * @param array $column
+   * @param array $data
    * @return array{val: mixed, links: array, edit: array, label: string, title: string, image: array, cssClass: string}
    */
   private function formatColumn($column, $data) {
@@ -217,7 +206,7 @@ abstract class AbstractRunAction extends \Civi\Api4\Generic\AbstractAction {
           $out['val'] = $this->replaceTokens($column['empty_value'], $data, 'view');
         }
         elseif ($column['rewrite']) {
-          $out['val'] = $this->replaceTokens($column['rewrite'], $data, 'view');
+          $out['val'] = $this->rewrite($column, $data);
         }
         else {
           $out['val'] = $this->formatViewValue($column['key'], $rawValue);
@@ -275,6 +264,23 @@ abstract class AbstractRunAction extends \Civi\Api4\Generic\AbstractAction {
     return $out;
   }
 
+  /**
+   * Rewrite field value, subtituting tokens and evaluating smarty tags
+   *
+   * @param array $column
+   * @param array $data
+   * @return string
+   */
+  private function rewrite(array $column, array $data): string {
+    $output = $this->replaceTokens($column['rewrite'], $data, 'view');
+    // Cheap strpos to skip Smarty processing if not needed
+    if (strpos($output, '{') !== FALSE) {
+      $smarty = \CRM_Core_Smarty::singleton();
+      $output = $smarty->fetchWith("string:$output", []);
+    }
+    return $output;
+  }
+
   /**
    * Evaluates conditional style rules
    *
@@ -306,10 +312,8 @@ abstract class AbstractRunAction extends \Civi\Api4\Generic\AbstractAction {
    */
   protected function getCssRuleCondition($clause) {
     $fieldKey = $clause[1] ?? NULL;
-    // For fields used in group by, add aggregation and change operator from = to CONTAINS
-    // FIXME: This assumes the operator is always set to '=', which so far is all the admin UI supports.
-    // That's only a safe assumption as long as the admin UI doesn't have an operator selector.
-    // @see ang/crmSearchAdmin/displays/common/searchAdminCssRules.html
+    // For fields used in group by, add aggregation and change operator to CONTAINS
+    // NOTE: This doesn't support any other operators for aggregated fields.
     if ($fieldKey && $this->canAggregate($fieldKey)) {
       $clause[2] = 'CONTAINS';
       $fieldKey = 'GROUP_CONCAT_' . str_replace(['.', ':'], '_', $clause[1]);
@@ -373,6 +377,9 @@ abstract class AbstractRunAction extends \Civi\Api4\Generic\AbstractAction {
       $out['text'] = $this->replaceTokens($column['text'], $data, 'view');
     }
     foreach ($column['links'] as $item) {
+      if (!$this->checkLinkCondition($item, $data)) {
+        continue;
+      }
       $path = $this->replaceTokens($this->getLinkPath($item, $data), $data, 'url');
       if ($path) {
         $link = [
@@ -390,6 +397,30 @@ abstract class AbstractRunAction extends \Civi\Api4\Generic\AbstractAction {
     return $out;
   }
 
+  /**
+   * Check if a link should be shown based on its conditions.
+   *
+   * Given a link, check if it is set to be displayed conditionally.
+   * If so, evaluate the condition, else return TRUE.
+   *
+   * @param array $item
+   * @param array $data
+   * @return bool
+   */
+  private function checkLinkCondition(array $item, array $data): bool {
+    if (empty($item['condition'][0]) || empty($item['condition'][1])) {
+      return TRUE;
+    }
+    $op = $item['condition'][1];
+    if ($item['condition'][0] === 'check user permission') {
+      if (!empty($item['condition'][2]) && !\CRM_Core_Permission::check($item['condition'][2])) {
+        return $op !== '=';
+      }
+      return TRUE;
+    }
+    return ArrayQueryActionTrait::filterCompare($data, $item['condition']);
+  }
+
   /**
    * @param array $link
    * @param array $data
@@ -483,7 +514,7 @@ abstract class AbstractRunAction extends \Civi\Api4\Generic\AbstractAction {
 
   /**
    * @param $key
-   * @return array{entity: string, input_type: string, data_type: string, options: bool, serialize: bool, fk_entity: string, value_key: string, value_path: string, id_key: string, id_path: string}|null
+   * @return array{entity: string, input_type: string, data_type: string, options: bool, serialize: bool, nullable: bool, fk_entity: string, value_key: string, value_path: string, id_key: string, id_path: string}|null
    */
   private function getEditableInfo($key) {
     [$key] = explode(':', $key);
@@ -506,6 +537,7 @@ abstract class AbstractRunAction extends \Civi\Api4\Generic\AbstractAction {
         'data_type' => $field['data_type'],
         'options' => !empty($field['options']),
         'serialize' => !empty($field['serialize']),
+        'nullable' => !empty($field['nullable']),
         'fk_entity' => $field['fk_entity'],
         'value_key' => $field['name'],
         'value_path' => $key,
@@ -545,7 +577,7 @@ abstract class AbstractRunAction extends \Civi\Api4\Generic\AbstractAction {
    * @return string
    */
   private function replaceTokens($tokenExpr, $data, $format, $index = 0) {
-    if ($tokenExpr) {
+    if (strpos($tokenExpr, '[') !== FALSE) {
       foreach ($this->getTokens($tokenExpr) as $token) {
         $val = $data[$token] ?? NULL;
         if (isset($val) && $format === 'view') {
@@ -1002,4 +1034,25 @@ abstract class AbstractRunAction extends \Civi\Api4\Generic\AbstractAction {
     }
   }
 
+  /**
+   * Loads display if not already an array
+   */
+  private function loadSearchDisplay(): void {
+    // Display name given
+    if (is_string($this->display)) {
+      $this->display = SearchDisplay::get(FALSE)
+        ->setSelect(['*', 'type:name'])
+        ->addWhere('name', '=', $this->display)
+        ->addWhere('saved_search_id', '=', $this->savedSearch['id'])
+        ->execute()->single();
+    }
+    // Null given - use default display
+    elseif (is_null($this->display)) {
+      $this->display = SearchDisplay::getDefault(FALSE)
+        ->addSelect('*', 'type:name')
+        ->setSavedSearch($this->savedSearch)
+        ->execute()->first();
+    }
+  }
+
 }
diff --git a/civicrm/ext/search_kit/Civi/Api4/Action/SearchDisplay/GetSearchTasks.php b/civicrm/ext/search_kit/Civi/Api4/Action/SearchDisplay/GetSearchTasks.php
index 94c332ccb6..165441a173 100644
--- a/civicrm/ext/search_kit/Civi/Api4/Action/SearchDisplay/GetSearchTasks.php
+++ b/civicrm/ext/search_kit/Civi/Api4/Action/SearchDisplay/GetSearchTasks.php
@@ -61,6 +61,17 @@ class GetSearchTasks extends \Civi\Api4\Generic\AbstractAction {
         'icon' => 'fa-save',
         'uiDialog' => ['templateUrl' => '~/crmSearchTasks/crmSearchTaskUpdate.html'],
       ];
+
+      $taggable = \CRM_Core_OptionGroup::values('tag_used_for', FALSE, FALSE, FALSE, NULL, 'name');
+      if (in_array($entity['name'], $taggable, TRUE)) {
+        $tasks[$entity['name']]['tag'] = [
+          'module' => 'crmSearchTasks',
+          'title' => E::ts('Tag - Add/Remove Tags'),
+          'icon' => 'fa-tags',
+          'uiDialog' => ['templateUrl' => '~/crmSearchTasks/crmSearchTaskTag.html'],
+        ];
+      }
+
     }
 
     if (array_key_exists('delete', $entity['actions'])) {
@@ -75,13 +86,14 @@ class GetSearchTasks extends \Civi\Api4\Generic\AbstractAction {
     if ($entity['name'] === 'Contact') {
       // Add contact tasks which support standalone mode
       $contactTasks = $this->checkPermissions ? \CRM_Contact_Task::permissionedTaskTitles(\CRM_Core_Permission::getPermission()) : NULL;
+      // These tasks are redundant with the new api-based ones in SearchKit
+      $redundant = [\CRM_Core_Task::TAG_ADD, \CRM_Core_Task::TAG_REMOVE, \CRM_Core_Task::TASK_DELETE];
       foreach (\CRM_Contact_Task::tasks() as $id => $task) {
         if (
           (!$this->checkPermissions || isset($contactTasks[$id])) &&
           // Must support standalone mode (with a 'url' property)
           !empty($task['url']) &&
-          // The delete task is redundant with the new api-based one
-          $task['url'] !== 'civicrm/task/delete-contact'
+          !in_array($id, $redundant)
         ) {
           if ($task['url'] === 'civicrm/task/pick-profile') {
             $task['title'] = E::ts('Profile Update');
diff --git a/civicrm/ext/search_kit/Civi/Search/Admin.php b/civicrm/ext/search_kit/Civi/Search/Admin.php
index f8a8ecb96d..21f87cfff6 100644
--- a/civicrm/ext/search_kit/Civi/Search/Admin.php
+++ b/civicrm/ext/search_kit/Civi/Search/Admin.php
@@ -25,16 +25,19 @@ use CRM_Search_ExtensionUtil as E;
 class Admin {
 
   /**
+   * Returns clientside data needed for the `crmSearchAdmin` Angular module.
+   *
    * @return array
    */
   public static function getAdminSettings():array {
     $schema = self::getSchema();
     $extensions = \CRM_Extension_System::singleton()->getMapper();
-    return [
+    $data = [
       'schema' => self::addImplicitFKFields($schema),
       'joins' => self::getJoins($schema),
       'pseudoFields' => AbstractRunAction::getPseudoFields(),
       'operators' => \CRM_Utils_Array::makeNonAssociative(self::getOperators()),
+      'permissions' => [],
       'functions' => self::getSqlFunctions(),
       'displayTypes' => Display::getDisplayTypes(['id', 'name', 'label', 'description', 'icon']),
       'styles' => \CRM_Utils_Array::makeNonAssociative(self::getStyles()),
@@ -49,9 +52,26 @@ class Admin {
         ->addWhere('used_for', 'CONTAINS', 'civicrm_saved_search')
         ->execute(),
     ];
+    $perms = \Civi\Api4\Permission::get()
+      ->addWhere('group', 'IN', ['civicrm', 'cms'])
+      ->addWhere('is_active', '=', 1)
+      ->setOrderBy(['title' => 'ASC'])
+      ->execute();
+    foreach ($perms as $perm) {
+      $data['permissions'][] = [
+        'id' => $perm['name'],
+        'text' => $perm['title'],
+        'description' => $perm['description'] ?? NULL,
+      ];
+    }
+    return $data;
   }
 
   /**
+   * Returns operators supported by SearchKit with translated labels.
+   *
+   * This is a subset of APIv4 operators; some redundant ones are omitted for clarity.
+   *
    * @return string[]
    */
   public static function getOperators():array {
@@ -66,9 +86,9 @@ class Admin {
       'IN' => E::ts('Is One Of'),
       'NOT IN' => E::ts('Not One Of'),
       'LIKE' => E::ts('Is Like'),
-      'REGEXP' => E::ts('Matches Regexp'),
       'NOT LIKE' => E::ts('Not Like'),
-      'NOT REGEXP' => E::ts('Not Regexp'),
+      'REGEXP' => E::ts('Matches Pattern'),
+      'NOT REGEXP' => E::ts("Doesn't Match Pattern"),
       'BETWEEN' => E::ts('Is Between'),
       'NOT BETWEEN' => E::ts('Not Between'),
       'IS EMPTY' => E::ts('Is Empty'),
@@ -77,6 +97,8 @@ class Admin {
   }
 
   /**
+   * Returns list of css style names (based on Bootstrap3).
+   *
    * @return string[]
    */
   public static function getStyles():array {
@@ -92,10 +114,11 @@ class Admin {
   }
 
   /**
-   * Fetch all entities the current user has permission to `get`
-   * @return array
+   * Fetch all entities the current user has permission to `get`.
+   *
+   * @return array[]
    */
-  public static function getSchema() {
+  public static function getSchema(): array {
     $schema = [];
     $entities = \Civi\Api4\Entity::get()
       ->addSelect('name', 'title', 'title_plural', 'bridge_title', 'type', 'primary_key', 'description', 'label_field', 'icon', 'dao', 'bridge', 'ui_join_filters', 'searchable', 'order_by')
@@ -113,7 +136,7 @@ class Admin {
           $entity['links'] = array_values($links);
         }
         $getFields = civicrm_api4($entity['name'], 'getFields', [
-          'select' => ['name', 'title', 'label', 'description', 'type', 'options', 'input_type', 'input_attrs', 'data_type', 'serialize', 'entity', 'fk_entity', 'readonly', 'operators'],
+          'select' => ['name', 'title', 'label', 'description', 'type', 'options', 'input_type', 'input_attrs', 'data_type', 'serialize', 'entity', 'fk_entity', 'readonly', 'operators', 'nullable'],
           'where' => [['name', 'NOT IN', ['api_key', 'hash']]],
           'orderBy' => ['label'],
         ]);
@@ -140,12 +163,14 @@ class Admin {
   }
 
   /**
-   * Add in FK fields for implicit joins
-   * For example, add a `campaign_id.title` field to the Contribution entity
-   * @param $schema
+   * Add in FK fields for implicit joins.
+   *
+   * For example, add a `campaign_id.title` field to the Contribution entity.
+   *
+   * @param array $schema
    * @return array
    */
-  private static function addImplicitFKFields($schema) {
+  private static function addImplicitFKFields(array $schema):array {
     foreach ($schema as &$entity) {
       if ($entity['searchable'] !== 'bridge') {
         foreach (array_reverse($entity['fields'], TRUE) as $index => $field) {
@@ -172,10 +197,12 @@ class Admin {
   }
 
   /**
+   * Find all the ways each entity can be joined.
+   *
    * @param array $allowedEntities
    * @return array
    */
-  public static function getJoins(array $allowedEntities) {
+  public static function getJoins(array $allowedEntities):array {
     $joins = [];
     foreach ($allowedEntities as $entity) {
       // Multi-record custom field groups (to-date only the contact entity supports these)
@@ -221,7 +248,7 @@ class Admin {
               // Sanity check - keyField must exist
               !$keyField ||
               // Exclude any joins that are better represented by pseudoconstants
-              is_a($reference, 'CRM_Core_Reference_OptionValue') || !empty($keyField['options']) ||
+              is_a($reference, 'CRM_Core_Reference_OptionValue') ||
               // Sanity check - table should match
               $daoClass::getTableName() !== $reference->getReferenceTable()
             ) {
@@ -316,6 +343,8 @@ class Admin {
   }
 
   /**
+   * Find the reference for a given fieldName.
+   *
    * @param string $fieldName
    * @param \CRM_Core_Reference_Basic[] $references
    * @return \CRM_Core_Reference_Basic
@@ -329,15 +358,15 @@ class Admin {
   }
 
   /**
-   * Boilerplate join clause
+   * Fill in boilerplate join clause with supplied values.
    *
    * @param string $nearCol
    * @param string $farCol
-   * @param string $targetTable
+   * @param string|null $targetTable
    * @param string|null $dynamicCol
    * @return array[]
    */
-  private static function getJoinConditions($nearCol, $farCol, $targetTable = NULL, $dynamicCol = NULL) {
+  private static function getJoinConditions(string $nearCol, string $farCol, string $targetTable = NULL, string $dynamicCol = NULL):array {
     $conditions = [
       [
         $nearCol,
@@ -356,11 +385,13 @@ class Admin {
   }
 
   /**
-   * @param $alias
+   * Calculate default conditions for a join.
+   *
+   * @param string $alias
    * @param array ...$entities
    * @return array
    */
-  private static function getJoinDefaults($alias, ...$entities):array {
+  private static function getJoinDefaults(string $alias, ...$entities):array {
     $conditions = [];
     foreach ($entities as $entity) {
       foreach ($entity['ui_join_filters'] ?? [] as $fieldName) {
@@ -387,7 +418,14 @@ class Admin {
     return $conditions;
   }
 
-  private static function getSqlFunctions() {
+  /**
+   * Get all sql functions that can be used in SearchKit.
+   *
+   * Includes the generic "Arithmetic" pseudo-function.
+   *
+   * @return array
+   */
+  private static function getSqlFunctions():array {
     $functions = \CRM_Api4_Page_Api4Explorer::getSqlFunctions();
     // Add faux function "e" for SqlEquations
     $functions[] = [
diff --git a/civicrm/ext/search_kit/ang/crmSearchAdmin.module.js b/civicrm/ext/search_kit/ang/crmSearchAdmin.module.js
index 7edab31d64..dcfd9ee9b9 100644
--- a/civicrm/ext/search_kit/ang/crmSearchAdmin.module.js
+++ b/civicrm/ext/search_kit/ang/crmSearchAdmin.module.js
@@ -72,22 +72,6 @@
       if (!this.tab) {
         this.tab = this.tabs[0].name;
       }
-
-      this.openImportDialog = function() {
-        var options = CRM.utils.adjustDialogDefaults({
-          autoOpen: false,
-          title: ts('Import Saved Search')
-        });
-        dialogService.open('crmSearchAdminImport', '~/crmSearchAdmin/searchListing/import.html', {}, options)
-          .then(function() {
-            // Refresh the custom tab by resetting the filters
-            ctrl.tabs[0].filters = {};
-            // Timeout ensures the change gets noticed by the display's $watch
-            $timeout(function() {
-              ctrl.tabs[0].filters = {has_base: false};
-            }, 300);
-          }, _.noop);
-      };
     })
 
     // Controller for creating a new search
@@ -184,7 +168,7 @@
         }
         // Might be a pseudoField
         if (!field) {
-          field = _.cloneDeep(_.find(CRM.crmSearchAdmin.pseudoFields, {name: name}));
+          field = _.find(CRM.crmSearchAdmin.pseudoFields, {name: name});
         }
         if (field) {
           field.baseEntity = entityName;
diff --git a/civicrm/ext/search_kit/ang/crmSearchAdmin/crmSearchAdminImport.html b/civicrm/ext/search_kit/ang/crmSearchAdmin/crmSearchAdminImport.html
index 64872d10d7..153b5dc2cb 100644
--- a/civicrm/ext/search_kit/ang/crmSearchAdmin/crmSearchAdminImport.html
+++ b/civicrm/ext/search_kit/ang/crmSearchAdmin/crmSearchAdminImport.html
@@ -2,7 +2,7 @@
   <div class="alert alert-info">
     <p>
       <i class="crm-i fa-info-circle"></i>
-      {{:: ts('A Search configuration copied from the "Export" action can be pasted here.') }}
+      {{:: ts('Search configuration copied from the "Export" action can be pasted here.') }}
     </p>
     <p>
       {{:: ts('Note: a Saved Search with the same name must not already exist.') }}
diff --git a/civicrm/ext/search_kit/ang/crmSearchAdmin/crmSearchAdminLinkGroup.component.js b/civicrm/ext/search_kit/ang/crmSearchAdmin/crmSearchAdminLinkGroup.component.js
index 6623f2933d..4956b302de 100644
--- a/civicrm/ext/search_kit/ang/crmSearchAdmin/crmSearchAdminLinkGroup.component.js
+++ b/civicrm/ext/search_kit/ang/crmSearchAdmin/crmSearchAdminLinkGroup.component.js
@@ -8,11 +8,19 @@
       apiParams: '<',
       links: '<'
     },
+    require: {
+      crmSearchAdmin: '^crmSearchAdmin'
+    },
     templateUrl: '~/crmSearchAdmin/crmSearchAdminLinkGroup.html',
     controller: function ($scope, $element, $timeout, searchMeta) {
       var ts = $scope.ts = CRM.ts('org.civicrm.search_kit'),
         ctrl = this,
-        linkProps = ['path', 'entity', 'action', 'join', 'target', 'icon', 'text', 'style'];
+        linkProps = ['path', 'entity', 'action', 'join', 'target', 'icon', 'text', 'style', 'condition'];
+
+      ctrl.permissionOperators = [
+        {key: '=', value: ts('Has')},
+        {key: '!=', value: ts('Lacks')}
+      ];
 
       this.styles = CRM.crmSearchAdmin.styles;
 
@@ -20,6 +28,26 @@
         return _.findWhere(this.styles, {key: item.style});
       };
 
+      this.getField = searchMeta.getField;
+
+      this.fields = function() {
+        var selectFields = ctrl.crmSearchAdmin.getSelectFields();
+        var permissionField = [{
+          text: ts('Current User Permission'),
+          id: 'check user permission',
+          description: ts('Check permission of logged-in user')
+        }];
+        return {results: permissionField.concat(selectFields)};
+      };
+
+      this.onChangeCondition = function(item) {
+        if (item.condition[0]) {
+          item.condition[1] = '=';
+        } else {
+          item.condition = [];
+        }
+      };
+
       this.sortableOptions = {
         containment: 'tbody',
         direction: 'vertical',
@@ -32,23 +60,31 @@
         }
       };
 
+      this.permissions = CRM.crmSearchAdmin.permissions;
+
       $scope.pickIcon = function(index) {
         searchMeta.pickIcon().then(function(icon) {
           ctrl.group[index].icon = icon;
         });
       };
 
+      function setDefaults(item, newValue) {
+        _.each(linkProps, function(prop) {
+          item[prop] = newValue[prop] || (prop === 'condition' ? [] : '');
+        });
+      }
+
       this.addItem = function(item) {
-        ctrl.group.push(_.pick(item, linkProps));
+        var newItem = _.pick(item, linkProps);
+        setDefaults(newItem, newItem);
+        ctrl.group.push(newItem);
       };
 
       this.onChangeLink = function(item, newValue) {
         if (newValue.path === 'civicrm/') {
           newValue = JSON.parse(this.default);
         }
-        _.each(linkProps, function(prop) {
-          item[prop] = newValue[prop] || '';
-        });
+        setDefaults(item, newValue);
       };
 
       this.serialize = JSON.stringify;
@@ -58,11 +94,15 @@
           style: 'default',
           text: ts('Link'),
           icon: 'fa-external-link',
+          condition: [],
           path: 'civicrm/'
         });
         var defaultLinks = _.filter(ctrl.links, function(link) {
           return !link.join;
         });
+        _.each(ctrl.group, function(item) {
+          setDefaults(item, item);
+        });
         if (!ctrl.group.length) {
           if (defaultLinks.length) {
             _.each(defaultLinks, ctrl.addItem);
diff --git a/civicrm/ext/search_kit/ang/crmSearchAdmin/crmSearchAdminLinkGroup.html b/civicrm/ext/search_kit/ang/crmSearchAdmin/crmSearchAdminLinkGroup.html
index fc67712617..51d0d2a47c 100644
--- a/civicrm/ext/search_kit/ang/crmSearchAdmin/crmSearchAdminLinkGroup.html
+++ b/civicrm/ext/search_kit/ang/crmSearchAdmin/crmSearchAdminLinkGroup.html
@@ -6,6 +6,7 @@
       <th>{{:: ts('Open') }}</th>
       <th>{{:: ts('Text') }}</th>
       <th>{{:: ts('Link') }}</th>
+      <th>{{:: ts('Show if') }}</th>
       <th>{{:: ts('Style') }}</th>
       <th class="crm-search-admin-icon-col"></th>
     </tr>
@@ -34,6 +35,20 @@
       <td class="form-inline">
         <crm-search-admin-link-select api-entity="$ctrl.apiEntity" api-params="$ctrl.apiParams" link="item" links="$ctrl.links" on-change="$ctrl.onChangeLink(item, newLink)"></crm-search-admin-link-select>
       </td>
+      <td class="form-inline">
+        <input ng-model="item.condition[0]" crm-ui-select="{placeholder: item.action ? ts('Allowed') : ts('Always'), data: $ctrl.fields}" ng-change="$ctrl.onChangeCondition(item)">
+        <div class="form-group" ng-if="item.condition[0] === 'check user permission'">
+          <select class="form-control api4-operator" ng-model="item.condition[1]" ng-options="o.key as o.value for o in $ctrl.permissionOperators"></select>
+          <input class="form-control" crm-ui-select="{data: $ctrl.permissions}" ng-model="item.condition[2]">
+        </div>
+        <crm-search-condition class="form-group"
+          ng-if="item.condition[0] && item.condition[0] !== 'check user permission'"
+          clause="item.condition"
+          field="$ctrl.getField(item.condition[0])"
+          offset="1"
+          option-key="'name'">
+        </crm-search-condition>
+      </td>
       <td>
         <div class="btn-group">
           <button type="button" style="min-width: 85px" class="btn btn-{{ item.style }} dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
diff --git a/civicrm/ext/search_kit/ang/crmSearchAdmin/crmSearchAdminTokenSelect.component.js b/civicrm/ext/search_kit/ang/crmSearchAdmin/crmSearchAdminTokenSelect.component.js
index 3b4642dd9b..b5942976fb 100644
--- a/civicrm/ext/search_kit/ang/crmSearchAdmin/crmSearchAdminTokenSelect.component.js
+++ b/civicrm/ext/search_kit/ang/crmSearchAdmin/crmSearchAdminTokenSelect.component.js
@@ -28,14 +28,8 @@
 
       this.getTokens = function() {
         var allFields = ctrl.admin.getAllFields(ctrl.suffix || '', ['Field', 'Custom', 'Extra', 'Pseudo']);
-        _.eachRight(ctrl.admin.savedSearch.api_params.select, function(fieldName) {
-          allFields.unshift({
-            id: _.last(fieldName.split(' AS ')),
-            text: searchMeta.getDefaultLabel(fieldName)
-          });
-        });
         return {
-          results: allFields
+          results: ctrl.admin.getSelectFields().concat(allFields)
         };
       };
 
diff --git a/civicrm/ext/search_kit/ang/crmSearchAdmin/crmSearchClause.component.js b/civicrm/ext/search_kit/ang/crmSearchAdmin/crmSearchClause.component.js
index 8b97626693..cd235a7312 100644
--- a/civicrm/ext/search_kit/ang/crmSearchAdmin/crmSearchClause.component.js
+++ b/civicrm/ext/search_kit/ang/crmSearchAdmin/crmSearchClause.component.js
@@ -15,12 +15,11 @@
       deleteGroup: '&'
     },
     templateUrl: '~/crmSearchAdmin/crmSearchClause.html',
-    controller: function ($scope, $element, $timeout, searchMeta) {
+    controller: function ($scope, $element, searchMeta) {
       var ts = $scope.ts = CRM.ts('org.civicrm.search_kit'),
         ctrl = this,
         meta = {};
       this.conjunctions = {AND: ts('And'), OR: ts('Or'), NOT: ts('Not')};
-      this.operators = {};
       this.sortOptions = {
         axis: 'y',
         connectWith: '.api4-clause-group-sortable',
@@ -32,36 +31,8 @@
 
       this.$onInit = function() {
         ctrl.hasParent = !!$element.attr('delete-group');
-        _.each(ctrl.clauses, updateOperators);
       };
 
-      // Return a list of operators allowed for the field in a given clause
-      this.getOperators = function(clause) {
-        var field = ctrl.getField(clause[0]);
-        if (!field || !field.operators) {
-          return CRM.crmSearchAdmin.operators;
-        }
-        var opKey = field.operators.join();
-        if (!ctrl.operators[opKey]) {
-          ctrl.operators[opKey] = _.filter(CRM.crmSearchAdmin.operators, function(operator) {
-            return _.includes(field.operators, operator.key);
-          });
-        }
-        return ctrl.operators[opKey];
-      };
-
-      // Ensures a clause is using an operator that is allowed for the field
-      function updateOperators(clause) {
-        // Recurse into AND/OR/NOT groups
-        if (ctrl.conjunctions[clause[0]]) {
-          _.each(clause[1], updateOperators);
-        }
-        else if (!ctrl.skip && (!clause[1] || !_.includes(_.pluck(ctrl.getOperators(clause), 'key'), clause[1]))) {
-          clause[1] = ctrl.getOperators(clause)[0].key;
-          ctrl.changeClauseOperator(clause);
-        }
-      }
-
       // Gets the first arg of type "field"
       function getFirstArgFromExpr(expr) {
         if (!(expr in meta)) {
@@ -112,7 +83,6 @@
         if (value) {
           var newIndex = ctrl.clauses.length;
           ctrl.clauses.push([value, '=', '']);
-          updateOperators(ctrl.clauses[newIndex]);
         }
       };
 
@@ -124,34 +94,6 @@
       this.changeClauseField = function(clause, index) {
         if (clause[0] === '') {
           ctrl.deleteRow(index);
-        } else {
-          updateOperators(clause);
-        }
-      };
-
-      // Returns false for 'IS NULL', 'IS EMPTY', etc. true otherwise.
-      this.operatorTakesInput = function(operator) {
-        return operator.indexOf('IS ') !== 0;
-      };
-
-      this.changeClauseOperator = function(clause) {
-        // Add/remove value depending on whether operator allows for one
-        if (!ctrl.operatorTakesInput(clause[1])) {
-          clause.length = 2;
-        } else {
-          if (clause.length === 2) {
-            clause.push('');
-          }
-          // Change multi/single value to/from an array
-          var shouldBeArray = (clause[1] === 'IN' || clause[1] === 'NOT IN' || clause[1] === 'BETWEEN' || clause[1] === 'NOT BETWEEN');
-          if (!_.isArray(clause[2]) && shouldBeArray) {
-            clause[2] = [];
-          } else if (_.isArray(clause[2]) && !shouldBeArray) {
-            clause[2] = '';
-          }
-          if (clause[1] === 'BETWEEN' || clause[1] === 'NOT BETWEEN') {
-            clause[2].length = 2;
-          }
         }
       };
 
diff --git a/civicrm/ext/search_kit/ang/crmSearchAdmin/crmSearchClause.html b/civicrm/ext/search_kit/ang/crmSearchAdmin/crmSearchClause.html
index 9cc00440cf..b5a3ef25fb 100644
--- a/civicrm/ext/search_kit/ang/crmSearchAdmin/crmSearchClause.html
+++ b/civicrm/ext/search_kit/ang/crmSearchAdmin/crmSearchClause.html
@@ -19,8 +19,7 @@
         <span ng-if="!$ctrl.hasFunction(clause[0])">
           <input class="form-control collapsible-optgroups" ng-model="clause[0]" crm-ui-select="{data: $ctrl.fields, allowClear: true, placeholder: 'Field'}" ng-change="$ctrl.changeClauseField(clause, index)" />
         </span>
-        <select class="form-control api4-operator" ng-model="clause[1]" ng-options="o.key as o.value for o in $ctrl.getOperators(clause)" ng-change="$ctrl.changeClauseOperator(clause)" ></select>
-        <crm-search-input ng-if="$ctrl.operatorTakesInput(clause[1])" ng-model="clause[2]" field="$ctrl.getFieldOrFunction(clause[0])" option-key="$ctrl.getOptionKey(clause[0])" op="clause[1]" format="$ctrl.format" class="form-group"></crm-search-input>
+        <crm-search-condition clause="clause" field="$ctrl.getFieldOrFunction(clause[0])" offset="1" option-key="$ctrl.getOptionKey(clause[0])" format="$ctrl.format" class="form-group"></crm-search-condition>
       </div>
       <fieldset class="clearfix" ng-if="$ctrl.conjunctions[clause[0]]">
         <crm-search-clause allow-functions="$ctrl.allowFunctions" clauses="clause[1]" format="{{ $ctrl.format }}" op="{{ clause[0] }}" fields="$ctrl.fields" delete-group="$ctrl.deleteRow(index)" ></crm-search-clause>
diff --git a/civicrm/ext/search_kit/ang/crmSearchAdmin/crmSearchCondition.component.js b/civicrm/ext/search_kit/ang/crmSearchAdmin/crmSearchCondition.component.js
new file mode 100644
index 0000000000..2e112b6120
--- /dev/null
+++ b/civicrm/ext/search_kit/ang/crmSearchAdmin/crmSearchCondition.component.js
@@ -0,0 +1,115 @@
+(function(angular, $, _) {
+  "use strict";
+
+  angular.module('crmSearchAdmin').component('crmSearchCondition', {
+    bindings: {
+      field: '<',
+      clause: '<',
+      format: '<',
+      optionKey: '<',
+      offset: '<'
+    },
+    templateUrl: '~/crmSearchAdmin/crmSearchCondition.html',
+    controller: function ($scope) {
+      var ts = $scope.ts = CRM.ts('org.civicrm.search_kit'),
+        ctrl = this;
+      this.operators = {};
+
+      this.$onInit = function() {
+        $scope.$watch('$ctrl.field', updateOperators);
+      };
+
+      function getOperator() {
+        return ctrl.clause[ctrl.offset];
+      }
+
+      function setOperator(op) {
+        if (op !== getOperator()) {
+          ctrl.clause[ctrl.offset] = op;
+          ctrl.changeClauseOperator();
+        }
+      }
+
+      function getValue() {
+        return ctrl.clause[1 + ctrl.offset];
+      }
+
+      function setValue(val) {
+        ctrl.clause[1 + ctrl.offset] = val;
+      }
+
+      // Getter/setter for use with ng-model
+      this.getSetOperator = function(op) {
+        if (arguments.length) {
+          setOperator(op);
+        }
+        return getOperator();
+      };
+
+      // Getter/setter for use with ng-model
+      this.getSetValue = function(val) {
+        if (arguments.length) {
+          setValue(val);
+        }
+        return getValue();
+      };
+
+      // Return a list of operators allowed for the current field
+      this.getOperators = function() {
+        var field = ctrl.field || {},
+          allowedOps = field.operators;
+        if (!allowedOps && field.data_type === 'Boolean') {
+          allowedOps = ['=', '!=', 'IS EMPTY', 'IS NOT EMPTY'];
+        }
+        if (!allowedOps && _.includes(['Boolean', 'Float', 'Date'], field.data_type)) {
+          allowedOps = ['=', '!=', '<', '>', '<=', '>=', 'IN', 'NOT IN', 'BETWEEN', 'NOT BETWEEN', 'IS EMPTY', 'IS NOT EMPTY'];
+        }
+        if (!allowedOps) {
+          return CRM.crmSearchAdmin.operators;
+        }
+        var opKey = allowedOps.join();
+        if (!ctrl.operators[opKey]) {
+          ctrl.operators[opKey] = _.filter(CRM.crmSearchAdmin.operators, function(operator) {
+            return _.includes(allowedOps, operator.key);
+          });
+        }
+        return ctrl.operators[opKey];
+      };
+
+      // Ensures clause is using an operator that is allowed for the field
+      function updateOperators() {
+        if ((!getOperator() || !_.includes(_.pluck(ctrl.getOperators(), 'key'), getOperator()))) {
+          setOperator(ctrl.getOperators()[0].key);
+        }
+      }
+
+      // Returns false for 'IS NULL', 'IS EMPTY', etc. true otherwise.
+      this.operatorTakesInput = function() {
+        return getOperator().indexOf('IS ') !== 0;
+      };
+
+      this.changeClauseOperator = function() {
+        // Add/remove value depending on whether operator allows for one
+        if (!ctrl.operatorTakesInput()) {
+          ctrl.clause.length = ctrl.offset + 1;
+        } else {
+          if (ctrl.clause.length === ctrl.offset + 1) {
+            ctrl.clause.push('');
+          }
+          // Change multi/single value to/from an array
+          var shouldBeArray = _.includes(['IN', 'NOT IN', 'BETWEEN', 'NOT BETWEEN'], getOperator());
+          if (!_.isArray(getValue()) && shouldBeArray) {
+            setValue([]);
+          } else if (_.isArray(getValue()) && !shouldBeArray) {
+            setValue('');
+          }
+          if (_.includes(['BETWEEN', 'NOT BETWEEN'], getOperator())) {
+            getValue().length = 2;
+          }
+        }
+      };
+
+    }
+  });
+
+})(angular, CRM.$, CRM._);
diff --git a/civicrm/ext/search_kit/ang/crmSearchAdmin/crmSearchCondition.html b/civicrm/ext/search_kit/ang/crmSearchAdmin/crmSearchCondition.html
new file mode 100644
index 0000000000..f1c149de3a
--- /dev/null
+++ b/civicrm/ext/search_kit/ang/crmSearchAdmin/crmSearchCondition.html
@@ -0,0 +1,2 @@
+<select class="form-control api4-operator" ng-model="$ctrl.getSetOperator" ng-model-options="{getterSetter: true}" ng-options="o.key as o.value for o in $ctrl.getOperators()" ng-change="$ctrl.changeClauseOperator()" ></select>
+<crm-search-input ng-if="$ctrl.operatorTakesInput()" ng-model="$ctrl.getSetValue" ng-model-options="{getterSetter: true}" field="$ctrl.field" option-key="$ctrl.optionKey" op="$ctrl.getSetOperator()" format="$ctrl.format" class="form-group"></crm-search-input>
diff --git a/civicrm/ext/search_kit/ang/crmSearchAdmin/displays/common/searchAdminCssRules.component.js b/civicrm/ext/search_kit/ang/crmSearchAdmin/displays/common/searchAdminCssRules.component.js
index b19ade12fd..3111e4a8b5 100644
--- a/civicrm/ext/search_kit/ang/crmSearchAdmin/displays/common/searchAdminCssRules.component.js
+++ b/civicrm/ext/search_kit/ang/crmSearchAdmin/displays/common/searchAdminCssRules.component.js
@@ -28,7 +28,10 @@
       this.styles.strikethrough = ts('Strikethrough');
 
       this.fields = function() {
-        return {results: ctrl.crmSearchAdmin.getAllFields(':name', ['Field', 'Custom', 'Extra'])};
+        var allFields = ctrl.crmSearchAdmin.getAllFields(':name', ['Field', 'Custom', 'Extra', 'Pseudo']);
+        return {
+          results: ctrl.crmSearchAdmin.getSelectFields().concat(allFields)
+        };
       };
 
       this.$onInit = function() {
@@ -61,8 +64,6 @@
         return !this.item.cssRules || !this.item.cssRules.length || _.last(this.item.cssRules)[1];
       };
 
-
-
     }
   });
 
diff --git a/civicrm/ext/search_kit/ang/crmSearchAdmin/displays/common/searchAdminCssRules.html b/civicrm/ext/search_kit/ang/crmSearchAdmin/displays/common/searchAdminCssRules.html
index cf9e7db745..662ebfa16a 100644
--- a/civicrm/ext/search_kit/ang/crmSearchAdmin/displays/common/searchAdminCssRules.html
+++ b/civicrm/ext/search_kit/ang/crmSearchAdmin/displays/common/searchAdminCssRules.html
@@ -22,9 +22,7 @@
   </div>
   <label>{{:: ts('If') }}</label>
   <input class="form-control collapsible-optgroups" ng-model="clause[1]" crm-ui-select="::{data: $ctrl.fields, allowClear: true, placeholder: ts('Always')}" ng-change="$ctrl.onSelectField(clause)" />
-  <!-- TODO: Support operators other than '=' as clause[2] -->
-  <label ng-if="clause[1]">{{:: ts('Is') }}</label>
-  <crm-search-input ng-if="clause[1]" ng-model="clause[3]" field="$ctrl.getField(clause[1])" option-key="'name'" op="clause[1]" format="$ctrl.format" class="form-group"></crm-search-input>
+  <crm-search-condition ng-if="clause[1]" clause="clause" field="$ctrl.getField(clause[1])" offset="2" option-key="'name'" format="$ctrl.format" class="form-group"></crm-search-condition>
   <button type="button" class="btn-xs btn-danger-outline" ng-click="$ctrl.item.cssRules.splice($index);" title="{{:: ts('Remove style') }}">
     <i class="crm-i fa-ban"></i>
   </button>
diff --git a/civicrm/ext/search_kit/ang/crmSearchAdmin/searchListing/buttons.html b/civicrm/ext/search_kit/ang/crmSearchAdmin/searchListing/buttons.html
index af8fde59a1..f77738780c 100644
--- a/civicrm/ext/search_kit/ang/crmSearchAdmin/searchListing/buttons.html
+++ b/civicrm/ext/search_kit/ang/crmSearchAdmin/searchListing/buttons.html
@@ -20,7 +20,7 @@
       </a>
     </li>
     <li title="{{:: ts('Export this saved search to a file') }}">
-      <a href ng-click="$ctrl.export(row)">
+      <a href crm-dialog-popup="crmSearchAdminExport" popup-data="row" popup-tpl="~/crmSearchAdmin/searchListing/export.html" title="{{:: ts('Export %1', {1: row.data.label}) }}">
         <i class="crm-i fa-download"></i>
         {{:: ts('Export...') }}
       </a>
diff --git a/civicrm/ext/search_kit/ang/crmSearchAdmin/searchListing/crmSearchAdminSearchListing.component.js b/civicrm/ext/search_kit/ang/crmSearchAdmin/searchListing/crmSearchAdminSearchListing.component.js
index 519557734c..80fbb10432 100644
--- a/civicrm/ext/search_kit/ang/crmSearchAdmin/searchListing/crmSearchAdminSearchListing.component.js
+++ b/civicrm/ext/search_kit/ang/crmSearchAdmin/searchListing/crmSearchAdminSearchListing.component.js
@@ -8,7 +8,7 @@
       tabCount: '='
     },
     templateUrl: '~/crmSearchDisplayTable/crmSearchDisplayTable.html',
-    controller: function($scope, $q, crmApi4, crmStatus, searchMeta, searchDisplayBaseTrait, searchDisplaySortableTrait, dialogService) {
+    controller: function($scope, $element, $q, crmApi4, crmStatus, searchMeta, searchDisplayBaseTrait, searchDisplaySortableTrait) {
       var ts = $scope.ts = CRM.ts('org.civicrm.search_kit'),
         // Mix in traits to this controller
         ctrl = angular.extend(this, searchDisplayBaseTrait, searchDisplaySortableTrait),
@@ -61,7 +61,7 @@
 
       this.$onInit = function() {
         buildDisplaySettings();
-        this.initializeDisplay($scope, $());
+        this.initializeDisplay($scope, $element);
         // Keep tab counts up-to-date - put rowCount in current tab if there are no other filters
         $scope.$watch('$ctrl.rowCount', function(val) {
           if (typeof val === 'number' && angular.equals(['has_base'], _.keys(ctrl.filters))) {
@@ -160,15 +160,6 @@
         );
       };
 
-      this.export = function(row) {
-        var options = CRM.utils.adjustDialogDefaults({
-          autoOpen: false,
-          height: 600,
-          title: ts('Export %1', {1: row.data.label})
-        });
-        dialogService.open('crmSearchAdminExport', '~/crmSearchAdmin/searchListing/export.html', row, options);
-      };
-
       function buildDisplaySettings() {
         ctrl.display = {
           type: 'table',
diff --git a/civicrm/ext/search_kit/ang/crmSearchAdmin/searchListing/searchList.html b/civicrm/ext/search_kit/ang/crmSearchAdmin/searchListing/searchList.html
index 9eaa2bfda1..770e7b7236 100644
--- a/civicrm/ext/search_kit/ang/crmSearchAdmin/searchListing/searchList.html
+++ b/civicrm/ext/search_kit/ang/crmSearchAdmin/searchListing/searchList.html
@@ -1,4 +1,4 @@
-<div id="bootstrap-theme" class="crm-search">
+<form id="bootstrap-theme" class="crm-search">
   <h1 crm-page-title>{{:: ts('Saved Searches') }}</h1>
 
   <!-- Tabs based on the has_base filter -->
@@ -28,11 +28,11 @@
       <span ng-if="$ctrl.getTags().results.length">
         <input class="form-control" ng-model="tab.filters.tags" ng-list crm-ui-select="{multiple: true, data: $ctrl.getTags, placeholder: ts('Filter by tags...')}">
       </span>
-      <a class="btn btn-secondary btn-sm pull-right" ng-if="tab.name === 'custom'" href ng-click="$ctrl.openImportDialog()">
+      <a class="btn btn-secondary btn-sm pull-right" ng-if="tab.name === 'custom'" href crm-dialog-popup="crmSearchAdminImport" popup-tpl="~/crmSearchAdmin/searchListing/import.html">
         <i class="crm-i fa-upload"></i>
         {{:: ts('Import') }}
       </a>
     </div>
     <crm-search-admin-search-listing filters="tab.filters" tab-count="tab.rowCount"></crm-search-admin-search-listing>
   </div>
-</div>
+</form>
diff --git a/civicrm/ext/search_kit/ang/crmSearchDisplay/crmSearchDisplayEditable.component.js b/civicrm/ext/search_kit/ang/crmSearchDisplay/crmSearchDisplayEditable.component.js
index 052b9dcfbc..f205e4a3aa 100644
--- a/civicrm/ext/search_kit/ang/crmSearchDisplay/crmSearchDisplayEditable.component.js
+++ b/civicrm/ext/search_kit/ang/crmSearchDisplay/crmSearchDisplayEditable.component.js
@@ -29,6 +29,7 @@
           options: col.edit.options,
           fk_entity: col.edit.fk_entity,
           serialize: col.edit.serialize,
+          nullable: col.edit.nullable
         };
 
         $(document).on('keydown.crmSearchDisplayEditable', function(e) {
@@ -36,8 +37,6 @@
             $scope.$apply(function() {
               ctrl.cancel();
             });
-          } else if (e.key === 'Enter') {
-            $scope.$apply(ctrl.save);
           }
         });
 
@@ -71,7 +70,7 @@
           action: 'update',
           select: ['options'],
           loadOptions: ['id', 'name', 'label', 'description', 'color', 'icon'],
-          where: [['name', '=', ctrl.field.name]],
+          where: [['name', '=', ctrl.field.name]]
         }, 0).then(function(field) {
           ctrl.field.options = optionsCache[cacheKey] = field.options;
         });
diff --git a/civicrm/ext/search_kit/ang/crmSearchDisplay/crmSearchDisplayEditable.html b/civicrm/ext/search_kit/ang/crmSearchDisplay/crmSearchDisplayEditable.html
index d0d8eca08f..767c642294 100644
--- a/civicrm/ext/search_kit/ang/crmSearchDisplay/crmSearchDisplayEditable.html
+++ b/civicrm/ext/search_kit/ang/crmSearchDisplay/crmSearchDisplayEditable.html
@@ -1,9 +1,11 @@
-<crm-search-input class="form-inline" field="$ctrl.field" ng-model="$ctrl.value"></crm-search-input>
-<div class="form-inline crm-search-display-editable-buttons">
-  <button type="button" ng-click="$ctrl.save()" class="btn btn-xs btn-success">
-    <i class="crm-i fa-check"></i>
-  </button>
-  <button type="button" ng-click="$ctrl.cancel()" class="btn btn-xs btn-danger">
-    <i class="crm-i fa-times"></i>
-  </button>
-</div>
+<form name="crmSearchDisplayEditableForm">
+  <crm-search-input class="form-inline" field="$ctrl.field" ng-model="$ctrl.value"></crm-search-input>
+  <div class="form-inline crm-search-display-editable-buttons">
+    <button type="submit" ng-disabled="!crmSearchDisplayEditableForm.$valid" ng-click="$ctrl.save()" class="btn btn-xs btn-success">
+      <i class="crm-i fa-check"></i>
+    </button>
+    <button type="button" ng-click="$ctrl.cancel()" class="btn btn-xs btn-danger">
+      <i class="crm-i fa-times"></i>
+    </button>
+  </div>
+</form>
diff --git a/civicrm/ext/search_kit/ang/crmSearchTasks/crmSearchBatchRunner.component.js b/civicrm/ext/search_kit/ang/crmSearchTasks/crmSearchBatchRunner.component.js
index 415d44d68a..6b910d825a 100644
--- a/civicrm/ext/search_kit/ang/crmSearchTasks/crmSearchBatchRunner.component.js
+++ b/civicrm/ext/search_kit/ang/crmSearchTasks/crmSearchBatchRunner.component.js
@@ -6,6 +6,7 @@
       entity: '<',
       action: '@',
       ids: '<',
+      idField: '@',
       params: '<',
       success: '&',
       error: '&'
@@ -22,7 +23,7 @@
 
       // Number of records to process in each batch
       var BATCH_SIZE = 500,
-        // Extimated number of seconds each batch will take (for auto-incrementing the progress bar)
+        // Estimated number of seconds each batch will take (for auto-incrementing the progress bar)
         EST_BATCH_TIME = 5;
 
       this.$onInit = function() {
@@ -41,8 +42,19 @@
           ctrl.last = ctrl.ids.length;
         }
         var params = _.cloneDeep(ctrl.params);
-        params.where = params.where || [];
-        params.where.push(['id', 'IN', ctrl.ids.slice(ctrl.first, ctrl.last)]);
+        if (ctrl.action === 'save') {
+          // For the save action, take each record from params and copy it with each supplied id
+          params.records = _.transform(ctrl.ids.slice(ctrl.first, ctrl.last), function(records, id) {
+            _.each(_.cloneDeep(ctrl.params.records), function(record) {
+              record[ctrl.idField || 'id'] = id;
+              records.push(record);
+            });
+          });
+        } else {
+          // For other batch actions (update, delete), add supplied ids to the where clause
+          params.where = params.where || [];
+          params.where.push([ctrl.idField || 'id', 'IN', ctrl.ids.slice(ctrl.first, ctrl.last)]);
+        }
         crmApi4(ctrl.entity, ctrl.action, params).then(
           function(result) {
             stopIncrementer();
diff --git a/civicrm/ext/search_kit/ang/crmSearchTasks/crmSearchInput/boolean.html b/civicrm/ext/search_kit/ang/crmSearchTasks/crmSearchInput/boolean.html
index 61ed9000e6..597071979e 100644
--- a/civicrm/ext/search_kit/ang/crmSearchTasks/crmSearchInput/boolean.html
+++ b/civicrm/ext/search_kit/ang/crmSearchTasks/crmSearchInput/boolean.html
@@ -1,8 +1,8 @@
-<div class="form-group" ng-if="!$ctrl.multi" >
+<div class="form-group" ng-if="!$ctrl.isMulti()" >
   <label class="radio-inline"><input type="radio" ng-value="true" ng-model="$ctrl.value"> {{:: ts('Yes') }}</label>
   <label class="radio-inline"><input type="radio" ng-value="false" ng-model="$ctrl.value"> {{:: ts('No') }}</label>
 </div>
-<div class="form-group" ng-if="$ctrl.multi" >
+<div class="form-group" ng-if="$ctrl.isMulti()" >
   <label class="checkbox-inline"><input type="checkbox" checklist-value="true" checklist-model="$ctrl.value"> {{:: ts('Yes') }}</label>
   <label class="checkbox-inline"><input type="checkbox" checklist-value="false" checklist-model="$ctrl.value"> {{:: ts('No') }}</label>
 </div>
diff --git a/civicrm/ext/search_kit/ang/crmSearchTasks/crmSearchInput/crmSearchInput.component.js b/civicrm/ext/search_kit/ang/crmSearchTasks/crmSearchInput/crmSearchInput.component.js
index b3bce0409d..9267fc09dd 100644
--- a/civicrm/ext/search_kit/ang/crmSearchTasks/crmSearchInput/crmSearchInput.component.js
+++ b/civicrm/ext/search_kit/ang/crmSearchTasks/crmSearchInput/crmSearchInput.component.js
@@ -14,16 +14,6 @@
       var ts = $scope.ts = CRM.ts('org.civicrm.search_kit'),
         ctrl = this;
 
-      this.isMulti = function() {
-        // If there's a search operator, return `true` if the operator takes multiple values, else `false`
-        if (ctrl.op) {
-          return ctrl.op === 'IN' || ctrl.op === 'NOT IN';
-        }
-        // If no search operator this is an input for e.g. the bulk update action
-        // Return `true` if the field is multi-valued, else `null`
-        return ctrl.field && (ctrl.field.serialize || ctrl.field.data_type === 'Array') ? true : null;
-      };
-
       this.$onInit = function() {
 
         $scope.$watch('$ctrl.value', function() {
diff --git a/civicrm/ext/search_kit/ang/crmSearchTasks/crmSearchInput/crmSearchInput.html b/civicrm/ext/search_kit/ang/crmSearchTasks/crmSearchInput/crmSearchInput.html
index bf434d9cf4..3f3a110dfb 100644
--- a/civicrm/ext/search_kit/ang/crmSearchTasks/crmSearchInput/crmSearchInput.html
+++ b/civicrm/ext/search_kit/ang/crmSearchTasks/crmSearchInput/crmSearchInput.html
@@ -1,13 +1,13 @@
 <div ng-switch="$ctrl.op || ''" class="form-group">
 
   <div ng-switch-when="BETWEEN|NOT BETWEEN" ng-switch-when-separator="|" class="form-group">
-    <crm-search-input-val field="$ctrl.field" multi="false" option-key="$ctrl.optionKey" ng-model="$ctrl.value[0]" class="form-group"></crm-search-input-val>
+    <crm-search-input-val field="$ctrl.field" op="'&gt;'" option-key="$ctrl.optionKey" ng-model="$ctrl.value[0]" class="form-group"></crm-search-input-val>
     -
-    <crm-search-input-val field="$ctrl.field" multi="false" option-key="$ctrl.optionKey" ng-model="$ctrl.value[1]" class="form-group"></crm-search-input-val>
+    <crm-search-input-val field="$ctrl.field" op="'&lt;'" option-key="$ctrl.optionKey" ng-model="$ctrl.value[1]" class="form-group"></crm-search-input-val>
   </div>
 
   <div ng-switch-default class="form-group">
-    <crm-search-input-val field="$ctrl.field" multi="$ctrl.isMulti()" option-key="$ctrl.optionKey" ng-model="$ctrl.value" class="form-group"></crm-search-input-val>
+    <crm-search-input-val field="$ctrl.field" op="$ctrl.op" option-key="$ctrl.optionKey" ng-model="$ctrl.value" class="form-group"></crm-search-input-val>
   </div>
 
 </div>
diff --git a/civicrm/ext/search_kit/ang/crmSearchTasks/crmSearchInput/crmSearchInputVal.component.js b/civicrm/ext/search_kit/ang/crmSearchTasks/crmSearchInput/crmSearchInputVal.component.js
index 99205c45c8..2c9ac721c5 100644
--- a/civicrm/ext/search_kit/ang/crmSearchTasks/crmSearchInput/crmSearchInputVal.component.js
+++ b/civicrm/ext/search_kit/ang/crmSearchTasks/crmSearchInput/crmSearchInputVal.component.js
@@ -4,7 +4,7 @@
   angular.module('crmSearchTasks').component('crmSearchInputVal', {
     bindings: {
       field: '<',
-      'multi': '<',
+      'op': '<',
       'optionKey': '<'
     },
     require: {ngModel: 'ngModel'},
@@ -46,6 +46,16 @@
         }
       };
 
+      this.isMulti = function() {
+        // If there's a search operator, return `true` if the operator takes multiple values, else `false`
+        if (ctrl.op) {
+          return ctrl.op === 'IN' || ctrl.op === 'NOT IN';
+        }
+        // If no search operator this is an input for e.g. the bulk update action
+        // Return `true` if the field is multi-valued, else `null`
+        return ctrl.field && (ctrl.field.serialize || ctrl.field.data_type === 'Array') ? true : null;
+      };
+
       this.changeDateType = function() {
         switch (ctrl.dateType) {
           case 'fixed':
@@ -88,6 +98,10 @@
       this.getTemplate = function() {
         var field = ctrl.field || {};
 
+        if (_.includes(['LIKE', 'NOT LIKE', 'REGEXP', 'NOT REGEXP'], ctrl.op)) {
+          return '~/crmSearchTasks/crmSearchInput/text.html';
+        }
+
         if (field.input_type === 'Date') {
           return '~/crmSearchTasks/crmSearchInput/date.html';
         }
@@ -100,7 +114,7 @@
           return '~/crmSearchTasks/crmSearchInput/select.html';
         }
 
-        if (field.fk_entity || field.name === 'id') {
+        if ((field.fk_entity || field.name === 'id') && !_.includes(['>', '<', '>=', '<='], ctrl.op)) {
           return '~/crmSearchTasks/crmSearchInput/entityRef.html';
         }
 
diff --git a/civicrm/ext/search_kit/ang/crmSearchTasks/crmSearchInput/date.html b/civicrm/ext/search_kit/ang/crmSearchTasks/crmSearchInput/date.html
index 78e4d03d6d..f5c7508be3 100644
--- a/civicrm/ext/search_kit/ang/crmSearchTasks/crmSearchInput/date.html
+++ b/civicrm/ext/search_kit/ang/crmSearchTasks/crmSearchInput/date.html
@@ -1,5 +1,5 @@
 <div class="form-group">
-  <select class="form-control" ng-if="$ctrl.multi === false" ng-model="$ctrl.dateType" ng-change="$ctrl.changeDateType()">
+  <select class="form-control" ng-if="$ctrl.isMulti() === false" ng-model="$ctrl.dateType" ng-change="$ctrl.changeDateType()">
     <option value="fixed">{{:: ts('Pick Date') }}</option>
     <option value="range">{{:: ts('Date Range') }}</option>
     <option value="now">{{:: ts('Now') }}</option>
@@ -10,8 +10,8 @@
   <div class="form-group" ng-switch="$ctrl.dateType">
 
     <div class="form-group" ng-switch-when="fixed">
-      <input class="form-control" crm-ui-datepicker="{time: $ctrl.field.data_type === 'Timestamp'}" ng-model="$ctrl.value" ng-if="!$ctrl.multi">
-      <input class="form-control" crm-multi-select-date ng-model="$ctrl.value" ng-if="$ctrl.multi">
+      <input class="form-control" crm-ui-datepicker="{time: $ctrl.field.data_type === 'Timestamp'}" ng-model="$ctrl.value" ng-required="!$ctrl.field.nullable" ng-if="!$ctrl.isMulti()">
+      <input class="form-control" crm-multi-select-date ng-model="$ctrl.value" ng-required="!$ctrl.field.nullable" ng-if="$ctrl.isMulti()">
     </div>
 
     <div class="form-group" ng-switch-when="range">
diff --git a/civicrm/ext/search_kit/ang/crmSearchTasks/crmSearchInput/entityRef.html b/civicrm/ext/search_kit/ang/crmSearchTasks/crmSearchInput/entityRef.html
index 731e8df9ad..eabd9d72b9 100644
--- a/civicrm/ext/search_kit/ang/crmSearchTasks/crmSearchInput/entityRef.html
+++ b/civicrm/ext/search_kit/ang/crmSearchTasks/crmSearchInput/entityRef.html
@@ -1,6 +1,6 @@
-<div class="form-group" ng-if="!$ctrl.multi">
+<div class="form-group" ng-if="!$ctrl.isMulti()">
   <input class="form-control" ng-model="$ctrl.value" crm-entityref="{entity: $ctrl.entity, select:{allowClear: true, placeholder: ts('Select')}, static: $ctrl.entity === 'Contact' ? ['user_contact_id'] : []}">
 </div>
-<div class="form-group" ng-if="$ctrl.multi">
+<div class="form-group" ng-if="$ctrl.isMulti()">
   <input class="form-control" ng-model="$ctrl.value" crm-entityref="{entity: $ctrl.entity, select: {multiple: true}, static: $ctrl.entity === 'Contact' ? ['user_contact_id'] : []}" ng-list >
 </div>
diff --git a/civicrm/ext/search_kit/ang/crmSearchTasks/crmSearchInput/float.html b/civicrm/ext/search_kit/ang/crmSearchTasks/crmSearchInput/float.html
index 89b0079a78..e6da4f7c9f 100644
--- a/civicrm/ext/search_kit/ang/crmSearchTasks/crmSearchInput/float.html
+++ b/civicrm/ext/search_kit/ang/crmSearchTasks/crmSearchInput/float.html
@@ -1,6 +1,6 @@
-<div class="form-group" ng-if="!$ctrl.multi" >
-  <input type="number" step="any" class="form-control" ng-model="$ctrl.value">
+<div class="form-group" ng-if="!$ctrl.isMulti()" >
+  <input type="number" step="any" class="form-control" ng-model="$ctrl.value" ng-required="!$ctrl.field.nullable">
 </div>
-<div class="form-group" ng-if="$ctrl.multi" >
-  <input class="form-control" ng-model="$ctrl.value" crm-ui-select="{multiple: true, tags: [], tokenSeparators: [','], formatNoMatches: ''}" ng-list>
+<div class="form-group" ng-if="$ctrl.isMulti()" >
+  <input class="form-control" ng-model="$ctrl.value" ng-required="!$ctrl.field.nullable" crm-ui-select="{multiple: true, tags: [], tokenSeparators: [','], formatNoMatches: ''}" ng-list>
 </div>
diff --git a/civicrm/ext/search_kit/ang/crmSearchTasks/crmSearchInput/integer.html b/civicrm/ext/search_kit/ang/crmSearchTasks/crmSearchInput/integer.html
index 0c5e75c49a..d578956db5 100644
--- a/civicrm/ext/search_kit/ang/crmSearchTasks/crmSearchInput/integer.html
+++ b/civicrm/ext/search_kit/ang/crmSearchTasks/crmSearchInput/integer.html
@@ -1,6 +1,6 @@
-<div class="form-group" ng-if="!$ctrl.multi" >
-  <input type="number" step="1" class="form-control" ng-model="$ctrl.value">
+<div class="form-group" ng-if="!$ctrl.isMulti()" >
+  <input type="number" step="1" class="form-control" ng-model="$ctrl.value" ng-required="!$ctrl.field.nullable">
 </div>
-<div class="form-group" ng-if="$ctrl.multi" >
-  <input class="form-control" ng-model="$ctrl.value" crm-ui-select="{multiple: true, tags: [], tokenSeparators: [','], formatNoMatches: ''}" ng-list>
+<div class="form-group" ng-if="$ctrl.isMulti()" >
+  <input class="form-control" ng-model="$ctrl.value" ng-required="!$ctrl.field.nullable" crm-ui-select="{multiple: true, tags: [], tokenSeparators: [','], formatNoMatches: ''}" ng-list>
 </div>
diff --git a/civicrm/ext/search_kit/ang/crmSearchTasks/crmSearchInput/select.html b/civicrm/ext/search_kit/ang/crmSearchTasks/crmSearchInput/select.html
index 464c92e431..c98500db37 100644
--- a/civicrm/ext/search_kit/ang/crmSearchTasks/crmSearchInput/select.html
+++ b/civicrm/ext/search_kit/ang/crmSearchTasks/crmSearchInput/select.html
@@ -1,9 +1,9 @@
 <div class="form-group" ng-if="$ctrl.field.options === true">
   <input disabled class="form-control loading" crm-ui-select="{data: []}">
 </div>
-<div class="form-group" ng-if="!$ctrl.multi && $ctrl.field.options !== true">
-  <input class="form-control" ng-model="$ctrl.value" crm-ui-select="{data: $ctrl.getFieldOptions}">
+<div class="form-group" ng-if="!$ctrl.isMulti() && $ctrl.field.options !== true">
+  <input class="form-control" ng-model="$ctrl.value" crm-ui-select="{data: $ctrl.getFieldOptions, allowClear: $ctrl.field.nullable, placeholder: $ctrl.field.nullable ? ts('None') : ts('Select')}">
 </div>
-<div class="form-group" ng-if="$ctrl.multi && $ctrl.field.options !== true">
+<div class="form-group" ng-if="$ctrl.isMulti() && $ctrl.field.options !== true">
   <input class="form-control" ng-model="$ctrl.value" crm-ui-select="{data: $ctrl.getFieldOptions, multiple: true}" ng-list >
 </div>
diff --git a/civicrm/ext/search_kit/ang/crmSearchTasks/crmSearchInput/text.html b/civicrm/ext/search_kit/ang/crmSearchTasks/crmSearchInput/text.html
index 61a4391c48..71a043d276 100644
--- a/civicrm/ext/search_kit/ang/crmSearchTasks/crmSearchInput/text.html
+++ b/civicrm/ext/search_kit/ang/crmSearchTasks/crmSearchInput/text.html
@@ -1,6 +1,6 @@
-<div class="form-group" ng-if="!$ctrl.multi" >
-  <input type="text" class="form-control" ng-model="$ctrl.value">
+<div class="form-group" ng-if="!$ctrl.isMulti()" >
+  <input type="text" class="form-control" ng-model="$ctrl.value" ng-required="!$ctrl.field.nullable">
 </div>
-<div class="form-group" ng-if="$ctrl.multi" >
-  <input class="form-control" ng-model="$ctrl.value" crm-ui-select="{multiple: true, tags: [], tokenSeparators: [','], formatNoMatches: ''}" ng-list>
+<div class="form-group" ng-if="$ctrl.isMulti()" >
+  <input class="form-control" ng-model="$ctrl.value" ng-required="!$ctrl.field.nullable" crm-ui-select="{multiple: true, tags: [], tokenSeparators: [','], formatNoMatches: ''}" ng-list>
 </div>
diff --git a/civicrm/ext/search_kit/ang/crmSearchTasks/crmSearchTaskTag.ctrl.js b/civicrm/ext/search_kit/ang/crmSearchTasks/crmSearchTaskTag.ctrl.js
new file mode 100644
index 0000000000..bace427907
--- /dev/null
+++ b/civicrm/ext/search_kit/ang/crmSearchTasks/crmSearchTaskTag.ctrl.js
@@ -0,0 +1,99 @@
+(function(angular, $, _) {
+  "use strict";
+
+  angular.module('crmSearchTasks').controller('crmSearchTaskTag', function($scope, crmApi4, searchTaskBaseTrait) {
+    var ts = $scope.ts = CRM.ts('org.civicrm.search_kit'),
+      // Combine this controller with model properties (ids, entity, entityInfo) and searchTaskBaseTrait
+      ctrl = angular.extend(this, $scope.model, searchTaskBaseTrait);
+
+    this.entityTitle = this.getEntityTitle();
+    this.action = 'save';
+    this.selection = [];
+    this.selectedTags = [];
+    this.selectedTagsetTags = {};
+
+    crmApi4({
+      tags: ['Tag', 'get', {
+        select: ['id', 'name', 'color', 'description', 'is_selectable', 'parent_id'],
+        where: [
+          ['is_tagset', '=', false],
+          ['used_for:name', 'CONTAINS', this.entity],
+          ['OR', [['parent_id', 'IS NULL'], ['parent_id.is_tagset', '=', false]]]
+        ],
+        orderBy: {name: 'ASC'}
+      }],
+      tagsets: ['Tag', 'get', {
+        select: ['id', 'name'],
+        where: [['is_tagset', '=', true], ['used_for:name', 'CONTAINS', this.entity]]
+      }],
+    }).then(function(result) {
+      ctrl.tagsets = result.tagsets;
+      ctrl.tags = sortTagsForSelect2(result.tags);
+    });
+
+    // Sort non-tagset tags into a nested hierarchy
+    function sortTagsForSelect2(rawTags) {
+      var sorted = _.transform(rawTags, function(sorted, tag) {
+        sorted[tag.id] = {
+          id: tag.id,
+          text: tag.name,
+          description: tag.description,
+          color: tag.color,
+          disabled: !tag.is_selectable,
+          parent_id: tag.parent_id
+        };
+      }, {});
+      // Capitalizing on the fact that javascript objects always copy-by-reference,
+      // this creates a multi-level hierarchy in a single pass by placing child tags under their parents
+      // while keeping a reference to children at the top level (which allows them to receive children of their own).
+      _.each(sorted, function(tag) {
+        if (tag.parent_id && sorted[tag.parent_id]) {
+          sorted[tag.parent_id].children = sorted[tag.parent_id].children || [];
+          sorted[tag.parent_id].children.push(tag);
+        }
+      });
+      // Remove the child tags from the top level, and what remains is a nested hierarchy
+      return _.filter(sorted, {parent_id: null});
+    }
+
+    this.saveTags = function() {
+      var params = {};
+      if (ctrl.action === 'save') {
+        params.defaults = {
+          'entity_table:name': ctrl.entity
+        };
+        params.records = _.transform(ctrl.selection, function(records, tagId) {
+          records.push({tag_id: tagId});
+        });
+      } else {
+        params.where = [
+          ['entity_table:name', '=', ctrl.entity],
+          ['tag_id', 'IN', ctrl.selection]
+        ];
+      }
+      ctrl.start(params);
+    };
+
+    this.onSelectTags = function() {
+      ctrl.selection = _.cloneDeep(ctrl.selectedTags);
+      _.each(ctrl.selectedTagsetTags, function(set) {
+        ctrl.selection = ctrl.selection.concat(set);
+      });
+    };
+
+    this.onSuccess = function() {
+      if (ctrl.action === 'delete') {
+        CRM.alert(ts('Removed tags from %1 %2.', {1: ctrl.ids.length, 2: ctrl.entityTitle}), ts('Saved'), 'success');
+      } else {
+        CRM.alert(ts('Added tags to %1 %2.', {1: ctrl.ids.length, 2: ctrl.entityTitle}), ts('Saved'), 'success');
+      }
+      this.close();
+    };
+
+    this.onError = function() {
+      CRM.alert(ts('An error occurred while updating tags.'), ts('Error'), 'error');
+      this.cancel();
+    };
+
+  });
+})(angular, CRM.$, CRM._);
diff --git a/civicrm/ext/search_kit/ang/crmSearchTasks/crmSearchTaskTag.html b/civicrm/ext/search_kit/ang/crmSearchTasks/crmSearchTaskTag.html
new file mode 100644
index 0000000000..39cefc2967
--- /dev/null
+++ b/civicrm/ext/search_kit/ang/crmSearchTasks/crmSearchTaskTag.html
@@ -0,0 +1,57 @@
+<div id="bootstrap-theme">
+  <form ng-controller="crmSearchTaskTag as $ctrl">
+    <div class="form-radios">
+      <label ng-class="{disabled: !!$ctrl.run}">
+        <input type="radio" name="action" ng-model="$ctrl.action" value="save" ng-disabled="$ctrl.run">
+        {{:: ts('Add Tags') }}
+      </label>
+      <label ng-class="{disabled: !!$ctrl.run}">
+        <input type="radio" name="action" ng-model="$ctrl.action" value="delete" ng-disabled="$ctrl.run">
+        {{:: ts('Remove Tags') }}
+      </label>
+    </div>
+    <div ng-if="!$ctrl.tags">
+      <i class="crm-i fa-spinner fa-spin"></i>
+    </div>
+    <hr />
+    <fieldset ng-if="$ctrl.tags">
+      <div class="form-inline">
+        <label for="crm-search-task-tag-tag">{{:: ts('Tags') }}</label>
+        <input
+          id="crm-search-task-tag-tag"
+          ng-model="$ctrl.selectedTags"
+          class="huge"
+          ng-list
+          ng-change="$ctrl.onSelectTags()"
+          ng-disabled="$ctrl.run"
+          crm-ui-select="{multiple: true, placeholder: ts('Select tags'), data: $ctrl.tags}"
+        >
+      </div>
+      <div ng-repeat="tagset in $ctrl.tagsets" class="form-inline">
+        <label>{{:: tagset.name }}</label>
+        <input
+          ng-model="$ctrl.selectedTagsetTags[tagset.name]"
+          ng-list
+          ng-change="$ctrl.onSelectTags()"
+          ng-disabled="$ctrl.run"
+          crm-entityref="{entity: 'Tag', api: {params: {parent_id: tagset.id, is_selectable: 1}}, select: {minimumInputLength: 0, multiple: true, placeholder: ts('Select tags')}}"
+        >
+      </div>
+    </fieldset>
+    <div ng-if="$ctrl.run" class="crm-search-task-progress">
+      <h5>{{:: $ctrl.action === 'save' ? ts('Adding tags...') : ts('Removing tags...') }}</h5>
+      <crm-search-batch-runner entity="'EntityTag'" action="{{ $ctrl.action }}" id-field="entity_id" params="$ctrl.run" ids="model.ids" success="$ctrl.onSuccess()" error="$ctrl.onError()" ></crm-search-batch-runner>
+    </div>
+    <hr />
+    <div class="buttons text-right">
+      <button type="button" ng-click="$ctrl.cancel()" class="btn btn-danger" ng-hide="$ctrl.run">
+        <i class="crm-i fa-times"></i>
+        {{:: ts('Cancel') }}
+      </button>
+      <button ng-click="$ctrl.saveTags()" class="btn btn-primary" ng-disabled="$ctrl.run || !$ctrl.selection.length">
+        <i class="crm-i fa-{{ $ctrl.run ? 'spin fa-spinner' : 'check' }}"></i>
+        {{ $ctrl.action === 'save' ? ts('Add tags') : ts('Remove tags') }}
+      </button>
+    </div>
+  </form>
+</div>
diff --git a/civicrm/ext/search_kit/ang/crmSearchTasks/crmSearchTaskUpdate.ctrl.js b/civicrm/ext/search_kit/ang/crmSearchTasks/crmSearchTaskUpdate.ctrl.js
index 5fd14a504c..01f41d16fd 100644
--- a/civicrm/ext/search_kit/ang/crmSearchTasks/crmSearchTaskUpdate.ctrl.js
+++ b/civicrm/ext/search_kit/ang/crmSearchTasks/crmSearchTaskUpdate.ctrl.js
@@ -13,7 +13,7 @@
 
     crmApi4(this.entity, 'getFields', {
       action: 'update',
-      select: ['name', 'label', 'description', 'input_type', 'data_type', 'serialize', 'options', 'fk_entity'],
+      select: ['name', 'label', 'description', 'input_type', 'data_type', 'serialize', 'options', 'fk_entity', 'nullable'],
       loadOptions: ['id', 'name', 'label', 'description', 'color', 'icon'],
       where: [["readonly", "=", false]],
     }).then(function(fields) {
diff --git a/civicrm/ext/search_kit/ang/crmSearchTasks/crmSearchTaskUpdate.html b/civicrm/ext/search_kit/ang/crmSearchTasks/crmSearchTaskUpdate.html
index 9ae3811079..42a9fcc2ee 100644
--- a/civicrm/ext/search_kit/ang/crmSearchTasks/crmSearchTaskUpdate.html
+++ b/civicrm/ext/search_kit/ang/crmSearchTasks/crmSearchTaskUpdate.html
@@ -1,5 +1,5 @@
 <div id="bootstrap-theme">
-  <form ng-controller="crmSearchTaskUpdate as $ctrl">
+  <form name="crmSearchTaskUpdateForm" ng-controller="crmSearchTaskUpdate as $ctrl">
     <p><strong>{{:: ts('Update the %1 selected %2 with the following values:', {1: model.ids.length, 2: $ctrl.entityTitle}) }}</strong></p>
     <div class="form-inline" ng-repeat="clause in $ctrl.values" >
       <input class="form-control" ng-change="$ctrl.updateField($index)" ng-disabled="$ctrl.run" ng-model="clause[0]" crm-ui-select="{data: $ctrl.availableFields, allowClear: true, placeholder: 'Field'}" />
@@ -18,7 +18,7 @@
         <i class="crm-i fa-times"></i>
         {{:: ts('Cancel') }}
       </button>
-      <button ng-click="$ctrl.save()" class="btn btn-primary" ng-disabled="!$ctrl.values.length || $ctrl.run">
+      <button ng-click="$ctrl.save()" class="btn btn-primary" ng-disabled="!$ctrl.values.length || $ctrl.run || !crmSearchTaskUpdateForm.$valid">
         <i class="crm-i fa-{{ $ctrl.run ? 'spin fa-spinner' : 'check' }}"></i>
         {{:: ts('Update %1', {1: $ctrl.entityTitle}) }}
       </button>
diff --git a/civicrm/ext/search_kit/ang/crmSearchTasks/crmSearchTasks.component.js b/civicrm/ext/search_kit/ang/crmSearchTasks/crmSearchTasks.component.js
index 04dd42a820..d9953b202d 100644
--- a/civicrm/ext/search_kit/ang/crmSearchTasks/crmSearchTasks.component.js
+++ b/civicrm/ext/search_kit/ang/crmSearchTasks/crmSearchTasks.component.js
@@ -65,6 +65,7 @@
         else if (action.uiDialog) {
           var options = CRM.utils.adjustDialogDefaults({
             autoOpen: false,
+            dialogClass: 'crm-search-task-dialog',
             title: action.title
           });
           dialogService.open('crmSearchTask', action.uiDialog.templateUrl, data, options)
diff --git a/civicrm/ext/search_kit/css/crmSearchAdmin.css b/civicrm/ext/search_kit/css/crmSearchAdmin.css
index ad2f76f159..f69558afdc 100644
--- a/civicrm/ext/search_kit/css/crmSearchAdmin.css
+++ b/civicrm/ext/search_kit/css/crmSearchAdmin.css
@@ -1,4 +1,3 @@
-
 #bootstrap-theme .crm-search-criteria-column {
   min-width: 500px;
 }
@@ -34,11 +33,8 @@
   cursor: not-allowed;
 }
 
-#bootstrap-theme.crm-search input.ng-invalid {
-  border-color: #8A1F11;
-}
 #bootstrap-theme.crm-search input.ng-invalid::placeholder {
-  color: #8A1F11;
+  color: #8a1f11;
 }
 
 #bootstrap-theme.crm-search ul.nav-stacked li {
diff --git a/civicrm/ext/search_kit/css/crmSearchDisplay.css b/civicrm/ext/search_kit/css/crmSearchDisplay.css
index a2c84a7a45..a3a736e74f 100644
--- a/civicrm/ext/search_kit/css/crmSearchDisplay.css
+++ b/civicrm/ext/search_kit/css/crmSearchDisplay.css
@@ -10,6 +10,12 @@
   opacity: .5;
 }
 
+#bootstrap-theme.crm-search input.ng-invalid,
+#bootstrap-theme.crm-search-display input.ng-invalid,
+.crm-search-task-dialog #bootstrap-theme input.ng-invalid {
+  border-color: #8a1f11;
+}
+
 /* Loading placeholders */
 #bootstrap-theme .crm-search-loading-placeholder {
   height: 2em;
@@ -34,7 +40,7 @@
   from {
     left: -150px;
   }
-  to   {
+  to {
     left: 100%;
   }
 }
diff --git a/civicrm/ext/search_kit/info.xml b/civicrm/ext/search_kit/info.xml
index 2b2a4784c6..cc87ad07a8 100644
--- a/civicrm/ext/search_kit/info.xml
+++ b/civicrm/ext/search_kit/info.xml
@@ -15,7 +15,7 @@
     <url desc="Licensing">http://www.gnu.org/licenses/agpl-3.0.html</url>
   </urls>
   <releaseDate>2021-01-06</releaseDate>
-  <version>5.46.2</version>
+  <version>5.47.0</version>
   <develStage>beta</develStage>
   <compatibility>
     <ver>5.38</ver>
diff --git a/civicrm/ext/search_kit/search_kit.civix.php b/civicrm/ext/search_kit/search_kit.civix.php
index dde94ac937..6cac24cef1 100644
--- a/civicrm/ext/search_kit/search_kit.civix.php
+++ b/civicrm/ext/search_kit/search_kit.civix.php
@@ -91,9 +91,9 @@ function _search_kit_civix_civicrm_config(&$config = NULL) {
   }
   $configured = TRUE;
 
-  $template =& CRM_Core_Smarty::singleton();
+  $template = CRM_Core_Smarty::singleton();
 
-  $extRoot = dirname(__FILE__) . DIRECTORY_SEPARATOR;
+  $extRoot = __DIR__ . DIRECTORY_SEPARATOR;
   $extDir = $extRoot . 'templates';
 
   if (is_array($template->template_dir)) {
diff --git a/civicrm/ext/search_kit/search_kit.php b/civicrm/ext/search_kit/search_kit.php
index 24a0e76058..b3163c327a 100644
--- a/civicrm/ext/search_kit/search_kit.php
+++ b/civicrm/ext/search_kit/search_kit.php
@@ -83,15 +83,6 @@ function search_kit_civicrm_entityTypes(&$entityTypes) {
  * Implements hook_civicrm_pre().
  */
 function search_kit_civicrm_pre($op, $entity, $id, &$params) {
-  // Supply default name/label when creating new SearchDisplay
-  if ($entity === 'SearchDisplay' && $op === 'create') {
-    if (empty($params['label'])) {
-      $params['label'] = $params['name'];
-    }
-    elseif (empty($params['name'])) {
-      $params['name'] = \CRM_Utils_String::munge($params['label']);
-    }
-  }
   // When deleting a saved search, also delete the displays
   // This would happen anyway in sql because of the ON DELETE CASCADE foreign key,
   // But this ensures that pre and post hooks are called
diff --git a/civicrm/ext/search_kit/tests/phpunit/Civi/Search/AdminTest.php b/civicrm/ext/search_kit/tests/phpunit/Civi/Search/AdminTest.php
index 9aeb06424c..814136ecc1 100644
--- a/civicrm/ext/search_kit/tests/phpunit/Civi/Search/AdminTest.php
+++ b/civicrm/ext/search_kit/tests/phpunit/Civi/Search/AdminTest.php
@@ -96,6 +96,30 @@ class AdminTest extends \PHPUnit\Framework\TestCase implements HeadlessInterface
       ['EntityTag', ['id', '=', 'Activity_EntityTag_Tag.entity_id'], ['Activity_EntityTag_Tag.entity_table', '=', "'civicrm_activity'"]],
       $activityTagJoins[0]['conditions']
     );
+
+    // Ensure joins exist btw custom group & custom fields
+    $customGroupToField = \CRM_Utils_Array::findAll($joins['CustomGroup'], [
+      'entity' => 'CustomField',
+      'multi' => TRUE,
+    ]);
+    $this->assertCount(1, $customGroupToField);
+    $customFieldToGroup = \CRM_Utils_Array::findAll($joins['CustomField'], [
+      'entity' => 'CustomGroup',
+      'multi' => FALSE,
+    ]);
+    $this->assertCount(1, $customFieldToGroup);
+
+    // Ensure joins btw option group and option value
+    $optionGroupToValue = \CRM_Utils_Array::findAll($joins['OptionGroup'], [
+      'entity' => 'OptionValue',
+      'multi' => TRUE,
+    ]);
+    $this->assertCount(1, $optionGroupToValue);
+    $optionValueToGroup = \CRM_Utils_Array::findAll($joins['OptionValue'], [
+      'entity' => 'OptionGroup',
+      'multi' => FALSE,
+    ]);
+    $this->assertCount(1, $optionValueToGroup);
   }
 
 }
diff --git a/civicrm/ext/search_kit/tests/phpunit/api/v4/SearchDisplay/SearchDisplayTest.php b/civicrm/ext/search_kit/tests/phpunit/api/v4/SearchDisplay/SearchDisplayTest.php
index eebceeaee1..d56366c6ad 100644
--- a/civicrm/ext/search_kit/tests/phpunit/api/v4/SearchDisplay/SearchDisplayTest.php
+++ b/civicrm/ext/search_kit/tests/phpunit/api/v4/SearchDisplay/SearchDisplayTest.php
@@ -1,6 +1,7 @@
 <?php
 namespace api\v4\SearchDisplay;
 
+use Civi\Api4\SavedSearch;
 use Civi\Api4\SearchDisplay;
 use Civi\Test\HeadlessInterface;
 use Civi\Test\TransactionalInterface;
@@ -50,4 +51,44 @@ class SearchDisplayTest extends \PHPUnit\Framework\TestCase implements HeadlessI
     $this->assertNull($display['saved_search_id']);
   }
 
+  public function testAutoFormatName() {
+    // Create 3 saved searches; they should all get unique names
+    $savedSearch0 = SavedSearch::create(FALSE)
+      ->addValue('label', 'My test search')
+      ->execute()->first();
+    $savedSearch1 = SavedSearch::create(FALSE)
+      ->addValue('label', 'My test search')
+      ->execute()->first();
+    $savedSearch2 = SavedSearch::create(FALSE)
+      ->addValue('label', 'My test search')
+      ->execute()->first();
+    // Name will be created from munged label
+    $this->assertEquals('My_test_search', $savedSearch0['name']);
+    // Name will have _1, _2, etc. appended to ensure it's unique
+    $this->assertEquals('My_test_search_1', $savedSearch1['name']);
+    $this->assertEquals('My_test_search_2', $savedSearch2['name']);
+
+    $display0 = SearchDisplay::create()
+      ->addValue('saved_search_id', $savedSearch0['id'])
+      ->addValue('label', 'My test display')
+      ->addValue('type', 'table')
+      ->execute()->first();
+    $display1 = SearchDisplay::create()
+      ->addValue('saved_search_id', $savedSearch0['id'])
+      ->addValue('label', 'My test display')
+      ->addValue('type', 'table')
+      ->execute()->first();
+    $display2 = SearchDisplay::create()
+      ->addValue('saved_search_id', $savedSearch1['id'])
+      ->addValue('label', 'My test display')
+      ->addValue('type', 'table')
+      ->execute()->first();
+    // Name will be created from munged label
+    $this->assertEquals('My_test_display', $display0['name']);
+    // Name will have _1 appended to ensure it's unique to savedSearch0
+    $this->assertEquals('My_test_display_1', $display1['name']);
+    // This is for a different saved search so doesn't need a number appended
+    $this->assertEquals('My_test_display', $display2['name']);
+  }
+
 }
diff --git a/civicrm/ext/search_kit/tests/phpunit/api/v4/SearchDisplay/SearchRunTest.php b/civicrm/ext/search_kit/tests/phpunit/api/v4/SearchDisplay/SearchRunTest.php
index ee09339fc1..2712da75be 100644
--- a/civicrm/ext/search_kit/tests/phpunit/api/v4/SearchDisplay/SearchRunTest.php
+++ b/civicrm/ext/search_kit/tests/phpunit/api/v4/SearchDisplay/SearchRunTest.php
@@ -208,9 +208,9 @@ class SearchRunTest extends \PHPUnit\Framework\TestCase implements HeadlessInter
     $this->assertNotEmpty($result->first()['data']['sort_name']);
 
     // These items are not part of the search, but will be added via links
-    $this->assertArrayNotHasKey('contact_type', $result->first());
-    $this->assertArrayNotHasKey('source', $result->first());
-    $this->assertArrayNotHasKey('last_name', $result->first());
+    $this->assertArrayNotHasKey('contact_type', $result->first()['data']);
+    $this->assertArrayNotHasKey('source', $result->first()['data']);
+    $this->assertArrayNotHasKey('last_name', $result->first()['data']);
 
     // Add links
     $params['display']['settings']['columns'][] = [
@@ -227,6 +227,87 @@ class SearchRunTest extends \PHPUnit\Framework\TestCase implements HeadlessInter
     $this->assertEquals($lastName, $result->first()['data']['last_name']);
   }
 
+  /**
+   * Test smarty rewrite syntax.
+   */
+  public function testRunWithSmartyRewrite() {
+    $lastName = uniqid(__FUNCTION__);
+    $sampleData = [
+      ['first_name' => 'One', 'last_name' => $lastName, 'nick_name' => 'Uno'],
+      ['first_name' => 'Two', 'last_name' => $lastName],
+    ];
+    $contacts = Contact::save(FALSE)->setRecords($sampleData)->execute();
+    Email::create(FALSE)
+      ->addValue('contact_id', $contacts[0]['id'])
+      ->addValue('email', 'testmail@unit.test')
+      ->execute();
+
+    $params = [
+      'checkPermissions' => FALSE,
+      'return' => 'page:1',
+      'savedSearch' => [
+        'api_entity' => 'Contact',
+        'api_params' => [
+          'version' => 4,
+          'select' => ['id', 'first_name', 'last_name', 'nick_name', 'Contact_Email_contact_id_01.email', 'Contact_Email_contact_id_01.location_type_id:label'],
+          'where' => [['last_name', '=', $lastName]],
+          'join' => [
+            [
+              "Email AS Contact_Email_contact_id_01",
+              "LEFT",
+              ["id", "=", "Contact_Email_contact_id_01.contact_id"],
+              ["Contact_Email_contact_id_01.is_primary", "=", TRUE],
+            ],
+          ],
+        ],
+      ],
+      'display' => [
+        'type' => 'table',
+        'label' => '',
+        'settings' => [
+          'limit' => 20,
+          'pager' => TRUE,
+          'columns' => [
+            [
+              'key' => 'id',
+              'label' => 'Contact ID',
+              'type' => 'field',
+            ],
+            [
+              'key' => 'first_name',
+              'label' => 'Name',
+              'type' => 'field',
+              'rewrite' => '{if "[nick_name]"}[nick_name]{else}[first_name]{/if} [last_name]',
+            ],
+            [
+              'key' => 'Contact_Email_contact_id_01.email',
+              'label' => 'Email',
+              'type' => 'field',
+              'rewrite' => '{if "[Contact_Email_contact_id_01.email]"}[Contact_Email_contact_id_01.email] ([Contact_Email_contact_id_01.location_type_id:label]){/if}',
+            ],
+          ],
+          'sort' => [
+            ['id', 'ASC'],
+          ],
+        ],
+      ],
+    ];
+    $result = civicrm_api4('SearchDisplay', 'run', $params);
+    $this->assertEquals("Uno $lastName", $result[0]['columns'][1]['val']);
+    $this->assertEquals("Two $lastName", $result[1]['columns'][1]['val']);
+    $this->assertEquals("testmail@unit.test (Home)", $result[0]['columns'][2]['val']);
+    $this->assertEquals("", $result[1]['columns'][2]['val']);
+
+    // Try running it with illegal tags like {crmApi}
+    $params['display']['columns'][1]['rewrite'] = '{crmApi entity="Email" action="get" va="notAllowed"}';
+    try {
+      civicrm_api4('SearchDisplay', 'run', $params);
+      $this->fail();
+    }
+    catch (\Exception $e) {
+    }
+  }
+
   /**
    * Test running a searchDisplay as a restricted user.
    */
diff --git a/civicrm/ext/search_kit/tests/phpunit/api/v4/SearchDisplay/SearchRunWithCustomFieldTest.php b/civicrm/ext/search_kit/tests/phpunit/api/v4/SearchDisplay/SearchRunWithCustomFieldTest.php
index b62494aa35..9900a67926 100644
--- a/civicrm/ext/search_kit/tests/phpunit/api/v4/SearchDisplay/SearchRunWithCustomFieldTest.php
+++ b/civicrm/ext/search_kit/tests/phpunit/api/v4/SearchDisplay/SearchRunWithCustomFieldTest.php
@@ -33,7 +33,7 @@ class SearchRunWithCustomFieldTest extends \PHPUnit\Framework\TestCase implement
    */
   public function testRunWithImageField() {
     CustomGroup::create(FALSE)
-      ->addValue('name', 'TestSearchFields')
+      ->addValue('title', 'TestSearchFields')
       ->addValue('extends', 'Individual')
       ->execute()
       ->first();
diff --git a/civicrm/ext/sequentialcreditnotes/info.xml b/civicrm/ext/sequentialcreditnotes/info.xml
index d744c55b35..30fa5a9f78 100644
--- a/civicrm/ext/sequentialcreditnotes/info.xml
+++ b/civicrm/ext/sequentialcreditnotes/info.xml
@@ -15,7 +15,7 @@
     <url desc="Licensing">http://www.gnu.org/licenses/agpl-3.0.html</url>
   </urls>
   <releaseDate>2020-01-28</releaseDate>
-  <version>5.46.2</version>
+  <version>5.47.0</version>
   <tags>
     <tag>mgmt:hidden</tag>
   </tags>
diff --git a/civicrm/ext/sequentialcreditnotes/sequentialcreditnotes.civix.php b/civicrm/ext/sequentialcreditnotes/sequentialcreditnotes.civix.php
index 260b7128fc..098dde7d07 100644
--- a/civicrm/ext/sequentialcreditnotes/sequentialcreditnotes.civix.php
+++ b/civicrm/ext/sequentialcreditnotes/sequentialcreditnotes.civix.php
@@ -91,9 +91,9 @@ function _sequentialcreditnotes_civix_civicrm_config(&$config = NULL) {
   }
   $configured = TRUE;
 
-  $template =& CRM_Core_Smarty::singleton();
+  $template = CRM_Core_Smarty::singleton();
 
-  $extRoot = dirname(__FILE__) . DIRECTORY_SEPARATOR;
+  $extRoot = __DIR__ . DIRECTORY_SEPARATOR;
   $extDir = $extRoot . 'templates';
 
   if (is_array($template->template_dir)) {
diff --git a/civicrm/install/index.php b/civicrm/install/index.php
index a56b5289c6..0c6b62c2c9 100644
--- a/civicrm/install/index.php
+++ b/civicrm/install/index.php
@@ -839,7 +839,7 @@ class InstallRequirements {
   }
 
   /**
-   * @param null $section
+   * @param string|null $section
    */
   public function showTable($section = NULL) {
     if ($section) {
diff --git a/civicrm/install/template.css b/civicrm/install/template.css
index 7c96816e54..5f685fe04e 100644
--- a/civicrm/install/template.css
+++ b/civicrm/install/template.css
@@ -73,7 +73,7 @@ p.good {
 }
 
 p.error a {
-  color: #FFF;
+  color: #fff;
   font-weight: bold;
 }
 
diff --git a/civicrm/js/Common.js b/civicrm/js/Common.js
index e24b9dadf7..fb9d0c3d8a 100644
--- a/civicrm/js/Common.js
+++ b/civicrm/js/Common.js
@@ -483,8 +483,8 @@ if (!CRM.vars) CRM.vars = {};
           $('.crm-select2-row-description', '#select2-drop').each(function() {
             $(this).closest('.select2-result-label').attr('title', $(this).text());
           });
-          // Collapsible optgroups should be expanded when searching
-          if ($('#select2-drop.collapsible-optgroups-enabled .select2-search input.select2-input').val()) {
+          // Collapsible optgroups should be expanded when searching (searching happens within select2-drop for single selects, but within the element for multiselects; this handles both)
+          if ($('#select2-drop.collapsible-optgroups-enabled .select2-search input.select2-input, .select2-dropdown-open.collapsible-optgroups .select2-search-field input.select2-input').val()) {
             $('#select2-drop.collapsible-optgroups-enabled li.select2-result-with-children')
               .addClass('optgroup-expanded');
           }
diff --git a/civicrm/release-notes.md b/civicrm/release-notes.md
index 399de5e15f..a82396bc99 100644
--- a/civicrm/release-notes.md
+++ b/civicrm/release-notes.md
@@ -15,23 +15,16 @@ Other resources for identifying changes are:
     * https://github.com/civicrm/civicrm-joomla
     * https://github.com/civicrm/civicrm-wordpress
 
-## CiviCRM 5.46.2
+## CiviCRM 5.47.0
 
-Released February 10, 2022
+Released March 4, 2022
 
-- **[Synopsis](release-notes/5.46.2.md#synopsis)**
-- **[Bugs resolved](release-notes/5.46.2.md#bugs)**
-- **[Credits](release-notes/5.46.2.md#credits)**
-- **[Feedback](release-notes/5.46.2.md#feedback)**
-
-## CiviCRM 5.46.1
-
-Released February 9, 2022
-
-- **[Synopsis](release-notes/5.46.1.md#synopsis)**
-- **[Bugs resolved](release-notes/5.46.1.md#bugs)**
-- **[Credits](release-notes/5.46.1.md#credits)**
-- **[Feedback](release-notes/5.46.1.md#feedback)**
+- **[Synopsis](release-notes/5.47.0.md#synopsis)**
+- **[Features](release-notes/5.47.0.md#features)**
+- **[Bugs resolved](release-notes/5.47.0.md#bugs)**
+- **[Miscellany](release-notes/5.47.0.md#misc)**
+- **[Credits](release-notes/5.47.0.md#credits)**
+- **[Feedback](release-notes/5.47.0.md#feedback)**
 
 ## CiviCRM 5.46.0
 
@@ -44,15 +37,6 @@ Released February 3, 2022
 - **[Credits](release-notes/5.46.0.md#credits)**
 - **[Feedback](release-notes/5.46.0.md#feedback)**
 
-## CiviCRM 5.45.3
-
-Released February 3, 2022
-
-- **[Synopsis](release-notes/5.45.3.md#synopsis)**
-- **[Bugs resolved](release-notes/5.45.3.md#bugs)**
-- **[Credits](release-notes/5.45.3.md#credits)**
-- **[Feedback](release-notes/5.45.3.md#feedback)**
-
 ## CiviCRM 5.45.2
 
 Released January 28, 2022
diff --git a/civicrm/release-notes/5.17.1.md b/civicrm/release-notes/5.17.1.md
index a5711c9cb0..078ff22a0f 100644
--- a/civicrm/release-notes/5.17.1.md
+++ b/civicrm/release-notes/5.17.1.md
@@ -36,4 +36,3 @@ CiviCRM - Tim Otten; Australian Greens - Seamus Lee
 These release notes are edited by Tim Otten and Andie Hunt.  If you'd like to
 provide feedback on them, please login to https://chat.civicrm.org/civicrm and
 contact `@agh1`.
-
diff --git a/civicrm/release-notes/5.17.2.md b/civicrm/release-notes/5.17.2.md
index 880cdce60e..ae3fbcfbcf 100644
--- a/civicrm/release-notes/5.17.2.md
+++ b/civicrm/release-notes/5.17.2.md
@@ -34,4 +34,3 @@ Wikimedia Foundation - Eileen McNaughton; Australian Greens - Seamus Lee
 These release notes are edited by Tim Otten and Andie Hunt.  If you'd like to
 provide feedback on them, please login to https://chat.civicrm.org/civicrm and
 contact `@agh1`.
-
diff --git a/civicrm/release-notes/5.18.4.md b/civicrm/release-notes/5.18.4.md
index 8bbeec7233..0dfc2d38eb 100644
--- a/civicrm/release-notes/5.18.4.md
+++ b/civicrm/release-notes/5.18.4.md
@@ -42,6 +42,3 @@ Jaap Jansma; Australian Greens - Seamus Lee
 These release notes are edited by Tim Otten and Andie Hunt.  If you'd like to
 provide feedback on them, please login to https://chat.civicrm.org/civicrm and
 contact `@agh1`.
-
-
-
diff --git a/civicrm/release-notes/5.19.2.md b/civicrm/release-notes/5.19.2.md
index 24e9f4de92..4c9e256bfa 100644
--- a/civicrm/release-notes/5.19.2.md
+++ b/civicrm/release-notes/5.19.2.md
@@ -44,4 +44,4 @@ of Armadillo Sec Ltd; Dave D; Eileen McNaughton of Wikimedia Foundation;
 Karin Gerritsen of Semper IT; Kevin Cristiano of Tadpole Collective; Mark
 Burdett of Electronic Frontier Foundation; Morgan Robinson of Palante
 Technology Cooperative; Patrick Figel of Greenpeace CEE; Seamus Lee of
-Australian Greens; Tim Otten of CiviCRM
\ No newline at end of file
+Australian Greens; Tim Otten of CiviCRM
diff --git a/civicrm/release-notes/5.3.1.md b/civicrm/release-notes/5.3.1.md
index 02a224bb0b..5fb86b2312 100644
--- a/civicrm/release-notes/5.3.1.md
+++ b/civicrm/release-notes/5.3.1.md
@@ -17,4 +17,3 @@ Released July 18, 2018
 - **[CIVI-SA-2018-05](https://civicrm.org/advisory/civi-sa-2018-05-reflected-xss-in-contact-merge-screen)** Reflected XSS in Contact Merge Screen
 - **[CIVI-SA-2018-06](https://civicrm.org/advisory/civi-sa-2018-06-reflected-xss-in-context-parameter)** Reflected XSS in "New Membership" Form
 - **[CIVI-SA-2018-07](https://civicrm.org/advisory/civi-sa-2018-07-remote-code-execution-in-quickform)** Remote Code Execution in QuickForm
-
diff --git a/civicrm/release-notes/5.45.3.md b/civicrm/release-notes/5.45.3.md
deleted file mode 100644
index ec85bdf806..0000000000
--- a/civicrm/release-notes/5.45.3.md
+++ /dev/null
@@ -1,39 +0,0 @@
-# CiviCRM 5.45.3
-
-Released February 3, 2022
-
-- **[Synopsis](#synopsis)**
-- **[Bugs resolved](#bugs)**
-- **[Credits](#credits)**
-- **[Feedback](#feedback)**
-
-## <a name=synopsis></a>Synopsis
-
-| *Does this version...?*                                         |          |
-| --------------------------------------------------------------- | -------- |
-| Change the database schema?                                     | no       |
-| Alter the API?                                                  | no       |
-| Require attention to configuration options?                     | no       |
-| **Fix problems installing or upgrading to a previous version?** | **yes**  |
-| Introduce features?                                             | no       |
-| Fix bugs?                                                       | no       |
-
-## <a name=bugs></a>Bugs resolved
-
-* **_Managed Entities_: Fix crash during upgrade ([dev/core#3045](https://lab.civicrm.org/dev/core/-/issues/3045): [#22642](https://github.com/civicrm/civicrm-core/pull/22642))**
-
-    The configurations affected by this issue could not be positively identified. However, affected users reported that the patch fixed the issue.
-
-## <a name=credits></a>Credits
-
-This release was developed by the following authors and reviewers:
-
-CiviCoop - Jaap Jansma; CiviCRM - Coleman Watts, Tim Otten; JMA Consulting - Seamus Lee;
-Third Sector Design - William Mortada, Kurund Jalmi; Wikimedia Foundation - Eileen
-McNaughton
-
-## <a name=feedback></a>Feedback
-
-These release notes are edited by Tim Otten and Andie Hunt.  If you'd like to
-provide feedback on them, please login to https://chat.civicrm.org/civicrm and
-contact `@agh1`.
diff --git a/civicrm/release-notes/5.46.0.md b/civicrm/release-notes/5.46.0.md
index 8ee08bf1a4..1830506bc8 100644
--- a/civicrm/release-notes/5.46.0.md
+++ b/civicrm/release-notes/5.46.0.md
@@ -13,163 +13,274 @@ Released February 3, 2022
 
 | *Does this version...?*                                         |         |
 |:--------------------------------------------------------------- |:-------:|
-| Fix security vulnerabilities?                                   | no      |
-| Change the database schema?                                     | no      |
-| Alter the API?                                                  | yes     |
-| Require attention to configuration options?                     |         |
-| Fix problems installing or upgrading to a previous version?     | no      |
-| Introduce features?                                             | yes     |
-| Fix bugs?                                                       | yes     |
+| Fix security vulnerabilities?                                   |   no    |
+| **Change the database schema?**                                 | **yes** |
+| **Alter the API?**                                              | **yes** |
+| **Require attention to configuration options?**                 | **yes** |
+| **Fix problems installing or upgrading to a previous version?** | **yes** |
+| **Introduce features?**                                         | **yes** |
+| **Fix bugs?**                                                   | **yes** |
 
 ## <a name="features"></a>Features
 
 ### Core CiviCRM
 
-- **"Open in new tab" on .crm-summary-link icons should open contact page ([22303](https://github.com/civicrm/civicrm-core/pull/22303))**
+- **re-jig demo roles to add restricted user
+  ([dev/core#2773](https://lab.civicrm.org/dev/core/-/issues/2773):
+  [22377](https://github.com/civicrm/civicrm-core/pull/22377))**
 
-## <a name="bugs"></a>Bugs resolved
+  Adds an ACL to demo data.
 
-- **(dev/financial#57) Hide recur trxn_id if it matches recur processor_id ([21916](https://github.com/civicrm/civicrm-core/pull/21916))**
+- **When adding custom data set change default selected option
+  ([dev/core#2977](https://lab.civicrm.org/dev/core/-/issues/2977):
+  [22244](https://github.com/civicrm/civicrm-core/pull/22244))**
 
-- **(dev/report#90) Don't crash SearchKit on upgrade from 5.35 ([22375](https://github.com/civicrm/civicrm-core/pull/22375))**
+  Changes the defaults when adding custom data sets to make them more user
+  friendly.
 
-- **(dev/report#93) SearchKit shows broken external URLs ([22437](https://github.com/civicrm/civicrm-core/pull/22437))**
+- **Expose email on hold as filter for reports
+  ([dev/core#3012](https://lab.civicrm.org/dev/core/-/issues/3012):
+  [22357](https://github.com/civicrm/civicrm-core/pull/22357))**
 
-- **(dev/drupal#169) Fix namespacing in KCFinder ([338](https://github.com/civicrm/civicrm-packages/pull/338))**
+  Adds a email on hold filter to reports.
 
-- **(dev/drupal#172) Module status used incorrectly in Drupal 8 to determine which modules to care about for managed entities ([22350](https://github.com/civicrm/civicrm-core/pull/22350))**
+- **Increment recommended PHP version
+  ([dev/core#2996](https://lab.civicrm.org/dev/core/-/issues/2996):
+  [22265](https://github.com/civicrm/civicrm-core/pull/22265))**
 
-- **(dev/drupal#172) Deprecated function call in Drupal 9.3 ([22337](https://github.com/civicrm/civicrm-core/pull/22337))**
+  Changes the minimum PHP version to 7.3 and the recommended PHP version to 7.4.
 
-### Core CiviCRM
+- **APIv4 Explorer - Make selected language and format bookmarkable
+  ([22233](https://github.com/civicrm/civicrm-core/pull/22233))**
+
+  The APIv4 explorer already places params in the URL for easy bookmarking.
+  This extends it to work for the selected language tab and the selected output
+  format.
+
+- **SearchKit - Contextual "View" button
+  ([dev/core#3016](https://lab.civicrm.org/dev/core/-/issues/3016):
+  [22367](https://github.com/civicrm/civicrm-core/pull/22367))**
+
+  Improves the SearchKit user interface
 
-- **(dev/core#567) Add test shell ([22275](https://github.com/civicrm/civicrm-core/pull/22275))**
+- **SearchKit - Add links for CustomField and CustomGroup entities
+  ([22302](https://github.com/civicrm/civicrm-core/pull/22302))**
 
-- **(dev/core#1615) WP-CLI - Perform CLI installations using Civi\Setup ([264](https://github.com/civicrm/civicrm-wordpress/pull/264))**
+  Improves SearchKit user interface by adding links to custom field and custom
+  group entities.
 
-- **(dev/core#2752) Allow financial_trxns to be viewed ([21178](https://github.com/civicrm/civicrm-core/pull/21178))**
+- **SearchKit - Allow functions in the WHERE clause
+  ([22241](https://github.com/civicrm/civicrm-core/pull/22241))**
 
-- **(dev/core#2752)  Use ACL, not blanket permissions on FinancialAccount, FinancialType, EntityFinancialAccount ([21181](https://github.com/civicrm/civicrm-core/pull/21181))**
+  Adds an advanced feature for SearchKit which allows SQL functions in the
+  WHERE clause.
 
-- **(dev/core#2773) Add an ACL to demo data ([22377](https://github.com/civicrm/civicrm-core/pull/22377))**
+- **SearchKit - Import/Export saved search configuration
+  ([22229](https://github.com/civicrm/civicrm-core/pull/22229))**
 
-- **(dev/core#2825) Make source contact required for activities on the form ([22243](https://github.com/civicrm/civicrm-core/pull/22243))**
+  Provides a UI for importing and exporting SavedSearches in JSON format. This
+  allows power-users to copy and paste their Searches between sites. For
+  extension developers, includes a direct link to generate a .mgd.php file from
+  the API Explorer.
 
-- **(dev/core#2927) Avoid warnings for is_dir() when open_basedir is in effect ([22107](https://github.com/civicrm/civicrm-core/pull/22107))**
+- **SearchKit - Facilitate popup forms
+  ([22490](https://github.com/civicrm/civicrm-core/pull/22490))**
 
-- **(dev/core#2962) Get contact ID for the mailing along with display nam… ([22096](https://github.com/civicrm/civicrm-core/pull/22096))**
+  This adds two bits of utility code to facilitate adding a popup form to an
+  Afform containing a Search Display.
 
-- **(dev/core#2977) For custom group creation, flip the default display settings ([22244](https://github.com/civicrm/civicrm-core/pull/22244))**
+- **SearchKit - Allow aggregate columns to be links
+  ([22356](https://github.com/civicrm/civicrm-core/pull/22356))**
 
-- **(dev/core#2979) Remove the limit of 15 max values for multiple values… ([22214](https://github.com/civicrm/civicrm-core/pull/22214))**
+  Allows aggregate columns to be rendered as a link in SearchKit Displays
 
-- **(dev/core#2982) Deprecated warnings for money formatting in Repeat Contributions CiviReport ([22217](https://github.com/civicrm/civicrm-core/pull/22217))**
+- **CustomGroup - Add pseudoconstant for extends column
+  ([22282](https://github.com/civicrm/civicrm-core/pull/22282))**
 
-- **(dev/core#2984) Clarify API error when component is disabled ([22231](https://github.com/civicrm/civicrm-core/pull/22231))**
+  Adds missing pseudoconstant to schema, which will allow a SearchKit-based
+  display of custom groups.
 
-- **(dev/core#2996) Increment PHP recommndations ([22265](https://github.com/civicrm/civicrm-core/pull/22265))**
+- **Afform - UI and contextual titles for search displays
+  ([22319](https://github.com/civicrm/civicrm-core/pull/22319))**
 
-- **(dev/core#3001) Escape single quotes when rendering tokens in html format ([22387](https://github.com/civicrm/civicrm-core/pull/22387))**
+  Makes it easy to create drilldown search displays, passing in a URL arg to
+  specify a category/container. E.g. "Custom fields in group X", "Option values
+  for Individual Prefix", "Email addresses for Bob Smith".
 
-- **(dev/core#3001) Escape single quotes when rendering tokens in html format ([22285](https://github.com/civicrm/civicrm-core/pull/22285))**
+- **Add system status warning to display scheduled job failures
+  ([21762](https://github.com/civicrm/civicrm-core/pull/21762))**
 
-- **(dev/core#3012) Expose email on hold as filter for report ([22357](https://github.com/civicrm/civicrm-core/pull/22357))**
+  Adds a system status message to display scheduled job errors.
 
-- **(dev/core#3026) 5.46 version of 22478 ([22479](https://github.com/civicrm/civicrm-core/pull/22479))**
+- **Add system status check for missing dedupe rules
+  ([22369](https://github.com/civicrm/civicrm-core/pull/22369))**
 
-- **(dev/core#3028) For invalid greetings, return '' instead of failing ([22650](https://github.com/civicrm/civicrm-core/pull/22650))**
+  Adds a system status check to alert system administrators when an unsupervised
+  and/or supervised dedupe rule is missing.
 
-- **(dev/core#3029) Avoid risking a TypeError when evaluating tokens for non-existent custom fields ([22537](https://github.com/civicrm/civicrm-core/pull/22537))**
+- **Extensions - Add dependency status check
+  ([22640](https://github.com/civicrm/civicrm-core/pull/22640))**
 
-- **Extensions - Add dependency status check ([22640](https://github.com/civicrm/civicrm-core/pull/22640))**
+  Adds a extensions dependency status check.
 
-- **ExtensionUpgrades - Skip trying to upgrade missing dependencies ([22623](https://github.com/civicrm/civicrm-core/pull/22623))**
+- **Improve accessibility - associate label and fields
+  ([22361](https://github.com/civicrm/civicrm-core/pull/22361))**
 
-- **APIv4 Explorer - Format array params using add methods instead of set ([22382](https://github.com/civicrm/civicrm-core/pull/22382))**
+  Associates the labels on the event location form with the relevant inputs to
+  improve accessibility for screen reader users.
 
-- **APIv4 - Rename 'ReadOnly' trait to 'ReadOnlyEntity' to avoid PHP error ([22626](https://github.com/civicrm/civicrm-core/pull/22626))**
+- **Add state name to export fields
+  ([22318](https://github.com/civicrm/civicrm-core/pull/22318))**
 
-- **APIv4 Explorer - Make selected language and format bookmarkable ([22233](https://github.com/civicrm/civicrm-core/pull/22233))**
+  Adds the ability to export the state name when exporting contacts.
 
-- **APIv4 - Fix saving NULL as custom field value ([22328](https://github.com/civicrm/civicrm-core/pull/22328))**
+- **Add authx_login() API for backend script authentication (alt)
+  ([22292](https://github.com/civicrm/civicrm-core/pull/22292))**
 
-- **APIv4 - Set default status when creating GroupContact record ([22322](https://github.com/civicrm/civicrm-core/pull/22322))**
+  Adds a function to login as a user. It is cross-platform; accepts contact ID,
+  user ID, or username; and it updates relevant services (eg Civi session;
+  Drupal $user; MySQL @civicrm_user_id).
 
-- **APIv4 - Make Groups a managed entity, fix 'null' bugs in BAO_Group ([22228](https://github.com/civicrm/civicrm-core/pull/22228))**
+### CiviContribute
 
-- **APIv4 - Set 'activity_type_id' to required ([22359](https://github.com/civicrm/civicrm-core/pull/22359))**
+- **Payments - Where do we store IDs from payment processor? (Work Towards
+  [dev/financial#57](https://lab.civicrm.org/dev/financial/-/issues/57):
+  [21916](https://github.com/civicrm/civicrm-core/pull/21916))**
 
-- **Use api for entityRole - addresses save issue on the form ([22589](https://github.com/civicrm/civicrm-core/pull/22589))**
+  Hides the recur trxn_id if it matches the processor_id.
 
-- **SearchKit - Fix editable dates on standalone form ([22366](https://github.com/civicrm/civicrm-core/pull/22366))**
+- **Financial entity permissions (Work Towards
+  [dev/core#2752](https://lab.civicrm.org/dev/core/-/issues/2752):
+  [21178](https://github.com/civicrm/civicrm-core/pull/21178) and
+  [21181](https://github.com/civicrm/civicrm-core/pull/21181))**
 
-- **SearchKit - Tweak export explorer link icon + format ([22300](https://github.com/civicrm/civicrm-core/pull/22300))**
+  Allows financial_trxns to be viewed and use ACL, not blanket permissions on
+  FinancialAccount, FinancialType, EntityFinancialAccount.
 
-- **SearchKit - Add links for CustomField and CustomGroup entities ([22302](https://github.com/civicrm/civicrm-core/pull/22302))**
+- **Demo sample data - Add in some mixed currency contributions
+  ([22307](https://github.com/civicrm/civicrm-core/pull/22307))**
 
-- **SearchKit - Contextual "View" button ([22367](https://github.com/civicrm/civicrm-core/pull/22367))**
+  Improves contribution sample data by adding some mixed currency contributions.
 
-- **SearchKit - Fix running searches for anonymous users ([22597](https://github.com/civicrm/civicrm-core/pull/22597))**
+- **Add recurring conributions to sample data
+  ([22296](https://github.com/civicrm/civicrm-core/pull/22296))**
 
-- **SearchKit - Fix token selector to use expression alias ([22539](https://github.com/civicrm/civicrm-core/pull/22539))**
+  Improves contributions sample data by adding recurring contributions.
+
+## <a name="bugs"></a>Bugs resolved
+
+### Core CiviCRM
 
-- **SearchKit - Fix UI for configuring display pager limit ([22321](https://github.com/civicrm/civicrm-core/pull/22321))**
+- **"Open in new tab" on .crm-summary-link icons should open contact
+  page, not summary content.
+  ([dev/core#2926](https://lab.civicrm.org/dev/core/-/issues/2926):
+  [22303](https://github.com/civicrm/civicrm-core/pull/22303))**
 
-- **SearchKit - Allow functions in the WHERE clause ([22241](https://github.com/civicrm/civicrm-core/pull/22241))**
+- **Separate membership payment on contribution form with auto renewal not get
+  processed (Work Towards
+  [dev/core#567](https://lab.civicrm.org/dev/core/-/issues/567):
+  [22275](https://github.com/civicrm/civicrm-core/pull/22275))**
 
-- **SearchKit - Import/Export saved search configuration ([22229](https://github.com/civicrm/civicrm-core/pull/22229))**
+  Adds a test shell to ensure membership payments with auto renewal get
+  processed.
 
-- **SearchKit - Facilitate popup forms ([22490](https://github.com/civicrm/civicrm-core/pull/22490))**
+- **Avoid warnings for is_dir() when open_basedir is in effect
+  ([dev/core#2927](https://lab.civicrm.org/dev/core/-/issues/2927):
+  [22107](https://github.com/civicrm/civicrm-core/pull/22107))**
 
-- **SearchKit - Fix column headers for custom fields in default display ([22331](https://github.com/civicrm/civicrm-core/pull/22331))**
+- **Removes the limit of 15 max values for multiple values can also
+  be retrieved from URL in reports
+  ([dev/core#2979](https://lab.civicrm.org/dev/core/-/issues/2979):
+  [22214](https://github.com/civicrm/civicrm-core/pull/22214))**
 
-- **SearchKit - Allow aggregate columns to be links ([22356](https://github.com/civicrm/civicrm-core/pull/22356))**
+- **Fatal error when merging Housholds (getTemplateForGreeting)
+  ([dev/core#3028](https://lab.civicrm.org/dev/core/-/issues/3028):
+  [22650](https://github.com/civicrm/civicrm-core/pull/22650))**
 
-- **Afform - UI and contextual titles for search displays ([22319](https://github.com/civicrm/civicrm-core/pull/22319))**
+- **TypeError when trying to replace tokens for custom fields that don't exist
+  ([dev/core#3029](https://lab.civicrm.org/dev/core/-/issues/3029):
+  [22537](https://github.com/civicrm/civicrm-core/pull/22537))**
 
-- **Afform - Set date-range defaults ([22234](https://github.com/civicrm/civicrm-core/pull/22234))**
+- **Escape single quotes in token html output
+  ([dev/core#3001](https://lab.civicrm.org/dev/core/-/issues/3001):
+  [22387](https://github.com/civicrm/civicrm-core/pull/22387) and
+  [22285](https://github.com/civicrm/civicrm-core/pull/22285))**
 
-- **Use field value function to get html signature ([22445](https://github.com/civicrm/civicrm-core/pull/22445))**
+- **APIv4 - Rename 'ReadOnly' trait to 'ReadOnlyEntity' to avoid PHP error
+  ([22626](https://github.com/civicrm/civicrm-core/pull/22626))**
 
-- **DedupeRules - Translate contact type labels, respect enabled contact types ([22383](https://github.com/civicrm/civicrm-core/pull/22383))**
+- **APIv4 - Fix saving NULL as custom field value
+  ([22328](https://github.com/civicrm/civicrm-core/pull/22328))**
 
-- **Add system status check for missing dedupe rules ([22369](https://github.com/civicrm/civicrm-core/pull/22369))**
+- **APIv4 GroupContact create indicates user is added but are not
+  ([dev/core#2924](https://lab.civicrm.org/dev/core/-/issues/2924):
+  [22322](https://github.com/civicrm/civicrm-core/pull/22322))**
 
-- **Use new money formatting util for Smarty formatting ([22309](https://github.com/civicrm/civicrm-core/pull/22309))**
+- **APIv4 - Make Groups a managed entity, fix 'null' bugs in BAO_Group
+  ([22228](https://github.com/civicrm/civicrm-core/pull/22228))**
 
-- **Improve accessibility - associate label and fields ([22361](https://github.com/civicrm/civicrm-core/pull/22361))**
+- **APIv4 - Set 'activity_type_id' to required
+  ([22359](https://github.com/civicrm/civicrm-core/pull/22359))**
 
-- **Allow chart dropdown labels to be translatable. ([22349](https://github.com/civicrm/civicrm-core/pull/22349))**
+- **Use api for entityRole - addresses save issue on the form
+  ([22589](https://github.com/civicrm/civicrm-core/pull/22589))**
 
-- **Add state name to export fields ([22318](https://github.com/civicrm/civicrm-core/pull/22318))**
+- **SearchKit - Fix editable dates on standalone form
+  ([22366](https://github.com/civicrm/civicrm-core/pull/22366))**
 
-- **SqlParallel - Enable more tests. Fix compatiblity with `release_time` ([22326](https://github.com/civicrm/civicrm-core/pull/22326))**
+- **SearchKit - Fix running searches for anonymous users
+  ([22597](https://github.com/civicrm/civicrm-core/pull/22597))**
 
-- **Use JS escaping for {ts} calls in a JS context ([22348](https://github.com/civicrm/civicrm-core/pull/22348))**
+- **SearchKit - Fix token selector to use expression alias
+  ([22539](https://github.com/civicrm/civicrm-core/pull/22539))**
 
-- **Add workflow template classes for contributions ([22340](https://github.com/civicrm/civicrm-core/pull/22340))**
+- **SearchKit - Fix UI for configuring display pager limit
+  ([22321](https://github.com/civicrm/civicrm-core/pull/22321))**
 
-- **Find Activities Search, default search option for Activity Status will exclude Activities by default which do not have a status of Scheduled or Completed. Confuses and frustrates End Users. ([21596](https://github.com/civicrm/civicrm-core/pull/21596))**
+- **SearchKit - Fix column headers for custom fields in default display
+  ([22331](https://github.com/civicrm/civicrm-core/pull/22331))**
 
-- **Wrap another set of hardcoded strings in {ts} ([22315](https://github.com/civicrm/civicrm-core/pull/22315))**
+- **SearchKit/Form: exposing a Date custom field has invalid year range
+  ([dev/report#84](https://lab.civicrm.org/dev/report/-/issues/84):
+  [22234](https://github.com/civicrm/civicrm-core/pull/22234))**
 
-- **Add authx_login() API for backend script authentication (alt) ([22292](https://github.com/civicrm/civicrm-core/pull/22292))**
+- **SearchKit: URLs to external sites no longer render
+  ([dev/report#93](https://lab.civicrm.org/dev/report/-/issues/93):
+  [22437](https://github.com/civicrm/civicrm-core/pull/22437))**
 
-- **Event Registration: initialize array ([22312](https://github.com/civicrm/civicrm-core/pull/22312))**
+- **SearchKit: Chicken-and-egg problem upgrading from 5.35.2 to 5.44.0
+  ([dev/report#90](https://lab.civicrm.org/dev/report/-/issues/90):
+  [22375](https://github.com/civicrm/civicrm-core/pull/22375))**
 
-- **Display label before input elements on SMTP settings page ([22304](https://github.com/civicrm/civicrm-core/pull/22304))**
+  Don't crash SearchKit on upgrade from 5.35.
 
-- **Follow up fix on recur data ([22301](https://github.com/civicrm/civicrm-core/pull/22301))**
+- **DedupeRules - Translate contact type labels, respect enabled contact types
+  ([22383](https://github.com/civicrm/civicrm-core/pull/22383))**
 
-- **Demo sample data - Add in some mixed currency contributions ([22307](https://github.com/civicrm/civicrm-core/pull/22307))**
+  Fixes up the Dedupe Rules page to properly handle contact types.
 
-- **Add recurring conributions to sample data ([22296](https://github.com/civicrm/civicrm-core/pull/22296))**
+- **Allow chart dropdown labels to be translatable.
+  ([22349](https://github.com/civicrm/civicrm-core/pull/22349))**
 
-- **Add workflow template for recurring cancelled ([21611](https://github.com/civicrm/civicrm-core/pull/21611))**
+- **SqlParallel - Enable more tests. Fix compatiblity with `release_time`
+  ([22326](https://github.com/civicrm/civicrm-core/pull/22326))**
 
-- **CustomGroup - Add pseudoconstant for extends column ([22282](https://github.com/civicrm/civicrm-core/pull/22282))**
+- **Use JS escaping for {ts} calls in a JS context
+  ([22348](https://github.com/civicrm/civicrm-core/pull/22348))**
 
-- **Add system status warning to display scheduled job failures ([21762](https://github.com/civicrm/civicrm-core/pull/21762))**
+- **Find Activities Search, default search option for Activity Status will
+  exclude Activities by default which do not have a status of Scheduled or
+  Completed. Confuses and frustrates End Users.
+  ([21596](https://github.com/civicrm/civicrm-core/pull/21596))**
+
+- **Wrap another set of hardcoded strings in {ts}
+  ([22315](https://github.com/civicrm/civicrm-core/pull/22315))**
+
+- **Display label before input elements on SMTP settings page
+  ([22304](https://github.com/civicrm/civicrm-core/pull/22304))**
+
+- **ExtensionUpgrades - Skip trying to upgrade missing dependencies
+  ([22623](https://github.com/civicrm/civicrm-core/pull/22623))**
 
 - **Fix input type for Smarty number formatting (more forgiving)
   ([22429](https://github.com/civicrm/civicrm-core/pull/22429))**
@@ -240,6 +351,9 @@ Released February 3, 2022
 - **Contact/BAO/Query.php: fix searching for whitespace
   ([22240](https://github.com/civicrm/civicrm-core/pull/22240))**
 
+- **Use new money formatting util for Smarty formatting
+  ([22309](https://github.com/civicrm/civicrm-core/pull/22309))**
+
 - **Smarty variables]  Remove another isset - deferredFinancialType
   ([22183](https://github.com/civicrm/civicrm-core/pull/22183))**
 
@@ -275,8 +389,23 @@ Released February 3, 2022
 - **Fix campaign dashboard to work with default escaping
   ([22364](https://github.com/civicrm/civicrm-core/pull/22364))**
 
+## CiviCase
+
+- **Case activity won't open without a source
+  ([dev/core#2825](https://lab.civicrm.org/dev/core/-/issues/2825):
+  [22243](https://github.com/civicrm/civicrm-core/pull/22243))**
+
+- **APIv4: Confusing error when calling CaseType API
+  ([dev/core#2984](https://lab.civicrm.org/dev/core/-/issues/2984):
+  [22231](https://github.com/civicrm/civicrm-core/pull/22231))**
+
 ## CiviContribution
 
+- **Repeat Contributions CiviReport warnings: Formatting non-numeric values is
+  no longer supported
+  ([dev/core#2982](https://lab.civicrm.org/dev/core/-/issues/2982):
+  [22217](https://github.com/civicrm/civicrm-core/pull/22217))**
+
 - **Do not apply default escaping to multiselects on currency form
  ([22294](https://github.com/civicrm/civicrm-core/pull/22294))**
 
@@ -292,18 +421,71 @@ Released February 3, 2022
 - **Ensure we don't get previously set honoree values in receipts
   ([21483](https://github.com/civicrm/civicrm-core/pull/21483))**
 
+- **Follow up fix on recur data
+  ([22301](https://github.com/civicrm/civicrm-core/pull/22301))**
+
 ## CiviEvent
 
+- **Event Registration: initialize array
+  ([22312](https://github.com/civicrm/civicrm-core/pull/22312))**
+
+  Minor code nitpick to avoid a PHP fatal on PHP 8.0 in certain unusual
+  circumstances.
+
 - **Fix JS Error for Free event with multiple participant on registration
   ([22310](https://github.com/civicrm/civicrm-core/pull/22310))**
 
 ## Drupal Integration
 
+- **Deprecated function drupal_get_installed_schema_version() in 9.3, but with a
+  twist ([dev/drupal#172](https://lab.civicrm.org/dev/drupal/-/issues/172):
+  [22337](https://github.com/civicrm/civicrm-core/pull/22337) and
+  [22350](https://github.com/civicrm/civicrm-core/pull/22350))**
+
+- **"Your browser session has expired and we are unable to complete your form
+  submission" on all D9.2 anonymous sessions
+  ([dev/drupal#169](https://lab.civicrm.org/dev/drupal/-/issues/169):
+  [338](https://github.com/civicrm/civicrm-packages/pull/338))**
+
+  Fixes an error when uploading images to CKEditor via KCFinder.
+
 - **Fix unreplaced template vars in civicrm.settings.php when using drush
   installer ([67](https://github.com/civicrm/civicrm-drupal-8/pull/67))**
 
+- **Drupal Full-Text Search block session time out error
+  ([dev/core#3026](https://lab.civicrm.org/dev/core/-/issues/3026):
+  [22479](https://github.com/civicrm/civicrm-core/pull/22479))**
+
+## WordPress Integration
+
+- **Migrate installers to "setup" API
+  (Work Towards [dev/core#1615](https://lab.civicrm.org/dev/core/-/issues/1615):
+  [264](https://github.com/civicrm/civicrm-wordpress/pull/264))**
+
+  Perform CLI installations using Civi\Setup.
+
 ## <a name="misc"></a>Miscellany
 
+- **Add workflow template for recurring cancelled
+  ([21611](https://github.com/civicrm/civicrm-core/pull/21611))**
+
+- **Add workflow template classes for contributions
+  ([22340](https://github.com/civicrm/civicrm-core/pull/22340))**
+
+- **Use field value function to get html signature
+  ([22445](https://github.com/civicrm/civicrm-core/pull/22445))**
+
+- **SearchKit - Tweak export explorer link icon + format
+  ([22300](https://github.com/civicrm/civicrm-core/pull/22300))**
+
+- **Expose contact ID in getContactInfo method in
+  CRM/Mailing/Event/BAO/Queue.php
+  ([dev/core#2962](https://lab.civicrm.org/dev/core/-/issues/2962):
+  [22096](https://github.com/civicrm/civicrm-core/pull/22096))**
+
+- **APIv4 Explorer - Format array params using add methods instead of set
+  ([22382](https://github.com/civicrm/civicrm-core/pull/22382))**
+
 - **Update Brick/Money to 0.5.3
   ([22246](https://github.com/civicrm/civicrm-core/pull/22246))**
 
@@ -347,7 +529,7 @@ Released February 3, 2022
   ([69](https://github.com/civicrm/civicrm-drupal-8/pull/69))**
 
 - **Update jquery.tokeninput.js to 1.6.1
-  ß([336](https://github.com/civicrm/civicrm-packages/pull/336))**
+  ([336](https://github.com/civicrm/civicrm-packages/pull/336))**
 
 - **Privatise function
   ([22392](https://github.com/civicrm/civicrm-core/pull/22392))**
@@ -356,7 +538,7 @@ Released February 3, 2022
   ([22393](https://github.com/civicrm/civicrm-core/pull/22393))**
 
 - **Remove unused function CRM/Utils/Mail/EmailProcessor::cleanupDir
-  ß([22278](https://github.com/civicrm/civicrm-core/pull/22278))**
+  ([22278](https://github.com/civicrm/civicrm-core/pull/22278))**
 
 - **Remove unused method getGrantStatusOptGroup
   ([22332](https://github.com/civicrm/civicrm-core/pull/22332))**
diff --git a/civicrm/release-notes/5.46.1.md b/civicrm/release-notes/5.46.1.md
deleted file mode 100644
index 4d07c8d666..0000000000
--- a/civicrm/release-notes/5.46.1.md
+++ /dev/null
@@ -1,37 +0,0 @@
-# CiviCRM 5.46.1
-
-Released February 9, 2022
-
-- **[Synopsis](#synopsis)**
-- **[Bugs resolved](#bugs)**
-- **[Credits](#credits)**
-- **[Feedback](#feedback)**
-
-## <a name="synopsis"></a>Synopsis
-
-| *Does this version...?*                                         |          |
-| --------------------------------------------------------------- | -------- |
-| Change the database schema?                                     | no       |
-| Alter the API?                                                  | no       |
-| Require attention to configuration options?                     | no       |
-| Fix problems installing or upgrading to a previous version?     | no       |
-| Introduce features?                                             | no       |
-| **Fix bugs?**                                                   | **yes**  |
-
-## <a name="bugs"></a>Bugs resolved
-
-* **_Custom Data_: Error when displaying monetary certain values ([dev/core#3059](https://lab.civicrm.org/dev/core/-/issues/3059): [#22727](https://github.com/civicrm/civicrm-core/pull/22727))**
-* **_Status Check_: API-based staus-check fails due to incorrect permissioning ([dev/core#3055](https://lab.civicrm.org/dev/core/-/issues/3055): [#22733](https://github.com/civicrm/civicrm-core/pull/22733))**
-
-## <a name="credits"></a>Credits
-
-This release was developed by the following authors and reviewers:
-
-Wikimedia Foundation - Eileen McNaughton; Megaphone Technology Consulting - Jon Goldberg;
-Dave D; CiviCRM - Tim Otten, Coleman Watts; BrightMinded Ltd - Bradley Taylor
-
-## <a name="feedback"></a>Feedback
-
-These release notes are edited by Tim Otten and Andie Hunt.  If you'd like to
-provide feedback on them, please login to https://chat.civicrm.org/civicrm and
-contact `@agh1`.
diff --git a/civicrm/release-notes/5.46.2.md b/civicrm/release-notes/5.46.2.md
deleted file mode 100644
index f9cf1ac4d6..0000000000
--- a/civicrm/release-notes/5.46.2.md
+++ /dev/null
@@ -1,43 +0,0 @@
-# CiviCRM 5.46.2
-
-Released February 10, 2022
-
-- **[Synopsis](#synopsis)**
-- **[Bugs resolved](#bugs)**
-- **[Credits](#credits)**
-- **[Feedback](#feedback)**
-
-## <a name="synopsis"></a>Synopsis
-
-| *Does this version...?*                                         |          |
-| --------------------------------------------------------------- | -------- |
-| Change the database schema?                                     | no       |
-| **Alter the API?**                                              | **yes**  |
-| Require attention to configuration options?                     | no       |
-| Fix problems installing or upgrading to a previous version?     | no       |
-| Introduce features?                                             | no       |
-| **Fix bugs?**                                                   | **yes**  |
-
-## <a name="bugs"></a>Bugs resolved
-
-* **_APIv3_: `Duplicatecheck` has hard failure when `rule_type` is omitted ([dev/core#3065](https://lab.civicrm.org/dev/core/-/issues/3065): [#22741](https://github.com/civicrm/civicrm-core/pull/22741))**
-
-  This change restores compatibility with certain webform_civicrm configurations.
-
-* **_APIv3_: Relations with numerical names no longer resolved ([dev/core#3063](https://lab.civicrm.org/dev/core/-/issues/3063): [#22751](https://github.com/civicrm/civicrm-core/pull/22751))**
-
-  This change restores compatibility with certain REST API consumers.
-
-## <a name="credits"></a>Credits
-
-This release was developed by the following authors and reviewers:
-
-Wikimedia Foundation - Eileen McNaughton; Semper IT - Karin Gerritsen; Mikey O'Toole;
-Megaphone Technology Consulting - Jon Goldberg; JMA Consulting - Seamus Lee; CiviCRM -
-Coleman Watts, Tim Otten
-
-## <a name="feedback"></a>Feedback
-
-These release notes are edited by Tim Otten and Andie Hunt.  If you'd like to
-provide feedback on them, please login to https://chat.civicrm.org/civicrm and
-contact `@agh1`.
diff --git a/civicrm/release-notes/5.47.0.md b/civicrm/release-notes/5.47.0.md
new file mode 100644
index 0000000000..0b8a55f582
--- /dev/null
+++ b/civicrm/release-notes/5.47.0.md
@@ -0,0 +1,949 @@
+# CiviCRM 5.47.0
+
+Released March 4, 2022
+
+- **[Synopsis](#synopsis)**
+- **[Features](#features)**
+- **[Bugs resolved](#bugs)**
+- **[Miscellany](#misc)**
+- **[Credits](#credits)**
+- **[Feedback](#feedback)**
+
+## <a name="synopsis"></a>Synopsis
+
+| *Does this version...?*                                         |         |
+|:--------------------------------------------------------------- |:-------:|
+| Fix security vulnerabilities?                                   |   no    |
+| **Change the database schema?**                                 | **yes** |
+| **Alter the API?**                                              | **yes** |
+| Require attention to configuration options?                     |   no    |
+| Fix problems installing or upgrading to a previous version?     |   no    |
+| **Introduce features?**                                         | **yes** |
+| **Fix bugs?**                                                   | **yes** |
+
+## <a name="features"></a>Features
+
+### Core CiviCRM
+
+- **Add created_date & modified_date to civicrm_relationship
+  ([22480](https://github.com/civicrm/civicrm-core/pull/22480))**
+
+  Adds created_date & modified_date to the civicrm_relationship table.
+
+- **Add option to display money tokens without formatting
+  ([22548](https://github.com/civicrm/civicrm-core/pull/22548))**
+
+  Adds an option to display money tokens without formatting.
+
+- **SearchKit - Improve field/operator/value selection UI
+  ([22604](https://github.com/civicrm/civicrm-core/pull/22604))**
+
+  Improves the SearchKit UI for selecting field/operator/value conditions.
+  Affects various parts of the UI, like css conditions, link conditions,
+  where/on/having clauses, etc.
+
+- **SearchKit - Support operators in conditional css rules
+  ([22552](https://github.com/civicrm/civicrm-core/pull/22552))**
+
+  Allows operators other than = in SearchKit conditional style rules.
+
+- **SearchKit - Allow Smarty in field rewrite
+  ([22592](https://github.com/civicrm/civicrm-core/pull/22592))**
+
+  Gives the ability to use Smarty syntax in the "rewrite" of SearchKit displays.
+
+- **SearchKit: Relationship Description unavailable
+  ([dev/core#3019](https://lab.civicrm.org/dev/core/-/issues/3019):
+  [22606](https://github.com/civicrm/civicrm-core/pull/22606))**
+
+  Exposes relationship description, created/modified_date & permissions fields
+  in SearchKit.
+
+- **SearchKit - add/remove tags action for all taggable entities
+  ([21865](https://github.com/civicrm/civicrm-core/pull/21865))**
+
+  Adds a new angular-based action to SearchKit for bulk adding/removing tags
+  from contacts, cases, activities, etc.
+
+- **SearchKit - Support conditional links
+  ([22557](https://github.com/civicrm/civicrm-core/pull/22557))**
+
+  Adds an advanced feature to conditionally show/hide links in a
+  links/buttons/menu column, based on user permissions or row values.
+
+- **SearchKit - Update operator labels
+  ([22554](https://github.com/civicrm/civicrm-core/pull/22554))**
+
+  Updates SearchKit labels to hopefully better describe ReGex.
+
+- **SearchKit - Enable joins for custom fields and option groups
+  ([22355](https://github.com/civicrm/civicrm-core/pull/22355))**
+
+  Enables SearchKit to join custom groups to custom fields, and option groups to
+  option values.
+
+- **APIv4 - Add SubscriptionHistory entity
+  ([22435](https://github.com/civicrm/civicrm-core/pull/22435))**
+
+  Adds a SubscriptionHistory entity to APIv4.
+
+- **APIv4 - Make Permission 'group' discoverable in API Explorer
+  ([22559](https://github.com/civicrm/civicrm-core/pull/22559))**
+
+  Makes `group` options for the `Permission` API discoverable.
+
+- **Improve field accessibility in legacycustomsearches
+  ([22710](https://github.com/civicrm/civicrm-core/pull/22710))**
+
+  Improves accessibility of legacy custom searches.
+
+- **Expose a REST end-point through standard routing (Work Towards
+  [dev/core#2077](https://lab.civicrm.org/dev/core/-/issues/2077):
+  [19727](https://github.com/civicrm/civicrm-core/pull/19727) and
+  [22058](https://github.com/civicrm/civicrm-core/pull/22058))**
+
+  Makes 'civicrm/ajax/rest' interoperable with 'extern/rest.php' parameters and
+  adds an AuthX configuration screen.
+
+- **Define more usable queue DX for multithreaded background work (Work Towards
+  [dev/core#1304](https://lab.civicrm.org/dev/core/-/issues/1304):
+  [22324](https://github.com/civicrm/civicrm-core/pull/22324) and
+  [22657](https://github.com/civicrm/civicrm-core/pull/22657))**
+
+  Adds a high-level queue tracking table and updates the programmatic APIs to
+  make it easier to work with persistent queues.
+
+- **Civi::pipe - Add support for background worker-processes with JSON pipes
+  ([22262](https://github.com/civicrm/civicrm-core/pull/22262))**
+
+  Add an entry-point for external scripts to send multiple API calls to a
+  CiviCRM worker-process - while only bootstrapping one time.
+
+- **Expose email on hold as filter for reports (Work towards
+  [dev/core#3012](https://lab.civicrm.org/dev/core/-/issues/3012):
+  [22368](https://github.com/civicrm/civicrm-core/pull/22368) and
+  [22572](https://github.com/civicrm/civicrm-core/pull/22572))**
+
+  Exposes email on hold as filter on contribution reports.
+
+- **Extensions - Add dependency status check
+  ([22464](https://github.com/civicrm/civicrm-core/pull/22464))**
+
+  Adds a system status check to ensure extension dependencies are met, and warn
+  the admin of missing dependencies.
+
+- **Add metadata so Activity Created Date is available in Form Builder
+  ([22320](https://github.com/civicrm/civicrm-core/pull/22320))**
+
+  Makes the Activity Created date available in Form Builder.
+
+- **Move permission access handling for
+  civicrm/admin/financial/financialType?reset=1 to extension
+  ([22685](https://github.com/civicrm/civicrm-core/pull/22685) and
+  [22499](https://github.com/civicrm/civicrm-core/pull/22499))**
+
+  Moves permission access handling for
+  civicrm/admin/financial/financialType?reset=1 to extension.
+
+- **Add setting "format_locale"
+  ([dev/core#3095](https://lab.civicrm.org/dev/core/-/issues/3095):
+  [22885](https://github.com/civicrm/civicrm-core/pull/22885))**
+
+  Adds a new setting, "Formatting Locale", which specifies that dates and
+  numbers should formatted according to designated localization rules.
+  This setting may be useful for a locale (eg `en_NZ`) whose language closely
+  resembles another (eg `en_US`) but which has a different currency.
+
+### CiviContribute
+
+- **Why are unique labels for price fields required?
+  ([dev/event#66](https://lab.civicrm.org/dev/event/-/issues/66):
+  [22508](https://github.com/civicrm/civicrm-core/pull/22508))**
+
+  Makes it so duplicate price field labels are allowed.
+
+- **Use tokens in offline contribution receipt (new installs)
+  ([22560](https://github.com/civicrm/civicrm-core/pull/22560))**
+
+  Use tokens instead of Smarty Variables in the offline contribution receipt
+  template for new installs.
+
+### CiviEvent
+
+- **Event Registration: allow default Price Set values from the URL
+  ([22313](https://github.com/civicrm/civicrm-core/pull/22313))**
+
+  Makes it so one can set the default price field on event registration forms
+  using URL parameters.
+
+- **Account for time zone on event registration pages
+  ([dev/core#2122](https://lab.civicrm.org/dev/core/-/issues/2122):
+  [22620](https://github.com/civicrm/civicrm-core/pull/22620),
+  [22622](https://github.com/civicrm/civicrm-core/pull/22622),
+  [20476](https://github.com/civicrm/civicrm-core/pull/20476),
+  [22619](https://github.com/civicrm/civicrm-core/pull/22619),
+  [22645](https://github.com/civicrm/civicrm-core/pull/22645) and
+  [22644](https://github.com/civicrm/civicrm-core/pull/22644))**
+
+  Adds timezone support for events.
+
+- **updating misleading labels on buttons to confirmation pages
+  ([dev/core#1613](dev/core#1613):
+  [20251](https://github.com/civicrm/civicrm-core/pull/20251))**
+
+  Changes the event registration button text based on if there are additional
+  participants.
+
+### CiviGrant
+
+- **CiviGrant - Use SearchKit for contact summary tab
+  ([22467](https://github.com/civicrm/civicrm-core/pull/22467))**
+
+  switches the Grants tab on the contact summary page to use a SearchKit Display.
+  It looks nearly identical before and after, but is now easily customizable via
+  the SearchKit & Form-Builder GUI.
+
+- **Migrate CiviGrant component to an extension
+  ([22064](https://github.com/civicrm/civicrm-core/pull/22064))**
+
+  Moves the CiviGrant component to an extension.
+
+### CiviMail
+
+- **Start phasing out 'preferred_mail_format' (Work towards
+  [dev/core#2866](https://lab.civicrm.org/dev/core/-/issues/2866):
+  [22634](https://github.com/civicrm/civicrm-core/pull/22634) and
+  [22632](https://github.com/civicrm/civicrm-core/pull/22632))**
+
+  Generates text version of message at send time if one is not present.
+
+### WordPress Integration
+
+- **wp-cli/civicrm.php - Add 'civicrm pipe' subcommand
+  ([270](https://github.com/civicrm/civicrm-wordpress/pull/270))**
+
+  Adds support for subcommand `wp civicrm pipe`.
+
+## <a name="bugs"></a>Bugs resolved
+
+### Core CiviCRM
+
+- **Only format Smarty aliases as money if specified
+  ([22547](https://github.com/civicrm/civicrm-core/pull/22547))**
+
+- **Avoid PHP notices on activity form
+  ([22666](https://github.com/civicrm/civicrm-core/pull/22666))**
+
+- **Fix typo preventing uninstalling ckeditor4
+  ([22691](https://github.com/civicrm/civicrm-core/pull/22691))**
+
+- **Fix return values for APIv3 Job.delete
+  ([22561](https://github.com/civicrm/civicrm-core/pull/22561))**
+
+- **enforce required fields on Contact.duplicatecheck
+  ([22741](https://github.com/civicrm/civicrm-core/pull/22741))**
+
+- **APIv4 SortableEntity - Fix sorting custom fields with option groups
+  ([22716](https://github.com/civicrm/civicrm-core/pull/22716))**
+
+- **APIv4 - Correctly return date-only custom field values without the time
+  ([22649](https://github.com/civicrm/civicrm-core/pull/22649))**
+
+- **APIv4 - Use empty string instead of 'null' to pass null values to the db
+  ([22587](https://github.com/civicrm/civicrm-core/pull/22587))**
+
+- **APIv4 - Fix incorrect placement of decodeRows in loop
+  ([22413](https://github.com/civicrm/civicrm-core/pull/22413))**
+
+- **SearchKit: In-place edit for custom dropdown field - can't blank it out
+  ([dev/report#92](https://lab.civicrm.org/dev/report/-/issues/92):
+  [22358](https://github.com/civicrm/civicrm-core/pull/22358))**
+
+- **Minor SearchKit UI filtering annoyance
+  ([dev/core#3032](https://lab.civicrm.org/dev/core/-/issues/3032):
+  [22505](https://github.com/civicrm/civicrm-core/pull/22505))**
+
+- **SearchKit - Fix selecting operators and values in clauses
+  ([22653](https://github.com/civicrm/civicrm-core/pull/22653))**
+
+- **SearchKit - Refresh contents after saving a popup when in a block/tab
+  ([22809](https://github.com/civicrm/civicrm-core/pull/22809))**
+
+- **Don't throw PHP notice when rendering dedupefind template.
+  ([22709](https://github.com/civicrm/civicrm-core/pull/22709))**
+
+- **Enotice fixes with datepicker
+  ([22705](https://github.com/civicrm/civicrm-core/pull/22705))**
+
+- **Enotice fix with priceset template
+  ([22708](https://github.com/civicrm/civicrm-core/pull/22708))**
+
+- **Enotice fixes
+  ([22697](https://github.com/civicrm/civicrm-core/pull/22697))**
+
+- **Enotice fix
+  ([22436](https://github.com/civicrm/civicrm-core/pull/22436))**
+
+- **Enotice fixes
+  ([22471](https://github.com/civicrm/civicrm-core/pull/22471))**
+
+- **CustomGroup - Ensure 'name' is always unique
+  ([22675](https://github.com/civicrm/civicrm-core/pull/22675))**
+
+- **Another set of PHPdoc corrections
+  ([22658](https://github.com/civicrm/civicrm-core/pull/22658))**
+
+- **Fix batch summary to use the api
+  ([22618](https://github.com/civicrm/civicrm-core/pull/22618))**
+
+- **Fix Smarty notices in footer files
+  ([22613](https://github.com/civicrm/civicrm-core/pull/22613))**
+
+- **Remove use of .font-size11pt and .font-size12pt
+  ([22314](https://github.com/civicrm/civicrm-core/pull/22314))**
+
+- **Don't pass redundent empty strings when instantiating
+  CRM_Core_ShowHideBlocks
+  ([22605](https://github.com/civicrm/civicrm-core/pull/22605))**
+
+- **Fix call to log method warn (should be warning)
+  ([22602](https://github.com/civicrm/civicrm-core/pull/22602))**
+
+- **tpl notices and docblocks
+  ([22449](https://github.com/civicrm/civicrm-core/pull/22449))**
+
+- **Ensure assigned Smarty array has empty keys (not no keys)
+  ([22379](https://github.com/civicrm/civicrm-core/pull/22379))**
+
+- **Stop calling hook twice
+  ([22404](https://github.com/civicrm/civicrm-core/pull/22404))**
+
+- **Activity Details field on batch update via profile has wrong fieldname
+  ([22568](https://github.com/civicrm/civicrm-core/pull/22568))**
+
+- **Re-fix enotice on searchType to work with default modifiers
+  ([22466](https://github.com/civicrm/civicrm-core/pull/22466))**
+
+- **Unable to add new custom field set or new fields (to existing field set)
+  after enabling multilingual setting.
+  ([dev/translation#38](https://lab.civicrm.org/dev/translation/-/issues/38):
+  [22647](https://github.com/civicrm/civicrm-core/pull/22647))**
+
+- **System.check permissions changed in Civi 5.46
+  ([dev/core#3055](https://lab.civicrm.org/dev/core/-/issues/3055):
+  [22733](https://github.com/civicrm/civicrm-core/pull/22733))**
+
+  Fixes the dedupe check to not require elevated permissions.
+
+- **Search Builder crashes if you have admin access and CiviGrant is not enabled
+  ([dev/core#3056](https://lab.civicrm.org/dev/core/-/issues/3056):
+  [22714](https://github.com/civicrm/civicrm-core/pull/22714))**
+
+- **CiviGrant info.xml update missing from 5.47 and
+  CRM_Utils_VersioncheckTest::testGetSiteStats should have been failing for a
+  while ([dev/core#3057](https://lab.civicrm.org/dev/core/-/issues/3057):
+  [22717](https://github.com/civicrm/civicrm-core/pull/22717))**
+
+- **Regression - fatal error when viewing custom fields with money > 1000
+  ([dev/core#3059](https://lab.civicrm.org/dev/core/-/issues/3059):
+  [22727](https://github.com/civicrm/civicrm-core/pull/22727))**
+
+- **Fix broken function reference
+  ([22474](https://github.com/civicrm/civicrm-core/pull/22474))**
+
+- **Use rolling window for translating 2-digit years into 4-digit years
+  ([22581](https://github.com/civicrm/civicrm-core/pull/22581))**
+
+  Fixes outdated hard-coded import logic: translates 2-digit years to 4 using
+  rolling -95yr to +5yr window
+
+- **Rationalise relationship validation
+  ([22491](https://github.com/civicrm/civicrm-core/pull/22491))**
+
+- **Stop calling confusing function that doesn't do much .....
+  ([22468](https://github.com/civicrm/civicrm-core/pull/22468))**
+
+- **Navigation - Make required fields NOT NULL
+  ([22430](https://github.com/civicrm/civicrm-core/pull/22430))**
+
+- **Fight back against copy & paste gone wild
+  ([22417](https://github.com/civicrm/civicrm-core/pull/22417))**
+
+### CiviCampaign
+
+- **'CiviCampaign: access CiviCampaign' permission missing
+  ([dev/core#983](https://lab.civicrm.org/dev/core/-/issues/983):
+  [22459](https://github.com/civicrm/civicrm-core/pull/22459))**
+
+### CiviCase
+
+- **CiviCase - Denote `created_date` as readonly
+  ([22608](https://github.com/civicrm/civicrm-core/pull/22608))**
+
+- **Remove category from case activity template
+  ([22530](https://github.com/civicrm/civicrm-core/pull/22530))**
+
+  Remove category from case activity template to fix e-notices.
+
+### CiviContribute
+
+- **Fix ContributionRecur.payment_processor_id pseudoconstant
+  ([22750](https://github.com/civicrm/civicrm-core/pull/22750))**
+
+- **Manage Contribution page, the link to "Online Contribution (Test-drive)" is
+  an admin-only URL to register in the backend, should be a frontend URL
+  ([22672](https://github.com/civicrm/civicrm-core/pull/22672))**
+
+- **Avoid PHP notice on 'Manage Contribution Pages' screen
+  ([22661](https://github.com/civicrm/civicrm-core/pull/22661))**
+
+- **PCP is still active after contribution page is disabled.
+  ([dev/core#899](https://lab.civicrm.org/dev/core/-/issues/899):
+  [20845](https://github.com/civicrm/civicrm-core/pull/20845))**
+
+- **don't allow multiple currencies in a batch
+  ([20884](https://github.com/civicrm/civicrm-core/pull/20884))**
+
+- **Foreign constraint violation on APIv3 contribution create if
+  financial_type_id is numeric
+  ([dev/core#3063](https://lab.civicrm.org/dev/core/-/issues/3063):
+  [22740](https://github.com/civicrm/civicrm-core/pull/22740))**
+
+- **Error cancelling a contribution if CiviPledge is disabled
+  ([dev/core#3066](https://lab.civicrm.org/dev/core/-/issues/3066):
+  [22779](https://github.com/civicrm/civicrm-core/pull/22779))**
+
+- **Import of contribution fails when invalid campaign ID is provided
+  ([dev/core#2989](https://lab.civicrm.org/dev/core/-/issues/2989):
+  [22235](https://github.com/civicrm/civicrm-core/pull/22235))**
+
+- **Simplify getting contact_id from recurring contribution when generating
+  subscription URLs
+  ([22448](https://github.com/civicrm/civicrm-core/pull/22448))**
+
+- **Fix Fatal Error on contribution tab and user dashboard when recurring
+  payment generated using extension get disabled
+  ([22264](https://github.com/civicrm/civicrm-core/pull/22264))**
+
+### CiviEvent
+
+- **CiviCRM Event, the link to "On-line Registration (Test Drive)" is an
+  admin-only URL to register in the backend, should be a frontend URL
+  ([22669](https://github.com/civicrm/civicrm-core/pull/22669))**
+
+- **Set default values to avoid notices when rendering (event templates screen)
+  ([22663](https://github.com/civicrm/civicrm-core/pull/22663))**
+
+### CiviGrant
+
+- **Fix Grant::retrieve to meet full phpcs standard
+  ([22558](https://github.com/civicrm/civicrm-core/pull/22558))**
+
+- **CiviGrant - Fix installation of dependencies during upgrade
+  ([22881](https://github.com/civicrm/civicrm-core/pull/22881))**
+
+- **CiviGrant - Menu appears twice
+  ([dev/core#3087](https://lab.civicrm.org/dev/core/-/issues/3087):
+  [22855](https://github.com/civicrm/civicrm-core/pull/22855))**
+
+- **CiviGrant - Don't return grant fields as contact fields
+  ([dev/core#3069](https://lab.civicrm.org/dev/core/-/issues/3069):
+  [22851](https://github.com/civicrm/civicrm-core/pull/22851))**
+
+- **CiviGrant - Declare API permissions
+  ([22791](https://github.com/civicrm/civicrm-core/pull/22791))**
+
+### CiviMail
+
+- **Editing a mailing triggers two autosaves instead of one
+  ([dev/core#2587](https://lab.civicrm.org/dev/core/-/issues/2587):
+  [20561](https://github.com/civicrm/civicrm-core/pull/20561))**
+
+- **MailingEventQueue - Use consistent CamelCaseName. Prevent conflicts.
+  ([22343](https://github.com/civicrm/civicrm-core/pull/22343))**
+
+- **add `contact_id` to email params in `emailLetter` function
+  ([22538](https://github.com/civicrm/civicrm-core/pull/22538))**
+
+- **Fix syntax error in CRM_Mailing_Event_BAO_Reply
+  ([22453](https://github.com/civicrm/civicrm-core/pull/22453))**
+
+- **Smarty notice fix on Email help
+  ([22470](https://github.com/civicrm/civicrm-core/pull/22470))**
+
+- **CiviMail - Fix undeclared Javascript variables ([22879](https://github.com/civicrm/civicrm-core/pull/22879))**
+
+### CiviMember
+
+- **Fix spelling mistake in function name, addMembershipToRealtedContacts should
+  be addMembershipToRelatedContacts
+  ([22673](https://github.com/civicrm/civicrm-core/pull/22673))**
+
+- **Fix Smarty notices in membership dashboard
+  ([22660](https://github.com/civicrm/civicrm-core/pull/22660))**
+
+- **Don't default membership type create to inactive
+  ([22498](https://github.com/civicrm/civicrm-core/pull/22498))**
+
+### WordPress Integration
+
+- **404 Error when I use the APIv4 with WordPress Multisite -> because no "do
+  not delete" post was generated for the subsite
+  ([dev/wordpress#59](https://lab.civicrm.org/dev/wordpress/-/issues/59):
+  [271](https://github.com/civicrm/civicrm-wordpress/pull/271))**
+
+## <a name="misc"></a>Miscellany
+
+- **Move permission checks from Query & BAO to financialacl extension
+  ([22495](https://github.com/civicrm/civicrm-core/pull/22495))**
+
+- **Add billingStateProvince and standardized property names
+  ([21583](https://github.com/civicrm/civicrm-core/pull/21583))**
+
+- **Extensions - Revise prose for status check
+  ([22638](https://github.com/civicrm/civicrm-core/pull/22638))**
+
+- **Add type to phpdoc comment for report statistic function
+  ([22514](https://github.com/civicrm/civicrm-core/pull/22514))**
+
+- **Update phpdoc references to $self to include type
+  ([22513](https://github.com/civicrm/civicrm-core/pull/22513))**
+
+- **Improve method phpdoc for CRM_Utils_System
+  ([22492](https://github.com/civicrm/civicrm-core/pull/22492))**
+
+- **Run 'full Drupal strictness' standard over api/v3/examples
+  ([22528](https://github.com/civicrm/civicrm-core/pull/22528))**
+
+- **Run stricter phpcs on Civi dir
+  ([22527](https://github.com/civicrm/civicrm-core/pull/22527))**
+
+- **Fixes to spaces from phpcs
+  ([22535](https://github.com/civicrm/civicrm-core/pull/22535))**
+
+- **Various phpdoc fixes
+  ([22509](https://github.com/civicrm/civicrm-core/pull/22509))**
+
+- **Clarify contents of ids for further fixes
+  ([22402](https://github.com/civicrm/civicrm-core/pull/22402))**
+
+- **Replace all isset checks on line.tax_rate
+  ([22421](https://github.com/civicrm/civicrm-core/pull/22421))**
+
+- **Move function to the class that 'owns' it
+  ([22472](https://github.com/civicrm/civicrm-core/pull/22472))**
+
+- **PHPCS standards on css....
+  ([22529](https://github.com/civicrm/civicrm-core/pull/22529))**
+
+- **More comments & style fixes
+  ([22533](https://github.com/civicrm/civicrm-core/pull/22533))**
+
+- **Re-run regen
+  ([22536](https://github.com/civicrm/civicrm-core/pull/22536))**
+
+- **Add consistency between checkTemplateFileExists functions,
+  ([22586](https://github.com/civicrm/civicrm-core/pull/22586))**
+
+- **Increase GroupContact:create deprecation
+  ([22416](https://github.com/civicrm/civicrm-core/pull/22416))**
+
+- **APIv4 - Docblock updates, mark BAO::create functions deprecated
+  ([22415](https://github.com/civicrm/civicrm-core/pull/22415))**
+
+- **DAO - Centralize logic to derive unique name from label
+  ([22570](https://github.com/civicrm/civicrm-core/pull/22570))**
+
+- **Pass remove-by-reference
+  ([22593](https://github.com/civicrm/civicrm-core/pull/22593))**
+
+- **Mark function as private
+  ([22457](https://github.com/civicrm/civicrm-core/pull/22457))**
+
+- **Stop returning unused parameters
+  ([22410](https://github.com/civicrm/civicrm-core/pull/22410))**
+
+- **Duplicate function from deprecated utils onto calling classes & remove
+  ([22481](https://github.com/civicrm/civicrm-core/pull/22481))**
+
+- **Fix phpdoc types for $_query in CRM_Core_Selector_Base subclasses
+  ([22424](https://github.com/civicrm/civicrm-core/pull/22424))**
+
+- **Correctly document types for class consts
+  ([22659](https://github.com/civicrm/civicrm-core/pull/22659))**
+
+- **Make phpType definitions in generated DAO objects more accurate.
+  ([22607](https://github.com/civicrm/civicrm-core/pull/22607))**
+
+- **Ensure all APIv3 functions have documented types
+  ([22674](https://github.com/civicrm/civicrm-core/pull/22674))**
+
+- **CRM_Core_Component (et al) - Deprecate unused functions
+  ([22566](https://github.com/civicrm/civicrm-core/pull/22566))**
+
+- **Move deprecated function back to the only class that calls it
+  ([22517](https://github.com/civicrm/civicrm-core/pull/22517))**
+
+- **Fix PHP comments
+  ([22526](https://github.com/civicrm/civicrm-core/pull/22526))**
+
+- **A whole bunch of phpdoc fixes
+  ([22454](https://github.com/civicrm/civicrm-core/pull/22454))**
+
+- **Another set of PHPDoc fixes
+  ([22522](https://github.com/civicrm/civicrm-core/pull/22522))**
+
+- **Fix more phpdoc comments in member links functions
+  ([22521](https://github.com/civicrm/civicrm-core/pull/22521))**
+
+- **Fix PHP comments
+  ([22515](https://github.com/civicrm/civicrm-core/pull/22515))**
+
+- **Merge function back into parent function
+  ([22516](https://github.com/civicrm/civicrm-core/pull/22516))**
+
+- **Simplify variables pass in & out of function
+  ([22439](https://github.com/civicrm/civicrm-core/pull/22439))**
+
+- **Clean up input and outputs
+  ([22440](https://github.com/civicrm/civicrm-core/pull/22440))**
+
+- **Tidy CRM_Report_Page_Options code
+  ([22432](https://github.com/civicrm/civicrm-core/pull/22432))**
+
+- **Refactor buildPremiumPreviewBlock function to make intended usage clearer
+  ([22541](https://github.com/civicrm/civicrm-core/pull/22541))**
+
+- **Fix class references in phpdoc comments
+  ([22434](https://github.com/civicrm/civicrm-core/pull/22434))**
+
+- **Contact BAO - Deprecate unused function
+  ([22610](https://github.com/civicrm/civicrm-core/pull/22610))**
+
+- **report cleanup - no functional change
+  ([22611](https://github.com/civicrm/civicrm-core/pull/22611))**
+
+- **Split View Relationship tpl ito own file
+  ([22617](https://github.com/civicrm/civicrm-core/pull/22617))**
+
+- **Fix inaccuracy in docblock for method calculateBaseScheduleDate
+  ([22631](https://github.com/civicrm/civicrm-core/pull/22631))**
+
+- **Resolve inaccuracies in CRM_Core_BAO_File::attachmentInfo docblock
+  ([22629](https://github.com/civicrm/civicrm-core/pull/22629))**
+
+- **Tidy up functions related to printing.
+  ([22601](https://github.com/civicrm/civicrm-core/pull/22601))**
+
+- **Do not pass in tablename
+  ([22625](https://github.com/civicrm/civicrm-core/pull/22625))**
+
+- **More phpcbs code cleanups
+  ([22551](https://github.com/civicrm/civicrm-core/pull/22551))**
+
+- **Resolve docblock inaccuracy in CRM_Contribute_Form_Task_TaskTrait
+  ([22646](https://github.com/civicrm/civicrm-core/pull/22646))**
+
+- **Contributor key: Add Ian Wilson
+  ([22781](https://github.com/civicrm/civicrm-core/pull/22781))**
+
+- **Bump follow-redirects from 1.11.0 to 1.14.7
+  ([22696](https://github.com/civicrm/civicrm-core/pull/22696))**
+
+- **Bump engine.io from 4.1.1 to 4.1.2
+  ([22695](https://github.com/civicrm/civicrm-core/pull/22695))**
+
+- **Bump ansi-regex from 5.0.0 to 5.0.1
+  ([22693](https://github.com/civicrm/civicrm-core/pull/22693))**
+
+- **Bump log4js from 6.3.0 to 6.4.1
+  ([22694](https://github.com/civicrm/civicrm-core/pull/22694))**
+
+- **Update composer.json for composer 2.2 allow-plugins
+  ([22692](https://github.com/civicrm/civicrm-core/pull/22692))**
+
+- **Follow up fn removal
+  ([22556](https://github.com/civicrm/civicrm-core/pull/22556))**
+
+- **Fully remove contactAB function
+  ([22485](https://github.com/civicrm/civicrm-core/pull/22485))**
+
+- **Remove support for deprecated key
+  ([22443](https://github.com/civicrm/civicrm-core/pull/22443))**
+
+- **Remove duplicate file
+  ([22569](https://github.com/civicrm/civicrm-core/pull/22569))**
+
+- **Remove obsolete scripts
+  ([22549](https://github.com/civicrm/civicrm-core/pull/22549))**
+
+- **Remove method getWordReplacement.
+  ([22577](https://github.com/civicrm/civicrm-core/pull/22577))**
+
+- **Remove unused variable
+  ([22545](https://github.com/civicrm/civicrm-core/pull/22545))**
+
+- **Remove some old scripts
+  ([22534](https://github.com/civicrm/civicrm-core/pull/22534))**
+
+- **Remove handling for impossible array
+  ([22494](https://github.com/civicrm/civicrm-core/pull/22494))**
+
+- **Remove obsolete postIPN script
+  ([22550](https://github.com/civicrm/civicrm-core/pull/22550))**
+
+- **Remove / deprecate case param handling
+  ([22420](https://github.com/civicrm/civicrm-core/pull/22420))**
+
+- **Remove useless function
+  ([22585](https://github.com/civicrm/civicrm-core/pull/22585))**
+
+- **Remove param default
+  ([22590](https://github.com/civicrm/civicrm-core/pull/22590))**
+
+- **Remove htmlFile validation rule, as it can't possibly work.
+  ([22425](https://github.com/civicrm/civicrm-core/pull/22425))**
+
+- **Remove broken script
+  ([22473](https://github.com/civicrm/civicrm-core/pull/22473))**
+
+- **Remove unreachable else
+  ([22406](https://github.com/civicrm/civicrm-core/pull/22406))**
+
+- **Remove & deprecate silly function
+  ([22456](https://github.com/civicrm/civicrm-core/pull/22456))**
+
+- **Remove always-true-if
+  ([22486](https://github.com/civicrm/civicrm-core/pull/22486))**
+
+- **Remove seemingly unreachable help text
+  ([22469](https://github.com/civicrm/civicrm-core/pull/22469))**
+
+- **Remove unused variable
+  ([22462](https://github.com/civicrm/civicrm-core/pull/22462))**
+
+- **Remove IF that only loops through one value
+  ([22455](https://github.com/civicrm/civicrm-core/pull/22455))**
+
+- **Remove if & foreach that no longer do anything
+  ([22447](https://github.com/civicrm/civicrm-core/pull/22447))**
+
+- **Remove call to PHP 4 function
+  ([22446](https://github.com/civicrm/civicrm-core/pull/22446))**
+
+- **Remove empty check
+  ([22444](https://github.com/civicrm/civicrm-core/pull/22444))**
+
+- **Remove unreachable, nonsensical code
+  ([22518](https://github.com/civicrm/civicrm-core/pull/22518))**
+
+- **Remove deprecated code
+  ([22411](https://github.com/civicrm/civicrm-core/pull/22411))**
+
+- **Remove check for contact_check as it is always an array here
+  ([22407](https://github.com/civicrm/civicrm-core/pull/22407))**
+
+- **Remove unreachable code
+  ([22594](https://github.com/civicrm/civicrm-core/pull/22594))**
+
+- **Remove unnecessary pass-by-ref
+  ([22397](https://github.com/civicrm/civicrm-core/pull/22397))**
+
+- **Remove always-true IF
+  ([22399](https://github.com/civicrm/civicrm-core/pull/22399))**
+
+- **Remove deprecated language construct
+  ([22627](https://github.com/civicrm/civicrm-core/pull/22627))**
+
+- **Remove isset from online contribution receipt
+  ([22615](https://github.com/civicrm/civicrm-core/pull/22615))**
+
+- **Remove unused invalidProfiles variable, and simplify template.
+  ([22704](https://github.com/civicrm/civicrm-core/pull/22704))**
+
+- **(REF) Switch to using new `CRM_Core_Component::isEnabled()`
+  ([22687](https://github.com/civicrm/civicrm-core/pull/22687))**
+
+- **(REF) Remove unused variable
+  ([22398](https://github.com/civicrm/civicrm-core/pull/22398))**
+
+- **(REF) Tidy up group.tpl
+  ([22668](https://github.com/civicrm/civicrm-core/pull/22668))**
+
+- **(REF) Switch OptionGroup BAO to use new centralized logic to make name from
+  title ([22654](https://github.com/civicrm/civicrm-core/pull/22654))**
+
+- **(REF) Rename variable to be meaningful
+  ([22431](https://github.com/civicrm/civicrm-core/pull/22431))**
+
+- **(REF) Improve APIv4 save functions
+  ([22403](https://github.com/civicrm/civicrm-core/pull/22403))**
+
+- **(REF) CRM_Core_Resources - Limit visibility of `getEntityRefMetadata`
+  ([22511](https://github.com/civicrm/civicrm-core/pull/22511))**
+
+- **(REF) ContactUtils - Rename local variables
+  ([22510](https://github.com/civicrm/civicrm-core/pull/22510))**
+
+- **(REF) CoreResources - Simplify disabled component check
+  ([22506](https://github.com/civicrm/civicrm-core/pull/22506))**
+
+- **(REF) Remove constructors that do nothing
+  ([22544](https://github.com/civicrm/civicrm-core/pull/22544))**
+
+- **(REF) Extract function `CRM_Core_Component::isEnabled()`
+  ([22567](https://github.com/civicrm/civicrm-core/pull/22567))**
+
+- **(REF) SearchKit docblock cleanup
+  ([22603](https://github.com/civicrm/civicrm-core/pull/22603))**
+
+- **(REF) SearchKit - Function extraction
+  ([22598](https://github.com/civicrm/civicrm-core/pull/22598))**
+
+- **(REF) SearchKit - Simplify import/export popup code
+  ([22507](https://github.com/civicrm/civicrm-core/pull/22507))**
+
+- **(REF) Upgrade jQuery UI to 1.13.0
+  ([22576](https://github.com/civicrm/civicrm-core/pull/22576))**
+
+- **(REF) Components - Use extracted function
+  ([22573](https://github.com/civicrm/civicrm-core/pull/22573))**
+
+- **(REF) SavedSearch - Deprecate/remove redundant/unused functions
+  ([22542](https://github.com/civicrm/civicrm-core/pull/22542))**
+
+- **(REF) Use CRM_Contact_BAO_ContactType::basicTypes()
+  ([22520](https://github.com/civicrm/civicrm-core/pull/22520))**
+
+- **(REF) Remove unused _colours property
+  ([22525](https://github.com/civicrm/civicrm-core/pull/22525))**
+
+- **(REF) Tidy up formatting in gotv.tpl, remove extra </div>
+  ([22433](https://github.com/civicrm/civicrm-core/pull/22433))**
+
+- **(REF) Stop returning unused variables
+  ([22401](https://github.com/civicrm/civicrm-core/pull/22401))**
+
+- **(REF) Centralize BAO handling of custom data
+  ([22426](https://github.com/civicrm/civicrm-core/pull/22426))**
+
+- **(REF) Remove handling for no organization being passed
+  ([22395](https://github.com/civicrm/civicrm-core/pull/22395))**
+
+- **(REF) APIv4 - Rename trait 'SoftDelete' to 'SoftDeleteEntity'
+  ([22662](https://github.com/civicrm/civicrm-core/pull/22662))**
+
+- **(REF) Cleanup Contact BAO variables
+  ([22609](https://github.com/civicrm/civicrm-core/pull/22609))**
+
+- **(REF) Queues - Expand docblocks. Extract SQL trait.
+  ([22681](https://github.com/civicrm/civicrm-core/pull/22681))**
+
+- **(REF) APIv4 - Deprecate and stop using PreSaveSubscriber
+  ([22648](https://github.com/civicrm/civicrm-core/pull/22648))**
+
+- **(REF) CustomField Admin - Decouple page code from form code
+  ([22519](https://github.com/civicrm/civicrm-core/pull/22519))**
+
+- **(NFC) Fix typo in docblock
+  ([22409](https://github.com/civicrm/civicrm-core/pull/22409))**
+
+- **(NFC) Tidy up phpdoc in CRM_Utils_QueryFormatter
+  ([22423](https://github.com/civicrm/civicrm-core/pull/22423))**
+
+- **(NFC) Update test example template and regenerate examples
+  ([22531](https://github.com/civicrm/civicrm-core/pull/22531))**
+
+- **(NFC) Correct type hints for bad null default values
+  ([22600](https://github.com/civicrm/civicrm-core/pull/22600))**
+
+- **(NFC) Minor phpdoc fixes to
+  CRM_Mailing_Event_BAO_Unsubscribe::send_unsub_response
+  ([22574](https://github.com/civicrm/civicrm-core/pull/22574))**
+
+- **(NFC) CiviReport, etal - More phpdoc fixes
+  ([22565](https://github.com/civicrm/civicrm-core/pull/22565))**
+
+- **(NFC) Minor amends to getGroupByFromSelectColumns
+  ([22575](https://github.com/civicrm/civicrm-core/pull/22575))**
+
+- **(NFC) Correctly document CRM_Utils_Hook::pre to allow null ID
+  ([22562](https://github.com/civicrm/civicrm-core/pull/22562))**
+
+- **(NFC) Update PHPDoc for alterDeferredRevenueItems
+  ([22563](https://github.com/civicrm/civicrm-core/pull/22563))**
+
+- **(NFC) Comment fixes Stricter phpcs
+  ([22555](https://github.com/civicrm/civicrm-core/pull/22555))**
+
+- **(NFC) Remaining css phpcs fixes
+  ([22553](https://github.com/civicrm/civicrm-core/pull/22553))**
+
+- **(NFC) Fixes to the type definitions for contactType methods
+  ([22524](https://github.com/civicrm/civicrm-core/pull/22524))**
+
+- **(NFC) Civi::pipe - Swap various quotes
+  ([22503](https://github.com/civicrm/civicrm-core/pull/22503))**
+
+- **NFC: Clean up description for alterDisplayName hook
+  ([22501](https://github.com/civicrm/civicrm-core/pull/22501))**
+
+- **(NFC) Membership Tests - Update assertions to match behavior circa leap-day
+  ([22871](https://github.com/civicrm/civicrm-core/pull/22871))**
+
+- **(NFC) Update Contribution Recur DAO following regen
+  ([22858](https://github.com/civicrm/civicrm-core/pull/22858))**
+
+- **(NFC) RestTest - Skip testNotCMSUser_q when it's not supported
+  ([22817](https://github.com/civicrm/civicrm-core/pull/22817))**
+
+- **APIv4 - Fix test
+  ([22414](https://github.com/civicrm/civicrm-core/pull/22414))**
+
+- **Test cleanup - remove direct calls to BAO_Membership::add
+  ([22497](https://github.com/civicrm/civicrm-core/pull/22497))**
+
+- **Unit tests for 22429 and apply same treatment to other money format
+  functions ([22442](https://github.com/civicrm/civicrm-core/pull/22442))**
+
+- **Simplify APIv4 conformance test
+  ([22579](https://github.com/civicrm/civicrm-core/pull/22579))**
+
+- **Add unit test on updateGreeting & remove deprecated fn call
+  ([22482](https://github.com/civicrm/civicrm-core/pull/22482))**
+
+- **[test] - Add test coverage for adjusting custom group weights
+  ([22512](https://github.com/civicrm/civicrm-core/pull/22512))**
+
+- **Fix testMultipleMembershipsContribution to use order api
+  ([22274](https://github.com/civicrm/civicrm-core/pull/22274))**
+
+- **Port test form earlier PR
+  ([22502](https://github.com/civicrm/civicrm-core/pull/22502))**
+
+- **Test for APIv4 contact delete bug
+  ([dev/core#2757](https://lab.civicrm.org/dev/core/-/issues/2757):
+  [22458](https://github.com/civicrm/civicrm-core/pull/22458))**
+
+## <a name="credits"></a>Credits
+
+This release was developed by the following code authors:
+
+AGH Strategies - Andie Hunt; Agileware - Francis Whittle, Justin Freeman;
+BrightMinded Ltd - Bradley Taylor; Christian Wach; CiviCoop - Klaas Eikelboom;
+CiviCRM - Coleman Watts, Tim Otten; CiviDesk - Yashodha Chaku; Coop SymbioTIC -
+Mathieu Lutfy; Dave D; Freeform Solutions - Herb van den Dool; Jens Schuppe; JMA
+Consulting - Seamus Lee; Joinery - Allen Shaw; Lemniscus - Noah Miller;
+Megaphone Technology Consulting - Jon Goldberg; MJW Consulting - Matthew Wire;
+PERORA SRL - Samuele Masetto; Registered Nurses' Association of Ontario - Ian
+Wilson; Romain Thouvenin; Skvare - Sunil Pawar; Third Sector Design - Kurund
+Jalmi; Wikimedia Foundation - Eileen McNaughton
+
+Most authors also reviewed code for this release; in addition, the following
+reviewers contributed their comments:
+
+Andy Burns; Artful Robot - Rich Lott; Betty Dolfing; Blackfly Solutions - Alan
+Dixon; Circle Interactive - Pradeep Nayak; CiviCoop - Jaap Jansma; Coop
+SymbioTIC - Shane Bill; Fuzion - Luke Stewart; in2part; JMA Consulting - Joe
+Murray, Monish Deb; Korlon - Stuart Gaston; Mikey O'Toole; Peter Boling; Tadpole
+Collective - Kevin Cristiano; Wildsight - Lars Sanders-Green
diff --git a/civicrm/settings/Localization.setting.php b/civicrm/settings/Localization.setting.php
index ec1be4f3bb..6a55c01d98 100644
--- a/civicrm/settings/Localization.setting.php
+++ b/civicrm/settings/Localization.setting.php
@@ -409,6 +409,27 @@ return [
       'callback' => 'CRM_Core_I18n::languages',
     ],
   ],
+  'format_locale' => [
+    'group_name' => 'Localization Preferences',
+    'group' => 'localization',
+    'name' => 'format_locale',
+    'type' => 'String',
+    'quick_form_type' => 'Select',
+    'html_type' => 'Select',
+    'html_attributes' => [
+      'class' => 'crm-select2',
+    ],
+    'default' => NULL,
+    'add' => '5.47',
+    'title' => ts('Formatting locale'),
+    'is_domain' => 1,
+    'is_contact' => 0,
+    'help_text' => NULL,
+    'pseudoconstant' => [
+      'callback' => 'CRM_Core_I18n::getFormatLocales',
+    ],
+    'description' => ts('Locale to use when formatting money (and in future dates). This replaces thousandsSeparator & decimalSeparator & moneyFormat settings.'),
+  ],
   'uiLanguages' => [
     'group_name' => 'Localization Preferences',
     'group' => 'localization',
diff --git a/civicrm/setup/res/template.css b/civicrm/setup/res/template.css
index a06f97a2b8..5f3321d392 100644
--- a/civicrm/setup/res/template.css
+++ b/civicrm/setup/res/template.css
@@ -2,13 +2,13 @@ body {
   background: #eee;
 }
 /* Header */
-.civicrm-setup-header{
+.civicrm-setup-header {
   height: 300px;
   width: 100%;
   display: block;
 }
 
-.civicrm-setup-header .title{
+.civicrm-setup-header .title {
   width: 25%;
   position: absolute;
   overflow: hidden;
@@ -19,7 +19,7 @@ body {
   display: inline-flex;
 }
 
-.civicrm-setup-header h1{
+.civicrm-setup-header h1 {
   line-height: 35px;
   color: #ddd;
   position: relative;
@@ -28,19 +28,24 @@ body {
   -webkit-animation-delay: 0.5s;
   animation: slide 1s forwards;
   animation-delay: 0.5s;
-
 }
 
-@-webkit-keyframes slide{
-    100% { left: 0; color:#555;}
+@-webkit-keyframes slide {
+  100% {
+    left: 0;
+    color: #555;
+}
 }
 
-@keyframes slide{
-    100% { left: 0; color: #555;}
+@keyframes slide {
+  100% {
+    left: 0;
+    color: #555;
+}
 }
 
 
-.civicrm-setup-header hr{
+.civicrm-setup-header hr {
   border-bottom: 2px solid #fff;
   border-top: 2px solid #ddd;
 }
@@ -53,7 +58,7 @@ body {
   margin-right: 10%;
 }
 
-.civicrm-setup-body .civicrm-logo img{
+.civicrm-setup-body .civicrm-logo img {
   width: 100%;
 }
 
@@ -114,7 +119,7 @@ body {
 }
 
 .civicrm-setup-body p.error a {
-  color: #FFF;
+  color: #fff;
   font-weight: bold;
 }
 
@@ -146,16 +151,23 @@ body {
   border: 1px #ccc solid;
 }
 
-.civicrm-setup-body .reqSeverity-info { color: green; }
-.civicrm-setup-body .reqSeverity-warning { color: #a70; }
-.civicrm-setup-body .reqSeverity-error { color: #c00; }
+.civicrm-setup-body .reqSeverity-info {
+  color: green;
+}
+.civicrm-setup-body .reqSeverity-warning {
+  color: #a70;
+}
+.civicrm-setup-body .reqSeverity-error {
+  color: #c00;
+}
 
 .civicrm-setup-body .settingsTable {
   border-collapse: collapse;
   margin: 2em
 }
 
-.civicrm-setup-body th, .civicrm-setup-body td {
+.civicrm-setup-body th,
+.civicrm-setup-body td {
   text-align: left;
   padding: 0.25em;
   vertical-align: top;
@@ -172,12 +184,25 @@ body {
   background: #eee;
   text-align: center;
 }
-.civicrm-setup-body .comp-box:hover { background: #ddd; cursor: hand; }
-.civicrm-setup-body .comp-box > span {  width: 100%;  }
-.civicrm-setup-body .comp-label {  font-size: 1.5em; }
-.civicrm-setup-body .comp-desc { font-style: italic; }
-.civicrm-setup-body .comp-cb:checked + label { background: #dfd; }
-.civicrm-setup-body .comp-cb:checked + label:hover { background: #cec; }
+.civicrm-setup-body .comp-box:hover {
+  background: #ddd;
+  cursor: hand;
+}
+.civicrm-setup-body .comp-box > span {
+  width: 100%;
+}
+.civicrm-setup-body .comp-label {
+  font-size: 1.5em;
+}
+.civicrm-setup-body .comp-desc {
+  font-style: italic;
+}
+.civicrm-setup-body .comp-cb:checked + label {
+  background: #dfd;
+}
+.civicrm-setup-body .comp-cb:checked + label:hover {
+  background: #cec;
+}
 
 .civicrm-setup-body .optin-box {
   height: 3.5em;
@@ -189,12 +214,25 @@ body {
   background: #eee;
   text-align: center;
 }
-.civicrm-setup-body .optin-box:hover { background: #ddd; cursor: hand; }
-.civicrm-setup-body .optin-box > span {  width: 100%; }
-.civicrm-setup-body .optin-label {  font-size: 1.5em; }
-.civicrm-setup-body .optin-desc { font-style: italic; }
-.civicrm-setup-body .optin-cb:checked + label { background: #dfd; }
-.civicrm-setup-body .optin-cb:checked + label:hover { background: #cec; }
+.civicrm-setup-body .optin-box:hover {
+  background: #ddd;
+  cursor: hand;
+}
+.civicrm-setup-body .optin-box > span {
+  width: 100%;
+}
+.civicrm-setup-body .optin-label {
+  font-size: 1.5em;
+}
+.civicrm-setup-body .optin-desc {
+  font-style: italic;
+}
+.civicrm-setup-body .optin-cb:checked + label {
+  background: #dfd;
+}
+.civicrm-setup-body .optin-cb:checked + label:hover {
+  background: #cec;
+}
 
 .civicrm-setup-body .sr-only {
   position: absolute;
@@ -207,10 +245,18 @@ body {
   border: 0;
 }
 
-.civicrm-setup-body.has-errors .if-no-errors {display: none;}
-.civicrm-setup-body.has-warnings .if-no-warnings {display: none;}
-.civicrm-setup-body.has-problems .if-no-problems {display: none;}
-.civicrm-setup-body.has-no-problems .if-problems {display: none;}
+.civicrm-setup-body.has-errors .if-no-errors {
+  display: none;
+}
+.civicrm-setup-body.has-warnings .if-no-warnings {
+  display: none;
+}
+.civicrm-setup-body.has-problems .if-no-problems {
+  display: none;
+}
+.civicrm-setup-body.has-no-problems .if-problems {
+  display: none;
+}
 
 .civicrm-setup-body .action-box {
   width: 100%;
@@ -218,41 +264,43 @@ body {
   margin: 2em 0.5em;
 }
 .civicrm-setup-body button[type=submit] {
-  padding:15px 25px;
-  background:#82C459;
+  padding: 15px 25px;
+  background: #82c459;
   color: white;
-  border:0 none;
-  cursor:pointer;
+  border: 0 none;
+  cursor: pointer;
   -webkit-border-radius: 5px;
   border-radius: 5px;
   font-size: 20px;
 }
 .civicrm-setup-body button[type=submit]:hover {
-  background: #60A237;
+  background: #60a237;
 }
 .civicrm-setup-body button[type=submit]:disabled {
   background: #888;
   cursor: not-allowed;
 }
 
-.civicrm-setup-body .settingsTable input[type=text] { width: 80%; }
+.civicrm-setup-body .settingsTable input[type=text] {
+  width: 80%;
+}
 
 
 
-@media only screen and (max-width: 801px){
-  .civicrm-setup-body .comp-box{
+@media only screen and (max-width: 801px) {
+  .civicrm-setup-body .comp-box {
     width: 45%;
   }
 }
 
-@media only screen and (max-width: 635px){
-  .civicrm-setup-header .title{
+@media only screen and (max-width: 635px) {
+  .civicrm-setup-header .title {
     width: 45%;
     margin-left: 5%;
     margin-top: 30px;
   }
 
-  .civicrm-setup-body .settingsTable{
+  .civicrm-setup-body .settingsTable {
     display: block;
     overflow-x: auto;
     white-space: nowrap;
@@ -262,8 +310,8 @@ body {
 
 }
 
-@media only screen and (max-width: 503px){
-  .civicrm-setup-body .comp-box{
+@media only screen and (max-width: 503px) {
+  .civicrm-setup-body .comp-box {
     width: 95%;
   }
 }
diff --git a/civicrm/sql/civicrm.mysql b/civicrm/sql/civicrm.mysql
index c7e15172e8..914b789c1b 100644
--- a/civicrm/sql/civicrm.mysql
+++ b/civicrm/sql/civicrm.mysql
@@ -121,9 +121,9 @@ DROP TABLE IF EXISTS `civicrm_cache`;
 DROP TABLE IF EXISTS `civicrm_cxn`;
 DROP TABLE IF EXISTS `civicrm_pcp`;
 DROP TABLE IF EXISTS `civicrm_queue_item`;
+DROP TABLE IF EXISTS `civicrm_queue`;
 DROP TABLE IF EXISTS `civicrm_pledge_block`;
 DROP TABLE IF EXISTS `civicrm_tell_friend`;
-DROP TABLE IF EXISTS `civicrm_grant`;
 DROP TABLE IF EXISTS `civicrm_case_type`;
 DROP TABLE IF EXISTS `civicrm_dedupe_exception`;
 DROP TABLE IF EXISTS `civicrm_dedupe_rule`;
@@ -1216,37 +1216,6 @@ CREATE TABLE `civicrm_case_type` (
 )
 ENGINE=InnoDB DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC;
 
--- /*******************************************************
--- *
--- * civicrm_grant
--- *
--- * This table stores information about grants given to a contact.
--- *
--- *******************************************************/
-CREATE TABLE `civicrm_grant` (
-  `id` int unsigned NOT NULL AUTO_INCREMENT COMMENT 'Unique Grant id',
-  `contact_id` int unsigned NOT NULL COMMENT 'Contact ID of contact record given grant belongs to.',
-  `application_received_date` date COMMENT 'Date on which grant application was received by donor.',
-  `decision_date` date COMMENT 'Date on which grant decision was made.',
-  `money_transfer_date` date COMMENT 'Date on which grant money transfer was made.',
-  `grant_due_date` date COMMENT 'Date on which grant report is due.',
-  `grant_report_received` tinyint COMMENT 'Yes/No field stating whether grant report was received by donor.',
-  `grant_type_id` int unsigned NOT NULL COMMENT 'Type of grant. Implicit FK to civicrm_option_value in grant_type option_group.',
-  `amount_total` decimal(20,2) NOT NULL COMMENT 'Requested grant amount, in default currency.',
-  `amount_requested` decimal(20,2) COMMENT 'Requested grant amount, in original currency (optional).',
-  `amount_granted` decimal(20,2) COMMENT 'Granted amount, in default currency.',
-  `currency` varchar(3) NOT NULL COMMENT '3 character string, value from config setting or input via user.',
-  `rationale` text COMMENT 'Grant rationale.',
-  `status_id` int unsigned NOT NULL COMMENT 'ID of Grant status.',
-  `financial_type_id` int unsigned DEFAULT NULL COMMENT 'FK to Financial Type.',
-  PRIMARY KEY (`id`),
-  INDEX `index_grant_type_id`(grant_type_id),
-  INDEX `index_status_id`(status_id),
-  CONSTRAINT FK_civicrm_grant_contact_id FOREIGN KEY (`contact_id`) REFERENCES `civicrm_contact`(`id`) ON DELETE CASCADE,
-  CONSTRAINT FK_civicrm_grant_financial_type_id FOREIGN KEY (`financial_type_id`) REFERENCES `civicrm_financial_type`(`id`) ON DELETE SET NULL
-)
-ENGINE=InnoDB DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC;
-
 -- /*******************************************************
 -- *
 -- * civicrm_tell_friend
@@ -1289,6 +1258,23 @@ CREATE TABLE `civicrm_pledge_block` (
 )
 ENGINE=InnoDB DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC;
 
+-- /*******************************************************
+-- *
+-- * civicrm_queue
+-- *
+-- * Stores a list of persistent queues
+-- *
+-- *******************************************************/
+CREATE TABLE `civicrm_queue` (
+  `id` int unsigned NOT NULL AUTO_INCREMENT,
+  `name` varchar(64) NOT NULL COMMENT 'Name of the queue',
+  `type` varchar(64) NOT NULL COMMENT 'Type of the queue',
+  `is_autorun` tinyint COMMENT 'Should the standard background attempt to autorun tasks in this queue?',
+  PRIMARY KEY (`id`),
+  UNIQUE INDEX `UI_name`(name)
+)
+ENGINE=InnoDB DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC;
+
 -- /*******************************************************
 -- *
 -- * civicrm_queue_item
@@ -1435,7 +1421,7 @@ CREATE TABLE `civicrm_custom_group` (
   `icon` varchar(255) DEFAULT NULL COMMENT 'crm-i icon class',
   PRIMARY KEY (`id`),
   UNIQUE INDEX `UI_title_extends`(title, extends),
-  UNIQUE INDEX `UI_name_extends`(name, extends),
+  UNIQUE INDEX `UI_name`(name),
   CONSTRAINT FK_civicrm_custom_group_created_id FOREIGN KEY (`created_id`) REFERENCES `civicrm_contact`(`id`) ON DELETE SET NULL
 )
 ENGINE=InnoDB DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC;
@@ -1760,9 +1746,9 @@ CREATE TABLE `civicrm_navigation` (
   `permission` varchar(255) COMMENT 'Permission(s) needed to access menu item',
   `permission_operator` varchar(3) COMMENT 'Operator to use if item has more than one permission',
   `parent_id` int unsigned COMMENT 'Parent navigation item, used for grouping',
-  `is_active` tinyint COMMENT 'Is this navigation item active?',
+  `is_active` tinyint NOT NULL DEFAULT 1 COMMENT 'Is this navigation item active?',
   `has_separator` tinyint DEFAULT 0 COMMENT 'Place a separator either before or after this menu item.',
-  `weight` int COMMENT 'Ordering of the navigation items in various blocks.',
+  `weight` int NOT NULL DEFAULT 0 COMMENT 'Ordering of the navigation items in various blocks.',
   PRIMARY KEY (`id`),
   CONSTRAINT FK_civicrm_navigation_domain_id FOREIGN KEY (`domain_id`) REFERENCES `civicrm_domain`(`id`),
   CONSTRAINT FK_civicrm_navigation_parent_id FOREIGN KEY (`parent_id`) REFERENCES `civicrm_navigation`(`id`) ON DELETE CASCADE
@@ -2994,6 +2980,8 @@ CREATE TABLE `civicrm_relationship` (
   `is_permission_a_b` int unsigned NOT NULL DEFAULT 0 COMMENT 'Permission that Contact A has to view/update Contact B',
   `is_permission_b_a` int unsigned NOT NULL DEFAULT 0 COMMENT 'Permission that Contact B has to view/update Contact A',
   `case_id` int unsigned DEFAULT NULL COMMENT 'FK to civicrm_case',
+  `created_date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT 'Relationship created date.',
+  `modified_date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT 'Relationship last modified.',
   PRIMARY KEY (`id`),
   CONSTRAINT FK_civicrm_relationship_contact_id_a FOREIGN KEY (`contact_id_a`) REFERENCES `civicrm_contact`(`id`) ON DELETE CASCADE,
   CONSTRAINT FK_civicrm_relationship_contact_id_b FOREIGN KEY (`contact_id_b`) REFERENCES `civicrm_contact`(`id`) ON DELETE CASCADE,
@@ -3920,12 +3908,12 @@ CREATE TABLE `civicrm_event` (
   `event_type_id` int unsigned DEFAULT 0 COMMENT 'Event Type ID.Implicit FK to civicrm_option_value where option_group = event_type.',
   `participant_listing_id` int unsigned DEFAULT NULL COMMENT 'Should we expose the participant list? Implicit FK to civicrm_option_value where option_group = participant_listing.',
   `is_public` tinyint DEFAULT 1 COMMENT 'Public events will be included in the iCal feeds. Access to private event information may be limited using ACLs.',
-  `start_date` datetime COMMENT 'Date and time that event starts.',
-  `end_date` datetime COMMENT 'Date and time that event ends. May be NULL if no defined end date/time',
+  `start_date` timestamp NULL DEFAULT NULL COMMENT 'Date and time that event starts.',
+  `end_date` timestamp NULL DEFAULT NULL COMMENT 'Date and time that event ends. May be NULL if no defined end date/time',
   `is_online_registration` tinyint DEFAULT 0 COMMENT 'If true, include registration link on Event Info page.',
   `registration_link_text` varchar(255) COMMENT 'Text for link to Event Registration form which is displayed on Event Information screen when is_online_registration is true.',
-  `registration_start_date` datetime COMMENT 'Date and time that online registration starts.',
-  `registration_end_date` datetime COMMENT 'Date and time that online registration ends.',
+  `registration_start_date` timestamp NULL DEFAULT NULL COMMENT 'Date and time that online registration starts.',
+  `registration_end_date` timestamp NULL DEFAULT NULL COMMENT 'Date and time that online registration ends.',
   `max_participants` int unsigned DEFAULT NULL COMMENT 'Maximum number of registered participants to allow. After max is reached, a custom Event Full message is displayed. If NULL, allow unlimited number of participants.',
   `event_full_text` text COMMENT 'Message to display on Event Information page and INSTEAD OF Event Registration form if maximum participants are signed up. Can include email address/info about getting on a waiting list, etc. Text and html allowed.',
   `is_monetary` tinyint DEFAULT 0 COMMENT 'If true, one or more fee amounts must be set and a Payment Processor must be configured for Online Event Registration.',
@@ -3982,6 +3970,7 @@ CREATE TABLE `civicrm_event` (
   `slot_label_id` int unsigned DEFAULT NULL COMMENT 'Subevent slot label. Implicit FK to civicrm_option_value where option_group = conference_slot.',
   `dedupe_rule_group_id` int unsigned DEFAULT NULL COMMENT 'Rule to use when matching registrations for this event',
   `is_billing_required` tinyint DEFAULT 0 COMMENT 'if true than billing block is required this event',
+  `event_tz` text DEFAULT NULL COMMENT 'Event\'s native time zone',
   PRIMARY KEY (`id`),
   INDEX `index_event_type_id`(event_type_id),
   INDEX `index_participant_listing_id`(participant_listing_id),
diff --git a/civicrm/sql/civicrm_data.mysql b/civicrm/sql/civicrm_data.mysql
index e237396975..8a66655432 100644
--- a/civicrm/sql/civicrm_data.mysql
+++ b/civicrm/sql/civicrm_data.mysql
@@ -4653,6 +4653,11 @@ INSERT INTO civicrm_component (name, namespace) VALUES ('CiviCase'      , 'CRM_C
 INSERT INTO civicrm_component (name, namespace) VALUES ('CiviReport'    , 'CRM_Report' );
 INSERT INTO civicrm_component (name, namespace) VALUES ('CiviCampaign'  , 'CRM_Campaign' );
 
+-- CiviGrant has migrated to an extension, but instead of removing the above insert,
+-- go ahead and insert it, then delete. This is because too much legacy code has hard-coded
+-- references to component ID, so it's better to keep the auto-increment values stable.
+DELETE FROM civicrm_component WHERE name = 'CiviGrant';
+
 -- Create organization contact
 INSERT INTO civicrm_contact( `contact_type`, `sort_name`, `display_name`, `legal_name`, `organization_name`)
 VALUES ('Organization', @defaultOrganization, @defaultOrganization, @defaultOrganization, @defaultOrganization);
@@ -4754,8 +4759,6 @@ VALUES
    ('user_dashboard_options'        , 'User Dashboard Options'             , NULL, 1, 1, 1),
    ('address_options'               , 'Addressing Options'                 , NULL, 1, 1, 0),
    ('group_type'                    , 'Group Type'                         , NULL, 1, 1, 0),
-   ('grant_status'                  , 'Grant status'                       , NULL, 1, 1, 0),
-   ('grant_type'                    , 'Grant Type'                         , NULL, 1, 1, 0),
    ('custom_search'                 , 'Custom Search'                      , NULL, 1, 1, 0),
    ('activity_status'               , 'Activity Status'                    , 'Integer', 1, 1, 0),
    ('case_type'                     , 'Case Type'                          , NULL, 1, 1, 0),
@@ -4840,8 +4843,6 @@ SELECT @option_group_id_asOpt          := max(id) from civicrm_option_group wher
 SELECT @option_group_id_udOpt          := max(id) from civicrm_option_group where name = 'user_dashboard_options';
 SELECT @option_group_id_adOpt          := max(id) from civicrm_option_group where name = 'address_options';
 SELECT @option_group_id_gType          := max(id) from civicrm_option_group where name = 'group_type';
-SELECT @option_group_id_grantSt        := max(id) from civicrm_option_group where name = 'grant_status';
-SELECT @option_group_id_grantTyp       := max(id) from civicrm_option_group where name = 'grant_type';
 SELECT @option_group_id_csearch        := max(id) from civicrm_option_group where name = 'custom_search';
 SELECT @option_group_id_acs            := max(id) from civicrm_option_group where name = 'activity_status';
 SELECT @option_group_id_ct             := max(id) from civicrm_option_group where name = 'case_type';
@@ -4908,7 +4909,6 @@ SELECT @eventCompId      := max(id) FROM civicrm_component where name = 'CiviEve
 SELECT @memberCompId     := max(id) FROM civicrm_component where name = 'CiviMember';
 SELECT @pledgeCompId     := max(id) FROM civicrm_component where name = 'CiviPledge';
 SELECT @caseCompId       := max(id) FROM civicrm_component where name = 'CiviCase';
-SELECT @grantCompId      := max(id) FROM civicrm_component where name = 'CiviGrant';
 SELECT @campaignCompId   := max(id) FROM civicrm_component where name = 'CiviCampaign';
 SELECT @mailCompId       := max(id) FROM civicrm_component where name = 'CiviMail';
 
@@ -5086,7 +5086,6 @@ VALUES
   (@option_group_id_cvOpt, 'Memberships'  ,   8, 'CiviMember', NULL, 0, NULL,  8,  NULL, 0, 0, 1, NULL, NULL, NULL),
   (@option_group_id_cvOpt, 'Events'       ,   9, 'CiviEvent', NULL, 0, NULL,  9,  NULL, 0, 0, 1, NULL, NULL, NULL),
   (@option_group_id_cvOpt, 'Cases'        ,  10, 'CiviCase', NULL, 0, NULL,  10, NULL, 0, 0, 1, NULL, NULL, NULL),
-  (@option_group_id_cvOpt, 'Grants'       ,  11, 'CiviGrant', NULL, 0, NULL,  11, NULL, 0, 0, 1, NULL, NULL, NULL),
   (@option_group_id_cvOpt, 'Pledges'      ,  13, 'CiviPledge', NULL, 0, NULL,  13, NULL, 0, 0, 1, NULL, NULL, NULL),
   (@option_group_id_cvOpt, 'Mailings'     ,  14, 'CiviMail', NULL, 0, NULL,  14, NULL, 0, 0, 1, NULL, NULL, NULL),
 
@@ -5123,7 +5122,6 @@ VALUES
   (@option_group_id_asOpt, 'Memberships'             ,   8, 'CiviMember', NULL, 0, NULL,  9, NULL, 0, 0, 1, NULL, NULL, NULL),
   (@option_group_id_asOpt, 'Events'                  ,   9, 'CiviEvent', NULL, 0, NULL, 10, NULL, 0, 0, 1, NULL, NULL, NULL),
   (@option_group_id_asOpt, 'Cases'                   ,  10, 'CiviCase', NULL, 0, NULL, 11, NULL, 0, 0, 1, NULL, NULL, NULL),
-  (@option_group_id_asOpt, 'Grants'                                        ,  12, 'CiviGrant', NULL, 0, NULL, 14, NULL, 0, 0, 1, NULL, NULL, NULL),
   (@option_group_id_asOpt, 'Demographics'            ,  13, 'demographics', NULL, 0, NULL, 15, NULL, 0, 0, 1, NULL, NULL, NULL),
   (@option_group_id_asOpt, 'Pledges'                 ,  15, 'CiviPledge', NULL, 0, NULL, 17, NULL, 0, 0, 1, NULL, NULL, NULL),
   (@option_group_id_asOpt, 'Contact Type'            ,  16, 'contactType', NULL, 0, NULL, 18, NULL, 0, 0, 1, NULL, NULL, NULL),
@@ -5175,14 +5173,6 @@ VALUES
   (@option_group_id_gType, 'Access Control', 1, 'Access Control', NULL, 0, NULL, 1, NULL, 0, 1, 1, NULL, NULL, NULL),
   (@option_group_id_gType, 'Mailing List',   2, 'Mailing List',   NULL, 0, NULL, 2, NULL, 0, 1, 1, NULL, NULL, NULL),
 
-  (@option_group_id_grantSt, 'Submitted', 1, 'Submitted',  NULL, 0, 1,    1, NULL, 0, 0, 1, NULL, NULL, NULL),
-  (@option_group_id_grantSt, 'Eligible', 2, 'Eligible',  NULL, 0, NULL, 2, NULL, 0, 0, 1, NULL, NULL, NULL),
-  (@option_group_id_grantSt, 'Ineligible', 3, 'Ineligible', NULL, 0, NULL, 3, NULL, 0, 0, 1, NULL, NULL, NULL),
-  (@option_group_id_grantSt, 'Paid', 4, 'Paid', NULL, 0, NULL, 4, NULL, 0, 0, 1, NULL, NULL, NULL),
-  (@option_group_id_grantSt, 'Awaiting Information', 5, 'Awaiting Information', NULL, 0, NULL, 5, NULL, 0, 0, 1, NULL, NULL, NULL),
-  (@option_group_id_grantSt, 'Withdrawn', 6, 'Withdrawn', NULL, 0, NULL, 6, NULL, 0, 0, 1, NULL, NULL, NULL),
-  (@option_group_id_grantSt, 'Approved for Payment',  7, 'Approved for Payment', NULL, 0, NULL, 7, NULL, 0, 0, 1, NULL, NULL, NULL),
-
   (@option_group_id_csearch , 'CRM_Contact_Form_Search_Custom_Sample'               , 1, 'CRM_Contact_Form_Search_Custom_Sample'      , NULL, 0, NULL, 1, 'Household Name and State', 0, 0, 1, NULL, NULL, NULL),
   (@option_group_id_csearch , 'CRM_Contact_Form_Search_Custom_ContributionAggregate', 2, 'CRM_Contact_Form_Search_Custom_ContributionAggregate', NULL, 0, NULL, 2, 'Contribution Aggregate', 0, 0, 1, NULL, NULL, NULL),
   (@option_group_id_csearch , 'CRM_Contact_Form_Search_Custom_Group'                , 4, 'CRM_Contact_Form_Search_Custom_Group'       , NULL, 0, NULL, 4, 'Include / Exclude Search', 0, 0, 1, NULL, NULL, NULL),
@@ -5228,7 +5218,6 @@ VALUES
   (@option_group_id_report , 'Database Log Report',                     'contact/log',                    'CRM_Report_Form_Contact_Log',                    NULL, 0, NULL, 27, 'Log of contact and activity records created or updated in a given date range.', 0, 0, 1, NULL, NULL, NULL),
   (@option_group_id_report , 'Activity Summary Report',                 'activitySummary',                'CRM_Report_Form_ActivitySummary',                NULL, 0, NULL, 28, 'Shows activity statistics by type / date', 0, 0, 1, NULL, NULL, NULL),
   (@option_group_id_report, 'Bookkeeping Transactions Report',          'contribute/bookkeeping',         'CRM_Report_Form_Contribute_Bookkeeping',         NULL, 0, 0, 29,    'Shows Bookkeeping Transactions Report', 0, 0, 1, 2, NULL, NULL),
-  (@option_group_id_report , 'Grant Report (Detail)', 'grant/detail', 'CRM_Report_Form_Grant_Detail', NULL, 0, 0, 30, 'Grant Report Detail', 0, 0, 1, @grantCompId, NULL, NULL),
   (@option_group_id_report, 'Participant list Count Report', 'event/participantlist', 'CRM_Report_Form_Event_ParticipantListCount', NULL, 0, 0, 31, 'Shows the Participant list with Participant Count.', 0, 0, 1, @eventCompId, NULL, NULL),
   (@option_group_id_report, 'Income Count Summary Report', 'event/incomesummary', 'CRM_Report_Form_Event_IncomeCountSummary', NULL, 0, 0, 32, 'Shows the Income Summary of events with Count.', 0, 0, 1, @eventCompId, NULL, NULL),
   (@option_group_id_report, 'Case Detail Report', 'case/detail', 'CRM_Report_Form_Case_Detail', NULL, 0, 0, 33, 'Case Details', 0, 0, 1, @caseCompId, NULL, NULL),
@@ -5238,7 +5227,6 @@ VALUES
   (@option_group_id_report, 'Mail Click-Through Report', 'Mailing/clicks', 'CRM_Report_Form_Mailing_Clicks', NULL, 0, NULL, 37, 'Display clicks from each mailing', 0, 0, 1, @mailCompId, NULL, NULL),
   (@option_group_id_report, 'Contact Logging Report (Summary)', 'logging/contact/summary', 'CRM_Report_Form_Contact_LoggingSummary', NULL, 0, NULL, 38, 'Contact modification report for the logging infrastructure (summary).', 0, 0, 0, NULL, NULL, NULL),
   (@option_group_id_report, 'Contact Logging Report (Detail)', 'logging/contact/detail', 'CRM_Report_Form_Contact_LoggingDetail', NULL, 0, NULL, 39, 'Contact modification report for the logging infrastructure (detail).', 0, 0, 0, NULL, NULL, NULL),
-  (@option_group_id_report, 'Grant Report (Statistics)', 'grant/statistics', 'CRM_Report_Form_Grant_Statistics', NULL, 0, NULL, 42, 'Shows statistics for Grants.', 0, 0, 1, @grantCompId, NULL, NULL),
   (@option_group_id_report, 'Survey Report (Detail)',    'survey/detail', 'CRM_Report_Form_Campaign_SurveyDetails',  NULL, 0, NULL, 43, 'Detailed report for canvassing, phone-banking, walk lists or other surveys.', 0, 0, 1, @campaignCompId, NULL, NULL),
   (@option_group_id_report, 'Personal Campaign Page Report', 'contribute/pcp', 'CRM_Report_Form_Contribute_PCP', NULL, 0, NULL, 44, 'Summarizes amount raised and number of contributors for each Personal Campaign Page.', 0, 0, 1, @contributeCompId, NULL, NULL),
   (@option_group_id_report , 'Pledge Summary Report', 'pledge/summary', 'CRM_Report_Form_Pledge_Summary', NULL, 0, NULL, 45, 'Groups and totals pledges by criteria including contact, time period, pledge status, location, etc.', 0, 0, 1, @pledgeCompId, NULL, NULL),
@@ -5298,7 +5286,6 @@ VALUES
   (@option_group_id_mt, 'Export Participant', 10, 'Export Participant',  NULL, 0, 0,   10, NULL, 0, 1, 1, NULL, NULL, NULL),
   (@option_group_id_mt, 'Export Pledge',      11, 'Export Pledge',       NULL, 0, 0,   11, NULL, 0, 1, 1, NULL, NULL, NULL),
   (@option_group_id_mt, 'Export Case',        12, 'Export Case',         NULL, 0, 0,   12, NULL, 0, 1, 1, NULL, NULL, NULL),
-  (@option_group_id_mt, 'Export Grant',       13, 'Export Grant',        NULL, 0, 0,   13, NULL, 0, 1, 1, NULL, NULL, NULL),
   (@option_group_id_mt, 'Export Activity',    14, 'Export Activity',     NULL, 0, 0,   14, NULL, 0, 1, 1, NULL, NULL, NULL),
 
   (@option_group_id_fu, 'day'    , 'day'  ,    'day',  NULL, 0, NULL, 1, NULL, 0, 1, 1, NULL, NULL, NULL),
@@ -5719,12 +5706,6 @@ VALUES
 -- from email address.
   (@option_group_id_fma, '"FIXME" <info@EXAMPLE.ORG>', '1', '"FIXME" <info@EXAMPLE.ORG>', NULL, 0, 1, 1, 'Default domain email address and from name.', 0, 0, 1, NULL, @domainID, NULL ),
 
--- grant types
-  (@option_group_id_grantTyp, 'Emergency'          , 1, 'Emergency'         , NULL, 0, 1,    1, NULL, 0, 0, 1, NULL, @domainID, NULL),
-  (@option_group_id_grantTyp, 'Family Support'     , 2, 'Family Support'    , NULL, 0, NULL, 2, NULL, 0, 0, 1, NULL, @domainID, NULL),
-  (@option_group_id_grantTyp, 'General Protection' , 3, 'General Protection', NULL, 0, NULL, 3, NULL, 0, 0, 1, NULL, @domainID, NULL),
-  (@option_group_id_grantTyp, 'Impunity'           , 4, 'Impunity'          , NULL, 0, NULL, 4, NULL, 0, 0, 1, NULL, @domainID, NULL),
-
 -- Mail Approval Status Preferences
   (@option_group_id_mail_approval_status, 'Approved' , 1, 'Approved', NULL, 0, 1, 1, NULL, 0, 1, 1, @mailCompId, @domainID, NULL),
   (@option_group_id_mail_approval_status, 'Rejected' , 2, 'Rejected', NULL, 0, 0, 2, NULL, 0, 1, 1, @mailCompId, @domainID, NULL),
@@ -6575,9 +6556,9 @@ INSERT INTO civicrm_msg_template
 
 {foreach from=$activity.fields item=field}
 {if $field.type eq \'Date\'}
-{$field.label}{if !empty($field.category)}({$field.category}){/if} : {$field.value|crmDate:$config->dateformatDatetime}
+{$field.label} : {$field.value|crmDate:$config->dateformatDatetime}
 {else}
-{$field.label}{if !empty($field.category)}({$field.category}){/if} : {$field.value}
+{$field.label} : {$field.value}
 {/if}
 {/foreach}
 
@@ -6658,7 +6639,7 @@ INSERT INTO civicrm_msg_template
             {foreach from=$activity.fields item=field}
               <tr>
                 <td {$labelStyle}>
-                  {$field.label}{if !empty($field.category)}({$field.category}){/if}
+                  {$field.label}
                 </td>
                 <td {$valueStyle}>
                   {if $field.type eq \'Date\'}
@@ -6720,9 +6701,9 @@ INSERT INTO civicrm_msg_template
 
 {foreach from=$activity.fields item=field}
 {if $field.type eq \'Date\'}
-{$field.label}{if !empty($field.category)}({$field.category}){/if} : {$field.value|crmDate:$config->dateformatDatetime}
+{$field.label} : {$field.value|crmDate:$config->dateformatDatetime}
 {else}
-{$field.label}{if !empty($field.category)}({$field.category}){/if} : {$field.value}
+{$field.label} : {$field.value}
 {/if}
 {/foreach}
 
@@ -6803,7 +6784,7 @@ INSERT INTO civicrm_msg_template
             {foreach from=$activity.fields item=field}
               <tr>
                 <td {$labelStyle}>
-                  {$field.label}{if !empty($field.category)}({$field.category}){/if}
+                  {$field.label}
                 </td>
                 <td {$valueStyle}>
                   {if $field.type eq \'Date\'}
@@ -7065,8 +7046,8 @@ INSERT INTO civicrm_msg_template
 
 ===========================================================
 {ts}Contributor{/ts}: {contact.display_name}
-{if !empty($formValues.contributionType_name)}
-{ts}Financial Type{/ts}: {$formValues.contributionType_name}
+{if \'{contribution.financial_type_id}\'}
+{ts}Financial Type{/ts}: {contribution.financial_type_id:label}
 {/if}
 {if $lineItem}
 {foreach from=$lineItem item=value key=priceset}
@@ -7083,7 +7064,7 @@ INSERT INTO civicrm_msg_template
 {$ts_item|string_format:"%-30s"} {$ts_qty|string_format:"%5s"} {$ts_each|string_format:"%10s"} {if !empty($getTaxDetails)} {$ts_subtotal|string_format:"%10s"} {$ts_taxRate} {$ts_taxAmount|string_format:"%10s"} {/if} {$ts_total|string_format:"%10s"}
 ----------------------------------------------------------
 {foreach from=$value item=line}
-{capture assign=ts_item}{if $line.html_type eq \'Text\'}{$line.label}{else}{$line.field_title} - {$line.label}{/if} {if $line.description} {$line.description}{/if}{/capture}{$ts_item|truncate:30:"..."|string_format:"%-30s"} {$line.qty|string_format:"%5s"} {$line.unit_price|crmMoney:$currency|string_format:"%10s"} {if !empty($getTaxDetails)}{$line.unit_price*$line.qty|crmMoney:$currency|string_format:"%10s"} {if isset($line.tax_rate) and ($line.tax_rate != "" || $line.tax_amount != "")} {$line.tax_rate|string_format:"%.2f"} %   {$line.tax_amount|crmMoney:$currency|string_format:"%10s"} {else}                  {/if} {/if}   {$line.line_total+$line.tax_amount|crmMoney:$currency|string_format:"%10s"}
+{capture assign=ts_item}{if $line.html_type eq \'Text\'}{$line.label}{else}{$line.field_title} - {$line.label}{/if} {if $line.description} {$line.description}{/if}{/capture}{$ts_item|truncate:30:"..."|string_format:"%-30s"} {$line.qty|string_format:"%5s"} {$line.unit_price|crmMoney:$currency|string_format:"%10s"} {if !empty($getTaxDetails)}{$line.unit_price*$line.qty|crmMoney:$currency|string_format:"%10s"} {if $line.tax_rate || $line.tax_amount != ""} {$line.tax_rate|string_format:"%.2f"} %   {$line.tax_amount|crmMoney:$currency|string_format:"%10s"} {else}                  {/if} {/if}   {$line.line_total+$line.tax_amount|crmMoney:$currency|string_format:"%10s"}
 {/foreach}
 {/foreach}
 {/if}
@@ -7100,24 +7081,24 @@ INSERT INTO civicrm_msg_template
 {/foreach}
 {/if}
 
-{if isset($totalTaxAmount) && $totalTaxAmount !== \'null\'}
-{ts}Total Tax Amount{/ts} : {$totalTaxAmount|crmMoney:$currency}
+{if $isShowTax}
+{ts}Total Tax Amount{/ts} : {contribution.tax_amount}
 {/if}
-{ts}Total Amount{/ts} : {$formValues.total_amount|crmMoney:$currency}
-{if !empty($receive_date)}
-{ts}Date Received{/ts}: {$receive_date|truncate:10:\'\'|crmDate}
+{ts}Total Amount{/ts} : {contribution.total_amount}
+{if \'{contribution.receive_date}\'}
+{ts}Date Received{/ts}: {contribution.receive_date}
 {/if}
-{if !empty($receipt_date)}
-{ts}Receipt Date{/ts}: {$receipt_date|truncate:10:\'\'|crmDate}
+{if \'{contribution.receipt_date}\'}
+{ts}Receipt Date{/ts}: {contribution.receipt_date}
 {/if}
-{if !empty($formValues.paidBy) and empty($formValues.hidden_CreditCard)}
-{ts}Paid By{/ts}: {$formValues.paidBy}
-{if !empty($formValues.check_number)}
-{ts}Check Number{/ts}: {$formValues.check_number}
+{if \'{contribution.payment_instrument_id}\' and empty($formValues.hidden_CreditCard)}
+{ts}Paid By{/ts}: {contribution.payment_instrument_id:label}
+{if \'{contribution.check_number}\'}
+{ts}Check Number{/ts}: {contribution.check_number}
 {/if}
 {/if}
-{if !empty($formValues.trxn_id)}
-{ts}Transaction ID{/ts}: {$formValues.trxn_id}
+{if \'{contribution.trxn_id}\'}
+{ts}Transaction ID{/ts}: {contribution.trxn_id}
 {/if}
 
 {if !empty($ccContribution)}
@@ -7221,12 +7202,12 @@ INSERT INTO civicrm_msg_template
       </td>
      </tr>
      <tr>
-      {if !empty($formValues.contributionType_name)}
+      {if \'{contribution.financial_type_id}\'}
         <td {$labelStyle}>
          {ts}Financial Type{/ts}
         </td>
         <td {$valueStyle}>
-         {$formValues.contributionType_name}
+         {contribution.financial_type_id:label}
         </td>
       {/if}
      </tr>
@@ -7262,7 +7243,7 @@ INSERT INTO civicrm_msg_template
               <td>
                 {$line.unit_price*$line.qty|crmMoney:$currency}
               </td>
-              {if isset($line.tax_rate) and ($line.tax_rate != "" || $line.tax_amount != "")}
+              {if $line.tax_rate || $line.tax_amount != ""}
                 <td>
                   {$line.tax_rate|string_format:"%.2f"}%
                 </td>
@@ -7307,13 +7288,13 @@ INSERT INTO civicrm_msg_template
       {/foreach}
      {/if}
 
-     {if isset($totalTaxAmount) && $totalTaxAmount !== \'null\'}
+     {if $isShowTax}
       <tr>
         <td {$labelStyle}>
           {ts}Total Tax Amount{/ts}
         </td>
         <td {$valueStyle}>
-          {$totalTaxAmount|crmMoney:$currency}
+          {contribution.tax_amount}
         </td>
       </tr>
      {/if}
@@ -7323,60 +7304,60 @@ INSERT INTO civicrm_msg_template
        {ts}Total Amount{/ts}
       </td>
       <td {$valueStyle}>
-       {$formValues.total_amount|crmMoney:$currency}
+        {contribution.total_amount}
       </td>
      </tr>
 
-     {if !empty($receive_date)}
-      <tr>
+     {if \'{contribution.receive_date}\'}
+       <tr>
        <td {$labelStyle}>
         {ts}Date Received{/ts}
        </td>
        <td {$valueStyle}>
-        {$receive_date|truncate:10:\'\'|crmDate}
+         {contribution.receive_date}
        </td>
       </tr>
      {/if}
 
-      {if !empty($receipt_date)}
+      {if \'{contribution.receipt_date}\'}
       <tr>
        <td {$labelStyle}>
         {ts}Receipt Date{/ts}
        </td>
        <td {$valueStyle}>
-        {$receipt_date|truncate:10:\'\'|crmDate}
+         {contribution.receipt_date}
        </td>
       </tr>
      {/if}
 
-     {if !empty($formValues.paidBy) and empty($formValues.hidden_CreditCard)}
+     {if \'{contribution.payment_instrument_id}\' and empty($formValues.hidden_CreditCard)}
       <tr>
        <td {$labelStyle}>
         {ts}Paid By{/ts}
        </td>
        <td {$valueStyle}>
-        {$formValues.paidBy}
+         {contribution.payment_instrument_id:label}
        </td>
       </tr>
-      {if !empty($formValues.check_number)}
+      {if \'{contribution.check_number}\'}
        <tr>
         <td {$labelStyle}>
          {ts}Check Number{/ts}
         </td>
         <td {$valueStyle}>
-         {$formValues.check_number}
+          {contribution.check_number}
         </td>
        </tr>
       {/if}
      {/if}
 
-     {if !empty($formValues.trxn_id)}
+     {if \'{contribution.trxn_id}\'}
       <tr>
        <td {$labelStyle}>
         {ts}Transaction ID{/ts}
        </td>
        <td {$valueStyle}>
-        {$formValues.trxn_id}
+         {contribution.trxn_id}
        </td>
       </tr>
      {/if}
@@ -7511,8 +7492,8 @@ INSERT INTO civicrm_msg_template
 
 ===========================================================
 {ts}Contributor{/ts}: {contact.display_name}
-{if !empty($formValues.contributionType_name)}
-{ts}Financial Type{/ts}: {$formValues.contributionType_name}
+{if \'{contribution.financial_type_id}\'}
+{ts}Financial Type{/ts}: {contribution.financial_type_id:label}
 {/if}
 {if $lineItem}
 {foreach from=$lineItem item=value key=priceset}
@@ -7529,7 +7510,7 @@ INSERT INTO civicrm_msg_template
 {$ts_item|string_format:"%-30s"} {$ts_qty|string_format:"%5s"} {$ts_each|string_format:"%10s"} {if !empty($getTaxDetails)} {$ts_subtotal|string_format:"%10s"} {$ts_taxRate} {$ts_taxAmount|string_format:"%10s"} {/if} {$ts_total|string_format:"%10s"}
 ----------------------------------------------------------
 {foreach from=$value item=line}
-{capture assign=ts_item}{if $line.html_type eq \'Text\'}{$line.label}{else}{$line.field_title} - {$line.label}{/if} {if $line.description} {$line.description}{/if}{/capture}{$ts_item|truncate:30:"..."|string_format:"%-30s"} {$line.qty|string_format:"%5s"} {$line.unit_price|crmMoney:$currency|string_format:"%10s"} {if !empty($getTaxDetails)}{$line.unit_price*$line.qty|crmMoney:$currency|string_format:"%10s"} {if isset($line.tax_rate) and ($line.tax_rate != "" || $line.tax_amount != "")} {$line.tax_rate|string_format:"%.2f"} %   {$line.tax_amount|crmMoney:$currency|string_format:"%10s"} {else}                  {/if} {/if}   {$line.line_total+$line.tax_amount|crmMoney:$currency|string_format:"%10s"}
+{capture assign=ts_item}{if $line.html_type eq \'Text\'}{$line.label}{else}{$line.field_title} - {$line.label}{/if} {if $line.description} {$line.description}{/if}{/capture}{$ts_item|truncate:30:"..."|string_format:"%-30s"} {$line.qty|string_format:"%5s"} {$line.unit_price|crmMoney:$currency|string_format:"%10s"} {if !empty($getTaxDetails)}{$line.unit_price*$line.qty|crmMoney:$currency|string_format:"%10s"} {if $line.tax_rate || $line.tax_amount != ""} {$line.tax_rate|string_format:"%.2f"} %   {$line.tax_amount|crmMoney:$currency|string_format:"%10s"} {else}                  {/if} {/if}   {$line.line_total+$line.tax_amount|crmMoney:$currency|string_format:"%10s"}
 {/foreach}
 {/foreach}
 {/if}
@@ -7546,24 +7527,24 @@ INSERT INTO civicrm_msg_template
 {/foreach}
 {/if}
 
-{if isset($totalTaxAmount) && $totalTaxAmount !== \'null\'}
-{ts}Total Tax Amount{/ts} : {$totalTaxAmount|crmMoney:$currency}
+{if $isShowTax}
+{ts}Total Tax Amount{/ts} : {contribution.tax_amount}
 {/if}
-{ts}Total Amount{/ts} : {$formValues.total_amount|crmMoney:$currency}
-{if !empty($receive_date)}
-{ts}Date Received{/ts}: {$receive_date|truncate:10:\'\'|crmDate}
+{ts}Total Amount{/ts} : {contribution.total_amount}
+{if \'{contribution.receive_date}\'}
+{ts}Date Received{/ts}: {contribution.receive_date}
 {/if}
-{if !empty($receipt_date)}
-{ts}Receipt Date{/ts}: {$receipt_date|truncate:10:\'\'|crmDate}
+{if \'{contribution.receipt_date}\'}
+{ts}Receipt Date{/ts}: {contribution.receipt_date}
 {/if}
-{if !empty($formValues.paidBy) and empty($formValues.hidden_CreditCard)}
-{ts}Paid By{/ts}: {$formValues.paidBy}
-{if !empty($formValues.check_number)}
-{ts}Check Number{/ts}: {$formValues.check_number}
+{if \'{contribution.payment_instrument_id}\' and empty($formValues.hidden_CreditCard)}
+{ts}Paid By{/ts}: {contribution.payment_instrument_id:label}
+{if \'{contribution.check_number}\'}
+{ts}Check Number{/ts}: {contribution.check_number}
 {/if}
 {/if}
-{if !empty($formValues.trxn_id)}
-{ts}Transaction ID{/ts}: {$formValues.trxn_id}
+{if \'{contribution.trxn_id}\'}
+{ts}Transaction ID{/ts}: {contribution.trxn_id}
 {/if}
 
 {if !empty($ccContribution)}
@@ -7667,12 +7648,12 @@ INSERT INTO civicrm_msg_template
       </td>
      </tr>
      <tr>
-      {if !empty($formValues.contributionType_name)}
+      {if \'{contribution.financial_type_id}\'}
         <td {$labelStyle}>
          {ts}Financial Type{/ts}
         </td>
         <td {$valueStyle}>
-         {$formValues.contributionType_name}
+         {contribution.financial_type_id:label}
         </td>
       {/if}
      </tr>
@@ -7708,7 +7689,7 @@ INSERT INTO civicrm_msg_template
               <td>
                 {$line.unit_price*$line.qty|crmMoney:$currency}
               </td>
-              {if isset($line.tax_rate) and ($line.tax_rate != "" || $line.tax_amount != "")}
+              {if $line.tax_rate || $line.tax_amount != ""}
                 <td>
                   {$line.tax_rate|string_format:"%.2f"}%
                 </td>
@@ -7753,13 +7734,13 @@ INSERT INTO civicrm_msg_template
       {/foreach}
      {/if}
 
-     {if isset($totalTaxAmount) && $totalTaxAmount !== \'null\'}
+     {if $isShowTax}
       <tr>
         <td {$labelStyle}>
           {ts}Total Tax Amount{/ts}
         </td>
         <td {$valueStyle}>
-          {$totalTaxAmount|crmMoney:$currency}
+          {contribution.tax_amount}
         </td>
       </tr>
      {/if}
@@ -7769,60 +7750,60 @@ INSERT INTO civicrm_msg_template
        {ts}Total Amount{/ts}
       </td>
       <td {$valueStyle}>
-       {$formValues.total_amount|crmMoney:$currency}
+        {contribution.total_amount}
       </td>
      </tr>
 
-     {if !empty($receive_date)}
-      <tr>
+     {if \'{contribution.receive_date}\'}
+       <tr>
        <td {$labelStyle}>
         {ts}Date Received{/ts}
        </td>
        <td {$valueStyle}>
-        {$receive_date|truncate:10:\'\'|crmDate}
+         {contribution.receive_date}
        </td>
       </tr>
      {/if}
 
-      {if !empty($receipt_date)}
+      {if \'{contribution.receipt_date}\'}
       <tr>
        <td {$labelStyle}>
         {ts}Receipt Date{/ts}
        </td>
        <td {$valueStyle}>
-        {$receipt_date|truncate:10:\'\'|crmDate}
+         {contribution.receipt_date}
        </td>
       </tr>
      {/if}
 
-     {if !empty($formValues.paidBy) and empty($formValues.hidden_CreditCard)}
+     {if \'{contribution.payment_instrument_id}\' and empty($formValues.hidden_CreditCard)}
       <tr>
        <td {$labelStyle}>
         {ts}Paid By{/ts}
        </td>
        <td {$valueStyle}>
-        {$formValues.paidBy}
+         {contribution.payment_instrument_id:label}
        </td>
       </tr>
-      {if !empty($formValues.check_number)}
+      {if \'{contribution.check_number}\'}
        <tr>
         <td {$labelStyle}>
          {ts}Check Number{/ts}
         </td>
         <td {$valueStyle}>
-         {$formValues.check_number}
+          {contribution.check_number}
         </td>
        </tr>
       {/if}
      {/if}
 
-     {if !empty($formValues.trxn_id)}
+     {if \'{contribution.trxn_id}\'}
       <tr>
        <td {$labelStyle}>
         {ts}Transaction ID{/ts}
        </td>
        <td {$valueStyle}>
-        {$formValues.trxn_id}
+         {contribution.trxn_id}
        </td>
       </tr>
      {/if}
@@ -7964,7 +7945,7 @@ INSERT INTO civicrm_msg_template
 {ts}Contribution Information{/ts}
 
 ===========================================================
-{if $lineItem and $priceSetID and empty($is_quick_config)}
+{if $isShowLineItems}
 {foreach from=$lineItem item=value key=priceset}
 ---------------------------------------------------------
 {capture assign=ts_item}{ts}Item{/ts}{/capture}
@@ -7979,7 +7960,7 @@ INSERT INTO civicrm_msg_template
 {$ts_item|string_format:"%-30s"} {$ts_qty|string_format:"%5s"} {$ts_each|string_format:"%10s"} {if !empty($dataArray)} {$ts_subtotal|string_format:"%10s"} {$ts_taxRate} {$ts_taxAmount|string_format:"%10s"} {/if} {$ts_total|string_format:"%10s"}
 ----------------------------------------------------------
 {foreach from=$value item=line}
-{capture assign=ts_item}{if $line.html_type eq \'Text\'}{$line.label}{else}{$line.field_title} - {$line.label}{/if} {if $line.description} {$line.description}{/if}{/capture}{$ts_item|truncate:30:"..."|string_format:"%-30s"} {$line.qty|string_format:"%5s"} {$line.unit_price|crmMoney:$currency|string_format:"%10s"} {if !empty($dataArray)}{$line.unit_price*$line.qty|crmMoney:$currency|string_format:"%10s"} {if isset($line.tax_rate) and ($line.tax_rate != "" || $line.tax_amount != "")}  {$line.tax_rate|string_format:"%.2f"} %  {$line.tax_amount|crmMoney:$currency|string_format:"%10s"} {else}                  {/if}  {/if} {$line.line_total+$line.tax_amount|crmMoney:$currency|string_format:"%10s"}
+{capture assign=ts_item}{if $line.html_type eq \'Text\'}{$line.label}{else}{$line.field_title} - {$line.label}{/if} {if $line.description} {$line.description}{/if}{/capture}{$ts_item|truncate:30:"..."|string_format:"%-30s"} {$line.qty|string_format:"%5s"} {$line.unit_price|crmMoney:$currency|string_format:"%10s"} {if !empty($dataArray)}{$line.unit_price*$line.qty|crmMoney:$currency|string_format:"%10s"} {if $line.tax_rate || $line.tax_amount != ""}  {$line.tax_rate|string_format:"%.2f"} %  {$line.tax_amount|crmMoney:$currency|string_format:"%10s"} {else}                  {/if}  {/if} {$line.line_total+$line.tax_amount|crmMoney:$currency|string_format:"%10s"}
 {/foreach}
 {/foreach}
 
@@ -7995,13 +7976,13 @@ INSERT INTO civicrm_msg_template
 {/foreach}
 {/if}
 
-{if isset($totalTaxAmount)}
-{ts}Total Tax Amount{/ts}: {$totalTaxAmount|crmMoney:$currency}
+{if $isShowTax}
+{ts}Total Tax Amount{/ts}: {contribution.tax_amount|crmMoney}
 {/if}
 
 {ts}Total Amount{/ts}: {$amount|crmMoney:$currency}
 {else}
-{ts}Amount{/ts}: {$amount|crmMoney:$currency} {if isset($amount_level) } - {$amount_level} {/if}
+{ts}Amount{/ts}: {$amount|crmMoney:$currency} {if \'{contribution.amount_level}\'} - {contribution.amount_level}{/if}
 {/if}
 {/if}
 {if !empty($receive_date)}
@@ -8206,7 +8187,7 @@ INSERT INTO civicrm_msg_template
        </th>
       </tr>
 
-      {if !empty($lineItem) and !empty($priceSetID) and empty($is_quick_config)}
+      {if $isShowLineItems}
 
        {foreach from=$lineItem item=value key=priceset}
         <tr>
@@ -8238,7 +8219,7 @@ INSERT INTO civicrm_msg_template
               <td>
                {$line.unit_price*$line.qty|crmMoney:$currency}
               </td>
-              {if isset($line.tax_rate) and ($line.tax_rate != "" || $line.tax_amount != "")}
+              {if $line.tax_rate || $line.tax_amount != ""}
                <td>
                 {$line.tax_rate|string_format:"%.2f"}%
                </td>
@@ -8282,7 +8263,7 @@ INSERT INTO civicrm_msg_template
         {/foreach}
 
        {/if}
-       {if isset($totalTaxAmount)}
+       {if $isShowTax}
         <tr>
          <td {$labelStyle}>
           {ts}Total Tax{/ts}
@@ -8309,7 +8290,7 @@ INSERT INTO civicrm_msg_template
              {ts}Total Tax Amount{/ts}
            </td>
            <td {$valueStyle}>
-             {$totalTaxAmount|crmMoney:$currency}
+             {contribution.tax_amount|crmMoney}
            </td>
          </tr>
        {/if}
@@ -8318,7 +8299,7 @@ INSERT INTO civicrm_msg_template
          {ts}Amount{/ts}
         </td>
         <td {$valueStyle}>
-         {$amount|crmMoney:$currency} {if isset($amount_level)} - {$amount_level}{/if}
+         {$amount|crmMoney:$currency} {if \'{contribution.amount_level}\'} - {contribution.amount_level}{/if}
         </td>
        </tr>
 
@@ -8649,7 +8630,7 @@ INSERT INTO civicrm_msg_template
 {ts}Contribution Information{/ts}
 
 ===========================================================
-{if $lineItem and $priceSetID and empty($is_quick_config)}
+{if $isShowLineItems}
 {foreach from=$lineItem item=value key=priceset}
 ---------------------------------------------------------
 {capture assign=ts_item}{ts}Item{/ts}{/capture}
@@ -8664,7 +8645,7 @@ INSERT INTO civicrm_msg_template
 {$ts_item|string_format:"%-30s"} {$ts_qty|string_format:"%5s"} {$ts_each|string_format:"%10s"} {if !empty($dataArray)} {$ts_subtotal|string_format:"%10s"} {$ts_taxRate} {$ts_taxAmount|string_format:"%10s"} {/if} {$ts_total|string_format:"%10s"}
 ----------------------------------------------------------
 {foreach from=$value item=line}
-{capture assign=ts_item}{if $line.html_type eq \'Text\'}{$line.label}{else}{$line.field_title} - {$line.label}{/if} {if $line.description} {$line.description}{/if}{/capture}{$ts_item|truncate:30:"..."|string_format:"%-30s"} {$line.qty|string_format:"%5s"} {$line.unit_price|crmMoney:$currency|string_format:"%10s"} {if !empty($dataArray)}{$line.unit_price*$line.qty|crmMoney:$currency|string_format:"%10s"} {if isset($line.tax_rate) and ($line.tax_rate != "" || $line.tax_amount != "")}  {$line.tax_rate|string_format:"%.2f"} %  {$line.tax_amount|crmMoney:$currency|string_format:"%10s"} {else}                  {/if}  {/if} {$line.line_total+$line.tax_amount|crmMoney:$currency|string_format:"%10s"}
+{capture assign=ts_item}{if $line.html_type eq \'Text\'}{$line.label}{else}{$line.field_title} - {$line.label}{/if} {if $line.description} {$line.description}{/if}{/capture}{$ts_item|truncate:30:"..."|string_format:"%-30s"} {$line.qty|string_format:"%5s"} {$line.unit_price|crmMoney:$currency|string_format:"%10s"} {if !empty($dataArray)}{$line.unit_price*$line.qty|crmMoney:$currency|string_format:"%10s"} {if $line.tax_rate || $line.tax_amount != ""}  {$line.tax_rate|string_format:"%.2f"} %  {$line.tax_amount|crmMoney:$currency|string_format:"%10s"} {else}                  {/if}  {/if} {$line.line_total+$line.tax_amount|crmMoney:$currency|string_format:"%10s"}
 {/foreach}
 {/foreach}
 
@@ -8680,13 +8661,13 @@ INSERT INTO civicrm_msg_template
 {/foreach}
 {/if}
 
-{if isset($totalTaxAmount)}
-{ts}Total Tax Amount{/ts}: {$totalTaxAmount|crmMoney:$currency}
+{if $isShowTax}
+{ts}Total Tax Amount{/ts}: {contribution.tax_amount|crmMoney}
 {/if}
 
 {ts}Total Amount{/ts}: {$amount|crmMoney:$currency}
 {else}
-{ts}Amount{/ts}: {$amount|crmMoney:$currency} {if isset($amount_level) } - {$amount_level} {/if}
+{ts}Amount{/ts}: {$amount|crmMoney:$currency} {if \'{contribution.amount_level}\'} - {contribution.amount_level}{/if}
 {/if}
 {/if}
 {if !empty($receive_date)}
@@ -8891,7 +8872,7 @@ INSERT INTO civicrm_msg_template
        </th>
       </tr>
 
-      {if !empty($lineItem) and !empty($priceSetID) and empty($is_quick_config)}
+      {if $isShowLineItems}
 
        {foreach from=$lineItem item=value key=priceset}
         <tr>
@@ -8923,7 +8904,7 @@ INSERT INTO civicrm_msg_template
               <td>
                {$line.unit_price*$line.qty|crmMoney:$currency}
               </td>
-              {if isset($line.tax_rate) and ($line.tax_rate != "" || $line.tax_amount != "")}
+              {if $line.tax_rate || $line.tax_amount != ""}
                <td>
                 {$line.tax_rate|string_format:"%.2f"}%
                </td>
@@ -8967,7 +8948,7 @@ INSERT INTO civicrm_msg_template
         {/foreach}
 
        {/if}
-       {if isset($totalTaxAmount)}
+       {if $isShowTax}
         <tr>
          <td {$labelStyle}>
           {ts}Total Tax{/ts}
@@ -8994,7 +8975,7 @@ INSERT INTO civicrm_msg_template
              {ts}Total Tax Amount{/ts}
            </td>
            <td {$valueStyle}>
-             {$totalTaxAmount|crmMoney:$currency}
+             {contribution.tax_amount|crmMoney}
            </td>
          </tr>
        {/if}
@@ -9003,7 +8984,7 @@ INSERT INTO civicrm_msg_template
          {ts}Amount{/ts}
         </td>
         <td {$valueStyle}>
-         {$amount|crmMoney:$currency} {if isset($amount_level)} - {$amount_level}{/if}
+         {$amount|crmMoney:$currency} {if \'{contribution.amount_level}\'} - {contribution.amount_level}{/if}
         </td>
        </tr>
 
@@ -9431,7 +9412,7 @@ INSERT INTO civicrm_msg_template
                   <td style="text-align:right;"><font size="1">{$value.qty}</font></td>
                   <td style="text-align:right;"><font size="1">{$value.unit_price|crmMoney:$currency}</font></td>
                   {if $value.tax_amount != \'\'}
-                    <td style="text-align:right;"><font size="1">{if isset($value.tax_rate)}{$value.tax_rate}%{/if}</font></td>
+                    <td style="text-align:right;"><font size="1">{if $value.tax_rate}{$value.tax_rate}%{/if}</font></td>
                   {else}
                     <td style="text-align:right;"><font size="1">{if $taxTerm}{ts 1=$taxTerm}-{/ts}{/if}</font></td>
                   {/if}
@@ -9661,7 +9642,7 @@ INSERT INTO civicrm_msg_template
                   <td style="padding-left:28px;text-align:right;"><font size="1">{$value.qty}</font></td>
                   <td style="padding-left:28px;text-align:right;"><font size="1">{$value.unit_price|crmMoney:$currency}</font></td>
                   {if $value.tax_amount != \'\'}
-                    <td style="padding-left:28px;text-align:right;"><font size="1">{if isset($value.tax_rate)}{$value.tax_rate}%{/if}</font></td>
+                    <td style="padding-left:28px;text-align:right;"><font size="1">{if $value.tax_rate}{$value.tax_rate}%{/if}</font></td>
                   {else}
                     <td style="padding-left:28px;text-align:right"><font size="1">{if $taxTerm}{ts 1=$taxTerm}No %1{/ts}{/if}</font></td>
                   {/if}
@@ -9876,7 +9857,7 @@ INSERT INTO civicrm_msg_template
                   <td style="text-align:right;"><font size="1">{$value.qty}</font></td>
                   <td style="text-align:right;"><font size="1">{$value.unit_price|crmMoney:$currency}</font></td>
                   {if $value.tax_amount != \'\'}
-                    <td style="text-align:right;"><font size="1">{if isset($value.tax_rate)}{$value.tax_rate}%{/if}</font></td>
+                    <td style="text-align:right;"><font size="1">{if $value.tax_rate}{$value.tax_rate}%{/if}</font></td>
                   {else}
                     <td style="text-align:right;"><font size="1">{if $taxTerm}{ts 1=$taxTerm}-{/ts}{/if}</font></td>
                   {/if}
@@ -10106,7 +10087,7 @@ INSERT INTO civicrm_msg_template
                   <td style="padding-left:28px;text-align:right;"><font size="1">{$value.qty}</font></td>
                   <td style="padding-left:28px;text-align:right;"><font size="1">{$value.unit_price|crmMoney:$currency}</font></td>
                   {if $value.tax_amount != \'\'}
-                    <td style="padding-left:28px;text-align:right;"><font size="1">{if isset($value.tax_rate)}{$value.tax_rate}%{/if}</font></td>
+                    <td style="padding-left:28px;text-align:right;"><font size="1">{if $value.tax_rate}{$value.tax_rate}%{/if}</font></td>
                   {else}
                     <td style="padding-left:28px;text-align:right"><font size="1">{if $taxTerm}{ts 1=$taxTerm}No %1{/ts}{/if}</font></td>
                   {/if}
@@ -11908,7 +11889,7 @@ INSERT INTO civicrm_msg_template
 ===============================================================================
 
 {$event.event_title}
-{$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:"%Y%m%d" == $event.event_start_date|date_format:"%Y%m%d"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if}
+{$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:"%Y%m%d" == $event.event_start_date|date_format:"%Y%m%d"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if} {$event.event_tz}
 
 {if !empty($event.participant_role)}
 {ts}Participant Role{/ts}: {$event.participant_role}
@@ -12111,7 +12092,7 @@ INSERT INTO civicrm_msg_template
     <tr>
       <td colspan="2" {$valueStyle}>
          {$event.event_title}<br />
-        {$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:"%Y%m%d" == $event.event_start_date|date_format:"%Y%m%d"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if}
+        {$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:"%Y%m%d" == $event.event_start_date|date_format:"%Y%m%d"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if} {$event.event_tz}
       </td>
     </tr>
 
@@ -12272,7 +12253,7 @@ INSERT INTO civicrm_msg_template
 ===============================================================================
 
 {$event.event_title}
-{$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:"%Y%m%d" == $event.event_start_date|date_format:"%Y%m%d"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if}
+{$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:"%Y%m%d" == $event.event_start_date|date_format:"%Y%m%d"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if} {$event.event_tz}
 
 {if !empty($event.participant_role)}
 {ts}Participant Role{/ts}: {$event.participant_role}
@@ -12475,7 +12456,7 @@ INSERT INTO civicrm_msg_template
     <tr>
       <td colspan="2" {$valueStyle}>
          {$event.event_title}<br />
-        {$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:"%Y%m%d" == $event.event_start_date|date_format:"%Y%m%d"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if}
+        {$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:"%Y%m%d" == $event.event_start_date|date_format:"%Y%m%d"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if} {$event.event_tz}
       </td>
     </tr>
 
@@ -12590,7 +12571,7 @@ INSERT INTO civicrm_msg_template
 ==========================================================={if !empty($pricesetFieldsCount) }===================={/if}
 
 {$event.event_title}
-{$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:"%Y%m%d" == $event.event_start_date|date_format:"%Y%m%d"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if}
+{$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:"%Y%m%d" == $event.event_start_date|date_format:"%Y%m%d"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if} {$event.event_tz}
 
 {if !empty($event.participant_role) and $event.participant_role neq \'Attendee\' and empty($defaultRole)}
 {ts}Participant Role{/ts}: {$event.participant_role}
@@ -12661,7 +12642,7 @@ INSERT INTO civicrm_msg_template
 
 {foreach from=$value item=line}
 {if !empty($pricesetFieldsCount) }{capture assign=ts_participant_count}{$line.participant_count}{/capture}{/if}
-{capture assign=ts_item}{if $line.html_type eq \'Text\'}{$line.label}{else}{$line.field_title} - {$line.label}{/if} {if $line.description} {$line.description}{/if}{/capture}{$ts_item|truncate:30:"..."|string_format:"%-30s"} {$line.qty|string_format:"%5s"} {$line.unit_price|crmMoney|string_format:"%10s"} {if !empty($dataArray)} {$line.unit_price*$line.qty|crmMoney:$currency|string_format:"%10s"} {if isset($line.tax_rate) and ($line.tax_rate != "" || $line.tax_amount != "")}  {$line.tax_rate|string_format:"%.2f"} %  {$line.tax_amount|crmMoney:$currency|string_format:"%10s"} {else}                  {/if}  {/if}  {$line.line_total+$line.tax_amount|crmMoney|string_format:"%10s"} {if !empty($ts_participant_count)}{$ts_participant_count|string_format:"%10s"}{/if}
+{capture assign=ts_item}{if $line.html_type eq \'Text\'}{$line.label}{else}{$line.field_title} - {$line.label}{/if} {if $line.description} {$line.description}{/if}{/capture}{$ts_item|truncate:30:"..."|string_format:"%-30s"} {$line.qty|string_format:"%5s"} {$line.unit_price|crmMoney|string_format:"%10s"} {if !empty($dataArray)} {$line.unit_price*$line.qty|crmMoney:$currency|string_format:"%10s"} {if $line.tax_rate || $line.tax_amount != ""}  {$line.tax_rate|string_format:"%.2f"} %  {$line.tax_amount|crmMoney:$currency|string_format:"%10s"} {else}                  {/if}  {/if}  {$line.line_total+$line.tax_amount|crmMoney|string_format:"%10s"} {if !empty($ts_participant_count)}{$ts_participant_count|string_format:"%10s"}{/if}
 {/foreach}
 {/if}
 {/foreach}
@@ -12892,7 +12873,7 @@ INSERT INTO civicrm_msg_template
      <tr>
       <td colspan="2" {$valueStyle}>
        {$event.event_title}<br />
-       {$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:"%Y%m%d" == $event.event_start_date|date_format:"%Y%m%d"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if}
+       {$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:"%Y%m%d" == $event.event_start_date|date_format:"%Y%m%d"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if} {$event.event_tz}
       </td>
      </tr>
 
@@ -13024,7 +13005,7 @@ INSERT INTO civicrm_msg_template
                <td>
                 {$line.unit_price*$line.qty|crmMoney}
                </td>
-               {if isset($line.tax_rate) and ($line.tax_rate != "" || $line.tax_amount != "")}
+               {if $line.tax_rate || $line.tax_amount != ""}
                 <td>
                  {$line.tax_rate|string_format:"%.2f"}%
                 </td>
@@ -13394,7 +13375,7 @@ INSERT INTO civicrm_msg_template
 ==========================================================={if !empty($pricesetFieldsCount) }===================={/if}
 
 {$event.event_title}
-{$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:"%Y%m%d" == $event.event_start_date|date_format:"%Y%m%d"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if}
+{$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:"%Y%m%d" == $event.event_start_date|date_format:"%Y%m%d"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if} {$event.event_tz}
 
 {if !empty($event.participant_role) and $event.participant_role neq \'Attendee\' and empty($defaultRole)}
 {ts}Participant Role{/ts}: {$event.participant_role}
@@ -13465,7 +13446,7 @@ INSERT INTO civicrm_msg_template
 
 {foreach from=$value item=line}
 {if !empty($pricesetFieldsCount) }{capture assign=ts_participant_count}{$line.participant_count}{/capture}{/if}
-{capture assign=ts_item}{if $line.html_type eq \'Text\'}{$line.label}{else}{$line.field_title} - {$line.label}{/if} {if $line.description} {$line.description}{/if}{/capture}{$ts_item|truncate:30:"..."|string_format:"%-30s"} {$line.qty|string_format:"%5s"} {$line.unit_price|crmMoney|string_format:"%10s"} {if !empty($dataArray)} {$line.unit_price*$line.qty|crmMoney:$currency|string_format:"%10s"} {if isset($line.tax_rate) and ($line.tax_rate != "" || $line.tax_amount != "")}  {$line.tax_rate|string_format:"%.2f"} %  {$line.tax_amount|crmMoney:$currency|string_format:"%10s"} {else}                  {/if}  {/if}  {$line.line_total+$line.tax_amount|crmMoney|string_format:"%10s"} {if !empty($ts_participant_count)}{$ts_participant_count|string_format:"%10s"}{/if}
+{capture assign=ts_item}{if $line.html_type eq \'Text\'}{$line.label}{else}{$line.field_title} - {$line.label}{/if} {if $line.description} {$line.description}{/if}{/capture}{$ts_item|truncate:30:"..."|string_format:"%-30s"} {$line.qty|string_format:"%5s"} {$line.unit_price|crmMoney|string_format:"%10s"} {if !empty($dataArray)} {$line.unit_price*$line.qty|crmMoney:$currency|string_format:"%10s"} {if $line.tax_rate || $line.tax_amount != ""}  {$line.tax_rate|string_format:"%.2f"} %  {$line.tax_amount|crmMoney:$currency|string_format:"%10s"} {else}                  {/if}  {/if}  {$line.line_total+$line.tax_amount|crmMoney|string_format:"%10s"} {if !empty($ts_participant_count)}{$ts_participant_count|string_format:"%10s"}{/if}
 {/foreach}
 {/if}
 {/foreach}
@@ -13696,7 +13677,7 @@ INSERT INTO civicrm_msg_template
      <tr>
       <td colspan="2" {$valueStyle}>
        {$event.event_title}<br />
-       {$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:"%Y%m%d" == $event.event_start_date|date_format:"%Y%m%d"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if}
+       {$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:"%Y%m%d" == $event.event_start_date|date_format:"%Y%m%d"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if} {$event.event_tz}
       </td>
      </tr>
 
@@ -13828,7 +13809,7 @@ INSERT INTO civicrm_msg_template
                <td>
                 {$line.unit_price*$line.qty|crmMoney}
                </td>
-               {if isset($line.tax_rate) and ($line.tax_rate != "" || $line.tax_amount != "")}
+               {if $line.tax_rate || $line.tax_amount != ""}
                 <td>
                  {$line.tax_rate|string_format:"%.2f"}%
                 </td>
@@ -14205,7 +14186,7 @@ INSERT INTO civicrm_msg_template
 ==========================================================={if !empty($pricesetFieldsCount)}===================={/if}
 
 {$event.event_title}
-{$event.event_start_date|date_format:"%A"} {$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:"%Y%m%d" == $event.event_start_date|date_format:"%Y%m%d"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|date_format:"%A"} {$event.event_end_date|crmDate}{/if}{/if}
+{$event.event_start_date|date_format:"%A"} {$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:"%Y%m%d" == $event.event_start_date|date_format:"%Y%m%d"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|date_format:"%A"} {$event.event_end_date|crmDate}{/if}{/if} {$event.event_tz}
 {if !empty($conference_sessions)}
 
 
@@ -14287,7 +14268,7 @@ You were registered by: {$payer.name}
 
 {foreach from=$value item=line}
 {if !empty($pricesetFieldsCount) }{capture assign=ts_participant_count}{$line.participant_count}{/capture}{/if}
-{capture assign=ts_item}{if $line.html_type eq \'Text\'}{$line.label}{else}{$line.field_title} - {$line.label}{/if} {if $line.description} {$line.description}{/if}{/capture}{$ts_item|truncate:30:"..."|string_format:"%-30s"} {$line.qty|string_format:"%5s"} {$line.unit_price|crmMoney:$currency|string_format:"%10s"} {if !empty($dataArray)} {$line.unit_price*$line.qty|crmMoney:$currency|string_format:"%10s"} {if isset($line.tax_rate) and ($line.tax_rate != "" || $line.tax_amount != "")}  {$line.tax_rate|string_format:"%.2f"} %  {$line.tax_amount|crmMoney:$currency|string_format:"%10s"} {else}                  {/if}  {/if} {$line.line_total+$line.tax_amount|crmMoney:$currency|string_format:"%10s"}{if !empty($ts_participant_count)}{$ts_participant_count|string_format:"%10s"}{/if}
+{capture assign=ts_item}{if $line.html_type eq \'Text\'}{$line.label}{else}{$line.field_title} - {$line.label}{/if} {if $line.description} {$line.description}{/if}{/capture}{$ts_item|truncate:30:"..."|string_format:"%-30s"} {$line.qty|string_format:"%5s"} {$line.unit_price|crmMoney:$currency|string_format:"%10s"} {if !empty($dataArray)} {$line.unit_price*$line.qty|crmMoney:$currency|string_format:"%10s"} {if $line.tax_rate || $line.tax_amount != ""}  {$line.tax_rate|string_format:"%.2f"} %  {$line.tax_amount|crmMoney:$currency|string_format:"%10s"} {else}                  {/if}  {/if} {$line.line_total+$line.tax_amount|crmMoney:$currency|string_format:"%10s"}{if !empty($ts_participant_count)}{$ts_participant_count|string_format:"%10s"}{/if}
 {/foreach}
 ----------------------------------------------------------------------------------------------------------------
 {if !empty($individual)}{ts}Participant Total{/ts} {$individual.$priceset.totalAmtWithTax-$individual.$priceset.totalTaxAmt|crmMoney:$currency|string_format:"%29s"} {$individual.$priceset.totalTaxAmt|crmMoney:$currency|string_format:"%33s"} {$individual.$priceset.totalAmtWithTax|crmMoney:$currency|string_format:"%12s"}{/if}
@@ -14509,7 +14490,7 @@ You were registered by: {$payer.name}
      <tr>
       <td colspan="2" {$valueStyle}>
        {$event.event_title}<br />
-       {$event.event_start_date|date_format:"%A"} {$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:"%Y%m%d" == $event.event_start_date|date_format:"%Y%m%d"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|date_format:"%A"} {$event.event_end_date|crmDate}{/if}{/if}
+       {$event.event_start_date|date_format:"%A"} {$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:"%Y%m%d" == $event.event_start_date|date_format:"%Y%m%d"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|date_format:"%A"} {$event.event_end_date|crmDate}{/if}{/if} {$event.event_tz}
       </td>
      </tr>
 
@@ -14669,7 +14650,7 @@ You were registered by: {$payer.name}
                <td {$tdStyle}>
                 {$line.unit_price*$line.qty|crmMoney}
                </td>
-               {if isset($line.tax_rate) and ($line.tax_rate != "" || $line.tax_amount != "")}
+               {if $line.tax_rate || $line.tax_amount != ""}
                 <td {$tdStyle}>
                  {$line.tax_rate|string_format:"%.2f"}%
                 </td>
@@ -14985,7 +14966,7 @@ You were registered by: {$payer.name}
 ==========================================================={if !empty($pricesetFieldsCount)}===================={/if}
 
 {$event.event_title}
-{$event.event_start_date|date_format:"%A"} {$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:"%Y%m%d" == $event.event_start_date|date_format:"%Y%m%d"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|date_format:"%A"} {$event.event_end_date|crmDate}{/if}{/if}
+{$event.event_start_date|date_format:"%A"} {$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:"%Y%m%d" == $event.event_start_date|date_format:"%Y%m%d"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|date_format:"%A"} {$event.event_end_date|crmDate}{/if}{/if} {$event.event_tz}
 {if !empty($conference_sessions)}
 
 
@@ -15067,7 +15048,7 @@ You were registered by: {$payer.name}
 
 {foreach from=$value item=line}
 {if !empty($pricesetFieldsCount) }{capture assign=ts_participant_count}{$line.participant_count}{/capture}{/if}
-{capture assign=ts_item}{if $line.html_type eq \'Text\'}{$line.label}{else}{$line.field_title} - {$line.label}{/if} {if $line.description} {$line.description}{/if}{/capture}{$ts_item|truncate:30:"..."|string_format:"%-30s"} {$line.qty|string_format:"%5s"} {$line.unit_price|crmMoney:$currency|string_format:"%10s"} {if !empty($dataArray)} {$line.unit_price*$line.qty|crmMoney:$currency|string_format:"%10s"} {if isset($line.tax_rate) and ($line.tax_rate != "" || $line.tax_amount != "")}  {$line.tax_rate|string_format:"%.2f"} %  {$line.tax_amount|crmMoney:$currency|string_format:"%10s"} {else}                  {/if}  {/if} {$line.line_total+$line.tax_amount|crmMoney:$currency|string_format:"%10s"}{if !empty($ts_participant_count)}{$ts_participant_count|string_format:"%10s"}{/if}
+{capture assign=ts_item}{if $line.html_type eq \'Text\'}{$line.label}{else}{$line.field_title} - {$line.label}{/if} {if $line.description} {$line.description}{/if}{/capture}{$ts_item|truncate:30:"..."|string_format:"%-30s"} {$line.qty|string_format:"%5s"} {$line.unit_price|crmMoney:$currency|string_format:"%10s"} {if !empty($dataArray)} {$line.unit_price*$line.qty|crmMoney:$currency|string_format:"%10s"} {if $line.tax_rate || $line.tax_amount != ""}  {$line.tax_rate|string_format:"%.2f"} %  {$line.tax_amount|crmMoney:$currency|string_format:"%10s"} {else}                  {/if}  {/if} {$line.line_total+$line.tax_amount|crmMoney:$currency|string_format:"%10s"}{if !empty($ts_participant_count)}{$ts_participant_count|string_format:"%10s"}{/if}
 {/foreach}
 ----------------------------------------------------------------------------------------------------------------
 {if !empty($individual)}{ts}Participant Total{/ts} {$individual.$priceset.totalAmtWithTax-$individual.$priceset.totalTaxAmt|crmMoney:$currency|string_format:"%29s"} {$individual.$priceset.totalTaxAmt|crmMoney:$currency|string_format:"%33s"} {$individual.$priceset.totalAmtWithTax|crmMoney:$currency|string_format:"%12s"}{/if}
@@ -15289,7 +15270,7 @@ You were registered by: {$payer.name}
      <tr>
       <td colspan="2" {$valueStyle}>
        {$event.event_title}<br />
-       {$event.event_start_date|date_format:"%A"} {$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:"%Y%m%d" == $event.event_start_date|date_format:"%Y%m%d"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|date_format:"%A"} {$event.event_end_date|crmDate}{/if}{/if}
+       {$event.event_start_date|date_format:"%A"} {$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:"%Y%m%d" == $event.event_start_date|date_format:"%Y%m%d"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|date_format:"%A"} {$event.event_end_date|crmDate}{/if}{/if} {$event.event_tz}
       </td>
      </tr>
 
@@ -15449,7 +15430,7 @@ You were registered by: {$payer.name}
                <td {$tdStyle}>
                 {$line.unit_price*$line.qty|crmMoney}
                </td>
-               {if isset($line.tax_rate) and ($line.tax_rate != "" || $line.tax_amount != "")}
+               {if $line.tax_rate || $line.tax_amount != ""}
                 <td {$tdStyle}>
                  {$line.tax_rate|string_format:"%.2f"}%
                 </td>
@@ -16244,7 +16225,7 @@ Total: {$total|crmMoney:$currency|string_format:"%10s"}
 
 ===========================================================
 {$event.event_title}
-{$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|crmDate:"shortdate" == $event.event_start_date|crmDate:"shortdate"}{$event.event_end_date|crmDate:"Time"}{else}{$event.event_end_date|crmDate}{/if}{/if}
+{$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|crmDate:"shortdate" == $event.event_start_date|crmDate:"shortdate"}{$event.event_end_date|crmDate:"Time"}{else}{$event.event_end_date|crmDate}{/if}{/if} {$event.event_tz}
 
 {ts}Participant Role{/ts}: {participant.role_id:label}
 
@@ -16318,7 +16299,7 @@ Total: {$total|crmMoney:$currency|string_format:"%10s"}
      <tr>
       <td colspan="2" {$valueStyle}>
        {$event.event_title}<br />
-       {$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|crmDate:"shortdate" == $event.event_start_date|crmDate:"shortdate"}{$event.event_end_date|crmDate:"Time"}{else}{$event.event_end_date|crmDate}{/if}{/if}
+       {$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|crmDate:"shortdate" == $event.event_start_date|crmDate:"shortdate"}{$event.event_end_date|crmDate:"Time"}{else}{$event.event_end_date|crmDate}{/if}{/if} {$event.event_tz}
       </td>
      </tr>
      <tr>
@@ -16420,7 +16401,7 @@ Total: {$total|crmMoney:$currency|string_format:"%10s"}
 
 ===========================================================
 {$event.event_title}
-{$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|crmDate:"shortdate" == $event.event_start_date|crmDate:"shortdate"}{$event.event_end_date|crmDate:"Time"}{else}{$event.event_end_date|crmDate}{/if}{/if}
+{$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|crmDate:"shortdate" == $event.event_start_date|crmDate:"shortdate"}{$event.event_end_date|crmDate:"Time"}{else}{$event.event_end_date|crmDate}{/if}{/if} {$event.event_tz}
 
 {ts}Participant Role{/ts}: {participant.role_id:label}
 
@@ -16494,7 +16475,7 @@ Total: {$total|crmMoney:$currency|string_format:"%10s"}
      <tr>
       <td colspan="2" {$valueStyle}>
        {$event.event_title}<br />
-       {$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|crmDate:"shortdate" == $event.event_start_date|crmDate:"shortdate"}{$event.event_end_date|crmDate:"Time"}{else}{$event.event_end_date|crmDate}{/if}{/if}
+       {$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|crmDate:"shortdate" == $event.event_start_date|crmDate:"shortdate"}{$event.event_end_date|crmDate:"Time"}{else}{$event.event_end_date|crmDate}{/if}{/if} {$event.event_tz}
       </td>
      </tr>
      <tr>
@@ -16612,7 +16593,7 @@ Click this link to go to a web page where you can confirm your registration onli
 
 ===========================================================
 {$event.event_title}
-{$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:"%Y%m%d" == $event.event_start_date|date_format:"%Y%m%d"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if}
+{$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:"%Y%m%d" == $event.event_start_date|date_format:"%Y%m%d"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if} {$event.event_tz}
 {if $conference_sessions}
 
 
@@ -16727,7 +16708,7 @@ Click this link to go to a web page where you can confirm your registration onli
      <tr>
       <td colspan="2" {$valueStyle}>
        {$event.event_title}<br />
-       {$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:"%Y%m%d" == $event.event_start_date|date_format:"%Y%m%d"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if}
+       {$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:"%Y%m%d" == $event.event_start_date|date_format:"%Y%m%d"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if} {$event.event_tz}
       </td>
      </tr>
      {if $conference_sessions}
@@ -16880,7 +16861,7 @@ Click this link to go to a web page where you can confirm your registration onli
 
 ===========================================================
 {$event.event_title}
-{$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:"%Y%m%d" == $event.event_start_date|date_format:"%Y%m%d"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if}
+{$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:"%Y%m%d" == $event.event_start_date|date_format:"%Y%m%d"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if} {$event.event_tz}
 {if $conference_sessions}
 
 
@@ -16995,7 +16976,7 @@ Click this link to go to a web page where you can confirm your registration onli
      <tr>
       <td colspan="2" {$valueStyle}>
        {$event.event_title}<br />
-       {$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:"%Y%m%d" == $event.event_start_date|date_format:"%Y%m%d"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if}
+       {$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:"%Y%m%d" == $event.event_start_date|date_format:"%Y%m%d"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if} {$event.event_tz}
       </td>
      </tr>
      {if $conference_sessions}
@@ -17140,7 +17121,7 @@ or want to inquire about reinstating your registration for this event.{/ts}
 
 ===========================================================
 {$event.event_title}
-{$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:"%Y%m%d" == $event.event_start_date|date_format:"%Y%m%d"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if}
+{$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:"%Y%m%d" == $event.event_start_date|date_format:"%Y%m%d"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if} {$event.event_tz}
 
 {ts}Participant Role{/ts}: {$participant.role}
 
@@ -17217,7 +17198,7 @@ or want to inquire about reinstating your registration for this event.{/ts}</p>
      <tr>
       <td colspan="2" {$valueStyle}>
        {$event.event_title}<br />
-       {$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:"%Y%m%d" == $event.event_start_date|date_format:"%Y%m%d"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if}
+       {$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:"%Y%m%d" == $event.event_start_date|date_format:"%Y%m%d"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if} {$event.event_tz}
       </td>
      </tr>
      <tr>
@@ -17323,7 +17304,7 @@ or want to inquire about reinstating your registration for this event.{/ts}
 
 ===========================================================
 {$event.event_title}
-{$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:"%Y%m%d" == $event.event_start_date|date_format:"%Y%m%d"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if}
+{$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:"%Y%m%d" == $event.event_start_date|date_format:"%Y%m%d"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if} {$event.event_tz}
 
 {ts}Participant Role{/ts}: {$participant.role}
 
@@ -17400,7 +17381,7 @@ or want to inquire about reinstating your registration for this event.{/ts}</p>
      <tr>
       <td colspan="2" {$valueStyle}>
        {$event.event_title}<br />
-       {$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:"%Y%m%d" == $event.event_start_date|date_format:"%Y%m%d"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if}
+       {$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:"%Y%m%d" == $event.event_start_date|date_format:"%Y%m%d"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if} {$event.event_tz}
       </td>
      </tr>
      <tr>
@@ -17503,7 +17484,7 @@ or want to inquire about reinstating your registration for this event.{/ts}</p>
 
 ===========================================================
 {$event.event_title}
-{$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:"%Y%m%d" == $event.event_start_date|date_format:"%Y%m%d"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if}
+{$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:"%Y%m%d" == $event.event_start_date|date_format:"%Y%m%d"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if} {$event.event_tz}
 
 {ts}Participant Role{/ts}: {$participant.role}
 
@@ -17576,7 +17557,7 @@ or want to inquire about reinstating your registration for this event.{/ts}</p>
      <tr>
       <td colspan="2" {$valueStyle}>
        {$event.event_title}<br />
-       {$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:"%Y%m%d" == $event.event_start_date|date_format:"%Y%m%d"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if}
+       {$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:"%Y%m%d" == $event.event_start_date|date_format:"%Y%m%d"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if} {$event.event_tz}
       </td>
      </tr>
      <tr>
@@ -17677,7 +17658,7 @@ or want to inquire about reinstating your registration for this event.{/ts}</p>
 
 ===========================================================
 {$event.event_title}
-{$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:"%Y%m%d" == $event.event_start_date|date_format:"%Y%m%d"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if}
+{$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:"%Y%m%d" == $event.event_start_date|date_format:"%Y%m%d"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if} {$event.event_tz}
 
 {ts}Participant Role{/ts}: {$participant.role}
 
@@ -17750,7 +17731,7 @@ or want to inquire about reinstating your registration for this event.{/ts}</p>
      <tr>
       <td colspan="2" {$valueStyle}>
        {$event.event_title}<br />
-       {$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:"%Y%m%d" == $event.event_start_date|date_format:"%Y%m%d"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if}
+       {$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:"%Y%m%d" == $event.event_start_date|date_format:"%Y%m%d"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if} {$event.event_tz}
       </td>
      </tr>
      <tr>
@@ -18005,7 +17986,7 @@ or want to inquire about reinstating your registration for this event.{/ts}</p>
 --------------------------------------------------------------------------------------------------
 
 {foreach from=$value item=line}
-{capture assign=ts_item}{if $line.html_type eq \'Text\'}{$line.label}{else}{$line.field_title} - {$line.label}{/if} {if $line.description} {$line.description}{/if}{/capture}{$ts_item|truncate:30:"..."|string_format:"%-30s"} {$line.line_total|crmMoney|string_format:"%10s"}  {if !empty($dataArray)} {$line.unit_price*$line.qty|crmMoney:$currency|string_format:"%10s"} {if isset($line.tax_rate) and ($line.tax_rate != "" || $line.tax_amount != "")}  {$line.tax_rate|string_format:"%.2f"} %  {$line.tax_amount|crmMoney:$currency|string_format:"%10s"}  {else}                  {/if}   {$line.line_total+$line.tax_amount|crmMoney|string_format:"%10s"} {/if} {$line.start_date|string_format:"%20s"} {$line.end_date|string_format:"%20s"}
+{capture assign=ts_item}{if $line.html_type eq \'Text\'}{$line.label}{else}{$line.field_title} - {$line.label}{/if} {if $line.description} {$line.description}{/if}{/capture}{$ts_item|truncate:30:"..."|string_format:"%-30s"} {$line.line_total|crmMoney|string_format:"%10s"}  {if !empty($dataArray)} {$line.unit_price*$line.qty|crmMoney:$currency|string_format:"%10s"} {if $line.tax_rate || $line.tax_amount != ""}  {$line.tax_rate|string_format:"%.2f"} %  {$line.tax_amount|crmMoney:$currency|string_format:"%10s"}  {else}                  {/if}   {$line.line_total+$line.tax_amount|crmMoney|string_format:"%10s"} {/if} {$line.start_date|string_format:"%20s"} {$line.end_date|string_format:"%20s"}
 {/foreach}
 {/foreach}
 
@@ -18189,7 +18170,7 @@ or want to inquire about reinstating your registration for this event.{/ts}</p>
                               <td>
                                 {$line.unit_price*$line.qty|crmMoney}
                               </td>
-                              {if isset($line.tax_rate) and ($line.tax_rate != "" || $line.tax_amount != "")}
+                              {if $line.tax_rate || $line.tax_amount != ""}
                                 <td>
                                   {$line.tax_rate|string_format:"%.2f"}%
                                 </td>
@@ -18419,7 +18400,7 @@ or want to inquire about reinstating your registration for this event.{/ts}</p>
 --------------------------------------------------------------------------------------------------
 
 {foreach from=$value item=line}
-{capture assign=ts_item}{if $line.html_type eq \'Text\'}{$line.label}{else}{$line.field_title} - {$line.label}{/if} {if $line.description} {$line.description}{/if}{/capture}{$ts_item|truncate:30:"..."|string_format:"%-30s"} {$line.line_total|crmMoney|string_format:"%10s"}  {if !empty($dataArray)} {$line.unit_price*$line.qty|crmMoney:$currency|string_format:"%10s"} {if isset($line.tax_rate) and ($line.tax_rate != "" || $line.tax_amount != "")}  {$line.tax_rate|string_format:"%.2f"} %  {$line.tax_amount|crmMoney:$currency|string_format:"%10s"}  {else}                  {/if}   {$line.line_total+$line.tax_amount|crmMoney|string_format:"%10s"} {/if} {$line.start_date|string_format:"%20s"} {$line.end_date|string_format:"%20s"}
+{capture assign=ts_item}{if $line.html_type eq \'Text\'}{$line.label}{else}{$line.field_title} - {$line.label}{/if} {if $line.description} {$line.description}{/if}{/capture}{$ts_item|truncate:30:"..."|string_format:"%-30s"} {$line.line_total|crmMoney|string_format:"%10s"}  {if !empty($dataArray)} {$line.unit_price*$line.qty|crmMoney:$currency|string_format:"%10s"} {if $line.tax_rate || $line.tax_amount != ""}  {$line.tax_rate|string_format:"%.2f"} %  {$line.tax_amount|crmMoney:$currency|string_format:"%10s"}  {else}                  {/if}   {$line.line_total+$line.tax_amount|crmMoney|string_format:"%10s"} {/if} {$line.start_date|string_format:"%20s"} {$line.end_date|string_format:"%20s"}
 {/foreach}
 {/foreach}
 
@@ -18603,7 +18584,7 @@ or want to inquire about reinstating your registration for this event.{/ts}</p>
                               <td>
                                 {$line.unit_price*$line.qty|crmMoney}
                               </td>
-                              {if isset($line.tax_rate) and ($line.tax_rate != "" || $line.tax_amount != "")}
+                              {if $line.tax_rate || $line.tax_amount != ""}
                                 <td>
                                   {$line.tax_rate|string_format:"%.2f"}%
                                 </td>
@@ -18853,7 +18834,7 @@ or want to inquire about reinstating your registration for this event.{/ts}</p>
 --------------------------------------------------------------------------------------------------
 
 {foreach from=$value item=line}
-{capture assign=ts_item}{if $line.html_type eq \'Text\'}{$line.label}{else}{$line.field_title} - {$line.label}{/if} {if $line.description} {$line.description}{/if}{/capture}{$ts_item|truncate:30:"..."|string_format:"%-30s"} {$line.line_total|crmMoney|string_format:"%10s"}  {if !empty($dataArray)} {$line.unit_price*$line.qty|crmMoney:$currency|string_format:"%10s"} {if isset($line.tax_rate) and ($line.tax_rate != "" || $line.tax_amount != "")}  {$line.tax_rate|string_format:"%.2f"} %  {$line.tax_amount|crmMoney:$currency|string_format:"%10s"} {else}                  {/if}   {$line.line_total+$line.tax_amount|crmMoney|string_format:"%10s"} {/if} {$line.start_date|string_format:"%20s"} {$line.end_date|string_format:"%20s"}
+{capture assign=ts_item}{if $line.html_type eq \'Text\'}{$line.label}{else}{$line.field_title} - {$line.label}{/if} {if $line.description} {$line.description}{/if}{/capture}{$ts_item|truncate:30:"..."|string_format:"%-30s"} {$line.line_total|crmMoney|string_format:"%10s"}  {if !empty($dataArray)} {$line.unit_price*$line.qty|crmMoney:$currency|string_format:"%10s"} {if $line.tax_rate || $line.tax_amount != ""}  {$line.tax_rate|string_format:"%.2f"} %  {$line.tax_amount|crmMoney:$currency|string_format:"%10s"} {else}                  {/if}   {$line.line_total+$line.tax_amount|crmMoney|string_format:"%10s"} {/if} {$line.start_date|string_format:"%20s"} {$line.end_date|string_format:"%20s"}
 {/foreach}
 {/foreach}
 
@@ -19207,7 +19188,7 @@ or want to inquire about reinstating your registration for this event.{/ts}</p>
               <td>
                {$line.unit_price*$line.qty|crmMoney}
               </td>
-              {if isset($line.tax_rate) and ($line.tax_rate != "" || $line.tax_amount != "")}
+              {if ($line.tax_rate || $line.tax_amount != "")}
                <td>
                 {$line.tax_rate|string_format:"%.2f"}%
                </td>
@@ -19647,7 +19628,7 @@ or want to inquire about reinstating your registration for this event.{/ts}</p>
 --------------------------------------------------------------------------------------------------
 
 {foreach from=$value item=line}
-{capture assign=ts_item}{if $line.html_type eq \'Text\'}{$line.label}{else}{$line.field_title} - {$line.label}{/if} {if $line.description} {$line.description}{/if}{/capture}{$ts_item|truncate:30:"..."|string_format:"%-30s"} {$line.line_total|crmMoney|string_format:"%10s"}  {if !empty($dataArray)} {$line.unit_price*$line.qty|crmMoney:$currency|string_format:"%10s"} {if isset($line.tax_rate) and ($line.tax_rate != "" || $line.tax_amount != "")}  {$line.tax_rate|string_format:"%.2f"} %  {$line.tax_amount|crmMoney:$currency|string_format:"%10s"} {else}                  {/if}   {$line.line_total+$line.tax_amount|crmMoney|string_format:"%10s"} {/if} {$line.start_date|string_format:"%20s"} {$line.end_date|string_format:"%20s"}
+{capture assign=ts_item}{if $line.html_type eq \'Text\'}{$line.label}{else}{$line.field_title} - {$line.label}{/if} {if $line.description} {$line.description}{/if}{/capture}{$ts_item|truncate:30:"..."|string_format:"%-30s"} {$line.line_total|crmMoney|string_format:"%10s"}  {if !empty($dataArray)} {$line.unit_price*$line.qty|crmMoney:$currency|string_format:"%10s"} {if $line.tax_rate || $line.tax_amount != ""}  {$line.tax_rate|string_format:"%.2f"} %  {$line.tax_amount|crmMoney:$currency|string_format:"%10s"} {else}                  {/if}   {$line.line_total+$line.tax_amount|crmMoney|string_format:"%10s"} {/if} {$line.start_date|string_format:"%20s"} {$line.end_date|string_format:"%20s"}
 {/foreach}
 {/foreach}
 
@@ -20001,7 +19982,7 @@ or want to inquire about reinstating your registration for this event.{/ts}</p>
               <td>
                {$line.unit_price*$line.qty|crmMoney}
               </td>
-              {if isset($line.tax_rate) and ($line.tax_rate != "" || $line.tax_amount != "")}
+              {if ($line.tax_rate || $line.tax_amount != "")}
                <td>
                 {$line.tax_rate|string_format:"%.2f"}%
                </td>
@@ -23307,20 +23288,6 @@ VALUES
     ( @domainID, 'civicrm/case/search?reset=1', 'Find Cases', 'Find Cases', 'access my cases and activities,access all cases and activities', 'OR',     @caselastID, '1', 1, 3 ),
     ( @domainID, 'civicrm/report/list?compid=7&reset=1', 'Case Reports', 'Case Reports', 'access my cases and activities,access all cases and activities,administer CiviCase', 'OR', @caselastID, '1', 0,    4 );
 
-INSERT INTO civicrm_navigation
-    ( domain_id, url, label, name, permission, permission_operator, parent_id, is_active, has_separator, weight, icon )
-VALUES
-    ( @domainID, NULL, 'Grants', 'Grants', 'access CiviGrant', '', NULL, '1', NULL, 90, 'crm-i fa-money' );
-
-SET @grantlastID:=LAST_INSERT_ID();
-INSERT INTO civicrm_navigation
-    ( domain_id, url, label, name, permission, permission_operator, parent_id, is_active, has_separator, weight )
-VALUES
-    ( @domainID, 'civicrm/grant?reset=1',           'Dashboard', 'Dashboard', 'access CiviGrant', '',       @grantlastID, '1', NULL, 1 ),
-    ( @domainID, 'civicrm/grant/add?reset=1&action=add&context=standalone', 'New Grant', 'New Grant', 'access CiviGrant,edit grants', 'AND', @grantlastID, '1', NULL, 2 ),
-    ( @domainID, 'civicrm/grant/search?reset=1',    'Find Grants', 'Find Grants', 'access CiviGrant', '',   @grantlastID, '1', 1, 3 ),
-    ( @domainID, 'civicrm/report/list?compid=5&reset=1', 'Grant Reports', 'Grant Reports', 'access CiviGrant', '', @grantlastID, '1', 0,    4 );
-
 INSERT INTO civicrm_navigation
     ( domain_id, url, label, name, permission, permission_operator, parent_id, is_active, has_separator, weight, icon )
 VALUES
@@ -23533,18 +23500,6 @@ VALUES
     ( @domainID, 'civicrm/admin/paymentProcessor?reset=1',                  'Payment Processors', 'Payment Processors',              'administer CiviCRM', '',                     @adminEventlastID, '1', NULL, 12),
     ( @domainID, 'civicrm/admin/setting/preferences/event?reset=1',         'CiviEvent Component Settings', 'CiviEvent Component Settings','access CiviEvent,administer CiviCRM', 'AND', @adminEventlastID, '1', NULL, 13 );
 
-INSERT INTO civicrm_navigation
-    ( domain_id, url, label, name, permission, permission_operator, parent_id, is_active, has_separator, weight )
-VALUES
-    ( @domainID, NULL, 'CiviGrant', 'CiviGrant', 'access CiviGrant,administer CiviCRM', 'AND', @adminlastID, '1', NULL, 13 );
-
-SET @adminGrantlastID:=LAST_INSERT_ID();
-INSERT INTO civicrm_navigation
-    ( domain_id, url, label, name, permission, permission_operator, parent_id, is_active, has_separator, weight )
-VALUES
-    ( @domainID, 'civicrm/admin/options/grant_type?reset=1', 'Grant Types', 'Grant Types', 'access CiviGrant,administer CiviCRM', 'AND', @adminGrantlastID, '1', NULL, 1 ),
-    ( @domainID, 'civicrm/admin/options/grant_status?reset=1', 'Grant Status', 'Grant Status', 'access CiviGrant,administer CiviCRM', 'AND', @adminGrantlastID, '1', NULL, 2 );
-
 INSERT INTO civicrm_navigation
     ( domain_id, url, label, name, permission, permission_operator, parent_id, is_active, has_separator, weight )
 VALUES
@@ -23859,4 +23814,4 @@ INSERT INTO `civicrm_report_instance`
     ( `domain_id`, `title`, `report_id`, `description`, `permission`, `form_values`)
 VALUES
     (  @domainID, 'Survey Details', 'survey/detail', 'Detailed report for canvassing, phone-banking, walk lists or other surveys.', 'access CiviReport', 'a:39:{s:6:"fields";a:2:{s:9:"sort_name";s:1:"1";s:6:"result";s:1:"1";}s:22:"assignee_contact_id_op";s:2:"eq";s:25:"assignee_contact_id_value";s:0:"";s:12:"sort_name_op";s:3:"has";s:15:"sort_name_value";s:0:"";s:17:"street_number_min";s:0:"";s:17:"street_number_max";s:0:"";s:16:"street_number_op";s:3:"lte";s:19:"street_number_value";s:0:"";s:14:"street_name_op";s:3:"has";s:17:"street_name_value";s:0:"";s:15:"postal_code_min";s:0:"";s:15:"postal_code_max";s:0:"";s:14:"postal_code_op";s:3:"lte";s:17:"postal_code_value";s:0:"";s:7:"city_op";s:3:"has";s:10:"city_value";s:0:"";s:20:"state_province_id_op";s:2:"in";s:23:"state_province_id_value";a:0:{}s:13:"country_id_op";s:2:"in";s:16:"country_id_value";a:0:{}s:12:"survey_id_op";s:2:"in";s:15:"survey_id_value";a:0:{}s:12:"status_id_op";s:2:"eq";s:15:"status_id_value";s:1:"1";s:11:"custom_1_op";s:2:"in";s:14:"custom_1_value";a:0:{}s:11:"custom_2_op";s:2:"in";s:14:"custom_2_value";a:0:{}s:17:"custom_3_relative";s:1:"0";s:13:"custom_3_from";s:0:"";s:11:"custom_3_to";s:0:"";s:11:"description";s:75:"Detailed report for canvassing, phone-banking, walk lists or other surveys.";s:13:"email_subject";s:0:"";s:8:"email_to";s:0:"";s:8:"email_cc";s:0:"";s:10:"permission";s:17:"access CiviReport";s:6:"groups";s:0:"";s:9:"domain_id";i:1;}');
-UPDATE civicrm_domain SET version = '5.46.2';
+UPDATE civicrm_domain SET version = '5.47.0';
diff --git a/civicrm/sql/civicrm_drop.mysql b/civicrm/sql/civicrm_drop.mysql
index 83bc949d98..1effeeb13c 100644
--- a/civicrm/sql/civicrm_drop.mysql
+++ b/civicrm/sql/civicrm_drop.mysql
@@ -119,9 +119,9 @@ DROP TABLE IF EXISTS `civicrm_cache`;
 DROP TABLE IF EXISTS `civicrm_cxn`;
 DROP TABLE IF EXISTS `civicrm_pcp`;
 DROP TABLE IF EXISTS `civicrm_queue_item`;
+DROP TABLE IF EXISTS `civicrm_queue`;
 DROP TABLE IF EXISTS `civicrm_pledge_block`;
 DROP TABLE IF EXISTS `civicrm_tell_friend`;
-DROP TABLE IF EXISTS `civicrm_grant`;
 DROP TABLE IF EXISTS `civicrm_case_type`;
 DROP TABLE IF EXISTS `civicrm_dedupe_exception`;
 DROP TABLE IF EXISTS `civicrm_dedupe_rule`;
diff --git a/civicrm/sql/civicrm_generated.mysql b/civicrm/sql/civicrm_generated.mysql
index df388294f5..0c592fec84 100644
--- a/civicrm/sql/civicrm_generated.mysql
+++ b/civicrm/sql/civicrm_generated.mysql
@@ -1,15 +1,16 @@
--- MySQL dump 10.19  Distrib 10.3.29-MariaDB, for debian-linux-gnu (x86_64)
+-- MySQL dump 10.13  Distrib 8.0.26, for Linux (x86_64)
 --
--- Host: database    Database: dmastercivicrm
+-- Host: 127.0.0.1    Database: db
 -- ------------------------------------------------------
--- Server version	10.4.20-MariaDB-1:10.4.20+maria~focal
+-- Server version	8.0.28
 
 /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
 /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
 /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
-/*!40101 SET NAMES utf8mb4 */;
+/*!50503 SET NAMES utf8mb4 */;
 /*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
 /*!40103 SET TIME_ZONE='+00:00' */;
+/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
 /*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
 /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
 /*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
@@ -116,7 +117,7 @@ LOCK TABLES `civicrm_acl_entity_role` WRITE;
 /*!40000 ALTER TABLE `civicrm_acl_entity_role` DISABLE KEYS */;
 INSERT INTO `civicrm_acl_entity_role` (`id`, `acl_role_id`, `entity_table`, `entity_id`, `is_active`) VALUES
  (1,1,'civicrm_group',1,1),
- (2,872,'civicrm_group',4,1);
+ (2,856,'civicrm_group',4,1);
 /*!40000 ALTER TABLE `civicrm_acl_entity_role` ENABLE KEYS */;
 UNLOCK TABLES;
 
@@ -161,647 +162,647 @@ UNLOCK TABLES;
 LOCK TABLES `civicrm_activity` WRITE;
 /*!40000 ALTER TABLE `civicrm_activity` DISABLE KEYS */;
 INSERT INTO `civicrm_activity` (`id`, `source_record_id`, `activity_type_id`, `subject`, `activity_date_time`, `duration`, `location`, `phone_id`, `phone_number`, `details`, `status_id`, `priority_id`, `parent_id`, `is_test`, `medium_id`, `is_auto`, `relationship_id`, `is_current_revision`, `original_id`, `result`, `is_deleted`, `campaign_id`, `engagement_level`, `weight`, `is_star`, `created_date`, `modified_date`) VALUES
- (1,NULL,10,'Subject for Pledge Acknowledgment','2021-12-09 11:27:38',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:46','2022-01-05 03:20:46'),
- (2,NULL,9,'Subject for Tell a Friend','2021-03-20 14:09:04',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:46','2022-01-05 03:20:46'),
- (3,NULL,9,'Subject for Tell a Friend','2021-06-12 16:07:22',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:46','2022-01-05 03:20:46'),
- (4,NULL,9,'Subject for Tell a Friend','2021-03-14 06:55:11',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:46','2022-01-05 03:20:46'),
- (5,NULL,9,'Subject for Tell a Friend','2021-01-21 19:22:09',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:46','2022-01-05 03:20:46'),
- (6,NULL,9,'Subject for Tell a Friend','2021-10-16 18:13:27',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:46','2022-01-05 03:20:46'),
- (7,NULL,9,'Subject for Tell a Friend','2021-02-19 10:43:44',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:46','2022-01-05 03:20:46'),
- (8,NULL,9,'Subject for Tell a Friend','2021-07-23 04:26:11',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:46','2022-01-05 03:20:46'),
- (9,NULL,10,'Subject for Pledge Acknowledgment','2021-04-18 03:34:32',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:46','2022-01-05 03:20:46'),
- (10,NULL,9,'Subject for Tell a Friend','2021-10-02 19:12:34',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (11,NULL,10,'Subject for Pledge Acknowledgment','2021-06-17 17:21:25',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (12,NULL,9,'Subject for Tell a Friend','2021-11-25 05:52:05',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (13,NULL,10,'Subject for Pledge Acknowledgment','2021-04-08 21:44:50',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (14,NULL,9,'Subject for Tell a Friend','2021-06-10 03:00:59',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (15,NULL,10,'Subject for Pledge Acknowledgment','2021-11-10 17:55:11',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (16,NULL,9,'Subject for Tell a Friend','2021-04-26 13:55:35',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (17,NULL,10,'Subject for Pledge Acknowledgment','2021-01-24 10:38:46',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (18,NULL,9,'Subject for Tell a Friend','2021-09-08 00:26:09',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (19,NULL,9,'Subject for Tell a Friend','2021-10-17 23:54:27',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (20,NULL,9,'Subject for Tell a Friend','2021-07-16 03:57:59',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (21,NULL,10,'Subject for Pledge Acknowledgment','2021-08-25 01:01:04',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (22,NULL,9,'Subject for Tell a Friend','2021-07-28 23:18:51',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (23,NULL,10,'Subject for Pledge Acknowledgment','2021-02-01 03:22:18',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (24,NULL,10,'Subject for Pledge Acknowledgment','2021-03-11 17:59:43',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (25,NULL,10,'Subject for Pledge Acknowledgment','2021-04-19 17:14:38',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (26,NULL,9,'Subject for Tell a Friend','2021-03-11 11:23:58',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (27,NULL,10,'Subject for Pledge Acknowledgment','2021-09-21 16:11:58',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (28,NULL,10,'Subject for Pledge Acknowledgment','2021-12-16 08:05:34',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (29,NULL,10,'Subject for Pledge Acknowledgment','2021-12-09 11:26:37',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (30,NULL,10,'Subject for Pledge Acknowledgment','2021-10-10 17:22:49',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (31,NULL,10,'Subject for Pledge Acknowledgment','2021-04-04 09:17:27',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (32,NULL,10,'Subject for Pledge Acknowledgment','2021-07-10 00:45:47',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (33,NULL,9,'Subject for Tell a Friend','2021-10-24 01:32:53',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (34,NULL,9,'Subject for Tell a Friend','2021-07-17 01:05:55',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (35,NULL,10,'Subject for Pledge Acknowledgment','2021-05-26 15:49:41',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (36,NULL,10,'Subject for Pledge Acknowledgment','2021-04-01 22:47:10',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (37,NULL,9,'Subject for Tell a Friend','2021-09-23 07:25:53',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (38,NULL,10,'Subject for Pledge Acknowledgment','2021-07-04 23:40:42',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (39,NULL,9,'Subject for Tell a Friend','2021-12-18 09:07:55',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (40,NULL,10,'Subject for Pledge Acknowledgment','2021-04-01 23:16:18',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (41,NULL,9,'Subject for Tell a Friend','2021-05-29 10:34:41',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (42,NULL,9,'Subject for Tell a Friend','2021-10-10 22:33:37',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (43,NULL,9,'Subject for Tell a Friend','2021-05-21 19:59:29',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (44,NULL,10,'Subject for Pledge Acknowledgment','2021-04-23 02:12:47',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (45,NULL,9,'Subject for Tell a Friend','2021-11-30 00:16:36',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (46,NULL,10,'Subject for Pledge Acknowledgment','2021-11-06 00:01:18',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (47,NULL,10,'Subject for Pledge Acknowledgment','2021-10-18 19:09:32',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (48,NULL,9,'Subject for Tell a Friend','2021-09-02 18:47:39',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (49,NULL,9,'Subject for Tell a Friend','2021-04-29 10:37:34',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (50,NULL,10,'Subject for Pledge Acknowledgment','2021-05-04 15:04:12',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (51,NULL,10,'Subject for Pledge Acknowledgment','2021-06-15 13:36:41',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (52,NULL,10,'Subject for Pledge Acknowledgment','2021-03-18 04:04:07',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (53,NULL,9,'Subject for Tell a Friend','2021-07-12 22:52:24',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (54,NULL,9,'Subject for Tell a Friend','2021-09-09 20:40:58',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (55,NULL,9,'Subject for Tell a Friend','2021-09-24 18:53:53',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (56,NULL,9,'Subject for Tell a Friend','2021-05-16 04:56:22',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (57,NULL,10,'Subject for Pledge Acknowledgment','2021-12-09 19:03:22',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (58,NULL,9,'Subject for Tell a Friend','2021-01-26 01:53:52',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (59,NULL,9,'Subject for Tell a Friend','2021-03-16 02:39:33',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (60,NULL,9,'Subject for Tell a Friend','2021-04-30 00:17:25',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (61,NULL,10,'Subject for Pledge Acknowledgment','2021-08-11 01:12:25',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (62,NULL,9,'Subject for Tell a Friend','2021-09-09 09:47:15',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (63,NULL,9,'Subject for Tell a Friend','2021-07-09 02:04:33',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (64,NULL,9,'Subject for Tell a Friend','2021-02-14 09:21:32',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (65,NULL,9,'Subject for Tell a Friend','2021-11-10 18:18:07',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (66,NULL,9,'Subject for Tell a Friend','2021-09-16 14:18:14',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (67,NULL,9,'Subject for Tell a Friend','2021-01-23 02:18:32',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (68,NULL,9,'Subject for Tell a Friend','2021-10-02 23:30:20',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (69,NULL,10,'Subject for Pledge Acknowledgment','2021-12-15 19:36:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (70,NULL,9,'Subject for Tell a Friend','2021-08-08 13:09:43',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (71,NULL,9,'Subject for Tell a Friend','2021-09-13 08:11:15',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (72,NULL,9,'Subject for Tell a Friend','2021-03-13 04:05:31',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (73,NULL,9,'Subject for Tell a Friend','2021-12-09 10:31:31',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (74,NULL,10,'Subject for Pledge Acknowledgment','2021-05-17 11:00:09',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (75,NULL,9,'Subject for Tell a Friend','2021-01-27 07:51:02',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (76,NULL,9,'Subject for Tell a Friend','2021-11-25 15:46:31',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (77,NULL,10,'Subject for Pledge Acknowledgment','2021-03-25 18:23:33',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (78,NULL,10,'Subject for Pledge Acknowledgment','2021-07-19 12:57:30',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (79,NULL,9,'Subject for Tell a Friend','2021-05-28 21:09:33',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (80,NULL,9,'Subject for Tell a Friend','2021-03-22 18:12:41',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (81,NULL,9,'Subject for Tell a Friend','2021-12-21 11:20:10',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (82,NULL,10,'Subject for Pledge Acknowledgment','2021-06-14 23:40:58',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (83,NULL,10,'Subject for Pledge Acknowledgment','2021-04-05 20:17:38',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (84,NULL,10,'Subject for Pledge Acknowledgment','2021-10-31 00:13:47',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (85,NULL,9,'Subject for Tell a Friend','2021-07-09 00:40:48',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (86,NULL,10,'Subject for Pledge Acknowledgment','2021-04-13 20:03:56',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (87,NULL,9,'Subject for Tell a Friend','2021-01-31 12:58:59',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (88,NULL,10,'Subject for Pledge Acknowledgment','2021-01-14 08:38:36',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (89,NULL,9,'Subject for Tell a Friend','2021-12-28 10:21:21',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (90,NULL,9,'Subject for Tell a Friend','2021-07-26 08:28:21',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (91,NULL,9,'Subject for Tell a Friend','2021-06-24 10:19:34',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (92,NULL,9,'Subject for Tell a Friend','2021-08-14 11:44:52',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (93,NULL,9,'Subject for Tell a Friend','2021-08-19 07:28:42',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (94,NULL,9,'Subject for Tell a Friend','2021-02-12 23:25:08',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (95,NULL,10,'Subject for Pledge Acknowledgment','2021-04-11 04:12:36',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (96,NULL,9,'Subject for Tell a Friend','2021-12-09 11:50:39',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (97,NULL,9,'Subject for Tell a Friend','2021-10-17 14:03:40',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (98,NULL,9,'Subject for Tell a Friend','2021-06-10 10:37:01',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (99,NULL,9,'Subject for Tell a Friend','2021-10-02 08:50:13',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (100,NULL,9,'Subject for Tell a Friend','2021-01-06 23:52:42',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (101,NULL,10,'Subject for Pledge Acknowledgment','2021-05-17 13:29:12',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (102,NULL,10,'Subject for Pledge Acknowledgment','2021-07-02 09:45:02',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (103,NULL,9,'Subject for Tell a Friend','2021-09-25 06:54:38',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (104,NULL,9,'Subject for Tell a Friend','2021-05-19 12:12:59',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (105,NULL,9,'Subject for Tell a Friend','2021-09-06 22:45:25',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (106,NULL,10,'Subject for Pledge Acknowledgment','2021-03-13 17:14:33',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (107,NULL,10,'Subject for Pledge Acknowledgment','2021-01-14 07:55:42',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (108,NULL,9,'Subject for Tell a Friend','2021-08-21 09:49:56',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (109,NULL,10,'Subject for Pledge Acknowledgment','2021-05-14 10:23:43',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (110,NULL,9,'Subject for Tell a Friend','2021-03-27 15:51:33',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:47','2022-01-05 03:20:47'),
- (111,NULL,10,'Subject for Pledge Acknowledgment','2021-05-22 08:53:48',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:48','2022-01-05 03:20:48'),
- (112,NULL,10,'Subject for Pledge Acknowledgment','2021-07-17 10:07:56',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:48','2022-01-05 03:20:48'),
- (113,NULL,10,'Subject for Pledge Acknowledgment','2021-05-10 21:32:12',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:48','2022-01-05 03:20:48'),
- (114,NULL,9,'Subject for Tell a Friend','2021-10-15 14:42:34',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:48','2022-01-05 03:20:48'),
- (115,NULL,9,'Subject for Tell a Friend','2021-09-01 17:14:19',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:48','2022-01-05 03:20:48'),
- (116,NULL,10,'Subject for Pledge Acknowledgment','2021-08-13 04:52:35',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:48','2022-01-05 03:20:48'),
- (117,NULL,9,'Subject for Tell a Friend','2021-12-31 02:51:10',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:48','2022-01-05 03:20:48'),
- (118,NULL,9,'Subject for Tell a Friend','2021-05-28 16:12:14',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:48','2022-01-05 03:20:48'),
- (119,NULL,10,'Subject for Pledge Acknowledgment','2021-10-16 23:45:05',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:48','2022-01-05 03:20:48'),
- (120,NULL,9,'Subject for Tell a Friend','2021-12-04 20:55:27',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:48','2022-01-05 03:20:48'),
- (121,NULL,10,'Subject for Pledge Acknowledgment','2021-07-22 13:51:55',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:48','2022-01-05 03:20:48'),
- (122,NULL,10,'Subject for Pledge Acknowledgment','2021-06-18 04:49:56',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:48','2022-01-05 03:20:48'),
- (123,NULL,9,'Subject for Tell a Friend','2021-05-11 20:05:11',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:48','2022-01-05 03:20:48'),
- (124,NULL,9,'Subject for Tell a Friend','2021-03-25 05:16:41',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:48','2022-01-05 03:20:48'),
- (125,NULL,9,'Subject for Tell a Friend','2021-04-08 07:21:47',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:48','2022-01-05 03:20:48'),
- (126,NULL,9,'Subject for Tell a Friend','2021-10-22 13:33:14',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:48','2022-01-05 03:20:48'),
- (127,NULL,10,'Subject for Pledge Acknowledgment','2021-05-24 04:49:02',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:48','2022-01-05 03:20:48'),
- (128,NULL,10,'Subject for Pledge Acknowledgment','2021-11-21 15:47:53',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:48','2022-01-05 03:20:48'),
- (129,NULL,9,'Subject for Tell a Friend','2021-02-03 02:17:16',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:48','2022-01-05 03:20:48'),
- (130,NULL,10,'Subject for Pledge Acknowledgment','2021-09-10 00:44:22',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:48','2022-01-05 03:20:48'),
- (131,NULL,9,'Subject for Tell a Friend','2021-03-11 22:11:48',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:48','2022-01-05 03:20:48'),
- (132,NULL,10,'Subject for Pledge Acknowledgment','2021-03-04 03:00:53',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:48','2022-01-05 03:20:48'),
- (133,NULL,10,'Subject for Pledge Acknowledgment','2021-10-25 01:44:19',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:48','2022-01-05 03:20:48'),
- (134,NULL,10,'Subject for Pledge Acknowledgment','2021-05-19 23:02:35',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:48','2022-01-05 03:20:48'),
- (135,NULL,10,'Subject for Pledge Acknowledgment','2021-02-12 20:31:17',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:48','2022-01-05 03:20:48'),
- (136,NULL,9,'Subject for Tell a Friend','2021-09-26 16:19:29',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:48','2022-01-05 03:20:48'),
- (137,NULL,10,'Subject for Pledge Acknowledgment','2021-06-01 20:13:53',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:48','2022-01-05 03:20:48'),
- (138,NULL,9,'Subject for Tell a Friend','2021-02-03 10:40:48',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:48','2022-01-05 03:20:48'),
- (139,NULL,10,'Subject for Pledge Acknowledgment','2021-08-06 15:07:28',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:48','2022-01-05 03:20:48'),
- (140,NULL,9,'Subject for Tell a Friend','2021-08-19 04:35:14',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:48','2022-01-05 03:20:48'),
- (141,NULL,9,'Subject for Tell a Friend','2021-07-13 12:32:21',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:48','2022-01-05 03:20:48'),
- (142,NULL,9,'Subject for Tell a Friend','2021-01-15 05:14:03',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:48','2022-01-05 03:20:48'),
- (143,NULL,9,'Subject for Tell a Friend','2021-09-01 03:16:03',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:48','2022-01-05 03:20:48'),
- (144,NULL,9,'Subject for Tell a Friend','2021-09-25 18:06:23',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:48','2022-01-05 03:20:48'),
- (145,NULL,9,'Subject for Tell a Friend','2021-04-19 14:39:33',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:48','2022-01-05 03:20:48'),
- (146,NULL,10,'Subject for Pledge Acknowledgment','2021-09-29 08:48:24',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:48','2022-01-05 03:20:48'),
- (147,NULL,9,'Subject for Tell a Friend','2021-03-18 17:18:49',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:48','2022-01-05 03:20:48'),
- (148,NULL,10,'Subject for Pledge Acknowledgment','2021-03-19 00:36:48',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:48','2022-01-05 03:20:48'),
- (149,NULL,9,'Subject for Tell a Friend','2021-06-12 22:43:13',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:48','2022-01-05 03:20:48'),
- (150,NULL,9,'Subject for Tell a Friend','2021-10-15 10:03:52',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:48','2022-01-05 03:20:48'),
- (151,NULL,10,'Subject for Pledge Acknowledgment','2021-03-15 08:48:09',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:48','2022-01-05 03:20:48'),
- (152,NULL,10,'Subject for Pledge Acknowledgment','2021-06-09 16:24:43',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:48','2022-01-05 03:20:48'),
- (153,NULL,10,'Subject for Pledge Acknowledgment','2021-11-25 12:10:34',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:48','2022-01-05 03:20:48'),
- (154,NULL,9,'Subject for Tell a Friend','2021-08-14 04:09:03',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:48','2022-01-05 03:20:48'),
- (155,NULL,9,'Subject for Tell a Friend','2021-06-07 02:32:46',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:48','2022-01-05 03:20:48'),
- (156,NULL,10,'Subject for Pledge Acknowledgment','2021-12-11 04:12:57',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:48','2022-01-05 03:20:48'),
- (157,NULL,10,'Subject for Pledge Acknowledgment','2021-08-07 21:50:23',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:48','2022-01-05 03:20:48'),
- (158,NULL,9,'Subject for Tell a Friend','2021-05-30 13:03:04',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:48','2022-01-05 03:20:48'),
- (159,NULL,9,'Subject for Tell a Friend','2021-07-11 06:26:17',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:48','2022-01-05 03:20:48'),
- (160,NULL,9,'Subject for Tell a Friend','2021-05-10 16:09:32',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:48','2022-01-05 03:20:48'),
- (161,NULL,9,'Subject for Tell a Friend','2021-08-24 06:37:59',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:48','2022-01-05 03:20:48'),
- (162,NULL,9,'Subject for Tell a Friend','2021-08-04 06:07:13',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:48','2022-01-05 03:20:48'),
- (163,NULL,9,'Subject for Tell a Friend','2021-07-17 11:58:15',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:48','2022-01-05 03:20:48'),
- (164,NULL,10,'Subject for Pledge Acknowledgment','2021-10-24 22:30:52',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:48','2022-01-05 03:20:48'),
- (165,NULL,10,'Subject for Pledge Acknowledgment','2021-10-17 11:41:48',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:48','2022-01-05 03:20:48'),
- (166,NULL,10,'Subject for Pledge Acknowledgment','2021-04-12 15:17:03',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:48','2022-01-05 03:20:48'),
- (167,NULL,10,'Subject for Pledge Acknowledgment','2021-08-24 13:36:51',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:48','2022-01-05 03:20:48'),
- (168,NULL,10,'Subject for Pledge Acknowledgment','2021-12-06 06:16:21',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:48','2022-01-05 03:20:48'),
- (169,NULL,9,'Subject for Tell a Friend','2021-07-16 23:03:25',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:48','2022-01-05 03:20:48'),
- (170,NULL,10,'Subject for Pledge Acknowledgment','2021-03-28 08:19:20',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:48','2022-01-05 03:20:48'),
- (171,NULL,9,'Subject for Tell a Friend','2021-09-24 16:58:50',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:48','2022-01-05 03:20:48'),
- (172,NULL,9,'Subject for Tell a Friend','2021-08-19 10:14:52',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:48','2022-01-05 03:20:48'),
- (173,NULL,10,'Subject for Pledge Acknowledgment','2021-11-08 00:15:30',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:48','2022-01-05 03:20:48'),
- (174,NULL,10,'Subject for Pledge Acknowledgment','2021-03-26 09:18:37',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:48','2022-01-05 03:20:48'),
- (175,NULL,10,'Subject for Pledge Acknowledgment','2021-12-03 19:45:22',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:48','2022-01-05 03:20:48'),
- (176,NULL,9,'Subject for Tell a Friend','2021-02-14 04:19:30',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:48','2022-01-05 03:20:48'),
- (177,NULL,10,'Subject for Pledge Acknowledgment','2021-02-02 06:50:28',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:48','2022-01-05 03:20:48'),
- (178,NULL,9,'Subject for Tell a Friend','2021-03-02 01:22:28',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:48','2022-01-05 03:20:48'),
- (179,NULL,10,'Subject for Pledge Acknowledgment','2021-07-02 10:25:53',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:48','2022-01-05 03:20:48'),
- (180,NULL,10,'Subject for Pledge Acknowledgment','2021-06-05 07:10:39',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:48','2022-01-05 03:20:48'),
- (181,NULL,9,'Subject for Tell a Friend','2021-05-01 22:41:19',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:48','2022-01-05 03:20:48'),
- (182,NULL,9,'Subject for Tell a Friend','2021-05-12 13:37:51',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:48','2022-01-05 03:20:48'),
- (183,NULL,9,'Subject for Tell a Friend','2021-02-08 11:08:24',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:48','2022-01-05 03:20:48'),
- (184,NULL,9,'Subject for Tell a Friend','2021-02-22 07:31:11',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:48','2022-01-05 03:20:48'),
- (185,NULL,9,'Subject for Tell a Friend','2021-04-17 16:49:24',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:48','2022-01-05 03:20:48'),
- (186,NULL,9,'Subject for Tell a Friend','2021-04-27 04:48:10',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:48','2022-01-05 03:20:48'),
- (187,NULL,9,'Subject for Tell a Friend','2021-05-25 03:27:15',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:48','2022-01-05 03:20:48'),
- (188,NULL,10,'Subject for Pledge Acknowledgment','2021-06-02 23:42:22',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:48','2022-01-05 03:20:48'),
- (189,NULL,9,'Subject for Tell a Friend','2021-06-23 07:11:22',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:48','2022-01-05 03:20:48'),
- (190,NULL,10,'Subject for Pledge Acknowledgment','2021-03-09 05:29:03',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:48','2022-01-05 03:20:48'),
- (191,NULL,9,'Subject for Tell a Friend','2021-10-07 02:59:51',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:48','2022-01-05 03:20:48'),
- (192,NULL,9,'Subject for Tell a Friend','2021-12-14 05:57:07',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:48','2022-01-05 03:20:48'),
- (193,NULL,9,'Subject for Tell a Friend','2021-02-27 13:08:26',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:48','2022-01-05 03:20:48'),
- (194,NULL,9,'Subject for Tell a Friend','2021-09-21 04:21:38',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:49','2022-01-05 03:20:49'),
- (195,NULL,9,'Subject for Tell a Friend','2021-10-05 11:25:45',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:49','2022-01-05 03:20:49'),
- (196,NULL,10,'Subject for Pledge Acknowledgment','2021-07-20 16:52:08',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:49','2022-01-05 03:20:49'),
- (197,NULL,9,'Subject for Tell a Friend','2021-11-14 04:49:53',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:49','2022-01-05 03:20:49'),
- (198,NULL,10,'Subject for Pledge Acknowledgment','2021-08-09 08:54:10',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:49','2022-01-05 03:20:49'),
- (199,NULL,10,'Subject for Pledge Acknowledgment','2022-01-04 09:14:05',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:49','2022-01-05 03:20:49'),
- (200,NULL,10,'Subject for Pledge Acknowledgment','2021-02-22 04:35:56',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:49','2022-01-05 03:20:49'),
- (201,NULL,9,'Subject for Tell a Friend','2021-06-27 14:42:48',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:49','2022-01-05 03:20:49'),
- (202,NULL,10,'Subject for Pledge Acknowledgment','2021-05-15 17:28:09',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:49','2022-01-05 03:20:49'),
- (203,NULL,10,'Subject for Pledge Acknowledgment','2021-09-28 19:22:07',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:49','2022-01-05 03:20:49'),
- (204,NULL,9,'Subject for Tell a Friend','2021-09-19 00:10:24',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:49','2022-01-05 03:20:49'),
- (205,NULL,10,'Subject for Pledge Acknowledgment','2021-03-31 09:21:45',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:49','2022-01-05 03:20:49'),
- (206,NULL,10,'Subject for Pledge Acknowledgment','2021-03-09 00:31:13',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:49','2022-01-05 03:20:49'),
- (207,NULL,10,'Subject for Pledge Acknowledgment','2021-10-27 09:45:33',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:49','2022-01-05 03:20:49'),
- (208,NULL,9,'Subject for Tell a Friend','2021-02-01 04:45:58',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:49','2022-01-05 03:20:49'),
- (209,NULL,9,'Subject for Tell a Friend','2021-02-26 23:32:12',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:49','2022-01-05 03:20:49'),
- (210,NULL,9,'Subject for Tell a Friend','2021-02-09 23:03:14',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:49','2022-01-05 03:20:49'),
- (211,NULL,9,'Subject for Tell a Friend','2021-04-16 12:07:27',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:49','2022-01-05 03:20:49'),
- (212,NULL,10,'Subject for Pledge Acknowledgment','2021-11-06 21:23:27',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:49','2022-01-05 03:20:49'),
- (213,NULL,10,'Subject for Pledge Acknowledgment','2021-11-23 03:15:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:49','2022-01-05 03:20:49'),
- (214,NULL,10,'Subject for Pledge Acknowledgment','2021-08-19 13:48:36',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:49','2022-01-05 03:20:49'),
- (215,NULL,9,'Subject for Tell a Friend','2021-03-11 08:01:59',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:49','2022-01-05 03:20:49'),
- (216,NULL,10,'Subject for Pledge Acknowledgment','2021-11-15 23:23:07',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:49','2022-01-05 03:20:49'),
- (217,NULL,10,'Subject for Pledge Acknowledgment','2021-04-04 07:45:49',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:49','2022-01-05 03:20:49'),
- (218,NULL,9,'Subject for Tell a Friend','2021-10-19 01:27:07',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:49','2022-01-05 03:20:49'),
- (219,NULL,10,'Subject for Pledge Acknowledgment','2021-12-19 17:39:33',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:49','2022-01-05 03:20:49'),
- (220,NULL,9,'Subject for Tell a Friend','2021-06-18 05:47:15',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:49','2022-01-05 03:20:49'),
- (221,NULL,10,'Subject for Pledge Acknowledgment','2021-02-04 15:29:23',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:49','2022-01-05 03:20:49'),
- (222,NULL,10,'Subject for Pledge Acknowledgment','2021-04-29 08:07:05',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:49','2022-01-05 03:20:49'),
- (223,NULL,10,'Subject for Pledge Acknowledgment','2021-12-27 11:25:39',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:49','2022-01-05 03:20:49'),
- (224,NULL,10,'Subject for Pledge Acknowledgment','2021-08-31 03:53:05',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:49','2022-01-05 03:20:49'),
- (225,NULL,9,'Subject for Tell a Friend','2021-10-29 21:04:51',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:49','2022-01-05 03:20:49'),
- (226,NULL,9,'Subject for Tell a Friend','2021-02-22 17:13:14',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:49','2022-01-05 03:20:49'),
- (227,NULL,10,'Subject for Pledge Acknowledgment','2021-11-17 06:13:29',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:49','2022-01-05 03:20:49'),
- (228,NULL,9,'Subject for Tell a Friend','2021-06-19 15:09:12',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:49','2022-01-05 03:20:49'),
- (229,NULL,10,'Subject for Pledge Acknowledgment','2021-08-21 22:06:54',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:49','2022-01-05 03:20:49'),
- (230,NULL,10,'Subject for Pledge Acknowledgment','2021-02-05 23:24:40',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:49','2022-01-05 03:20:49'),
- (231,NULL,9,'Subject for Tell a Friend','2021-07-27 08:31:05',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:49','2022-01-05 03:20:49'),
- (232,NULL,9,'Subject for Tell a Friend','2021-10-04 10:33:22',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:49','2022-01-05 03:20:49'),
- (233,NULL,9,'Subject for Tell a Friend','2021-06-11 23:07:46',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:49','2022-01-05 03:20:49'),
- (234,NULL,10,'Subject for Pledge Acknowledgment','2021-06-08 00:02:01',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:49','2022-01-05 03:20:49'),
- (235,NULL,10,'Subject for Pledge Acknowledgment','2021-12-30 19:44:40',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:49','2022-01-05 03:20:49'),
- (236,NULL,9,'Subject for Tell a Friend','2021-06-05 09:09:11',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:49','2022-01-05 03:20:49'),
- (237,NULL,10,'Subject for Pledge Acknowledgment','2022-01-01 17:14:49',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:49','2022-01-05 03:20:49'),
- (238,NULL,10,'Subject for Pledge Acknowledgment','2021-02-06 22:28:44',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:49','2022-01-05 03:20:49'),
- (239,NULL,10,'Subject for Pledge Acknowledgment','2021-02-04 06:00:47',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:49','2022-01-05 03:20:49'),
- (240,NULL,9,'Subject for Tell a Friend','2021-09-11 12:50:29',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:49','2022-01-05 03:20:49'),
- (241,NULL,10,'Subject for Pledge Acknowledgment','2021-05-19 08:05:30',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:49','2022-01-05 03:20:49'),
- (242,NULL,9,'Subject for Tell a Friend','2021-12-21 20:44:13',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:49','2022-01-05 03:20:49'),
- (243,NULL,9,'Subject for Tell a Friend','2021-03-25 20:17:25',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:49','2022-01-05 03:20:49'),
- (244,NULL,9,'Subject for Tell a Friend','2021-05-21 20:50:45',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:49','2022-01-05 03:20:49'),
- (245,NULL,10,'Subject for Pledge Acknowledgment','2021-01-21 02:46:50',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:49','2022-01-05 03:20:49'),
- (246,NULL,10,'Subject for Pledge Acknowledgment','2021-08-22 10:44:11',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:49','2022-01-05 03:20:49'),
- (247,NULL,10,'Subject for Pledge Acknowledgment','2021-01-08 10:01:30',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:49','2022-01-05 03:20:49'),
- (248,NULL,9,'Subject for Tell a Friend','2021-06-20 20:26:12',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:49','2022-01-05 03:20:49'),
- (249,NULL,10,'Subject for Pledge Acknowledgment','2021-02-01 23:26:27',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:49','2022-01-05 03:20:49'),
- (250,NULL,9,'Subject for Tell a Friend','2021-01-15 14:09:26',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:49','2022-01-05 03:20:49'),
- (251,NULL,9,'Subject for Tell a Friend','2021-04-12 23:03:35',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:49','2022-01-05 03:20:49'),
- (252,NULL,10,'Subject for Pledge Acknowledgment','2021-12-01 14:33:36',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:49','2022-01-05 03:20:49'),
- (253,NULL,9,'Subject for Tell a Friend','2021-09-03 11:40:39',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:49','2022-01-05 03:20:49'),
- (254,NULL,9,'Subject for Tell a Friend','2021-01-12 21:42:37',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:49','2022-01-05 03:20:49'),
- (255,NULL,9,'Subject for Tell a Friend','2021-12-02 02:34:51',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:49','2022-01-05 03:20:49'),
- (256,NULL,9,'Subject for Tell a Friend','2022-01-03 15:55:14',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:49','2022-01-05 03:20:49'),
- (257,NULL,10,'Subject for Pledge Acknowledgment','2021-03-01 10:20:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:49','2022-01-05 03:20:49'),
- (258,NULL,9,'Subject for Tell a Friend','2021-04-27 12:10:54',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:49','2022-01-05 03:20:49'),
- (259,NULL,9,'Subject for Tell a Friend','2021-11-09 04:43:49',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:49','2022-01-05 03:20:49'),
- (260,NULL,10,'Subject for Pledge Acknowledgment','2021-03-17 16:55:21',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:49','2022-01-05 03:20:49'),
- (261,NULL,9,'Subject for Tell a Friend','2021-11-20 21:54:34',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:49','2022-01-05 03:20:49'),
- (262,NULL,10,'Subject for Pledge Acknowledgment','2021-10-28 17:55:32',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:49','2022-01-05 03:20:49'),
- (263,NULL,9,'Subject for Tell a Friend','2021-03-22 03:20:59',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:49','2022-01-05 03:20:49'),
- (264,NULL,9,'Subject for Tell a Friend','2021-10-17 05:35:36',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:49','2022-01-05 03:20:49'),
- (265,NULL,10,'Subject for Pledge Acknowledgment','2021-09-03 22:01:24',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:49','2022-01-05 03:20:49'),
- (266,NULL,9,'Subject for Tell a Friend','2021-04-08 00:48:33',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:49','2022-01-05 03:20:49'),
- (267,NULL,10,'Subject for Pledge Acknowledgment','2021-05-20 06:32:47',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:49','2022-01-05 03:20:49'),
- (268,NULL,9,'Subject for Tell a Friend','2021-10-14 10:14:12',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:49','2022-01-05 03:20:49'),
- (269,NULL,10,'Subject for Pledge Acknowledgment','2021-02-15 12:58:29',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:49','2022-01-05 03:20:49'),
- (270,NULL,10,'Subject for Pledge Acknowledgment','2021-09-02 23:19:36',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:49','2022-01-05 03:20:49'),
- (271,NULL,9,'Subject for Tell a Friend','2021-09-03 12:53:57',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:49','2022-01-05 03:20:49'),
- (272,NULL,10,'Subject for Pledge Acknowledgment','2021-12-07 19:01:05',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:49','2022-01-05 03:20:49'),
- (273,NULL,10,'Subject for Pledge Acknowledgment','2021-01-25 02:37:23',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:49','2022-01-05 03:20:49'),
- (274,NULL,9,'Subject for Tell a Friend','2021-08-14 15:23:48',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:50','2022-01-05 03:20:50'),
- (275,NULL,9,'Subject for Tell a Friend','2021-12-08 02:13:30',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:50','2022-01-05 03:20:50'),
- (276,NULL,9,'Subject for Tell a Friend','2021-08-16 00:07:49',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:50','2022-01-05 03:20:50'),
- (277,NULL,10,'Subject for Pledge Acknowledgment','2021-06-13 17:45:15',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:50','2022-01-05 03:20:50'),
- (278,NULL,10,'Subject for Pledge Acknowledgment','2021-07-14 21:27:52',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:50','2022-01-05 03:20:50'),
- (279,NULL,10,'Subject for Pledge Acknowledgment','2021-08-24 15:50:52',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:50','2022-01-05 03:20:50'),
- (280,NULL,10,'Subject for Pledge Acknowledgment','2022-01-03 04:07:31',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:50','2022-01-05 03:20:50'),
- (281,NULL,10,'Subject for Pledge Acknowledgment','2021-03-18 01:02:29',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:50','2022-01-05 03:20:50'),
- (282,NULL,9,'Subject for Tell a Friend','2022-01-02 12:44:20',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:50','2022-01-05 03:20:50'),
- (283,NULL,10,'Subject for Pledge Acknowledgment','2021-06-05 17:05:06',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:50','2022-01-05 03:20:50'),
- (284,NULL,10,'Subject for Pledge Acknowledgment','2021-07-23 11:01:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:50','2022-01-05 03:20:50'),
- (285,NULL,9,'Subject for Tell a Friend','2021-12-22 17:48:48',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:50','2022-01-05 03:20:50'),
- (286,NULL,9,'Subject for Tell a Friend','2021-01-21 23:41:23',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:50','2022-01-05 03:20:50'),
- (287,NULL,9,'Subject for Tell a Friend','2021-03-31 04:53:23',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:50','2022-01-05 03:20:50'),
- (288,NULL,9,'Subject for Tell a Friend','2021-02-12 22:18:31',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:50','2022-01-05 03:20:50'),
- (289,NULL,9,'Subject for Tell a Friend','2021-11-28 12:18:17',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:50','2022-01-05 03:20:50'),
- (290,NULL,9,'Subject for Tell a Friend','2021-02-13 08:23:37',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:50','2022-01-05 03:20:50'),
- (291,NULL,10,'Subject for Pledge Acknowledgment','2021-09-14 17:21:30',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:50','2022-01-05 03:20:50'),
- (292,NULL,10,'Subject for Pledge Acknowledgment','2021-11-13 01:53:59',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:50','2022-01-05 03:20:50'),
- (293,NULL,9,'Subject for Tell a Friend','2021-01-18 03:17:40',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:50','2022-01-05 03:20:50'),
- (294,NULL,10,'Subject for Pledge Acknowledgment','2021-01-08 21:27:19',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:50','2022-01-05 03:20:50'),
- (295,NULL,10,'Subject for Pledge Acknowledgment','2021-01-08 13:52:50',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:50','2022-01-05 03:20:50'),
- (296,NULL,9,'Subject for Tell a Friend','2021-02-26 16:37:24',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:50','2022-01-05 03:20:50'),
- (297,NULL,9,'Subject for Tell a Friend','2021-02-04 19:00:07',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:50','2022-01-05 03:20:50'),
- (298,NULL,10,'Subject for Pledge Acknowledgment','2021-08-08 09:46:18',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:50','2022-01-05 03:20:50'),
- (299,NULL,9,'Subject for Tell a Friend','2021-03-05 22:18:42',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:50','2022-01-05 03:20:50'),
- (300,NULL,9,'Subject for Tell a Friend','2021-08-26 20:37:41',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:50','2022-01-05 03:20:50'),
- (301,NULL,9,'Subject for Tell a Friend','2021-04-17 13:25:40',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:50','2022-01-05 03:20:50'),
- (302,NULL,10,'Subject for Pledge Acknowledgment','2021-02-28 01:41:49',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:50','2022-01-05 03:20:50'),
- (303,NULL,10,'Subject for Pledge Acknowledgment','2021-02-10 16:28:07',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:50','2022-01-05 03:20:50'),
- (304,NULL,9,'Subject for Tell a Friend','2021-12-04 12:29:26',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:50','2022-01-05 03:20:50'),
- (305,NULL,10,'Subject for Pledge Acknowledgment','2021-11-13 07:39:10',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:50','2022-01-05 03:20:50'),
- (306,NULL,9,'Subject for Tell a Friend','2021-08-21 17:22:16',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:50','2022-01-05 03:20:50'),
- (307,NULL,10,'Subject for Pledge Acknowledgment','2021-01-22 12:25:41',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:50','2022-01-05 03:20:50'),
- (308,NULL,9,'Subject for Tell a Friend','2021-10-31 12:45:23',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:50','2022-01-05 03:20:50'),
- (309,NULL,10,'Subject for Pledge Acknowledgment','2021-11-07 23:46:24',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:50','2022-01-05 03:20:50'),
- (310,NULL,9,'Subject for Tell a Friend','2021-12-24 08:37:37',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:50','2022-01-05 03:20:50'),
- (311,NULL,9,'Subject for Tell a Friend','2021-10-18 05:57:43',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:50','2022-01-05 03:20:50'),
- (312,NULL,9,'Subject for Tell a Friend','2021-10-27 15:32:35',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:50','2022-01-05 03:20:50'),
- (313,NULL,10,'Subject for Pledge Acknowledgment','2021-01-22 09:39:13',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:50','2022-01-05 03:20:50'),
- (314,NULL,9,'Subject for Tell a Friend','2021-07-12 02:20:42',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:50','2022-01-05 03:20:50'),
- (315,NULL,10,'Subject for Pledge Acknowledgment','2021-04-05 14:10:09',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:50','2022-01-05 03:20:50'),
- (316,NULL,10,'Subject for Pledge Acknowledgment','2021-08-15 18:36:46',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:50','2022-01-05 03:20:50'),
- (317,NULL,9,'Subject for Tell a Friend','2021-09-25 05:14:37',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:50','2022-01-05 03:20:50'),
- (318,NULL,9,'Subject for Tell a Friend','2021-11-30 20:26:27',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:50','2022-01-05 03:20:50'),
- (319,NULL,9,'Subject for Tell a Friend','2021-06-11 08:20:28',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:50','2022-01-05 03:20:50'),
- (320,NULL,9,'Subject for Tell a Friend','2021-05-15 18:55:18',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:50','2022-01-05 03:20:50'),
- (321,NULL,9,'Subject for Tell a Friend','2021-06-14 07:52:15',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:50','2022-01-05 03:20:50'),
- (322,NULL,10,'Subject for Pledge Acknowledgment','2021-02-27 20:07:20',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:50','2022-01-05 03:20:50'),
- (323,NULL,9,'Subject for Tell a Friend','2021-03-24 14:15:59',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:50','2022-01-05 03:20:50'),
- (324,NULL,9,'Subject for Tell a Friend','2021-02-01 02:15:27',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:50','2022-01-05 03:20:50'),
- (325,NULL,10,'Subject for Pledge Acknowledgment','2021-11-30 19:34:16',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:50','2022-01-05 03:20:50'),
- (326,NULL,9,'Subject for Tell a Friend','2021-11-19 23:01:38',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:50','2022-01-05 03:20:50'),
- (327,NULL,9,'Subject for Tell a Friend','2021-02-21 07:44:18',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:50','2022-01-05 03:20:50'),
- (328,NULL,10,'Subject for Pledge Acknowledgment','2021-06-15 23:06:45',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:50','2022-01-05 03:20:50'),
- (329,NULL,10,'Subject for Pledge Acknowledgment','2021-01-10 07:40:48',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:50','2022-01-05 03:20:50'),
- (330,NULL,9,'Subject for Tell a Friend','2021-02-25 13:26:14',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:50','2022-01-05 03:20:50'),
- (331,NULL,9,'Subject for Tell a Friend','2021-07-01 11:39:25',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:50','2022-01-05 03:20:50'),
- (332,NULL,10,'Subject for Pledge Acknowledgment','2021-04-14 02:49:30',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:50','2022-01-05 03:20:50'),
- (333,NULL,10,'Subject for Pledge Acknowledgment','2021-07-20 04:55:30',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:50','2022-01-05 03:20:50'),
- (334,NULL,9,'Subject for Tell a Friend','2021-04-06 04:53:48',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:50','2022-01-05 03:20:50'),
- (335,NULL,10,'Subject for Pledge Acknowledgment','2021-01-30 18:45:33',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:50','2022-01-05 03:20:50'),
- (336,NULL,9,'Subject for Tell a Friend','2021-07-14 07:43:17',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:50','2022-01-05 03:20:50'),
- (337,NULL,9,'Subject for Tell a Friend','2021-03-12 05:01:40',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:50','2022-01-05 03:20:50'),
- (338,NULL,10,'Subject for Pledge Acknowledgment','2021-10-06 19:57:37',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:50','2022-01-05 03:20:50'),
- (339,NULL,10,'Subject for Pledge Acknowledgment','2021-06-03 22:54:09',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:50','2022-01-05 03:20:50'),
- (340,NULL,10,'Subject for Pledge Acknowledgment','2021-08-09 11:11:17',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:50','2022-01-05 03:20:50'),
- (341,NULL,10,'Subject for Pledge Acknowledgment','2021-12-13 16:14:26',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:50','2022-01-05 03:20:50'),
- (342,NULL,10,'Subject for Pledge Acknowledgment','2021-07-11 10:42:24',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:50','2022-01-05 03:20:50'),
- (343,NULL,9,'Subject for Tell a Friend','2021-04-16 15:56:11',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:50','2022-01-05 03:20:50'),
- (344,NULL,10,'Subject for Pledge Acknowledgment','2021-07-17 06:47:39',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:50','2022-01-05 03:20:50'),
- (345,NULL,10,'Subject for Pledge Acknowledgment','2021-08-02 23:00:39',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:50','2022-01-05 03:20:50'),
- (346,NULL,10,'Subject for Pledge Acknowledgment','2021-04-11 20:23:27',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:50','2022-01-05 03:20:50'),
- (347,NULL,10,'Subject for Pledge Acknowledgment','2021-12-14 13:27:33',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:50','2022-01-05 03:20:50'),
- (348,NULL,9,'Subject for Tell a Friend','2021-08-27 23:41:46',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:50','2022-01-05 03:20:50'),
- (349,NULL,9,'Subject for Tell a Friend','2021-02-24 11:00:22',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:50','2022-01-05 03:20:50'),
- (350,NULL,10,'Subject for Pledge Acknowledgment','2021-07-07 10:23:36',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:50','2022-01-05 03:20:50'),
- (351,NULL,9,'Subject for Tell a Friend','2021-03-13 14:49:53',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:50','2022-01-05 03:20:50'),
- (352,NULL,10,'Subject for Pledge Acknowledgment','2021-12-03 02:59:26',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:50','2022-01-05 03:20:50'),
- (353,NULL,10,'Subject for Pledge Acknowledgment','2021-01-31 12:13:26',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:51','2022-01-05 03:20:51'),
- (354,NULL,9,'Subject for Tell a Friend','2021-07-17 18:46:16',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:51','2022-01-05 03:20:51'),
- (355,NULL,10,'Subject for Pledge Acknowledgment','2021-06-25 23:44:29',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:51','2022-01-05 03:20:51'),
- (356,NULL,9,'Subject for Tell a Friend','2021-05-30 03:26:58',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:51','2022-01-05 03:20:51'),
- (357,NULL,9,'Subject for Tell a Friend','2021-07-30 13:13:32',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:51','2022-01-05 03:20:51'),
- (358,NULL,10,'Subject for Pledge Acknowledgment','2021-01-06 04:34:39',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:51','2022-01-05 03:20:51'),
- (359,NULL,9,'Subject for Tell a Friend','2021-01-09 03:07:13',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:51','2022-01-05 03:20:51'),
- (360,NULL,10,'Subject for Pledge Acknowledgment','2021-04-11 13:34:37',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:51','2022-01-05 03:20:51'),
- (361,NULL,9,'Subject for Tell a Friend','2021-01-10 01:47:09',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:51','2022-01-05 03:20:51'),
- (362,NULL,10,'Subject for Pledge Acknowledgment','2021-06-14 23:21:22',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:51','2022-01-05 03:20:51'),
- (363,NULL,10,'Subject for Pledge Acknowledgment','2021-05-04 06:47:39',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:51','2022-01-05 03:20:51'),
- (364,NULL,10,'Subject for Pledge Acknowledgment','2021-10-04 00:25:56',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:51','2022-01-05 03:20:51'),
- (365,NULL,9,'Subject for Tell a Friend','2021-01-23 01:02:55',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:51','2022-01-05 03:20:51'),
- (366,NULL,9,'Subject for Tell a Friend','2021-12-22 07:29:39',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:51','2022-01-05 03:20:51'),
- (367,NULL,10,'Subject for Pledge Acknowledgment','2021-10-17 12:11:58',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:51','2022-01-05 03:20:51'),
- (368,NULL,10,'Subject for Pledge Acknowledgment','2021-05-30 04:41:29',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:51','2022-01-05 03:20:51'),
- (369,NULL,10,'Subject for Pledge Acknowledgment','2021-06-19 10:31:21',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:51','2022-01-05 03:20:51'),
- (370,NULL,10,'Subject for Pledge Acknowledgment','2021-06-30 18:50:14',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:51','2022-01-05 03:20:51'),
- (371,NULL,10,'Subject for Pledge Acknowledgment','2021-11-01 10:02:35',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:51','2022-01-05 03:20:51'),
- (372,NULL,10,'Subject for Pledge Acknowledgment','2021-12-12 01:28:06',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:51','2022-01-05 03:20:51'),
- (373,NULL,9,'Subject for Tell a Friend','2021-10-04 11:38:06',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:51','2022-01-05 03:20:51'),
- (374,NULL,9,'Subject for Tell a Friend','2021-08-16 22:06:04',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:51','2022-01-05 03:20:51'),
- (375,NULL,10,'Subject for Pledge Acknowledgment','2021-11-07 04:03:25',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:51','2022-01-05 03:20:51'),
- (376,NULL,10,'Subject for Pledge Acknowledgment','2021-07-20 14:47:55',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:51','2022-01-05 03:20:51'),
- (377,NULL,9,'Subject for Tell a Friend','2021-01-21 15:35:21',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:51','2022-01-05 03:20:51'),
- (378,NULL,9,'Subject for Tell a Friend','2021-12-23 19:47:37',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:51','2022-01-05 03:20:51'),
- (379,NULL,10,'Subject for Pledge Acknowledgment','2021-10-03 17:55:58',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:51','2022-01-05 03:20:51'),
- (380,NULL,10,'Subject for Pledge Acknowledgment','2021-07-03 06:48:20',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:51','2022-01-05 03:20:51'),
- (381,NULL,10,'Subject for Pledge Acknowledgment','2021-06-12 22:55:03',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:51','2022-01-05 03:20:51'),
- (382,NULL,10,'Subject for Pledge Acknowledgment','2021-03-02 05:35:16',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:51','2022-01-05 03:20:51'),
- (383,NULL,10,'Subject for Pledge Acknowledgment','2021-10-31 07:44:52',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:51','2022-01-05 03:20:51'),
- (384,NULL,10,'Subject for Pledge Acknowledgment','2021-04-29 15:51:14',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:51','2022-01-05 03:20:51'),
- (385,NULL,9,'Subject for Tell a Friend','2021-08-15 11:40:12',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:51','2022-01-05 03:20:51'),
- (386,NULL,10,'Subject for Pledge Acknowledgment','2021-08-31 13:38:11',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:51','2022-01-05 03:20:51'),
- (387,NULL,10,'Subject for Pledge Acknowledgment','2021-04-08 15:47:46',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:51','2022-01-05 03:20:51'),
- (388,NULL,10,'Subject for Pledge Acknowledgment','2021-02-04 17:21:06',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:51','2022-01-05 03:20:51'),
- (389,NULL,9,'Subject for Tell a Friend','2021-07-27 18:23:47',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:51','2022-01-05 03:20:51'),
- (390,NULL,10,'Subject for Pledge Acknowledgment','2021-05-31 12:05:55',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:51','2022-01-05 03:20:51'),
- (391,NULL,10,'Subject for Pledge Acknowledgment','2021-09-15 17:22:10',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:51','2022-01-05 03:20:51'),
- (392,NULL,10,'Subject for Pledge Acknowledgment','2021-07-19 22:32:44',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:51','2022-01-05 03:20:51'),
- (393,NULL,9,'Subject for Tell a Friend','2021-08-06 21:22:46',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:51','2022-01-05 03:20:51'),
- (394,NULL,9,'Subject for Tell a Friend','2021-01-19 23:08:45',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:51','2022-01-05 03:20:51'),
- (395,NULL,9,'Subject for Tell a Friend','2021-08-13 22:17:21',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:51','2022-01-05 03:20:51'),
- (396,NULL,10,'Subject for Pledge Acknowledgment','2021-10-08 00:55:49',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:51','2022-01-05 03:20:51'),
- (397,NULL,9,'Subject for Tell a Friend','2021-06-27 04:33:04',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:51','2022-01-05 03:20:51'),
- (398,NULL,10,'Subject for Pledge Acknowledgment','2021-05-01 10:50:34',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:51','2022-01-05 03:20:51'),
- (399,NULL,10,'Subject for Pledge Acknowledgment','2021-12-23 11:17:36',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:51','2022-01-05 03:20:51'),
- (400,NULL,9,'Subject for Tell a Friend','2021-03-10 23:10:33',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:51','2022-01-05 03:20:51'),
- (401,NULL,9,'Subject for Tell a Friend','2021-03-26 04:34:21',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:51','2022-01-05 03:20:51'),
- (402,NULL,9,'Subject for Tell a Friend','2021-10-21 13:10:36',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:51','2022-01-05 03:20:51'),
- (403,NULL,10,'Subject for Pledge Acknowledgment','2021-01-26 00:16:50',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:51','2022-01-05 03:20:51'),
- (404,NULL,9,'Subject for Tell a Friend','2021-05-03 17:53:49',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:51','2022-01-05 03:20:51'),
- (405,NULL,9,'Subject for Tell a Friend','2021-12-25 13:40:53',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:51','2022-01-05 03:20:51'),
- (406,NULL,10,'Subject for Pledge Acknowledgment','2021-08-26 17:34:40',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:51','2022-01-05 03:20:51'),
- (407,NULL,9,'Subject for Tell a Friend','2021-10-03 20:21:23',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:51','2022-01-05 03:20:51'),
- (408,NULL,10,'Subject for Pledge Acknowledgment','2021-05-20 16:38:45',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:51','2022-01-05 03:20:51'),
- (409,NULL,10,'Subject for Pledge Acknowledgment','2021-08-14 16:41:48',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:51','2022-01-05 03:20:51'),
- (410,NULL,10,'Subject for Pledge Acknowledgment','2021-07-09 08:39:02',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:51','2022-01-05 03:20:51'),
- (411,NULL,9,'Subject for Tell a Friend','2021-04-28 21:03:28',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:51','2022-01-05 03:20:51'),
- (412,NULL,10,'Subject for Pledge Acknowledgment','2021-09-14 09:01:18',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:51','2022-01-05 03:20:51'),
- (413,NULL,10,'Subject for Pledge Acknowledgment','2022-01-04 06:57:51',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:51','2022-01-05 03:20:51'),
- (414,NULL,10,'Subject for Pledge Acknowledgment','2021-04-25 03:22:17',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:51','2022-01-05 03:20:51'),
- (415,NULL,9,'Subject for Tell a Friend','2021-09-16 16:01:19',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:51','2022-01-05 03:20:51'),
- (416,NULL,9,'Subject for Tell a Friend','2021-03-01 13:42:09',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:51','2022-01-05 03:20:51'),
- (417,NULL,10,'Subject for Pledge Acknowledgment','2021-03-15 00:11:29',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:51','2022-01-05 03:20:51'),
- (418,NULL,10,'Subject for Pledge Acknowledgment','2021-03-19 02:40:59',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:51','2022-01-05 03:20:51'),
- (419,NULL,10,'Subject for Pledge Acknowledgment','2021-03-08 23:00:29',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:51','2022-01-05 03:20:51'),
- (420,NULL,9,'Subject for Tell a Friend','2021-06-07 13:58:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:51','2022-01-05 03:20:51'),
- (421,NULL,9,'Subject for Tell a Friend','2021-03-27 00:25:27',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:51','2022-01-05 03:20:51'),
- (422,NULL,9,'Subject for Tell a Friend','2021-09-01 01:22:13',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:51','2022-01-05 03:20:51'),
- (423,NULL,10,'Subject for Pledge Acknowledgment','2021-12-22 13:17:48',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:51','2022-01-05 03:20:51'),
- (424,NULL,9,'Subject for Tell a Friend','2021-06-21 11:47:28',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:51','2022-01-05 03:20:51'),
- (425,NULL,9,'Subject for Tell a Friend','2021-01-11 10:11:42',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:51','2022-01-05 03:20:51'),
- (426,NULL,10,'Subject for Pledge Acknowledgment','2021-04-11 05:29:24',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:51','2022-01-05 03:20:51'),
- (427,NULL,10,'Subject for Pledge Acknowledgment','2021-05-17 11:18:10',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:51','2022-01-05 03:20:51'),
- (428,NULL,9,'Subject for Tell a Friend','2021-02-11 01:36:17',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:51','2022-01-05 03:20:51'),
- (429,NULL,10,'Subject for Pledge Acknowledgment','2021-12-06 00:59:09',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:51','2022-01-05 03:20:51'),
- (430,NULL,10,'Subject for Pledge Acknowledgment','2021-03-20 05:32:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:51','2022-01-05 03:20:51'),
- (431,NULL,9,'Subject for Tell a Friend','2021-10-16 23:15:43',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:51','2022-01-05 03:20:51'),
- (432,NULL,10,'Subject for Pledge Acknowledgment','2021-09-07 00:40:44',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:51','2022-01-05 03:20:51'),
- (433,NULL,10,'Subject for Pledge Acknowledgment','2021-07-03 10:24:48',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:51','2022-01-05 03:20:51'),
- (434,NULL,9,'Subject for Tell a Friend','2021-05-11 15:27:26',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:51','2022-01-05 03:20:51'),
- (435,NULL,9,'Subject for Tell a Friend','2021-03-24 21:45:18',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:51','2022-01-05 03:20:51'),
- (436,NULL,9,'Subject for Tell a Friend','2021-06-03 14:35:52',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:51','2022-01-05 03:20:51'),
- (437,NULL,9,'Subject for Tell a Friend','2021-08-09 10:58:24',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (438,NULL,9,'Subject for Tell a Friend','2021-01-26 09:28:17',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (439,NULL,10,'Subject for Pledge Acknowledgment','2021-09-11 23:35:44',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (440,NULL,10,'Subject for Pledge Acknowledgment','2021-11-02 00:32:29',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (441,NULL,10,'Subject for Pledge Acknowledgment','2021-09-08 13:05:48',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (442,NULL,9,'Subject for Tell a Friend','2021-01-21 17:56:10',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (443,NULL,10,'Subject for Pledge Acknowledgment','2021-11-29 02:48:51',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (444,NULL,9,'Subject for Tell a Friend','2021-05-30 04:36:47',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (445,NULL,10,'Subject for Pledge Acknowledgment','2021-04-16 23:48:03',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (446,NULL,9,'Subject for Tell a Friend','2021-06-06 08:04:33',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (447,NULL,9,'Subject for Tell a Friend','2021-07-21 18:59:27',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (448,NULL,10,'Subject for Pledge Acknowledgment','2021-09-15 06:55:54',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (449,NULL,9,'Subject for Tell a Friend','2021-07-26 21:51:54',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (450,NULL,9,'Subject for Tell a Friend','2021-12-07 13:36:27',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (451,1,6,'$ 125 April Mailer 1','2022-03-05 03:20:52',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (452,2,6,'$ 50 Online: Save the Penguins','2022-03-05 03:20:52',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (453,3,6,'£ 25 April Mailer 1','2022-03-05 03:20:52',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (454,4,6,'$ 50 Online: Save the Penguins','2022-03-05 03:20:52',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (455,5,6,'$ 50 Online: Save the Penguins','2022-03-05 03:20:52',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (456,6,6,'$ 500 April Mailer 1','2022-03-05 03:20:52',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (457,7,6,'$ 1750 Online: Save the Penguins','2022-03-05 03:20:52',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (458,8,6,'$ 50 Online: Save the Penguins','2022-03-05 03:20:52',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (459,9,6,'$ 10 Online: Help CiviCRM','2022-03-05 03:20:52',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (460,10,6,'$ 250 Online: Help CiviCRM','2022-03-05 03:20:52',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (461,11,6,'Â¥ 500 ','2022-03-05 03:20:52',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (462,12,6,'$ 50 Online: Save the Penguins','2022-03-05 03:20:52',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (463,13,6,'$ 50 ','2022-03-05 03:20:52',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (464,14,6,'$ 50 ','2022-03-05 03:20:52',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (465,15,6,'$ 25 Recurring contribution','2022-03-05 03:20:52',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (466,16,6,'$ 25 Recurring contribution','2022-03-05 03:20:52',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (467,17,6,'$ 25 Recurring contribution','2022-03-05 03:20:52',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (468,18,6,'$ 25 Recurring contribution','2022-03-05 03:20:52',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (469,19,6,'$ 25 Recurring contribution','2022-03-05 03:20:52',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (470,20,6,'$ 25 Recurring contribution','2022-03-05 03:20:52',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (471,21,6,'$ 25 Recurring contribution','2022-03-05 03:20:52',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (472,22,6,'$ 25 Recurring contribution','2022-03-05 03:20:52',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (473,23,6,'$ 25 Recurring contribution','2022-03-05 03:20:52',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (474,24,6,'$ 25 Recurring contribution','2022-03-05 03:20:52',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (475,25,6,'$ 25 Recurring contribution','2022-03-05 03:20:52',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (476,26,6,'$ 10 Recurring contribution','2022-03-05 03:20:52',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (477,27,6,'$ 10 Recurring contribution','2022-03-05 03:20:52',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (478,28,6,'$ 10 Recurring contribution','2022-03-05 03:20:52',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (479,29,6,'$ 10 Recurring contribution','2022-03-05 03:20:52',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (480,30,6,'$ 10 Recurring contribution','2022-03-05 03:20:52',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (481,31,6,'€ 5 Recurring contribution','2022-03-05 03:20:52',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (482,1,7,'General','2022-01-05 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (483,2,7,'Student','2022-01-04 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (484,3,7,'General','2022-01-03 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (485,4,7,'Student','2022-01-02 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (486,5,7,'General','2019-12-04 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (487,6,7,'Student','2021-12-31 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (488,7,7,'General','2021-12-30 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (489,8,7,'Student','2021-12-29 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (490,9,7,'General','2021-12-28 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (491,10,7,'General','2019-10-25 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (492,11,7,'Lifetime','2021-12-26 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (493,12,7,'Student','2021-12-25 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (494,13,7,'General','2021-12-24 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (495,14,7,'Student','2021-12-23 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (496,15,7,'Student','2020-12-22 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (497,16,7,'Student','2021-12-21 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (498,17,7,'General','2021-12-20 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (499,18,7,'Student','2021-12-19 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (500,19,7,'General','2021-12-18 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (501,20,7,'General','2019-08-06 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (502,21,7,'General','2021-12-16 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (503,22,7,'Lifetime','2021-12-15 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (504,23,7,'General','2021-12-14 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (505,24,7,'Student','2021-12-13 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (506,25,7,'General','2019-06-27 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (507,26,7,'Student','2021-12-11 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (508,27,7,'General','2021-12-10 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (509,28,7,'Student','2021-12-09 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (510,29,7,'General','2021-12-08 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (511,30,7,'Student','2020-12-07 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (512,32,6,'$ 100.00 - General Membership: Offline signup','2022-01-05 03:20:52',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (513,33,6,'$ 50.00 - Student Membership: Offline signup','2022-01-05 03:20:52',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (514,34,6,'$ 100.00 - General Membership: Offline signup','2022-01-05 03:20:52',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (515,35,6,'$ 50.00 - Student Membership: Offline signup','2022-01-05 03:20:52',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (516,36,6,'$ 100.00 - General Membership: Offline signup','2022-01-05 03:20:52',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (517,37,6,'$ 50.00 - Student Membership: Offline signup','2022-01-05 03:20:52',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (518,38,6,'$ 100.00 - General Membership: Offline signup','2022-01-05 03:20:52',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (519,39,6,'$ 50.00 - Student Membership: Offline signup','2022-01-05 03:20:52',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (520,40,6,'$ 100.00 - General Membership: Offline signup','2022-01-05 03:20:52',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (521,41,6,'$ 100.00 - General Membership: Offline signup','2022-01-05 03:20:52',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (522,42,6,'$ 1200.00 - Lifetime Membership: Offline signup','2022-01-05 03:20:52',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (523,43,6,'$ 50.00 - Student Membership: Offline signup','2022-01-05 03:20:52',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (524,44,6,'$ 100.00 - General Membership: Offline signup','2022-01-05 03:20:52',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (525,45,6,'$ 50.00 - Student Membership: Offline signup','2022-01-05 03:20:52',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (526,46,6,'$ 50.00 - Student Membership: Offline signup','2022-01-05 03:20:52',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (527,47,6,'$ 50.00 - Student Membership: Offline signup','2022-01-05 03:20:52',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (528,48,6,'$ 100.00 - General Membership: Offline signup','2022-01-05 03:20:52',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (529,49,6,'$ 50.00 - Student Membership: Offline signup','2022-01-05 03:20:52',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (530,50,6,'$ 100.00 - General Membership: Offline signup','2022-01-05 03:20:52',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (531,51,6,'$ 100.00 - General Membership: Offline signup','2022-01-05 03:20:52',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (532,52,6,'$ 100.00 - General Membership: Offline signup','2022-01-05 03:20:52',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (533,53,6,'$ 1200.00 - Lifetime Membership: Offline signup','2022-01-05 03:20:52',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (534,54,6,'$ 100.00 - General Membership: Offline signup','2022-01-05 03:20:52',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (535,55,6,'$ 50.00 - Student Membership: Offline signup','2022-01-05 03:20:52',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (536,56,6,'$ 100.00 - General Membership: Offline signup','2022-01-05 03:20:52',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (537,57,6,'$ 50.00 - Student Membership: Offline signup','2022-01-05 03:20:52',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (538,58,6,'$ 100.00 - General Membership: Offline signup','2022-01-05 03:20:52',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (539,59,6,'$ 50.00 - Student Membership: Offline signup','2022-01-05 03:20:52',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (540,60,6,'$ 100.00 - General Membership: Offline signup','2022-01-05 03:20:52',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (541,61,6,'$ 50.00 - Student Membership: Offline signup','2022-01-05 03:20:52',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:52','2022-01-05 03:20:52'),
- (543,1,5,'NULL','2009-01-21 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (544,2,5,'NULL','2008-05-07 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (545,3,5,'NULL','2008-05-05 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (546,4,5,'NULL','2008-10-21 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (547,5,5,'NULL','2008-01-10 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (548,6,5,'NULL','2008-03-05 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (549,7,5,'NULL','2009-07-21 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (550,8,5,'NULL','2009-03-07 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (551,9,5,'NULL','2008-02-05 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (552,10,5,'NULL','2008-02-01 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (553,11,5,'NULL','2009-01-10 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (554,12,5,'NULL','2009-03-06 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (555,13,5,'NULL','2008-06-04 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (556,14,5,'NULL','2008-01-10 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (557,15,5,'NULL','2008-07-04 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (558,16,5,'NULL','2009-01-21 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (559,17,5,'NULL','2008-01-10 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (560,18,5,'NULL','2009-03-05 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (561,19,5,'NULL','2008-10-21 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (562,20,5,'NULL','2009-01-10 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (563,21,5,'NULL','2008-03-25 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (564,22,5,'NULL','2009-10-21 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (565,23,5,'NULL','2008-01-10 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (566,24,5,'NULL','2008-03-11 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (567,25,5,'NULL','2008-04-05 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (568,26,5,'NULL','2009-01-21 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (569,27,5,'NULL','2008-05-07 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (570,28,5,'NULL','2009-12-12 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (571,29,5,'NULL','2009-12-13 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (572,30,5,'NULL','2009-12-14 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (573,31,5,'NULL','2009-12-15 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (574,32,5,'NULL','2009-07-21 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (575,33,5,'NULL','2009-03-07 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (576,34,5,'NULL','2009-12-15 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (577,35,5,'NULL','2009-12-13 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (578,36,5,'NULL','2009-01-10 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (579,37,5,'NULL','2009-03-06 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (580,38,5,'NULL','2009-12-13 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (581,39,5,'NULL','2008-01-10 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (582,40,5,'NULL','2009-12-14 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (583,41,5,'NULL','2009-01-21 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (584,42,5,'NULL','2009-12-15 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (585,43,5,'NULL','2009-03-05 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (586,44,5,'NULL','2009-12-13 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (587,45,5,'NULL','2009-01-10 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (588,46,5,'NULL','2009-12-13 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (589,47,5,'NULL','2009-10-21 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (590,48,5,'NULL','2009-12-10 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (591,49,5,'NULL','2009-03-11 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (592,50,5,'NULL','2009-04-05 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (593,63,6,'$ 50.00 - Fall Fundraiser Dinner : Offline registration','2022-01-05 03:20:53',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (594,64,6,'$ 50.00 - Fall Fundraiser Dinner : Offline registration','2022-01-05 03:20:53',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (595,65,6,'$ 800.00 - Rain-forest Cup Youth Soccer Tournament : Offline registration','2022-01-05 03:20:53',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (596,66,6,'$ 50.00 - Summer Solstice Festival Day Concert : Offline registration','2022-01-05 03:20:53',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (597,67,6,'$ 50.00 - Summer Solstice Festival Day Concert : Offline registration','2022-01-05 03:20:53',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (598,68,6,'$ 800.00 - Rain-forest Cup Youth Soccer Tournament : Offline registration','2022-01-05 03:20:53',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (599,69,6,'$ 800.00 - Rain-forest Cup Youth Soccer Tournament : Offline registration','2022-01-05 03:20:53',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (600,70,6,'$ 50.00 - Fall Fundraiser Dinner : Offline registration','2022-01-05 03:20:53',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (601,71,6,'$ 800.00 - Rain-forest Cup Youth Soccer Tournament : Offline registration','2022-01-05 03:20:53',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (602,72,6,'$ 50.00 - Fall Fundraiser Dinner : Offline registration','2022-01-05 03:20:53',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (603,73,6,'$ 800.00 - Rain-forest Cup Youth Soccer Tournament : Offline registration','2022-01-05 03:20:53',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (604,74,6,'$ 800.00 - Rain-forest Cup Youth Soccer Tournament : Offline registration','2022-01-05 03:20:53',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (605,75,6,'$ 800.00 - Rain-forest Cup Youth Soccer Tournament : Offline registration','2022-01-05 03:20:53',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (606,76,6,'$ 800.00 - Rain-forest Cup Youth Soccer Tournament : Offline registration','2022-01-05 03:20:53',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (607,77,6,'$ 800.00 - Rain-forest Cup Youth Soccer Tournament : Offline registration','2022-01-05 03:20:53',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (608,78,6,'$ 50.00 - Summer Solstice Festival Day Concert : Offline registration','2022-01-05 03:20:53',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (609,79,6,'$ 50.00 - Summer Solstice Festival Day Concert : Offline registration','2022-01-05 03:20:53',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (610,80,6,'$ 50.00 - Summer Solstice Festival Day Concert : Offline registration','2022-01-05 03:20:53',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (611,81,6,'$ 50.00 - Summer Solstice Festival Day Concert : Offline registration','2022-01-05 03:20:53',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (612,82,6,'$ 800.00 - Rain-forest Cup Youth Soccer Tournament : Offline registration','2022-01-05 03:20:53',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (613,83,6,'$ 50.00 - Fall Fundraiser Dinner : Offline registration','2022-01-05 03:20:53',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (614,84,6,'$ 800.00 - Rain-forest Cup Youth Soccer Tournament : Offline registration','2022-01-05 03:20:53',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (615,85,6,'$ 50.00 - Fall Fundraiser Dinner : Offline registration','2022-01-05 03:20:53',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (616,86,6,'$ 50.00 - Fall Fundraiser Dinner : Offline registration','2022-01-05 03:20:53',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (617,87,6,'$ 50.00 - Summer Solstice Festival Day Concert : Offline registration','2022-01-05 03:20:53',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (618,88,6,'$ 50.00 - Summer Solstice Festival Day Concert : Offline registration','2022-01-05 03:20:53',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (619,89,6,'$ 800.00 - Rain-forest Cup Youth Soccer Tournament : Offline registration','2022-01-05 03:20:53',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (620,90,6,'$ 50.00 - Summer Solstice Festival Day Concert : Offline registration','2022-01-05 03:20:53',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (621,91,6,'$ 50.00 - Fall Fundraiser Dinner : Offline registration','2022-01-05 03:20:53',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (622,92,6,'$ 50.00 - Fall Fundraiser Dinner : Offline registration','2022-01-05 03:20:53',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (623,93,6,'$ 50.00 - Summer Solstice Festival Day Concert : Offline registration','2022-01-05 03:20:53',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (624,94,6,'$ 50.00 - Summer Solstice Festival Day Concert : Offline registration','2022-01-05 03:20:53',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (625,95,6,'$ 50.00 - Fall Fundraiser Dinner : Offline registration','2022-01-05 03:20:53',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (626,96,6,'$ 50.00 - Fall Fundraiser Dinner : Offline registration','2022-01-05 03:20:53',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (627,97,6,'$ 800.00 - Rain-forest Cup Youth Soccer Tournament : Offline registration','2022-01-05 03:20:53',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (628,98,6,'$ 50.00 - Summer Solstice Festival Day Concert : Offline registration','2022-01-05 03:20:53',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (629,99,6,'$ 800.00 - Rain-forest Cup Youth Soccer Tournament : Offline registration','2022-01-05 03:20:53',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (630,100,6,'$ 50.00 - Fall Fundraiser Dinner : Offline registration','2022-01-05 03:20:53',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (631,101,6,'$ 50.00 - Summer Solstice Festival Day Concert : Offline registration','2022-01-05 03:20:53',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (632,102,6,'$ 50.00 - Summer Solstice Festival Day Concert : Offline registration','2022-01-05 03:20:53',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (633,103,6,'$ 800.00 - Rain-forest Cup Youth Soccer Tournament : Offline registration','2022-01-05 03:20:53',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (634,104,6,'$ 800.00 - Rain-forest Cup Youth Soccer Tournament : Offline registration','2022-01-05 03:20:53',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (635,105,6,'$ 50.00 - Summer Solstice Festival Day Concert : Offline registration','2022-01-05 03:20:53',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (636,106,6,'$ 50.00 - Summer Solstice Festival Day Concert : Offline registration','2022-01-05 03:20:53',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (637,107,6,'$ 50.00 - Fall Fundraiser Dinner : Offline registration','2022-01-05 03:20:53',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (638,108,6,'$ 50.00 - Fall Fundraiser Dinner : Offline registration','2022-01-05 03:20:53',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (639,109,6,'$ 50.00 - Fall Fundraiser Dinner : Offline registration','2022-01-05 03:20:53',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (640,110,6,'$ 800.00 - Rain-forest Cup Youth Soccer Tournament : Offline registration','2022-01-05 03:20:53',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (641,111,6,'$ 50.00 - Fall Fundraiser Dinner : Offline registration','2022-01-05 03:20:53',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53'),
- (642,112,6,'$ 800.00 - Rain-forest Cup Youth Soccer Tournament : Offline registration','2022-01-05 03:20:53',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-01-05 03:20:53','2022-01-05 03:20:53');
+ (1,NULL,10,'Subject for Pledge Acknowledgment','2021-03-27 14:35:41',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (2,NULL,10,'Subject for Pledge Acknowledgment','2021-09-24 21:26:22',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (3,NULL,10,'Subject for Pledge Acknowledgment','2021-10-24 10:11:21',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (4,NULL,10,'Subject for Pledge Acknowledgment','2021-04-08 10:38:33',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (5,NULL,9,'Subject for Tell a Friend','2022-01-09 00:54:39',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (6,NULL,10,'Subject for Pledge Acknowledgment','2021-04-11 20:27:03',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (7,NULL,10,'Subject for Pledge Acknowledgment','2021-03-28 05:45:25',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (8,NULL,9,'Subject for Tell a Friend','2021-09-30 10:31:44',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (9,NULL,10,'Subject for Pledge Acknowledgment','2022-02-23 01:10:38',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (10,NULL,9,'Subject for Tell a Friend','2021-12-09 11:02:16',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (11,NULL,10,'Subject for Pledge Acknowledgment','2021-04-30 23:16:18',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (12,NULL,9,'Subject for Tell a Friend','2021-05-06 13:05:43',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (13,NULL,10,'Subject for Pledge Acknowledgment','2021-08-10 05:45:20',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (14,NULL,9,'Subject for Tell a Friend','2021-09-30 12:06:29',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (15,NULL,10,'Subject for Pledge Acknowledgment','2022-02-25 20:12:16',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (16,NULL,9,'Subject for Tell a Friend','2021-10-27 01:41:35',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (17,NULL,10,'Subject for Pledge Acknowledgment','2021-07-08 10:14:37',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (18,NULL,10,'Subject for Pledge Acknowledgment','2021-12-23 02:58:31',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (19,NULL,9,'Subject for Tell a Friend','2021-07-12 20:29:12',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (20,NULL,10,'Subject for Pledge Acknowledgment','2021-11-02 08:30:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (21,NULL,10,'Subject for Pledge Acknowledgment','2022-02-07 04:09:49',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (22,NULL,9,'Subject for Tell a Friend','2021-09-05 05:33:54',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (23,NULL,9,'Subject for Tell a Friend','2021-11-29 14:03:42',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (24,NULL,9,'Subject for Tell a Friend','2021-08-11 17:46:11',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (25,NULL,10,'Subject for Pledge Acknowledgment','2021-03-30 16:57:39',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (26,NULL,9,'Subject for Tell a Friend','2022-02-20 16:25:50',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (27,NULL,9,'Subject for Tell a Friend','2022-02-26 06:22:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (28,NULL,9,'Subject for Tell a Friend','2021-07-20 19:21:57',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (29,NULL,9,'Subject for Tell a Friend','2022-02-03 11:56:33',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (30,NULL,9,'Subject for Tell a Friend','2022-01-27 20:55:26',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (31,NULL,9,'Subject for Tell a Friend','2021-12-17 07:36:57',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (32,NULL,10,'Subject for Pledge Acknowledgment','2021-10-17 10:32:27',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (33,NULL,9,'Subject for Tell a Friend','2021-05-27 02:13:10',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (34,NULL,10,'Subject for Pledge Acknowledgment','2021-10-24 12:37:47',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (35,NULL,9,'Subject for Tell a Friend','2021-11-30 10:43:01',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (36,NULL,10,'Subject for Pledge Acknowledgment','2021-08-26 05:21:48',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (37,NULL,9,'Subject for Tell a Friend','2022-01-27 06:14:20',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (38,NULL,9,'Subject for Tell a Friend','2021-09-21 22:17:57',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (39,NULL,9,'Subject for Tell a Friend','2022-02-04 05:46:36',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (40,NULL,9,'Subject for Tell a Friend','2021-07-02 02:03:38',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (41,NULL,9,'Subject for Tell a Friend','2021-10-21 19:15:25',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (42,NULL,10,'Subject for Pledge Acknowledgment','2021-10-12 04:04:56',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (43,NULL,10,'Subject for Pledge Acknowledgment','2021-09-05 14:05:21',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (44,NULL,9,'Subject for Tell a Friend','2021-05-06 23:36:27',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (45,NULL,9,'Subject for Tell a Friend','2021-12-04 03:27:21',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (46,NULL,10,'Subject for Pledge Acknowledgment','2021-08-08 18:03:09',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (47,NULL,9,'Subject for Tell a Friend','2021-08-31 05:44:41',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (48,NULL,10,'Subject for Pledge Acknowledgment','2021-06-22 23:11:43',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (49,NULL,9,'Subject for Tell a Friend','2021-07-21 15:43:48',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (50,NULL,10,'Subject for Pledge Acknowledgment','2021-05-11 06:12:37',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (51,NULL,9,'Subject for Tell a Friend','2021-06-04 09:53:34',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (52,NULL,10,'Subject for Pledge Acknowledgment','2021-07-02 12:42:45',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (53,NULL,9,'Subject for Tell a Friend','2021-11-11 21:21:43',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (54,NULL,10,'Subject for Pledge Acknowledgment','2021-04-07 06:22:53',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (55,NULL,10,'Subject for Pledge Acknowledgment','2021-08-26 11:20:41',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (56,NULL,10,'Subject for Pledge Acknowledgment','2021-12-26 08:55:59',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (57,NULL,10,'Subject for Pledge Acknowledgment','2022-01-23 20:44:23',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (58,NULL,9,'Subject for Tell a Friend','2022-02-28 11:08:19',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (59,NULL,9,'Subject for Tell a Friend','2021-11-28 18:35:55',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (60,NULL,9,'Subject for Tell a Friend','2021-10-05 20:21:01',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (61,NULL,9,'Subject for Tell a Friend','2022-01-31 22:47:28',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (62,NULL,10,'Subject for Pledge Acknowledgment','2021-12-05 05:58:25',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (63,NULL,10,'Subject for Pledge Acknowledgment','2022-02-20 09:01:37',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (64,NULL,9,'Subject for Tell a Friend','2021-08-02 08:47:44',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (65,NULL,9,'Subject for Tell a Friend','2021-06-17 04:15:59',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (66,NULL,10,'Subject for Pledge Acknowledgment','2021-07-17 23:15:27',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (67,NULL,10,'Subject for Pledge Acknowledgment','2021-11-01 14:26:42',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (68,NULL,10,'Subject for Pledge Acknowledgment','2021-07-13 22:56:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (69,NULL,10,'Subject for Pledge Acknowledgment','2022-01-11 20:24:25',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (70,NULL,9,'Subject for Tell a Friend','2021-12-01 01:31:45',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (71,NULL,9,'Subject for Tell a Friend','2021-06-24 11:39:29',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (72,NULL,10,'Subject for Pledge Acknowledgment','2021-08-16 02:38:39',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (73,NULL,10,'Subject for Pledge Acknowledgment','2021-04-18 00:01:02',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (74,NULL,10,'Subject for Pledge Acknowledgment','2021-07-02 23:00:19',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (75,NULL,10,'Subject for Pledge Acknowledgment','2021-12-15 12:06:19',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (76,NULL,10,'Subject for Pledge Acknowledgment','2021-06-12 23:59:10',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (77,NULL,9,'Subject for Tell a Friend','2021-04-13 13:32:55',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (78,NULL,10,'Subject for Pledge Acknowledgment','2022-02-21 03:33:55',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (79,NULL,10,'Subject for Pledge Acknowledgment','2021-12-01 00:20:22',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (80,NULL,9,'Subject for Tell a Friend','2022-02-18 00:39:07',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (81,NULL,10,'Subject for Pledge Acknowledgment','2021-10-13 09:36:39',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (82,NULL,9,'Subject for Tell a Friend','2021-05-01 01:56:55',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (83,NULL,9,'Subject for Tell a Friend','2021-06-29 14:03:54',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (84,NULL,10,'Subject for Pledge Acknowledgment','2021-08-05 17:54:10',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (85,NULL,10,'Subject for Pledge Acknowledgment','2021-05-16 04:28:22',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (86,NULL,9,'Subject for Tell a Friend','2021-03-23 05:49:55',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (87,NULL,10,'Subject for Pledge Acknowledgment','2021-11-22 04:30:51',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (88,NULL,9,'Subject for Tell a Friend','2021-10-23 15:21:25',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (89,NULL,10,'Subject for Pledge Acknowledgment','2021-08-09 08:22:56',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (90,NULL,10,'Subject for Pledge Acknowledgment','2021-12-25 15:53:49',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (91,NULL,9,'Subject for Tell a Friend','2021-07-04 15:47:17',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (92,NULL,9,'Subject for Tell a Friend','2021-06-10 23:45:02',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (93,NULL,10,'Subject for Pledge Acknowledgment','2021-11-04 19:23:11',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (94,NULL,9,'Subject for Tell a Friend','2021-10-04 14:01:36',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (95,NULL,9,'Subject for Tell a Friend','2021-05-13 23:12:29',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (96,NULL,10,'Subject for Pledge Acknowledgment','2021-08-30 18:18:06',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (97,NULL,9,'Subject for Tell a Friend','2021-10-05 10:32:23',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (98,NULL,10,'Subject for Pledge Acknowledgment','2022-01-11 06:55:16',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (99,NULL,9,'Subject for Tell a Friend','2021-09-26 04:10:28',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (100,NULL,10,'Subject for Pledge Acknowledgment','2021-12-25 23:15:47',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (101,NULL,9,'Subject for Tell a Friend','2021-03-12 06:18:35',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (102,NULL,9,'Subject for Tell a Friend','2021-05-17 18:17:08',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (103,NULL,9,'Subject for Tell a Friend','2021-03-13 12:11:42',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (104,NULL,10,'Subject for Pledge Acknowledgment','2021-09-22 00:43:47',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (105,NULL,10,'Subject for Pledge Acknowledgment','2021-04-07 12:10:39',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (106,NULL,10,'Subject for Pledge Acknowledgment','2021-04-14 14:16:22',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (107,NULL,9,'Subject for Tell a Friend','2021-10-28 17:08:36',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (108,NULL,10,'Subject for Pledge Acknowledgment','2021-09-19 15:08:55',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (109,NULL,10,'Subject for Pledge Acknowledgment','2022-01-18 03:08:11',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (110,NULL,9,'Subject for Tell a Friend','2021-06-06 20:43:08',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (111,NULL,10,'Subject for Pledge Acknowledgment','2021-03-15 10:46:02',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (112,NULL,10,'Subject for Pledge Acknowledgment','2021-04-17 15:05:57',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (113,NULL,9,'Subject for Tell a Friend','2021-06-04 14:07:29',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (114,NULL,10,'Subject for Pledge Acknowledgment','2021-05-17 21:26:04',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (115,NULL,10,'Subject for Pledge Acknowledgment','2021-11-14 08:41:25',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (116,NULL,9,'Subject for Tell a Friend','2021-04-15 06:24:48',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (117,NULL,10,'Subject for Pledge Acknowledgment','2022-01-20 16:02:17',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (118,NULL,9,'Subject for Tell a Friend','2022-01-29 09:52:18',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (119,NULL,9,'Subject for Tell a Friend','2022-02-26 13:48:25',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (120,NULL,9,'Subject for Tell a Friend','2021-03-30 13:31:50',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (121,NULL,10,'Subject for Pledge Acknowledgment','2021-08-06 07:12:08',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (122,NULL,10,'Subject for Pledge Acknowledgment','2021-06-27 10:32:51',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (123,NULL,9,'Subject for Tell a Friend','2021-04-16 10:17:42',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (124,NULL,10,'Subject for Pledge Acknowledgment','2021-04-02 13:04:30',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (125,NULL,10,'Subject for Pledge Acknowledgment','2022-01-21 07:09:14',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (126,NULL,10,'Subject for Pledge Acknowledgment','2021-10-17 23:50:02',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (127,NULL,10,'Subject for Pledge Acknowledgment','2021-03-20 00:42:30',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (128,NULL,10,'Subject for Pledge Acknowledgment','2021-08-17 18:55:38',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (129,NULL,9,'Subject for Tell a Friend','2021-12-07 23:21:25',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (130,NULL,10,'Subject for Pledge Acknowledgment','2021-11-02 23:53:09',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (131,NULL,10,'Subject for Pledge Acknowledgment','2022-02-07 21:49:10',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (132,NULL,10,'Subject for Pledge Acknowledgment','2021-08-06 15:39:40',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (133,NULL,10,'Subject for Pledge Acknowledgment','2021-08-09 14:05:44',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (134,NULL,10,'Subject for Pledge Acknowledgment','2022-01-28 17:35:17',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (135,NULL,9,'Subject for Tell a Friend','2021-03-08 16:13:13',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (136,NULL,9,'Subject for Tell a Friend','2021-11-10 02:13:07',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (137,NULL,9,'Subject for Tell a Friend','2021-11-01 14:32:32',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (138,NULL,10,'Subject for Pledge Acknowledgment','2021-04-17 15:04:24',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (139,NULL,10,'Subject for Pledge Acknowledgment','2021-04-01 20:49:56',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (140,NULL,10,'Subject for Pledge Acknowledgment','2021-04-08 08:12:54',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (141,NULL,10,'Subject for Pledge Acknowledgment','2021-12-13 02:39:24',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (142,NULL,9,'Subject for Tell a Friend','2021-08-27 13:07:37',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (143,NULL,10,'Subject for Pledge Acknowledgment','2021-11-28 02:21:35',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (144,NULL,10,'Subject for Pledge Acknowledgment','2021-12-25 12:26:36',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (145,NULL,10,'Subject for Pledge Acknowledgment','2021-07-10 22:53:10',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (146,NULL,9,'Subject for Tell a Friend','2021-05-03 03:32:35',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (147,NULL,10,'Subject for Pledge Acknowledgment','2021-12-25 23:09:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (148,NULL,10,'Subject for Pledge Acknowledgment','2021-03-02 05:49:18',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (149,NULL,10,'Subject for Pledge Acknowledgment','2021-10-13 03:30:26',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (150,NULL,10,'Subject for Pledge Acknowledgment','2021-09-05 17:08:45',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (151,NULL,9,'Subject for Tell a Friend','2021-10-16 18:48:23',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (152,NULL,10,'Subject for Pledge Acknowledgment','2021-09-11 20:55:46',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (153,NULL,9,'Subject for Tell a Friend','2022-01-19 20:07:22',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (154,NULL,9,'Subject for Tell a Friend','2021-07-11 17:28:34',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (155,NULL,10,'Subject for Pledge Acknowledgment','2021-03-06 08:46:47',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (156,NULL,10,'Subject for Pledge Acknowledgment','2021-10-28 21:32:09',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (157,NULL,10,'Subject for Pledge Acknowledgment','2021-06-18 11:50:42',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (158,NULL,9,'Subject for Tell a Friend','2021-05-07 11:18:36',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (159,NULL,10,'Subject for Pledge Acknowledgment','2021-03-15 15:02:34',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (160,NULL,10,'Subject for Pledge Acknowledgment','2021-11-15 21:17:13',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (161,NULL,9,'Subject for Tell a Friend','2021-11-02 23:54:15',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (162,NULL,10,'Subject for Pledge Acknowledgment','2021-07-13 17:59:35',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (163,NULL,9,'Subject for Tell a Friend','2021-05-31 07:56:30',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (164,NULL,10,'Subject for Pledge Acknowledgment','2021-07-04 15:07:22',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (165,NULL,10,'Subject for Pledge Acknowledgment','2021-05-17 14:23:40',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (166,NULL,10,'Subject for Pledge Acknowledgment','2021-11-22 00:46:09',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (167,NULL,9,'Subject for Tell a Friend','2021-08-17 16:20:29',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (168,NULL,10,'Subject for Pledge Acknowledgment','2021-07-17 20:05:52',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (169,NULL,9,'Subject for Tell a Friend','2021-03-24 15:34:16',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (170,NULL,9,'Subject for Tell a Friend','2021-09-15 06:13:54',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (171,NULL,9,'Subject for Tell a Friend','2021-03-09 14:43:27',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (172,NULL,9,'Subject for Tell a Friend','2021-07-16 19:27:59',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (173,NULL,9,'Subject for Tell a Friend','2021-08-01 06:44:53',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (174,NULL,9,'Subject for Tell a Friend','2021-08-29 00:39:57',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (175,NULL,9,'Subject for Tell a Friend','2021-04-13 10:00:52',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (176,NULL,9,'Subject for Tell a Friend','2021-05-19 05:46:05',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (177,NULL,9,'Subject for Tell a Friend','2021-08-22 17:37:05',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (178,NULL,10,'Subject for Pledge Acknowledgment','2021-03-07 04:57:21',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (179,NULL,10,'Subject for Pledge Acknowledgment','2021-12-10 00:29:15',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (180,NULL,10,'Subject for Pledge Acknowledgment','2021-11-20 08:31:54',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (181,NULL,9,'Subject for Tell a Friend','2021-10-01 15:06:33',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (182,NULL,10,'Subject for Pledge Acknowledgment','2022-01-14 02:42:12',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (183,NULL,9,'Subject for Tell a Friend','2021-06-15 01:21:57',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (184,NULL,10,'Subject for Pledge Acknowledgment','2021-08-29 20:33:28',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (185,NULL,10,'Subject for Pledge Acknowledgment','2021-12-22 16:50:12',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (186,NULL,10,'Subject for Pledge Acknowledgment','2021-10-22 09:40:51',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (187,NULL,10,'Subject for Pledge Acknowledgment','2021-06-13 00:30:08',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (188,NULL,10,'Subject for Pledge Acknowledgment','2021-07-11 06:43:29',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (189,NULL,9,'Subject for Tell a Friend','2021-03-06 15:04:41',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (190,NULL,10,'Subject for Pledge Acknowledgment','2021-06-27 21:53:41',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (191,NULL,10,'Subject for Pledge Acknowledgment','2021-04-30 12:51:20',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (192,NULL,9,'Subject for Tell a Friend','2021-09-23 20:14:39',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (193,NULL,9,'Subject for Tell a Friend','2021-06-27 11:10:21',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (194,NULL,10,'Subject for Pledge Acknowledgment','2022-02-10 01:21:23',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (195,NULL,9,'Subject for Tell a Friend','2022-02-20 21:37:10',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (196,NULL,9,'Subject for Tell a Friend','2021-04-18 05:58:29',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (197,NULL,9,'Subject for Tell a Friend','2022-02-18 12:33:23',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (198,NULL,9,'Subject for Tell a Friend','2021-08-24 06:39:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (199,NULL,10,'Subject for Pledge Acknowledgment','2021-10-19 08:15:50',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (200,NULL,9,'Subject for Tell a Friend','2021-04-05 01:25:34',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (201,NULL,9,'Subject for Tell a Friend','2021-03-24 06:44:06',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (202,NULL,9,'Subject for Tell a Friend','2021-07-16 22:27:22',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (203,NULL,9,'Subject for Tell a Friend','2021-04-03 13:23:35',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (204,NULL,9,'Subject for Tell a Friend','2021-04-12 22:23:26',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (205,NULL,10,'Subject for Pledge Acknowledgment','2021-07-28 14:17:43',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (206,NULL,10,'Subject for Pledge Acknowledgment','2021-11-03 21:58:04',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (207,NULL,9,'Subject for Tell a Friend','2021-03-07 19:18:27',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (208,NULL,9,'Subject for Tell a Friend','2021-05-03 12:24:42',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (209,NULL,10,'Subject for Pledge Acknowledgment','2021-07-22 00:19:23',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (210,NULL,9,'Subject for Tell a Friend','2021-09-30 06:16:51',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (211,NULL,9,'Subject for Tell a Friend','2021-10-25 02:13:40',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (212,NULL,9,'Subject for Tell a Friend','2022-02-13 00:35:48',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (213,NULL,10,'Subject for Pledge Acknowledgment','2021-04-21 16:34:38',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (214,NULL,9,'Subject for Tell a Friend','2021-08-25 22:42:24',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (215,NULL,10,'Subject for Pledge Acknowledgment','2021-12-11 20:31:32',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (216,NULL,10,'Subject for Pledge Acknowledgment','2021-06-07 12:43:44',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (217,NULL,9,'Subject for Tell a Friend','2021-11-23 02:26:19',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (218,NULL,10,'Subject for Pledge Acknowledgment','2021-06-01 21:38:14',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (219,NULL,9,'Subject for Tell a Friend','2021-03-23 09:58:29',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (220,NULL,10,'Subject for Pledge Acknowledgment','2021-09-15 13:23:49',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (221,NULL,10,'Subject for Pledge Acknowledgment','2021-06-03 01:19:45',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (222,NULL,10,'Subject for Pledge Acknowledgment','2021-10-20 07:22:17',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (223,NULL,10,'Subject for Pledge Acknowledgment','2021-11-06 15:54:25',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (224,NULL,9,'Subject for Tell a Friend','2022-01-08 17:41:43',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (225,NULL,10,'Subject for Pledge Acknowledgment','2022-02-16 01:24:33',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (226,NULL,9,'Subject for Tell a Friend','2022-01-11 00:59:59',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (227,NULL,10,'Subject for Pledge Acknowledgment','2021-06-17 00:30:24',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (228,NULL,10,'Subject for Pledge Acknowledgment','2021-11-05 23:05:08',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (229,NULL,9,'Subject for Tell a Friend','2022-02-12 16:22:41',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (230,NULL,9,'Subject for Tell a Friend','2021-04-26 08:10:56',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (231,NULL,9,'Subject for Tell a Friend','2021-04-09 18:53:21',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (232,NULL,10,'Subject for Pledge Acknowledgment','2021-09-25 05:06:50',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (233,NULL,10,'Subject for Pledge Acknowledgment','2021-04-02 06:54:29',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (234,NULL,9,'Subject for Tell a Friend','2021-07-14 13:21:34',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (235,NULL,10,'Subject for Pledge Acknowledgment','2021-10-24 22:47:02',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (236,NULL,9,'Subject for Tell a Friend','2021-06-24 01:12:36',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (237,NULL,10,'Subject for Pledge Acknowledgment','2021-04-17 16:05:19',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (238,NULL,10,'Subject for Pledge Acknowledgment','2021-12-11 18:16:34',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (239,NULL,9,'Subject for Tell a Friend','2021-11-19 10:08:30',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (240,NULL,10,'Subject for Pledge Acknowledgment','2021-10-23 13:09:30',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (241,NULL,10,'Subject for Pledge Acknowledgment','2021-12-24 11:29:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (242,NULL,10,'Subject for Pledge Acknowledgment','2021-06-05 18:04:16',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (243,NULL,10,'Subject for Pledge Acknowledgment','2022-02-07 19:14:24',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (244,NULL,10,'Subject for Pledge Acknowledgment','2021-08-08 20:02:35',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (245,NULL,10,'Subject for Pledge Acknowledgment','2021-05-15 22:16:17',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (246,NULL,9,'Subject for Tell a Friend','2021-12-07 05:06:43',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (247,NULL,10,'Subject for Pledge Acknowledgment','2021-09-27 16:43:35',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (248,NULL,10,'Subject for Pledge Acknowledgment','2021-03-09 13:23:40',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (249,NULL,10,'Subject for Pledge Acknowledgment','2021-10-01 19:32:25',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (250,NULL,9,'Subject for Tell a Friend','2021-10-09 11:17:22',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (251,NULL,9,'Subject for Tell a Friend','2021-07-27 12:20:42',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (252,NULL,10,'Subject for Pledge Acknowledgment','2021-03-28 16:43:51',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (253,NULL,9,'Subject for Tell a Friend','2021-05-16 00:25:27',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (254,NULL,10,'Subject for Pledge Acknowledgment','2021-06-25 02:54:11',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (255,NULL,9,'Subject for Tell a Friend','2021-09-01 16:21:53',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (256,NULL,10,'Subject for Pledge Acknowledgment','2021-05-08 00:42:22',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (257,NULL,10,'Subject for Pledge Acknowledgment','2021-09-05 08:38:30',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (258,NULL,10,'Subject for Pledge Acknowledgment','2021-07-29 05:18:16',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (259,NULL,10,'Subject for Pledge Acknowledgment','2022-01-21 03:25:41',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (260,NULL,10,'Subject for Pledge Acknowledgment','2021-11-07 18:37:28',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (261,NULL,10,'Subject for Pledge Acknowledgment','2022-01-09 07:55:11',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (262,NULL,9,'Subject for Tell a Friend','2021-10-27 22:11:36',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (263,NULL,9,'Subject for Tell a Friend','2021-12-10 06:50:41',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (264,NULL,9,'Subject for Tell a Friend','2022-01-22 06:41:38',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (265,NULL,10,'Subject for Pledge Acknowledgment','2021-12-14 03:15:46',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (266,NULL,10,'Subject for Pledge Acknowledgment','2021-10-30 20:14:45',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (267,NULL,10,'Subject for Pledge Acknowledgment','2021-08-20 22:38:53',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (268,NULL,9,'Subject for Tell a Friend','2021-03-23 23:13:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (269,NULL,10,'Subject for Pledge Acknowledgment','2022-02-05 11:03:07',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (270,NULL,9,'Subject for Tell a Friend','2022-02-21 19:02:40',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (271,NULL,10,'Subject for Pledge Acknowledgment','2021-08-30 03:22:34',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (272,NULL,9,'Subject for Tell a Friend','2021-12-12 04:34:42',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (273,NULL,9,'Subject for Tell a Friend','2021-05-27 00:09:41',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (274,NULL,9,'Subject for Tell a Friend','2021-04-29 12:11:38',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (275,NULL,10,'Subject for Pledge Acknowledgment','2021-12-06 10:54:40',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (276,NULL,10,'Subject for Pledge Acknowledgment','2021-08-25 20:31:45',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (277,NULL,9,'Subject for Tell a Friend','2022-01-12 11:45:03',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (278,NULL,9,'Subject for Tell a Friend','2022-01-05 04:21:58',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (279,NULL,9,'Subject for Tell a Friend','2021-04-07 20:04:27',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (280,NULL,10,'Subject for Pledge Acknowledgment','2021-11-15 15:02:01',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (281,NULL,9,'Subject for Tell a Friend','2022-02-22 10:58:17',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (282,NULL,10,'Subject for Pledge Acknowledgment','2022-02-11 01:59:40',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (283,NULL,10,'Subject for Pledge Acknowledgment','2021-08-28 04:01:46',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (284,NULL,10,'Subject for Pledge Acknowledgment','2021-12-12 00:44:30',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (285,NULL,9,'Subject for Tell a Friend','2021-06-19 07:15:54',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (286,NULL,10,'Subject for Pledge Acknowledgment','2021-08-11 11:35:27',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (287,NULL,10,'Subject for Pledge Acknowledgment','2021-05-14 23:47:09',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (288,NULL,9,'Subject for Tell a Friend','2021-08-30 09:50:11',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (289,NULL,9,'Subject for Tell a Friend','2021-07-02 14:33:14',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (290,NULL,10,'Subject for Pledge Acknowledgment','2022-01-30 06:53:44',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (291,NULL,9,'Subject for Tell a Friend','2021-03-20 06:19:50',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (292,NULL,10,'Subject for Pledge Acknowledgment','2021-04-22 07:00:36',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (293,NULL,9,'Subject for Tell a Friend','2021-12-07 19:15:06',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (294,NULL,10,'Subject for Pledge Acknowledgment','2021-05-17 20:07:21',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (295,NULL,9,'Subject for Tell a Friend','2021-03-22 04:41:24',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (296,NULL,9,'Subject for Tell a Friend','2021-10-09 09:05:54',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (297,NULL,10,'Subject for Pledge Acknowledgment','2021-07-07 21:52:35',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (298,NULL,9,'Subject for Tell a Friend','2022-01-22 00:17:25',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (299,NULL,10,'Subject for Pledge Acknowledgment','2022-01-01 09:51:22',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (300,NULL,9,'Subject for Tell a Friend','2021-04-01 17:11:30',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (301,NULL,9,'Subject for Tell a Friend','2022-02-11 00:33:21',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (302,NULL,10,'Subject for Pledge Acknowledgment','2021-12-28 08:52:34',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (303,NULL,10,'Subject for Pledge Acknowledgment','2021-05-21 22:05:57',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (304,NULL,9,'Subject for Tell a Friend','2021-09-23 07:07:10',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (305,NULL,10,'Subject for Pledge Acknowledgment','2022-02-14 18:10:30',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (306,NULL,10,'Subject for Pledge Acknowledgment','2021-09-24 22:36:14',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (307,NULL,9,'Subject for Tell a Friend','2021-09-17 13:35:17',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (308,NULL,10,'Subject for Pledge Acknowledgment','2021-10-21 05:30:07',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (309,NULL,9,'Subject for Tell a Friend','2021-08-23 23:02:04',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (310,NULL,10,'Subject for Pledge Acknowledgment','2021-03-13 12:50:12',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (311,NULL,10,'Subject for Pledge Acknowledgment','2021-06-22 07:37:14',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (312,NULL,9,'Subject for Tell a Friend','2021-09-13 08:55:21',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (313,NULL,10,'Subject for Pledge Acknowledgment','2021-07-18 08:03:10',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (314,NULL,10,'Subject for Pledge Acknowledgment','2021-08-25 14:54:56',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (315,NULL,9,'Subject for Tell a Friend','2021-05-15 12:53:18',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (316,NULL,9,'Subject for Tell a Friend','2021-12-31 03:40:19',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (317,NULL,9,'Subject for Tell a Friend','2021-04-29 15:15:22',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (318,NULL,9,'Subject for Tell a Friend','2021-12-23 12:27:18',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (319,NULL,10,'Subject for Pledge Acknowledgment','2021-10-25 17:34:49',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (320,NULL,9,'Subject for Tell a Friend','2021-06-14 06:55:10',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (321,NULL,10,'Subject for Pledge Acknowledgment','2021-05-24 02:17:24',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (322,NULL,9,'Subject for Tell a Friend','2021-09-18 12:26:58',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (323,NULL,10,'Subject for Pledge Acknowledgment','2021-06-23 01:02:51',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (324,NULL,9,'Subject for Tell a Friend','2021-08-21 06:49:57',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (325,NULL,10,'Subject for Pledge Acknowledgment','2022-02-08 09:41:32',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (326,NULL,9,'Subject for Tell a Friend','2021-10-26 15:57:59',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (327,NULL,10,'Subject for Pledge Acknowledgment','2021-08-27 17:11:36',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (328,NULL,9,'Subject for Tell a Friend','2021-12-03 11:49:02',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (329,NULL,10,'Subject for Pledge Acknowledgment','2021-09-19 17:40:26',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (330,NULL,9,'Subject for Tell a Friend','2021-04-07 01:09:13',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (331,NULL,9,'Subject for Tell a Friend','2021-05-02 18:33:58',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (332,NULL,10,'Subject for Pledge Acknowledgment','2021-05-30 03:29:54',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (333,NULL,9,'Subject for Tell a Friend','2021-10-21 16:41:23',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (334,NULL,9,'Subject for Tell a Friend','2021-11-05 10:30:44',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (335,NULL,10,'Subject for Pledge Acknowledgment','2021-05-23 12:14:42',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (336,NULL,10,'Subject for Pledge Acknowledgment','2021-06-27 03:00:32',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (337,NULL,9,'Subject for Tell a Friend','2021-06-30 07:06:27',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (338,NULL,10,'Subject for Pledge Acknowledgment','2022-01-03 20:54:46',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (339,NULL,10,'Subject for Pledge Acknowledgment','2022-02-26 00:48:11',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (340,NULL,9,'Subject for Tell a Friend','2021-07-28 19:41:16',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (341,NULL,10,'Subject for Pledge Acknowledgment','2022-02-12 18:52:05',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (342,NULL,10,'Subject for Pledge Acknowledgment','2022-02-24 00:29:54',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (343,NULL,9,'Subject for Tell a Friend','2021-11-27 07:50:44',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (344,NULL,9,'Subject for Tell a Friend','2021-03-13 23:41:23',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (345,NULL,10,'Subject for Pledge Acknowledgment','2021-12-18 04:37:05',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (346,NULL,10,'Subject for Pledge Acknowledgment','2021-03-24 01:04:26',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (347,NULL,10,'Subject for Pledge Acknowledgment','2021-04-25 21:32:42',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (348,NULL,10,'Subject for Pledge Acknowledgment','2022-01-09 17:34:22',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (349,NULL,10,'Subject for Pledge Acknowledgment','2022-02-11 00:56:51',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (350,NULL,9,'Subject for Tell a Friend','2022-02-08 21:35:47',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (351,NULL,10,'Subject for Pledge Acknowledgment','2021-10-14 23:30:44',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (352,NULL,9,'Subject for Tell a Friend','2021-05-20 23:20:19',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (353,NULL,9,'Subject for Tell a Friend','2021-05-14 08:02:24',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (354,NULL,9,'Subject for Tell a Friend','2022-02-03 00:49:43',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (355,NULL,10,'Subject for Pledge Acknowledgment','2021-12-14 14:01:08',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (356,NULL,10,'Subject for Pledge Acknowledgment','2021-12-12 02:43:15',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (357,NULL,10,'Subject for Pledge Acknowledgment','2021-06-08 21:09:22',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (358,NULL,10,'Subject for Pledge Acknowledgment','2021-12-14 16:51:20',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (359,NULL,9,'Subject for Tell a Friend','2021-05-26 11:20:03',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (360,NULL,10,'Subject for Pledge Acknowledgment','2021-08-10 12:53:52',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (361,NULL,9,'Subject for Tell a Friend','2021-12-06 09:30:06',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (362,NULL,10,'Subject for Pledge Acknowledgment','2021-07-27 23:04:51',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (363,NULL,10,'Subject for Pledge Acknowledgment','2021-09-25 01:10:25',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (364,NULL,10,'Subject for Pledge Acknowledgment','2021-10-15 07:10:53',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (365,NULL,10,'Subject for Pledge Acknowledgment','2021-10-26 17:39:24',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (366,NULL,10,'Subject for Pledge Acknowledgment','2022-02-13 18:03:51',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (367,NULL,9,'Subject for Tell a Friend','2022-01-21 21:35:52',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (368,NULL,9,'Subject for Tell a Friend','2021-11-12 15:53:33',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (369,NULL,9,'Subject for Tell a Friend','2021-04-17 19:53:46',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (370,NULL,9,'Subject for Tell a Friend','2022-02-10 12:23:08',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (371,NULL,10,'Subject for Pledge Acknowledgment','2021-08-21 11:53:55',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (372,NULL,10,'Subject for Pledge Acknowledgment','2021-06-19 04:30:55',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (373,NULL,9,'Subject for Tell a Friend','2021-09-01 13:38:03',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (374,NULL,9,'Subject for Tell a Friend','2021-04-28 18:58:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (375,NULL,9,'Subject for Tell a Friend','2021-06-09 19:08:57',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (376,NULL,10,'Subject for Pledge Acknowledgment','2021-06-01 04:55:56',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (377,NULL,9,'Subject for Tell a Friend','2022-01-08 05:53:51',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (378,NULL,10,'Subject for Pledge Acknowledgment','2022-02-06 04:46:06',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (379,NULL,10,'Subject for Pledge Acknowledgment','2021-05-03 23:14:04',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (380,NULL,10,'Subject for Pledge Acknowledgment','2021-04-20 12:06:55',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (381,NULL,9,'Subject for Tell a Friend','2021-03-28 12:48:45',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (382,NULL,10,'Subject for Pledge Acknowledgment','2021-08-03 10:24:42',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (383,NULL,10,'Subject for Pledge Acknowledgment','2021-12-06 23:48:09',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (384,NULL,10,'Subject for Pledge Acknowledgment','2021-10-30 12:11:50',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (385,NULL,10,'Subject for Pledge Acknowledgment','2022-02-20 08:23:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (386,NULL,10,'Subject for Pledge Acknowledgment','2021-07-24 11:32:23',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (387,NULL,10,'Subject for Pledge Acknowledgment','2021-06-01 03:28:43',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (388,NULL,10,'Subject for Pledge Acknowledgment','2021-11-17 00:38:04',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (389,NULL,9,'Subject for Tell a Friend','2021-03-11 13:48:58',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (390,NULL,10,'Subject for Pledge Acknowledgment','2021-12-04 21:03:52',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (391,NULL,10,'Subject for Pledge Acknowledgment','2021-07-08 19:27:54',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (392,NULL,9,'Subject for Tell a Friend','2021-03-26 00:14:10',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (393,NULL,10,'Subject for Pledge Acknowledgment','2021-08-20 07:51:02',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (394,NULL,9,'Subject for Tell a Friend','2021-07-22 02:43:09',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (395,NULL,10,'Subject for Pledge Acknowledgment','2022-02-14 08:36:28',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (396,NULL,10,'Subject for Pledge Acknowledgment','2021-04-15 15:17:31',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (397,NULL,10,'Subject for Pledge Acknowledgment','2022-02-09 16:17:41',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (398,NULL,10,'Subject for Pledge Acknowledgment','2021-12-31 07:39:43',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (399,NULL,9,'Subject for Tell a Friend','2021-09-29 01:36:34',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (400,NULL,9,'Subject for Tell a Friend','2021-09-01 10:20:35',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (401,NULL,9,'Subject for Tell a Friend','2021-09-12 14:24:08',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (402,NULL,9,'Subject for Tell a Friend','2021-11-13 02:56:47',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (403,NULL,10,'Subject for Pledge Acknowledgment','2021-12-30 14:58:42',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (404,NULL,10,'Subject for Pledge Acknowledgment','2021-05-22 19:17:20',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (405,NULL,9,'Subject for Tell a Friend','2021-07-28 01:57:42',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (406,NULL,9,'Subject for Tell a Friend','2021-05-05 23:47:49',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (407,NULL,9,'Subject for Tell a Friend','2021-07-23 05:29:34',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (408,NULL,9,'Subject for Tell a Friend','2021-06-16 18:28:17',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (409,NULL,10,'Subject for Pledge Acknowledgment','2022-01-23 04:24:16',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (410,NULL,9,'Subject for Tell a Friend','2021-03-24 21:59:27',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (411,NULL,9,'Subject for Tell a Friend','2021-07-14 02:58:55',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (412,NULL,10,'Subject for Pledge Acknowledgment','2021-12-28 22:57:36',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (413,NULL,9,'Subject for Tell a Friend','2021-04-04 00:53:20',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (414,NULL,10,'Subject for Pledge Acknowledgment','2021-05-03 19:19:10',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (415,NULL,9,'Subject for Tell a Friend','2021-07-13 12:33:46',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (416,NULL,10,'Subject for Pledge Acknowledgment','2021-12-02 19:05:03',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (417,NULL,9,'Subject for Tell a Friend','2021-05-22 04:03:58',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (418,NULL,10,'Subject for Pledge Acknowledgment','2021-10-30 16:25:49',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (419,NULL,9,'Subject for Tell a Friend','2021-10-07 18:42:57',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (420,NULL,10,'Subject for Pledge Acknowledgment','2021-09-07 21:01:56',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (421,NULL,10,'Subject for Pledge Acknowledgment','2021-06-30 14:10:54',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (422,NULL,9,'Subject for Tell a Friend','2021-07-27 02:13:57',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (423,NULL,9,'Subject for Tell a Friend','2021-08-02 01:04:07',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (424,NULL,9,'Subject for Tell a Friend','2021-06-23 03:52:33',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (425,NULL,9,'Subject for Tell a Friend','2022-02-26 09:41:58',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (426,NULL,10,'Subject for Pledge Acknowledgment','2022-02-10 08:48:39',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (427,NULL,9,'Subject for Tell a Friend','2021-11-09 19:49:21',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (428,NULL,10,'Subject for Pledge Acknowledgment','2021-07-08 03:17:04',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (429,NULL,10,'Subject for Pledge Acknowledgment','2021-11-25 04:42:12',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (430,NULL,10,'Subject for Pledge Acknowledgment','2021-11-21 01:47:27',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (431,NULL,10,'Subject for Pledge Acknowledgment','2022-02-10 09:33:45',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (432,NULL,10,'Subject for Pledge Acknowledgment','2021-06-30 15:36:09',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (433,NULL,10,'Subject for Pledge Acknowledgment','2022-01-21 19:54:11',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (434,NULL,9,'Subject for Tell a Friend','2021-08-29 02:40:41',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (435,NULL,9,'Subject for Tell a Friend','2022-02-02 18:12:17',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (436,NULL,9,'Subject for Tell a Friend','2021-06-11 00:51:10',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (437,NULL,9,'Subject for Tell a Friend','2021-06-19 03:15:32',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (438,NULL,9,'Subject for Tell a Friend','2021-08-21 08:08:56',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (439,NULL,9,'Subject for Tell a Friend','2021-09-24 15:00:32',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (440,NULL,9,'Subject for Tell a Friend','2021-04-08 15:59:19',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (441,NULL,9,'Subject for Tell a Friend','2022-02-13 05:35:05',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (442,NULL,9,'Subject for Tell a Friend','2021-04-08 14:54:33',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (443,NULL,9,'Subject for Tell a Friend','2021-11-13 09:51:58',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (444,NULL,9,'Subject for Tell a Friend','2021-08-29 15:37:07',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (445,NULL,10,'Subject for Pledge Acknowledgment','2022-02-19 06:34:58',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (446,NULL,9,'Subject for Tell a Friend','2021-09-12 07:16:09',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (447,NULL,10,'Subject for Pledge Acknowledgment','2021-08-24 17:39:23',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (448,NULL,10,'Subject for Pledge Acknowledgment','2021-04-16 12:12:49',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (449,NULL,10,'Subject for Pledge Acknowledgment','2021-08-07 09:17:53',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (450,NULL,10,'Subject for Pledge Acknowledgment','2021-04-14 16:38:26',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (451,1,6,'$ 125 April Mailer 1','2022-04-28 22:32:40',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (452,2,6,'$ 50 Online: Save the Penguins','2022-04-28 22:32:40',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (453,3,6,'£ 25 April Mailer 1','2022-04-28 22:32:40',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (454,4,6,'$ 50 Online: Save the Penguins','2022-04-28 22:32:40',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (455,5,6,'$ 50 Online: Save the Penguins','2022-04-28 22:32:40',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (456,6,6,'$ 500 April Mailer 1','2022-04-28 22:32:40',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (457,7,6,'$ 1750 Online: Save the Penguins','2022-04-28 22:32:40',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (458,8,6,'$ 50 Online: Save the Penguins','2022-04-28 22:32:40',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (459,9,6,'$ 10 Online: Help CiviCRM','2022-04-28 22:32:40',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (460,10,6,'$ 250 Online: Help CiviCRM','2022-04-28 22:32:40',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (461,11,6,'Â¥ 500 ','2022-04-28 22:32:40',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (462,12,6,'$ 50 Online: Save the Penguins','2022-04-28 22:32:40',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (463,13,6,'$ 50 ','2022-04-28 22:32:40',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (464,14,6,'$ 50 ','2022-04-28 22:32:40',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (465,15,6,'$ 25 Recurring contribution','2022-04-28 22:32:40',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (466,16,6,'$ 25 Recurring contribution','2022-04-28 22:32:40',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (467,17,6,'$ 25 Recurring contribution','2022-04-28 22:32:40',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (468,18,6,'$ 25 Recurring contribution','2022-04-28 22:32:40',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (469,19,6,'$ 25 Recurring contribution','2022-04-28 22:32:40',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (470,20,6,'$ 25 Recurring contribution','2022-04-28 22:32:40',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (471,21,6,'$ 25 Recurring contribution','2022-04-28 22:32:40',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (472,22,6,'$ 25 Recurring contribution','2022-04-28 22:32:40',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (473,23,6,'$ 25 Recurring contribution','2022-04-28 22:32:40',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (474,24,6,'$ 25 Recurring contribution','2022-04-28 22:32:40',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (475,25,6,'$ 25 Recurring contribution','2022-04-28 22:32:40',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (476,26,6,'$ 10 Recurring contribution','2022-04-28 22:32:40',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (477,27,6,'$ 10 Recurring contribution','2022-04-28 22:32:40',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (478,28,6,'$ 10 Recurring contribution','2022-04-28 22:32:40',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (479,29,6,'$ 10 Recurring contribution','2022-04-28 22:32:40',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (480,30,6,'$ 10 Recurring contribution','2022-04-28 22:32:40',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (481,31,6,'€ 5 Recurring contribution','2022-04-28 22:32:40',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (482,1,7,'General','2022-02-28 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (483,2,7,'Student','2022-02-27 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (484,3,7,'General','2022-02-26 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (485,4,7,'Student','2022-02-25 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (486,5,7,'General','2020-01-27 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (487,6,7,'Student','2022-02-23 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (488,7,7,'General','2022-02-22 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (489,8,7,'Student','2022-02-21 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (490,9,7,'General','2022-02-20 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (491,10,7,'Student','2021-02-19 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (492,11,7,'Lifetime','2022-02-18 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (493,12,7,'Student','2022-02-17 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (494,13,7,'General','2022-02-16 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (495,14,7,'Student','2022-02-15 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (496,15,7,'General','2019-11-08 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (497,16,7,'Student','2022-02-13 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (498,17,7,'General','2022-02-12 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (499,18,7,'Student','2022-02-11 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (500,19,7,'General','2022-02-10 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (501,20,7,'General','2019-09-29 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (502,21,7,'General','2022-02-08 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (503,22,7,'Lifetime','2022-02-07 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (504,23,7,'General','2022-02-06 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (505,24,7,'Student','2022-02-05 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (506,25,7,'Student','2021-02-04 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (507,26,7,'Student','2022-02-03 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (508,27,7,'General','2022-02-02 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (509,28,7,'Student','2022-02-01 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (510,29,7,'General','2022-01-31 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (511,30,7,'Student','2021-01-30 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (512,32,6,'$ 100.00 - General Membership: Offline signup','2022-02-28 22:32:40',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (513,33,6,'$ 50.00 - Student Membership: Offline signup','2022-02-28 22:32:40',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (514,34,6,'$ 100.00 - General Membership: Offline signup','2022-02-28 22:32:40',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (515,35,6,'$ 50.00 - Student Membership: Offline signup','2022-02-28 22:32:40',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (516,36,6,'$ 100.00 - General Membership: Offline signup','2022-02-28 22:32:40',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (517,37,6,'$ 50.00 - Student Membership: Offline signup','2022-02-28 22:32:40',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (518,38,6,'$ 100.00 - General Membership: Offline signup','2022-02-28 22:32:40',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (519,39,6,'$ 50.00 - Student Membership: Offline signup','2022-02-28 22:32:40',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (520,40,6,'$ 100.00 - General Membership: Offline signup','2022-02-28 22:32:40',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (521,41,6,'$ 50.00 - Student Membership: Offline signup','2022-02-28 22:32:40',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (522,42,6,'$ 1200.00 - Lifetime Membership: Offline signup','2022-02-28 22:32:40',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (523,43,6,'$ 50.00 - Student Membership: Offline signup','2022-02-28 22:32:40',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (524,44,6,'$ 100.00 - General Membership: Offline signup','2022-02-28 22:32:40',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (525,45,6,'$ 50.00 - Student Membership: Offline signup','2022-02-28 22:32:40',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (526,46,6,'$ 100.00 - General Membership: Offline signup','2022-02-28 22:32:40',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (527,47,6,'$ 50.00 - Student Membership: Offline signup','2022-02-28 22:32:40',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (528,48,6,'$ 100.00 - General Membership: Offline signup','2022-02-28 22:32:40',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (529,49,6,'$ 50.00 - Student Membership: Offline signup','2022-02-28 22:32:40',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (530,50,6,'$ 100.00 - General Membership: Offline signup','2022-02-28 22:32:40',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (531,51,6,'$ 100.00 - General Membership: Offline signup','2022-02-28 22:32:40',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (532,52,6,'$ 100.00 - General Membership: Offline signup','2022-02-28 22:32:40',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (533,53,6,'$ 1200.00 - Lifetime Membership: Offline signup','2022-02-28 22:32:40',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (534,54,6,'$ 100.00 - General Membership: Offline signup','2022-02-28 22:32:40',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (535,55,6,'$ 50.00 - Student Membership: Offline signup','2022-02-28 22:32:40',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (536,56,6,'$ 50.00 - Student Membership: Offline signup','2022-02-28 22:32:40',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (537,57,6,'$ 50.00 - Student Membership: Offline signup','2022-02-28 22:32:40',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (538,58,6,'$ 100.00 - General Membership: Offline signup','2022-02-28 22:32:40',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (539,59,6,'$ 50.00 - Student Membership: Offline signup','2022-02-28 22:32:40',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (540,60,6,'$ 100.00 - General Membership: Offline signup','2022-02-28 22:32:40',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (541,61,6,'$ 50.00 - Student Membership: Offline signup','2022-02-28 22:32:40',NULL,NULL,NULL,NULL,'Membership Payment',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (543,1,5,'NULL','2009-01-21 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (544,2,5,'NULL','2008-05-07 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (545,3,5,'NULL','2008-05-05 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (546,4,5,'NULL','2008-10-21 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (547,5,5,'NULL','2008-01-10 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (548,6,5,'NULL','2008-03-05 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (549,7,5,'NULL','2009-07-21 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (550,8,5,'NULL','2009-03-07 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (551,9,5,'NULL','2008-02-05 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (552,10,5,'NULL','2008-02-01 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (553,11,5,'NULL','2009-01-10 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (554,12,5,'NULL','2009-03-06 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (555,13,5,'NULL','2008-06-04 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (556,14,5,'NULL','2008-01-10 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (557,15,5,'NULL','2008-07-04 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (558,16,5,'NULL','2009-01-21 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (559,17,5,'NULL','2008-01-10 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (560,18,5,'NULL','2009-03-05 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (561,19,5,'NULL','2008-10-21 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (562,20,5,'NULL','2009-01-10 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (563,21,5,'NULL','2008-03-25 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (564,22,5,'NULL','2009-10-21 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (565,23,5,'NULL','2008-01-10 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (566,24,5,'NULL','2008-03-11 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (567,25,5,'NULL','2008-04-05 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (568,26,5,'NULL','2009-01-21 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (569,27,5,'NULL','2008-05-07 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (570,28,5,'NULL','2009-12-12 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (571,29,5,'NULL','2009-12-13 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (572,30,5,'NULL','2009-12-14 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (573,31,5,'NULL','2009-12-15 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (574,32,5,'NULL','2009-07-21 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (575,33,5,'NULL','2009-03-07 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (576,34,5,'NULL','2009-12-15 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (577,35,5,'NULL','2009-12-13 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (578,36,5,'NULL','2009-01-10 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (579,37,5,'NULL','2009-03-06 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (580,38,5,'NULL','2009-12-13 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (581,39,5,'NULL','2008-01-10 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (582,40,5,'NULL','2009-12-14 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (583,41,5,'NULL','2009-01-21 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (584,42,5,'NULL','2009-12-15 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (585,43,5,'NULL','2009-03-05 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (586,44,5,'NULL','2009-12-13 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (587,45,5,'NULL','2009-01-10 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (588,46,5,'NULL','2009-12-13 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (589,47,5,'NULL','2009-10-21 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (590,48,5,'NULL','2009-12-10 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (591,49,5,'NULL','2009-03-11 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (592,50,5,'NULL','2009-04-05 00:00:00',NULL,NULL,NULL,NULL,NULL,2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (593,63,6,'$ 50.00 - Fall Fundraiser Dinner : Offline registration','2022-02-28 22:32:40',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (594,64,6,'$ 50.00 - Summer Solstice Festival Day Concert : Offline registration','2022-02-28 22:32:40',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (595,65,6,'$ 800.00 - Rain-forest Cup Youth Soccer Tournament : Offline registration','2022-02-28 22:32:40',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (596,66,6,'$ 50.00 - Fall Fundraiser Dinner : Offline registration','2022-02-28 22:32:40',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (597,67,6,'$ 50.00 - Summer Solstice Festival Day Concert : Offline registration','2022-02-28 22:32:40',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (598,68,6,'$ 800.00 - Rain-forest Cup Youth Soccer Tournament : Offline registration','2022-02-28 22:32:40',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (599,69,6,'$ 50.00 - Fall Fundraiser Dinner : Offline registration','2022-02-28 22:32:40',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (600,70,6,'$ 50.00 - Summer Solstice Festival Day Concert : Offline registration','2022-02-28 22:32:40',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (601,71,6,'$ 800.00 - Rain-forest Cup Youth Soccer Tournament : Offline registration','2022-02-28 22:32:40',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (602,72,6,'$ 50.00 - Fall Fundraiser Dinner : Offline registration','2022-02-28 22:32:40',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (603,73,6,'$ 50.00 - Summer Solstice Festival Day Concert : Offline registration','2022-02-28 22:32:40',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (604,74,6,'$ 800.00 - Rain-forest Cup Youth Soccer Tournament : Offline registration','2022-02-28 22:32:40',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (605,75,6,'$ 50.00 - Fall Fundraiser Dinner : Offline registration','2022-02-28 22:32:40',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (606,76,6,'$ 50.00 - Summer Solstice Festival Day Concert : Offline registration','2022-02-28 22:32:40',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (607,77,6,'$ 800.00 - Rain-forest Cup Youth Soccer Tournament : Offline registration','2022-02-28 22:32:40',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (608,78,6,'$ 50.00 - Fall Fundraiser Dinner : Offline registration','2022-02-28 22:32:40',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (609,79,6,'$ 50.00 - Summer Solstice Festival Day Concert : Offline registration','2022-02-28 22:32:40',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (610,80,6,'$ 800.00 - Rain-forest Cup Youth Soccer Tournament : Offline registration','2022-02-28 22:32:40',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (611,81,6,'$ 50.00 - Fall Fundraiser Dinner : Offline registration','2022-02-28 22:32:40',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (612,82,6,'$ 50.00 - Summer Solstice Festival Day Concert : Offline registration','2022-02-28 22:32:40',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (613,83,6,'$ 800.00 - Rain-forest Cup Youth Soccer Tournament : Offline registration','2022-02-28 22:32:40',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (614,84,6,'$ 50.00 - Fall Fundraiser Dinner : Offline registration','2022-02-28 22:32:40',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (615,85,6,'$ 50.00 - Summer Solstice Festival Day Concert : Offline registration','2022-02-28 22:32:40',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (616,86,6,'$ 800.00 - Rain-forest Cup Youth Soccer Tournament : Offline registration','2022-02-28 22:32:40',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (617,87,6,'$ 800.00 - Rain-forest Cup Youth Soccer Tournament : Offline registration','2022-02-28 22:32:40',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (618,88,6,'$ 50.00 - Fall Fundraiser Dinner : Offline registration','2022-02-28 22:32:40',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (619,89,6,'$ 50.00 - Summer Solstice Festival Day Concert : Offline registration','2022-02-28 22:32:40',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (620,90,6,'$ 800.00 - Rain-forest Cup Youth Soccer Tournament : Offline registration','2022-02-28 22:32:40',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (621,91,6,'$ 50.00 - Fall Fundraiser Dinner : Offline registration','2022-02-28 22:32:40',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (622,92,6,'$ 50.00 - Summer Solstice Festival Day Concert : Offline registration','2022-02-28 22:32:40',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (623,93,6,'$ 800.00 - Rain-forest Cup Youth Soccer Tournament : Offline registration','2022-02-28 22:32:40',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (624,94,6,'$ 50.00 - Fall Fundraiser Dinner : Offline registration','2022-02-28 22:32:40',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (625,95,6,'$ 50.00 - Summer Solstice Festival Day Concert : Offline registration','2022-02-28 22:32:40',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (626,96,6,'$ 800.00 - Rain-forest Cup Youth Soccer Tournament : Offline registration','2022-02-28 22:32:40',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (627,97,6,'$ 50.00 - Fall Fundraiser Dinner : Offline registration','2022-02-28 22:32:40',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (628,98,6,'$ 50.00 - Summer Solstice Festival Day Concert : Offline registration','2022-02-28 22:32:40',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (629,99,6,'$ 800.00 - Rain-forest Cup Youth Soccer Tournament : Offline registration','2022-02-28 22:32:40',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (630,100,6,'$ 50.00 - Fall Fundraiser Dinner : Offline registration','2022-02-28 22:32:40',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (631,101,6,'$ 50.00 - Summer Solstice Festival Day Concert : Offline registration','2022-02-28 22:32:40',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (632,102,6,'$ 800.00 - Rain-forest Cup Youth Soccer Tournament : Offline registration','2022-02-28 22:32:40',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (633,103,6,'$ 50.00 - Fall Fundraiser Dinner : Offline registration','2022-02-28 22:32:40',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (634,104,6,'$ 50.00 - Summer Solstice Festival Day Concert : Offline registration','2022-02-28 22:32:40',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (635,105,6,'$ 800.00 - Rain-forest Cup Youth Soccer Tournament : Offline registration','2022-02-28 22:32:40',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (636,106,6,'$ 50.00 - Fall Fundraiser Dinner : Offline registration','2022-02-28 22:32:40',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (637,107,6,'$ 50.00 - Summer Solstice Festival Day Concert : Offline registration','2022-02-28 22:32:40',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (638,108,6,'$ 800.00 - Rain-forest Cup Youth Soccer Tournament : Offline registration','2022-02-28 22:32:40',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (639,109,6,'$ 50.00 - Fall Fundraiser Dinner : Offline registration','2022-02-28 22:32:40',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (640,110,6,'$ 50.00 - Summer Solstice Festival Day Concert : Offline registration','2022-02-28 22:32:40',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (641,111,6,'$ 800.00 - Rain-forest Cup Youth Soccer Tournament : Offline registration','2022-02-28 22:32:40',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40'),
+ (642,112,6,'$ 800.00 - Rain-forest Cup Youth Soccer Tournament : Offline registration','2022-02-28 22:32:40',NULL,NULL,NULL,NULL,'Participant',2,NULL,NULL,0,NULL,0,NULL,1,NULL,NULL,0,NULL,NULL,NULL,0,'2022-02-28 22:32:40','2022-02-28 22:32:40');
 /*!40000 ALTER TABLE `civicrm_activity` ENABLE KEYS */;
 UNLOCK TABLES;
 
@@ -812,833 +813,806 @@ UNLOCK TABLES;
 LOCK TABLES `civicrm_activity_contact` WRITE;
 /*!40000 ALTER TABLE `civicrm_activity_contact` DISABLE KEYS */;
 INSERT INTO `civicrm_activity_contact` (`id`, `activity_id`, `contact_id`, `record_type_id`) VALUES
- (126,79,1,3),
- (299,189,1,3),
- (510,327,1,3),
- (822,586,1,2),
- (93,60,2,3),
- (196,123,2,3),
- (687,451,2,2),
- (104,66,3,3),
- (154,96,3,3),
- (272,172,3,3),
- (492,317,3,3),
- (737,501,3,2),
- (748,531,3,2),
- (523,336,4,3),
- (532,343,4,3),
- (688,452,4,2),
- (691,455,4,2),
- (813,577,4,2),
- (166,103,5,3),
- (451,290,5,3),
- (610,400,5,3),
- (781,545,5,2),
- (508,326,6,3),
- (689,453,6,2),
- (730,494,6,2),
- (749,524,6,2),
- (606,397,7,3),
- (783,547,7,2),
- (27,16,8,3),
- (108,68,8,3),
- (673,442,8,3),
- (690,454,8,2),
- (234,147,9,3),
- (723,487,9,2),
- (750,517,9,2),
- (37,22,10,3),
- (286,182,10,3),
- (122,76,11,3),
- (138,87,11,3),
- (145,91,11,3),
- (209,131,11,3),
- (792,556,11,2),
- (304,192,12,3),
- (732,496,12,2),
- (751,526,12,2),
- (80,53,13,3),
- (96,62,13,3),
- (252,159,13,3),
- (648,425,13,3),
- (745,509,13,2),
- (752,539,13,2),
- (260,163,14,3),
- (313,197,14,3),
- (399,256,14,3),
- (790,554,14,2),
- (516,331,15,3),
- (622,407,15,3),
- (634,416,15,3),
- (641,421,15,3),
- (656,431,15,3),
- (652,428,16,3),
- (692,456,16,2),
- (787,551,16,2),
- (106,67,17,3),
- (200,125,17,3),
- (329,209,18,3),
- (130,81,19,3),
- (693,457,19,2),
- (738,502,19,2),
- (753,532,19,2),
- (246,155,20,3),
- (538,348,20,3),
- (160,99,21,3),
- (270,171,21,3),
- (472,304,21,3),
- (810,574,21,2),
- (91,59,22,3),
- (115,72,22,3),
- (52,34,23,3),
- (373,240,23,3),
- (579,377,23,3),
- (575,374,24,3),
- (603,395,24,3),
- (740,504,24,2),
- (754,534,24,2),
- (565,366,25,3),
- (809,573,25,2),
- (9,5,27,3),
- (82,54,27,3),
- (24,14,28,3),
- (302,191,28,3),
- (601,394,28,3),
- (733,497,28,2),
- (755,527,28,2),
- (825,589,28,2),
- (393,253,29,3),
- (1,1,30,2),
- (2,2,30,2),
- (4,3,30,2),
- (6,4,30,2),
- (8,5,30,2),
- (10,6,30,2),
- (12,7,30,2),
- (14,8,30,2),
- (16,9,30,2),
- (17,10,30,2),
- (19,11,30,2),
- (20,12,30,2),
- (22,13,30,2),
- (23,14,30,2),
- (25,15,30,2),
- (26,16,30,2),
- (28,17,30,2),
- (29,18,30,2),
- (31,19,30,2),
- (33,20,30,2),
- (35,21,30,2),
- (36,22,30,2),
- (38,23,30,2),
- (39,24,30,2),
- (40,25,30,2),
- (41,26,30,2),
- (43,27,30,2),
- (44,28,30,2),
- (45,29,30,2),
- (46,30,30,2),
- (47,31,30,2),
- (48,32,30,2),
- (49,33,30,2),
- (51,34,30,2),
- (53,35,30,2),
- (54,36,30,2),
- (55,37,30,2),
- (57,38,30,2),
- (58,39,30,2),
- (60,40,30,2),
- (61,41,30,2),
- (63,42,30,2),
- (65,43,30,2),
- (67,44,30,2),
- (68,45,30,2),
- (70,46,30,2),
- (71,47,30,2),
- (72,48,30,2),
- (73,48,30,3),
- (74,49,30,2),
- (76,50,30,2),
- (77,51,30,2),
- (78,52,30,2),
- (79,53,30,2),
- (81,54,30,2),
- (83,55,30,2),
- (85,56,30,2),
- (87,57,30,2),
- (88,58,30,2),
- (90,59,30,2),
- (92,60,30,2),
- (94,61,30,2),
- (95,62,30,2),
- (97,63,30,2),
- (99,64,30,2),
- (101,65,30,2),
- (103,66,30,2),
- (105,67,30,2),
- (107,68,30,2),
- (109,69,30,2),
- (110,70,30,2),
- (112,71,30,2),
- (114,72,30,2),
- (116,73,30,2),
- (118,74,30,2),
- (119,75,30,2),
- (121,76,30,2),
- (123,77,30,2),
- (124,78,30,2),
- (125,79,30,2),
- (127,80,30,2),
- (129,81,30,2),
- (131,82,30,2),
- (132,83,30,2),
- (133,84,30,2),
- (134,85,30,2),
- (136,86,30,2),
- (137,87,30,2),
- (139,88,30,2),
- (140,89,30,2),
- (142,90,30,2),
- (144,91,30,2),
- (146,92,30,2),
- (148,93,30,2),
- (150,94,30,2),
- (152,95,30,2),
- (153,96,30,2),
- (155,97,30,2),
- (157,98,30,2),
- (159,99,30,2),
- (161,100,30,2),
- (163,101,30,2),
- (164,102,30,2),
- (165,103,30,2),
- (167,104,30,2),
- (169,105,30,2),
- (171,106,30,2),
- (172,107,30,2),
- (173,108,30,2),
- (175,109,30,2),
- (176,110,30,2),
- (178,111,30,2),
- (179,112,30,2),
- (180,113,30,2),
- (181,114,30,2),
- (183,115,30,2),
- (185,116,30,2),
- (186,117,30,2),
- (188,118,30,2),
- (190,119,30,2),
- (191,120,30,2),
- (193,121,30,2),
- (194,122,30,2),
- (195,123,30,2),
- (197,124,30,2),
- (199,125,30,2),
- (201,126,30,2),
- (203,127,30,2),
- (204,128,30,2),
- (205,129,30,2),
- (207,130,30,2),
- (208,131,30,2),
- (210,132,30,2),
- (211,133,30,2),
- (212,134,30,2),
- (213,135,30,2),
- (214,136,30,2),
- (216,137,30,2),
- (217,138,30,2),
- (219,139,30,2),
- (220,140,30,2),
- (222,141,30,2),
- (224,142,30,2),
- (226,143,30,2),
- (228,144,30,2),
- (230,145,30,2),
- (232,146,30,2),
- (233,147,30,2),
- (235,148,30,2),
- (236,149,30,2),
- (238,150,30,2),
- (292,185,30,3),
- (550,356,30,3),
- (30,18,31,3),
- (86,56,31,3),
- (646,424,31,3),
- (143,90,32,3),
- (237,149,32,3),
- (360,231,32,3),
- (699,463,32,2),
- (700,464,32,2),
- (239,150,33,3),
- (485,312,33,3),
- (496,319,33,3),
- (514,330,33,3),
- (225,142,34,3),
- (388,250,34,3),
- (410,263,34,3),
- (422,271,34,3),
- (520,334,34,3),
- (679,446,34,3),
- (696,460,34,2),
- (310,195,35,3),
- (376,242,35,3),
- (467,301,35,2),
- (469,302,35,2),
- (470,303,35,2),
- (471,304,35,2),
- (473,305,35,2),
- (474,306,35,2),
- (476,307,35,2),
- (477,308,35,2),
- (479,309,35,2),
- (480,310,35,2),
- (482,311,35,2),
- (484,312,35,2),
- (486,313,35,2),
- (487,314,35,2),
- (489,315,35,2),
- (490,316,35,2),
- (491,317,35,2),
- (493,318,35,2),
- (495,319,35,2),
- (497,320,35,2),
- (499,321,35,2),
- (501,322,35,2),
- (502,323,35,2),
- (504,324,35,2),
- (506,325,35,2),
- (507,326,35,2),
- (509,327,35,2),
- (511,328,35,2),
- (512,329,35,2),
- (513,330,35,2),
- (515,331,35,2),
- (517,332,35,2),
- (518,333,35,2),
- (519,334,35,2),
- (521,335,35,2),
- (522,336,35,2),
- (524,337,35,2),
- (526,338,35,2),
- (527,339,35,2),
- (528,340,35,2),
- (529,341,35,2),
- (530,342,35,2),
- (531,343,35,2),
- (533,344,35,2),
- (534,345,35,2),
- (535,346,35,2),
- (536,347,35,2),
- (537,348,35,2),
- (539,349,35,2),
- (541,350,35,2),
- (542,351,35,2),
- (544,352,35,2),
- (545,353,35,2),
- (546,354,35,2),
- (548,355,35,2),
- (549,356,35,2),
- (551,357,35,2),
- (553,358,35,2),
- (554,359,35,2),
- (556,360,35,2),
- (557,361,35,2),
- (559,362,35,2),
- (560,363,35,2),
- (561,364,35,2),
- (562,365,35,2),
- (564,366,35,2),
- (566,367,35,2),
- (567,368,35,2),
- (568,369,35,2),
- (569,370,35,2),
- (570,371,35,2),
- (571,372,35,2),
- (572,373,35,2),
- (574,374,35,2),
- (576,375,35,2),
- (577,376,35,2),
- (578,377,35,2),
- (580,378,35,2),
- (582,379,35,2),
- (583,380,35,2),
- (584,381,35,2),
- (585,382,35,2),
- (586,383,35,2),
- (587,384,35,2),
- (588,385,35,2),
- (590,386,35,2),
- (591,387,35,2),
- (592,388,35,2),
- (593,389,35,2),
- (595,390,35,2),
- (596,391,35,2),
- (597,392,35,2),
- (598,393,35,2),
- (600,394,35,2),
- (602,395,35,2),
- (604,396,35,2),
- (605,397,35,2),
- (607,398,35,2),
- (608,399,35,2),
- (609,400,35,2),
- (611,401,35,2),
- (613,402,35,2),
- (615,403,35,2),
- (616,404,35,2),
- (618,405,35,2),
- (620,406,35,2),
- (621,407,35,2),
- (623,408,35,2),
- (624,409,35,2),
- (625,410,35,2),
- (626,411,35,2),
- (628,412,35,2),
- (629,413,35,2),
- (630,414,35,2),
- (631,415,35,2),
- (633,416,35,2),
- (635,417,35,2),
- (636,418,35,2),
- (637,419,35,2),
- (638,420,35,2),
- (640,421,35,2),
- (642,422,35,2),
- (644,423,35,2),
- (645,424,35,2),
- (647,425,35,2),
- (649,426,35,2),
- (650,427,35,2),
- (651,428,35,2),
- (653,429,35,2),
- (654,430,35,2),
- (655,431,35,2),
- (657,432,35,2),
- (658,433,35,2),
- (659,434,35,2),
- (661,435,35,2),
- (663,436,35,2),
- (665,437,35,2),
- (667,438,35,2),
- (669,439,35,2),
- (670,440,35,2),
- (671,441,35,2),
- (672,442,35,2),
- (674,443,35,2),
- (675,444,35,2),
- (677,445,35,2),
- (678,446,35,2),
- (680,447,35,2),
- (682,448,35,2),
- (683,449,35,2),
- (685,450,35,2),
- (721,485,35,2),
- (756,515,35,2),
- (215,136,36,3),
- (380,244,36,3),
- (449,289,36,3),
- (481,310,36,3),
- (505,324,36,3),
- (643,422,36,3),
- (727,491,36,2),
- (757,521,36,2),
- (525,337,37,3),
- (558,361,37,3),
- (824,588,37,2),
- (59,39,38,3),
- (64,42,38,3),
- (120,75,38,3),
- (187,117,38,3),
- (267,169,38,3),
- (426,274,38,3),
- (7,4,39,3),
- (98,63,39,3),
- (244,154,39,3),
- (459,296,39,3),
- (294,186,40,3),
- (726,490,40,2),
- (758,520,40,2),
- (156,97,41,3),
- (404,259,41,3),
- (720,484,41,2),
- (759,514,41,2),
- (149,93,42,3),
- (218,138,42,3),
- (113,71,43,3),
- (698,462,43,2),
- (18,10,44,3),
- (338,215,44,3),
- (676,444,44,3),
- (818,582,44,2),
- (89,58,45,3),
- (258,162,45,3),
- (306,193,45,3),
- (395,254,45,3),
- (430,276,45,3),
- (468,301,45,3),
- (182,114,46,3),
- (402,258,46,3),
- (5,3,47,3),
- (418,268,47,3),
- (11,6,48,3),
- (50,33,48,3),
- (206,129,48,3),
- (364,233,48,3),
- (660,434,48,3),
- (415,266,49,3),
- (362,232,50,3),
- (466,300,50,3),
- (66,43,52,3),
- (192,120,52,3),
- (221,140,52,3),
- (639,420,52,3),
- (128,80,53,3),
- (254,160,53,3),
- (147,92,54,3),
- (290,184,54,3),
- (385,248,54,3),
- (573,373,54,3),
- (397,255,55,3),
- (666,437,55,3),
- (815,579,55,2),
- (498,320,57,3),
- (662,435,57,3),
- (21,12,58,3),
- (378,243,58,3),
- (390,251,58,3),
- (724,488,58,2),
- (760,518,58,2),
- (784,548,58,2),
- (342,218,59,3),
- (488,314,59,3),
- (701,465,59,2),
- (702,466,59,2),
- (703,467,59,2),
- (704,468,59,2),
- (705,469,59,2),
- (706,470,59,2),
- (707,471,59,2),
- (708,472,59,2),
- (709,473,59,2),
- (710,474,59,2),
- (711,475,59,2),
- (739,503,59,2),
- (761,533,59,2),
- (34,20,60,3),
- (111,70,60,3),
- (117,73,60,3),
- (3,2,61,3),
- (15,8,61,3),
- (240,151,61,2),
- (241,152,61,2),
- (242,153,61,2),
- (243,154,61,2),
- (245,155,61,2),
- (247,156,61,2),
- (248,157,61,2),
- (249,158,61,2),
- (251,159,61,2),
- (253,160,61,2),
- (255,161,61,2),
- (257,162,61,2),
- (259,163,61,2),
- (261,164,61,2),
- (262,165,61,2),
- (263,166,61,2),
- (264,167,61,2),
- (265,168,61,2),
- (266,169,61,2),
- (268,170,61,2),
- (269,171,61,2),
- (271,172,61,2),
- (273,173,61,2),
- (274,174,61,2),
- (275,175,61,2),
- (276,176,61,2),
- (278,177,61,2),
- (279,178,61,2),
- (281,179,61,2),
- (282,180,61,2),
- (283,181,61,2),
- (285,182,61,2),
- (287,183,61,2),
- (289,184,61,2),
- (291,185,61,2),
- (293,186,61,2),
- (295,187,61,2),
- (297,188,61,2),
- (298,189,61,2),
- (300,190,61,2),
- (301,191,61,2),
- (303,192,61,2),
- (305,193,61,2),
- (307,194,61,2),
- (309,195,61,2),
- (311,196,61,2),
- (312,197,61,2),
- (314,198,61,2),
- (315,199,61,2),
- (316,200,61,2),
- (317,201,61,2),
- (319,202,61,2),
- (320,203,61,2),
- (321,204,61,2),
- (323,205,61,2),
- (324,206,61,2),
- (325,207,61,2),
- (326,208,61,2),
- (328,209,61,2),
- (330,210,61,2),
- (332,211,61,2),
- (334,212,61,2),
- (335,213,61,2),
- (336,214,61,2),
- (337,215,61,2),
- (339,216,61,2),
- (340,217,61,2),
- (341,218,61,2),
- (343,219,61,2),
- (344,220,61,2),
- (346,221,61,2),
- (347,222,61,2),
- (348,223,61,2),
- (349,224,61,2),
- (350,225,61,2),
- (352,226,61,2),
- (354,227,61,2),
- (355,228,61,2),
- (357,229,61,2),
- (358,230,61,2),
- (359,231,61,2),
- (361,232,61,2),
- (363,233,61,2),
- (365,234,61,2),
- (366,235,61,2),
- (367,236,61,2),
- (369,237,61,2),
- (370,238,61,2),
- (371,239,61,2),
- (372,240,61,2),
- (374,241,61,2),
- (375,242,61,2),
- (377,243,61,2),
- (379,244,61,2),
- (381,245,61,2),
- (382,246,61,2),
- (383,247,61,2),
- (384,248,61,2),
- (386,249,61,2),
- (387,250,61,2),
- (389,251,61,2),
- (391,252,61,2),
- (392,253,61,2),
- (394,254,61,2),
- (396,255,61,2),
- (398,256,61,2),
- (400,257,61,2),
- (401,258,61,2),
- (403,259,61,2),
- (405,260,61,2),
- (406,261,61,2),
- (408,262,61,2),
- (409,263,61,2),
- (411,264,61,2),
- (413,265,61,2),
- (414,266,61,2),
- (416,267,61,2),
- (417,268,61,2),
- (419,269,61,2),
- (420,270,61,2),
- (421,271,61,2),
- (423,272,61,2),
- (424,273,61,2),
- (425,274,61,2),
- (427,275,61,2),
- (429,276,61,2),
- (431,277,61,2),
- (432,278,61,2),
- (433,279,61,2),
- (434,280,61,2),
- (435,281,61,2),
- (436,282,61,2),
- (438,283,61,2),
- (439,284,61,2),
- (440,285,61,2),
- (442,286,61,2),
- (444,287,61,2),
- (446,288,61,2),
- (448,289,61,2),
- (450,290,61,2),
- (452,291,61,2),
- (453,292,61,2),
- (454,293,61,2),
- (456,294,61,2),
- (457,295,61,2),
- (458,296,61,2),
- (460,297,61,2),
- (462,298,61,2),
- (463,299,61,2),
- (465,300,61,2),
- (552,357,61,3),
- (599,393,61,3),
- (441,285,62,3),
- (594,389,63,3),
- (686,450,63,3),
- (62,41,64,3),
- (322,204,64,3),
- (331,210,64,3),
- (368,236,64,3),
- (464,299,64,3),
- (475,306,64,3),
- (543,351,64,3),
- (69,45,65,3),
- (296,187,65,3),
- (555,359,65,3),
- (718,482,65,2),
- (762,512,65,2),
- (617,404,66,3),
- (744,508,66,2),
- (763,538,66,2),
- (793,557,66,2),
- (198,124,68,3),
- (589,385,68,3),
- (780,544,68,2),
- (151,94,69,3),
- (174,108,69,3),
- (356,228,69,3),
- (412,264,69,3),
- (447,288,69,3),
- (668,438,69,3),
- (735,499,69,2),
- (764,529,69,2),
- (805,569,69,2),
- (32,19,70,3),
- (277,176,70,3),
- (280,178,70,3),
- (229,144,71,3),
- (327,208,71,3),
- (461,297,71,3),
- (547,354,71,3),
- (697,461,71,2),
- (789,553,71,2),
- (135,85,72,3),
- (141,89,72,3),
- (288,183,72,3),
- (563,365,72,3),
- (817,581,72,2),
- (162,100,73,3),
- (796,560,73,2),
- (627,411,74,3),
- (284,181,75,3),
- (100,64,77,3),
- (437,282,77,3),
- (407,261,78,3),
- (158,98,79,3),
- (443,286,80,3),
- (455,293,81,3),
- (807,571,81,2),
- (478,308,82,3),
- (694,458,82,2),
- (821,585,82,2),
- (84,55,83,3),
- (612,401,83,3),
- (227,143,85,3),
- (333,211,85,3),
- (102,65,86,3),
- (351,225,87,3),
- (800,564,87,2),
- (318,201,88,3),
- (503,323,88,3),
- (540,349,89,3),
- (614,402,89,3),
- (619,405,89,3),
- (494,318,90,3),
- (681,447,90,3),
- (42,26,91,3),
- (170,105,91,3),
- (581,378,91,3),
- (664,436,91,3),
- (75,49,92,3),
- (695,459,92,2),
- (184,115,93,3),
- (223,141,93,3),
- (483,311,93,3),
- (816,580,93,2),
- (250,158,94,3),
- (256,161,94,3),
- (445,287,95,3),
- (684,449,95,3),
- (736,500,95,2),
- (765,530,95,2),
- (13,7,96,3),
- (202,126,96,3),
- (231,145,97,3),
- (345,220,97,3),
- (632,415,97,3),
- (731,495,97,2),
- (766,525,97,2),
- (56,37,98,3),
- (168,104,98,3),
- (353,226,98,3),
- (712,476,99,2),
- (713,477,99,2),
- (714,478,99,2),
- (715,479,99,2),
- (716,480,99,2),
- (820,584,99,2),
- (428,275,100,3),
- (500,321,100,3),
- (177,110,101,3),
- (189,118,101,3),
- (308,194,101,3),
- (717,481,103,2),
- (811,575,103,2),
- (828,592,104,2),
- (747,511,105,2),
- (767,541,105,2),
- (742,506,107,2),
- (768,536,107,2),
- (808,572,116,2),
- (788,552,117,2),
- (819,583,121,2),
- (743,507,127,2),
- (769,537,127,2),
- (814,578,128,2),
- (823,587,129,2),
- (722,486,130,2),
- (770,516,130,2),
- (779,543,134,2),
- (734,498,140,2),
- (771,528,140,2),
- (794,558,144,2),
- (802,566,146,2),
- (729,493,149,2),
- (772,523,149,2),
- (798,562,149,2),
- (799,563,150,2),
- (782,546,151,2),
- (801,565,152,2),
- (786,550,154,2),
- (803,567,156,2),
- (812,576,157,2),
- (795,559,158,2),
- (826,590,160,2),
- (741,505,162,2),
- (773,535,162,2),
- (785,549,175,2),
- (804,568,178,2),
- (797,561,184,2),
- (806,570,185,2),
- (728,492,186,2),
- (774,522,186,2),
- (719,483,189,2),
- (775,513,189,2),
- (725,489,190,2),
- (776,519,190,2),
- (791,555,195,2),
- (746,510,202,2),
- (777,540,202,2),
- (827,591,202,2);
+ (168,113,1,3),
+ (477,326,1,3),
+ (135,91,2,3),
+ (660,451,2,2),
+ (504,344,3,3),
+ (584,402,3,3),
+ (701,492,3,2),
+ (731,522,3,2),
+ (221,153,4,3),
+ (451,309,4,3),
+ (661,452,4,2),
+ (664,455,4,2),
+ (790,581,4,2),
+ (347,236,5,3),
+ (463,317,5,3),
+ (636,436,5,3),
+ (47,31,6,3),
+ (316,214,6,3),
+ (662,453,6,2),
+ (64,41,7,3),
+ (292,200,7,3),
+ (592,407,7,3),
+ (594,408,7,3),
+ (638,437,7,3),
+ (243,169,8,3),
+ (372,255,8,3),
+ (602,413,8,3),
+ (663,454,8,2),
+ (179,120,9,3),
+ (190,129,11,3),
+ (392,270,11,3),
+ (405,278,11,3),
+ (619,424,11,3),
+ (332,226,12,3),
+ (716,507,12,2),
+ (746,537,12,2),
+ (16,12,13,3),
+ (34,24,14,3),
+ (70,45,14,3),
+ (88,58,14,3),
+ (287,197,14,3),
+ (298,203,14,3),
+ (432,296,14,3),
+ (448,307,14,3),
+ (548,375,14,3),
+ (617,423,14,3),
+ (648,442,15,3),
+ (767,558,15,2),
+ (153,102,16,3),
+ (183,123,16,3),
+ (245,170,16,3),
+ (285,196,16,3),
+ (485,331,16,3),
+ (569,392,16,3),
+ (665,456,16,2),
+ (704,495,16,2),
+ (734,525,16,2),
+ (106,70,17,3),
+ (122,82,17,3),
+ (494,337,17,3),
+ (251,173,18,3),
+ (395,272,18,3),
+ (68,44,19,3),
+ (666,457,19,2),
+ (514,352,20,3),
+ (524,359,20,3),
+ (572,394,20,3),
+ (788,579,20,2),
+ (62,40,21,3),
+ (329,224,21,3),
+ (415,285,21,3),
+ (538,369,21,3),
+ (551,377,21,3),
+ (794,585,22,2),
+ (175,118,23,3),
+ (468,320,23,3),
+ (483,330,23,3),
+ (366,251,24,3),
+ (597,410,24,3),
+ (540,370,25,3),
+ (778,569,25,2),
+ (397,273,26,3),
+ (697,488,26,2),
+ (727,518,26,2),
+ (145,97,27,3),
+ (389,268,27,3),
+ (709,500,27,2),
+ (739,530,27,2),
+ (53,35,29,3),
+ (791,582,29,2),
+ (323,219,30,3),
+ (777,568,31,2),
+ (100,65,32,3),
+ (235,163,32,3),
+ (340,231,32,3),
+ (369,253,32,3),
+ (380,262,32,3),
+ (672,463,32,2),
+ (673,464,32,2),
+ (773,564,32,2),
+ (76,49,33,3),
+ (359,246,33,3),
+ (599,411,33,3),
+ (32,23,34,3),
+ (304,207,34,3),
+ (578,399,34,3),
+ (669,460,34,2),
+ (705,496,34,2),
+ (735,526,34,2),
+ (207,142,36,3),
+ (344,234,36,3),
+ (518,354,36,3),
+ (624,427,37,3),
+ (313,212,38,3),
+ (320,217,38,3),
+ (655,446,38,3),
+ (621,425,39,3),
+ (702,493,40,2),
+ (732,523,40,2),
+ (787,578,40,2),
+ (789,580,42,2),
+ (82,53,43,3),
+ (128,86,43,3),
+ (580,400,43,3),
+ (582,401,43,3),
+ (671,462,43,2),
+ (142,95,44,3),
+ (490,334,44,3),
+ (781,572,44,2),
+ (427,293,45,3),
+ (471,322,45,3),
+ (73,47,46,3),
+ (247,171,47,3),
+ (60,39,48,3),
+ (338,230,48,3),
+ (785,576,48,2),
+ (131,88,49,3),
+ (455,312,49,3),
+ (511,350,49,3),
+ (771,562,49,2),
+ (764,555,51,2),
+ (30,22,52,3),
+ (79,51,52,3),
+ (440,301,52,3),
+ (516,353,52,3),
+ (652,444,52,3),
+ (151,101,53,3),
+ (160,107,53,3),
+ (280,193,54,3),
+ (148,99,56,3),
+ (164,110,56,3),
+ (249,172,56,3),
+ (228,158,57,3),
+ (311,211,57,3),
+ (438,300,57,3),
+ (459,315,57,3),
+ (13,10,58,3),
+ (41,28,58,3),
+ (407,279,58,3),
+ (761,552,58,2),
+ (58,38,59,3),
+ (199,136,59,3),
+ (430,295,59,3),
+ (674,465,59,2),
+ (675,466,59,2),
+ (676,467,59,2),
+ (677,468,59,2),
+ (678,469,59,2),
+ (679,470,59,2),
+ (680,471,59,2),
+ (681,472,59,2),
+ (682,473,59,2),
+ (683,474,59,2),
+ (684,475,59,2),
+ (10,8,60,3),
+ (753,544,60,2),
+ (6,5,61,3),
+ (26,19,61,3),
+ (797,588,61,2),
+ (56,37,62,3),
+ (92,60,62,3),
+ (294,201,62,3),
+ (98,64,63,3),
+ (124,83,63,3),
+ (364,250,63,3),
+ (775,566,63,2),
+ (37,26,64,3),
+ (253,174,64,3),
+ (22,16,65,3),
+ (278,192,65,3),
+ (336,229,65,3),
+ (693,484,65,2),
+ (723,514,65,2),
+ (760,551,65,2),
+ (43,29,66,3),
+ (217,151,66,2),
+ (219,152,66,2),
+ (220,153,66,2),
+ (222,154,66,2),
+ (224,155,66,2),
+ (225,156,66,2),
+ (226,157,66,2),
+ (227,158,66,2),
+ (229,159,66,2),
+ (230,160,66,2),
+ (231,161,66,2),
+ (233,162,66,2),
+ (234,163,66,2),
+ (236,164,66,2),
+ (237,165,66,2),
+ (238,166,66,2),
+ (239,167,66,2),
+ (241,168,66,2),
+ (242,169,66,2),
+ (244,170,66,2),
+ (246,171,66,2),
+ (248,172,66,2),
+ (250,173,66,2),
+ (252,174,66,2),
+ (254,175,66,2),
+ (256,176,66,2),
+ (258,177,66,2),
+ (260,178,66,2),
+ (261,179,66,2),
+ (262,180,66,2),
+ (263,181,66,2),
+ (265,182,66,2),
+ (266,183,66,2),
+ (268,184,66,2),
+ (269,185,66,2),
+ (270,186,66,2),
+ (271,187,66,2),
+ (272,188,66,2),
+ (273,189,66,2),
+ (275,190,66,2),
+ (276,191,66,2),
+ (277,192,66,2),
+ (279,193,66,2),
+ (281,194,66,2),
+ (282,195,66,2),
+ (284,196,66,2),
+ (286,197,66,2),
+ (288,198,66,2),
+ (290,199,66,2),
+ (291,200,66,2),
+ (293,201,66,2),
+ (295,202,66,2),
+ (297,203,66,2),
+ (299,204,66,2),
+ (301,205,66,2),
+ (302,206,66,2),
+ (303,207,66,2),
+ (305,208,66,2),
+ (307,209,66,2),
+ (308,210,66,2),
+ (310,211,66,2),
+ (312,212,66,2),
+ (314,213,66,2),
+ (315,214,66,2),
+ (317,215,66,2),
+ (318,216,66,2),
+ (319,217,66,2),
+ (321,218,66,2),
+ (322,219,66,2),
+ (324,220,66,2),
+ (325,221,66,2),
+ (326,222,66,2),
+ (327,223,66,2),
+ (328,224,66,2),
+ (330,225,66,2),
+ (331,226,66,2),
+ (333,227,66,2),
+ (334,228,66,2),
+ (335,229,66,2),
+ (337,230,66,2),
+ (339,231,66,2),
+ (341,232,66,2),
+ (342,233,66,2),
+ (343,234,66,2),
+ (345,235,66,2),
+ (346,236,66,2),
+ (348,237,66,2),
+ (349,238,66,2),
+ (350,239,66,2),
+ (352,240,66,2),
+ (353,241,66,2),
+ (354,242,66,2),
+ (355,243,66,2),
+ (356,244,66,2),
+ (357,245,66,2),
+ (358,246,66,2),
+ (360,247,66,2),
+ (361,248,66,2),
+ (362,249,66,2),
+ (363,250,66,2),
+ (365,251,66,2),
+ (367,252,66,2),
+ (368,253,66,2),
+ (370,254,66,2),
+ (371,255,66,2),
+ (373,256,66,2),
+ (374,257,66,2),
+ (375,258,66,2),
+ (376,259,66,2),
+ (377,260,66,2),
+ (378,261,66,2),
+ (379,262,66,2),
+ (381,263,66,2),
+ (383,264,66,2),
+ (385,265,66,2),
+ (386,266,66,2),
+ (387,267,66,2),
+ (388,268,66,2),
+ (390,269,66,2),
+ (391,270,66,2),
+ (393,271,66,2),
+ (394,272,66,2),
+ (396,273,66,2),
+ (398,274,66,2),
+ (400,275,66,2),
+ (401,276,66,2),
+ (402,277,66,2),
+ (404,278,66,2),
+ (406,279,66,2),
+ (408,280,66,2),
+ (409,281,66,2),
+ (411,282,66,2),
+ (412,283,66,2),
+ (413,284,66,2),
+ (414,285,66,2),
+ (416,286,66,2),
+ (417,287,66,2),
+ (418,288,66,2),
+ (420,289,66,2),
+ (422,290,66,2),
+ (423,291,66,2),
+ (425,292,66,2),
+ (426,293,66,2),
+ (428,294,66,2),
+ (429,295,66,2),
+ (431,296,66,2),
+ (433,297,66,2),
+ (434,298,66,2),
+ (436,299,66,2),
+ (437,300,66,2),
+ (461,316,67,3),
+ (590,406,67,3),
+ (240,167,69,3),
+ (382,263,69,3),
+ (435,298,69,3),
+ (615,422,69,3),
+ (650,443,69,3),
+ (289,198,70,3),
+ (403,277,70,3),
+ (713,504,70,2),
+ (743,534,70,2),
+ (670,461,71,2),
+ (796,587,71,2),
+ (498,340,72,3),
+ (527,361,72,3),
+ (45,30,73,3),
+ (90,59,73,3),
+ (257,176,73,3),
+ (421,289,73,3),
+ (605,415,73,3),
+ (608,417,75,3),
+ (708,499,75,2),
+ (738,529,75,2),
+ (762,553,75,2),
+ (611,419,76,3),
+ (119,80,77,3),
+ (140,94,78,3),
+ (218,151,78,3),
+ (115,77,79,3),
+ (172,116,79,3),
+ (177,119,79,3),
+ (309,210,79,3),
+ (399,274,79,3),
+ (706,497,79,2),
+ (736,527,79,2),
+ (410,281,80,3),
+ (480,328,80,3),
+ (544,373,80,3),
+ (137,92,81,3),
+ (642,439,81,3),
+ (50,33,82,3),
+ (646,441,82,3),
+ (667,458,82,2),
+ (703,494,82,2),
+ (733,524,82,2),
+ (197,135,83,3),
+ (536,368,84,3),
+ (640,438,84,3),
+ (201,137,85,3),
+ (232,161,85,3),
+ (634,435,85,3),
+ (264,181,86,3),
+ (632,434,86,3),
+ (94,61,87,3),
+ (588,405,87,3),
+ (770,561,87,2),
+ (799,590,88,2),
+ (782,573,89,2),
+ (474,324,90,3),
+ (699,490,90,2),
+ (729,520,90,2),
+ (108,71,91,3),
+ (274,189,91,3),
+ (283,195,91,3),
+ (502,343,91,3),
+ (19,14,92,3),
+ (212,146,92,3),
+ (534,367,92,3),
+ (668,459,92,2),
+ (465,318,93,3),
+ (488,333,93,3),
+ (306,208,94,3),
+ (444,304,94,3),
+ (223,154,95,3),
+ (419,288,95,3),
+ (1,1,96,2),
+ (2,2,96,2),
+ (3,3,96,2),
+ (4,4,96,2),
+ (5,5,96,2),
+ (7,6,96,2),
+ (8,7,96,2),
+ (9,8,96,2),
+ (11,9,96,2),
+ (12,10,96,2),
+ (14,11,96,2),
+ (15,12,96,2),
+ (17,13,96,2),
+ (18,14,96,2),
+ (20,15,96,2),
+ (21,16,96,2),
+ (23,17,96,2),
+ (24,18,96,2),
+ (25,19,96,2),
+ (27,20,96,2),
+ (28,21,96,2),
+ (29,22,96,2),
+ (31,23,96,2),
+ (33,24,96,2),
+ (35,25,96,2),
+ (36,26,96,2),
+ (38,27,96,2),
+ (40,28,96,2),
+ (42,29,96,2),
+ (44,30,96,2),
+ (46,31,96,2),
+ (48,32,96,2),
+ (49,33,96,2),
+ (51,34,96,2),
+ (52,35,96,2),
+ (54,36,96,2),
+ (55,37,96,2),
+ (57,38,96,2),
+ (59,39,96,2),
+ (61,40,96,2),
+ (63,41,96,2),
+ (65,42,96,2),
+ (66,43,96,2),
+ (67,44,96,2),
+ (69,45,96,2),
+ (71,46,96,2),
+ (72,47,96,2),
+ (74,48,96,2),
+ (75,49,96,2),
+ (77,50,96,2),
+ (78,51,96,2),
+ (80,52,96,2),
+ (81,53,96,2),
+ (83,54,96,2),
+ (84,55,96,2),
+ (85,56,96,2),
+ (86,57,96,2),
+ (87,58,96,2),
+ (89,59,96,2),
+ (91,60,96,2),
+ (93,61,96,2),
+ (95,62,96,2),
+ (96,63,96,2),
+ (97,64,96,2),
+ (99,65,96,2),
+ (101,66,96,2),
+ (102,67,96,2),
+ (103,68,96,2),
+ (104,69,96,2),
+ (105,70,96,2),
+ (107,71,96,2),
+ (109,72,96,2),
+ (110,73,96,2),
+ (111,74,96,2),
+ (112,75,96,2),
+ (113,76,96,2),
+ (114,77,96,2),
+ (116,78,96,2),
+ (117,79,96,2),
+ (118,80,96,2),
+ (120,81,96,2),
+ (121,82,96,2),
+ (123,83,96,2),
+ (125,84,96,2),
+ (126,85,96,2),
+ (127,86,96,2),
+ (129,87,96,2),
+ (130,88,96,2),
+ (132,89,96,2),
+ (133,90,96,2),
+ (134,91,96,2),
+ (136,92,96,2),
+ (138,93,96,2),
+ (139,94,96,2),
+ (141,95,96,2),
+ (143,96,96,2),
+ (144,97,96,2),
+ (146,98,96,2),
+ (147,99,96,2),
+ (149,100,96,2),
+ (150,101,96,2),
+ (152,102,96,2),
+ (154,103,96,2),
+ (156,104,96,2),
+ (157,105,96,2),
+ (158,106,96,2),
+ (159,107,96,2),
+ (161,108,96,2),
+ (162,109,96,2),
+ (163,110,96,2),
+ (165,111,96,2),
+ (166,112,96,2),
+ (167,113,96,2),
+ (169,114,96,2),
+ (170,115,96,2),
+ (171,116,96,2),
+ (173,117,96,2),
+ (174,118,96,2),
+ (176,119,96,2),
+ (178,120,96,2),
+ (180,121,96,2),
+ (181,122,96,2),
+ (182,123,96,2),
+ (184,124,96,2),
+ (185,125,96,2),
+ (186,126,96,2),
+ (187,127,96,2),
+ (188,128,96,2),
+ (189,129,96,2),
+ (191,130,96,2),
+ (192,131,96,2),
+ (193,132,96,2),
+ (194,133,96,2),
+ (195,134,96,2),
+ (196,135,96,2),
+ (198,136,96,2),
+ (200,137,96,2),
+ (202,138,96,2),
+ (203,139,96,2),
+ (204,140,96,2),
+ (205,141,96,2),
+ (206,142,96,2),
+ (208,143,96,2),
+ (209,144,96,2),
+ (210,145,96,2),
+ (211,146,96,2),
+ (213,147,96,2),
+ (214,148,96,2),
+ (215,149,96,2),
+ (216,150,96,2),
+ (259,177,97,3),
+ (384,264,97,3),
+ (155,103,98,3),
+ (546,374,99,3),
+ (556,381,99,3),
+ (644,440,99,3),
+ (685,476,99,2),
+ (686,477,99,2),
+ (687,478,99,2),
+ (688,479,99,2),
+ (689,480,99,2),
+ (710,501,99,2),
+ (740,531,99,2),
+ (801,592,99,2),
+ (255,175,100,3),
+ (300,204,100,3),
+ (424,291,100,3),
+ (755,546,100,2),
+ (39,27,101,3),
+ (267,183,101,3),
+ (296,202,101,3),
+ (351,239,101,3),
+ (565,389,101,3),
+ (718,509,101,2),
+ (748,539,101,2),
+ (690,481,103,2),
+ (692,483,105,2),
+ (722,513,105,2),
+ (719,510,107,2),
+ (749,540,107,2),
+ (792,583,113,2),
+ (756,547,119,2),
+ (780,571,123,2),
+ (759,550,124,2),
+ (772,563,128,2),
+ (783,574,132,2),
+ (714,505,134,2),
+ (744,535,134,2),
+ (717,508,137,2),
+ (747,538,137,2),
+ (757,548,138,2),
+ (439,301,145,2),
+ (441,302,145,2),
+ (442,303,145,2),
+ (443,304,145,2),
+ (445,305,145,2),
+ (446,306,145,2),
+ (447,307,145,2),
+ (449,308,145,2),
+ (450,309,145,2),
+ (452,310,145,2),
+ (453,311,145,2),
+ (454,312,145,2),
+ (456,313,145,2),
+ (457,314,145,2),
+ (458,315,145,2),
+ (460,316,145,2),
+ (462,317,145,2),
+ (464,318,145,2),
+ (466,319,145,2),
+ (467,320,145,2),
+ (469,321,145,2),
+ (470,322,145,2),
+ (472,323,145,2),
+ (473,324,145,2),
+ (475,325,145,2),
+ (476,326,145,2),
+ (478,327,145,2),
+ (479,328,145,2),
+ (481,329,145,2),
+ (482,330,145,2),
+ (484,331,145,2),
+ (486,332,145,2),
+ (487,333,145,2),
+ (489,334,145,2),
+ (491,335,145,2),
+ (492,336,145,2),
+ (493,337,145,2),
+ (495,338,145,2),
+ (496,339,145,2),
+ (497,340,145,2),
+ (499,341,145,2),
+ (500,342,145,2),
+ (501,343,145,2),
+ (503,344,145,2),
+ (505,345,145,2),
+ (506,346,145,2),
+ (507,347,145,2),
+ (508,348,145,2),
+ (509,349,145,2),
+ (510,350,145,2),
+ (512,351,145,2),
+ (513,352,145,2),
+ (515,353,145,2),
+ (517,354,145,2),
+ (519,355,145,2),
+ (520,356,145,2),
+ (521,357,145,2),
+ (522,358,145,2),
+ (523,359,145,2),
+ (525,360,145,2),
+ (526,361,145,2),
+ (528,362,145,2),
+ (529,363,145,2),
+ (530,364,145,2),
+ (531,365,145,2),
+ (532,366,145,2),
+ (533,367,145,2),
+ (535,368,145,2),
+ (537,369,145,2),
+ (539,370,145,2),
+ (541,371,145,2),
+ (542,372,145,2),
+ (543,373,145,2),
+ (545,374,145,2),
+ (547,375,145,2),
+ (549,376,145,2),
+ (550,377,145,2),
+ (552,378,145,2),
+ (553,379,145,2),
+ (554,380,145,2),
+ (555,381,145,2),
+ (557,382,145,2),
+ (558,383,145,2),
+ (559,384,145,2),
+ (560,385,145,2),
+ (561,386,145,2),
+ (562,387,145,2),
+ (563,388,145,2),
+ (564,389,145,2),
+ (566,390,145,2),
+ (567,391,145,2),
+ (568,392,145,2),
+ (570,393,145,2),
+ (571,394,145,2),
+ (573,395,145,2),
+ (574,396,145,2),
+ (575,397,145,2),
+ (576,398,145,2),
+ (577,399,145,2),
+ (579,400,145,2),
+ (581,401,145,2),
+ (583,402,145,2),
+ (585,403,145,2),
+ (586,404,145,2),
+ (587,405,145,2),
+ (589,406,145,2),
+ (591,407,145,2),
+ (593,408,145,2),
+ (595,409,145,2),
+ (596,410,145,2),
+ (598,411,145,2),
+ (600,412,145,2),
+ (601,413,145,2),
+ (603,414,145,2),
+ (604,415,145,2),
+ (606,416,145,2),
+ (607,417,145,2),
+ (609,418,145,2),
+ (610,419,145,2),
+ (612,420,145,2),
+ (613,421,145,2),
+ (614,422,145,2),
+ (616,423,145,2),
+ (618,424,145,2),
+ (620,425,145,2),
+ (622,426,145,2),
+ (623,427,145,2),
+ (625,428,145,2),
+ (626,429,145,2),
+ (627,430,145,2),
+ (628,431,145,2),
+ (629,432,145,2),
+ (630,433,145,2),
+ (631,434,145,2),
+ (633,435,145,2),
+ (635,436,145,2),
+ (637,437,145,2),
+ (639,438,145,2),
+ (641,439,145,2),
+ (643,440,145,2),
+ (645,441,145,2),
+ (647,442,145,2),
+ (649,443,145,2),
+ (651,444,145,2),
+ (653,445,145,2),
+ (654,446,145,2),
+ (656,447,145,2),
+ (657,448,145,2),
+ (658,449,145,2),
+ (659,450,145,2),
+ (765,556,150,2),
+ (784,575,151,2),
+ (752,543,156,2),
+ (696,487,157,2),
+ (726,517,157,2),
+ (779,570,157,2),
+ (774,565,158,2),
+ (695,486,159,2),
+ (725,516,159,2),
+ (707,498,163,2),
+ (737,528,163,2),
+ (700,491,167,2),
+ (730,521,167,2),
+ (758,549,167,2),
+ (793,584,168,2),
+ (800,591,172,2),
+ (711,502,174,2),
+ (741,532,174,2),
+ (691,482,175,2),
+ (721,512,175,2),
+ (754,545,178,2),
+ (694,485,179,2),
+ (724,515,179,2),
+ (776,567,181,2),
+ (763,554,182,2),
+ (698,489,184,2),
+ (728,519,184,2),
+ (769,560,185,2),
+ (715,506,188,2),
+ (745,536,188,2),
+ (798,589,189,2),
+ (768,559,191,2),
+ (720,511,192,2),
+ (750,541,192,2),
+ (795,586,194,2),
+ (712,503,195,2),
+ (742,533,195,2),
+ (786,577,200,2),
+ (766,557,202,2);
 /*!40000 ALTER TABLE `civicrm_activity_contact` ENABLE KEYS */;
 UNLOCK TABLES;
 
@@ -1649,187 +1623,182 @@ UNLOCK TABLES;
 LOCK TABLES `civicrm_address` WRITE;
 /*!40000 ALTER TABLE `civicrm_address` DISABLE KEYS */;
 INSERT INTO `civicrm_address` (`id`, `contact_id`, `location_type_id`, `is_primary`, `is_billing`, `street_address`, `street_number`, `street_number_suffix`, `street_number_predirectional`, `street_name`, `street_type`, `street_number_postdirectional`, `street_unit`, `supplemental_address_1`, `supplemental_address_2`, `supplemental_address_3`, `city`, `county_id`, `state_province_id`, `postal_code_suffix`, `postal_code`, `usps_adc`, `country_id`, `geo_code_1`, `geo_code_2`, `manual_geo_code`, `timezone`, `name`, `master_id`) VALUES
- (1,76,1,1,0,'457D Dowlen Blvd NE',457,'D',NULL,'Dowlen','Blvd','NE',NULL,NULL,NULL,NULL,'Ramsey',1,1029,NULL,'07446',NULL,1228,41.058819,-74.14238,0,NULL,NULL,NULL),
- (2,79,1,1,0,'584K Beech Ave NE',584,'K',NULL,'Beech','Ave','NE',NULL,NULL,NULL,NULL,'Washington',1,1050,NULL,'20463',NULL,1228,38.893311,-77.014647,0,NULL,NULL,NULL),
- (3,170,1,1,0,'738B Caulder Way N',738,'B',NULL,'Caulder','Way','N',NULL,NULL,NULL,NULL,'Pomona',1,1012,NULL,'62975',NULL,1228,37.618822,-89.3617,0,NULL,NULL,NULL),
- (4,95,1,1,0,'561G Maple Rd E',561,'G',NULL,'Maple','Rd','E',NULL,NULL,NULL,NULL,'Kansas City',1,1024,NULL,'64139',NULL,1228,38.959277,-94.40868,0,NULL,NULL,NULL),
- (5,58,1,1,0,'226P Martin Luther King Pl N',226,'P',NULL,'Martin Luther King','Pl','N',NULL,NULL,NULL,NULL,'Rochester',1,1031,NULL,'14645',NULL,1228,43.286024,-77.684264,0,NULL,NULL,NULL),
- (6,71,1,1,0,'17O Van Ness Dr NE',17,'O',NULL,'Van Ness','Dr','NE',NULL,NULL,NULL,NULL,'Wilmore',1,1015,NULL,'67155',NULL,1228,37.34323,-99.14364,0,NULL,NULL,NULL),
- (7,162,1,1,0,'530I Maple Ln N',530,'I',NULL,'Maple','Ln','N',NULL,NULL,NULL,NULL,'Bartlett',1,1034,NULL,'45713',NULL,1228,39.419647,-81.8164,0,NULL,NULL,NULL),
- (8,197,1,1,0,'12K Second Ln SE',12,'K',NULL,'Second','Ln','SE',NULL,NULL,NULL,NULL,'Phoenix',1,1002,NULL,'85042',NULL,1228,33.381234,-112.027663,0,NULL,NULL,NULL),
- (9,200,1,1,0,'785S Main Dr W',785,'S',NULL,'Main','Dr','W',NULL,NULL,NULL,NULL,'Hospers',1,1014,NULL,'51238',NULL,1228,43.072732,-95.89855,0,NULL,NULL,NULL),
- (10,7,1,1,0,'102P Caulder Ln SE',102,'P',NULL,'Caulder','Ln','SE',NULL,NULL,NULL,NULL,'Karlsruhe',1,1033,NULL,'58744',NULL,1228,48.102064,-100.61537,0,NULL,NULL,NULL),
- (11,111,1,1,0,'291O Main Ln E',291,'O',NULL,'Main','Ln','E',NULL,NULL,NULL,NULL,'Madison',1,1048,NULL,'53794',NULL,1228,43.06956,-89.423861,0,NULL,NULL,NULL),
- (12,9,1,1,0,'50K El Camino Ave W',50,'K',NULL,'El Camino','Ave','W',NULL,NULL,NULL,NULL,'Laingsburg',1,1021,NULL,'48848',NULL,1228,42.884921,-84.3569,0,NULL,NULL,NULL),
- (13,147,1,1,0,'374X Pine Way S',374,'X',NULL,'Pine','Way','S',NULL,NULL,NULL,NULL,'Greenville',1,1031,NULL,'12083',NULL,1228,42.430684,-74.03728,0,NULL,NULL,NULL),
- (14,130,1,1,0,'69B Cadell Dr SW',69,'B',NULL,'Cadell','Dr','SW',NULL,NULL,NULL,NULL,'Pageton',1,1047,NULL,'24871',NULL,1228,37.325163,-81.47554,0,NULL,NULL,NULL),
- (15,15,1,1,0,'316T Dowlen Ave SW',316,'T',NULL,'Dowlen','Ave','SW',NULL,NULL,NULL,NULL,'White Earth',1,1022,NULL,'56591',NULL,1228,46.933961,-95.678375,0,NULL,NULL,NULL),
- (16,106,1,1,0,'734D Dowlen Rd NW',734,'D',NULL,'Dowlen','Rd','NW',NULL,NULL,NULL,NULL,'Bentonville',1,1003,NULL,'72712',NULL,1228,36.362525,-94.23308,0,NULL,NULL,NULL),
- (17,112,1,1,0,'225Q Woodbridge Path E',225,'Q',NULL,'Woodbridge','Path','E',NULL,NULL,NULL,NULL,'Dover Foxcroft',1,1018,NULL,'04426',NULL,1228,45.195052,-69.18861,0,NULL,NULL,NULL),
- (18,171,1,1,0,'93I Lincoln Blvd E',93,'I',NULL,'Lincoln','Blvd','E',NULL,NULL,NULL,NULL,'Millport',1,1000,NULL,'35576',NULL,1228,33.581135,-88.10835,0,NULL,NULL,NULL),
- (19,157,1,1,0,'33C Dowlen Dr W',33,'C',NULL,'Dowlen','Dr','W',NULL,NULL,NULL,NULL,'Pittsburgh',1,1037,NULL,'15268',NULL,1228,40.434436,-80.024817,0,NULL,NULL,NULL),
- (20,128,1,1,0,'749A College Dr NW',749,'A',NULL,'College','Dr','NW',NULL,NULL,NULL,NULL,'Manila',1,1003,NULL,'72442',NULL,1228,35.83821,-90.17029,0,NULL,NULL,NULL),
- (21,84,1,1,0,'754O Dowlen Ln SE',754,'O',NULL,'Dowlen','Ln','SE',NULL,NULL,NULL,NULL,'Fargo',1,1033,NULL,'58104',NULL,1228,46.812118,-96.839,0,NULL,NULL,NULL),
- (22,180,1,1,0,'820P Cadell Dr NW',820,'P',NULL,'Cadell','Dr','NW',NULL,NULL,NULL,NULL,'Herrin',1,1012,NULL,'62648',NULL,1228,37.803216,-89.058643,0,NULL,NULL,NULL),
- (23,118,1,1,0,'682J Beech Ave S',682,'J',NULL,'Beech','Ave','S',NULL,NULL,NULL,NULL,'McCrory',1,1003,NULL,'72189',NULL,1228,35.179148,-91.259428,0,NULL,NULL,NULL),
- (24,61,1,1,0,'901Z Dowlen Pl NW',901,'Z',NULL,'Dowlen','Pl','NW',NULL,NULL,NULL,NULL,'Mount Sterling',1,1048,NULL,'54645',NULL,1228,43.31493,-90.9287,0,NULL,NULL,NULL),
- (25,174,1,1,0,'687R Beech Dr NE',687,'R',NULL,'Beech','Dr','NE',NULL,NULL,NULL,NULL,'Edwards',1,1023,NULL,'39066',NULL,1228,32.295098,-90.60286,0,NULL,NULL,NULL),
- (26,107,1,1,0,'869V Woodbridge Rd NE',869,'V',NULL,'Woodbridge','Rd','NE',NULL,NULL,NULL,NULL,'Dayton',1,1034,NULL,'45402',NULL,1228,39.757758,-84.18848,0,NULL,NULL,NULL),
- (27,80,1,1,0,'833I Second Ave S',833,'I',NULL,'Second','Ave','S',NULL,NULL,NULL,NULL,'Rapidan',1,1045,NULL,'22733',NULL,1228,38.324175,-78.05877,0,NULL,NULL,NULL),
- (28,198,1,1,0,'106M Dowlen Ave E',106,'M',NULL,'Dowlen','Ave','E',NULL,NULL,NULL,NULL,'Detroit',1,1021,NULL,'48231',NULL,1228,42.239933,-83.150823,0,NULL,NULL,NULL),
- (29,149,1,1,0,'326Y El Camino Way NE',326,'Y',NULL,'El Camino','Way','NE',NULL,NULL,NULL,NULL,'Madison',1,1048,NULL,'53787',NULL,1228,43.06956,-89.423861,0,NULL,NULL,NULL),
- (30,96,1,1,0,'789X College Way NW',789,'X',NULL,'College','Way','NW',NULL,NULL,NULL,NULL,'Hancock',1,1018,NULL,'04640',NULL,1228,44.524526,-68.28298,0,NULL,NULL,NULL),
- (31,188,1,1,0,'152O Pine Ave NW',152,'O',NULL,'Pine','Ave','NW',NULL,NULL,NULL,NULL,'Sauquoit',1,1031,NULL,'13456',NULL,1228,43.005669,-75.26202,0,NULL,NULL,NULL),
- (32,97,1,1,0,'471W Northpoint Path SW',471,'W',NULL,'Northpoint','Path','SW',NULL,NULL,NULL,NULL,'Storrie',1,1004,NULL,'95980',NULL,1228,39.918503,-121.337404,0,NULL,NULL,NULL),
- (33,4,1,1,0,'171J Van Ness Pl SE',171,'J',NULL,'Van Ness','Pl','SE',NULL,NULL,NULL,NULL,'Juana Diaz',1,1056,NULL,'00795',NULL,1228,18.036253,-66.50289,0,NULL,NULL,NULL),
- (34,49,1,1,0,'400X Van Ness Blvd N',400,'X',NULL,'Van Ness','Blvd','N',NULL,NULL,NULL,NULL,'Lakeside',1,1025,NULL,'59922',NULL,1228,48.005656,-114.24184,0,NULL,NULL,NULL),
- (35,68,1,1,0,'403T Van Ness Ave E',403,'T',NULL,'Van Ness','Ave','E',NULL,NULL,NULL,NULL,'Lincoln',1,1030,NULL,'88338',NULL,1228,33.479136,-105.35812,0,NULL,NULL,NULL),
- (36,63,1,1,0,'49Q Caulder Dr NE',49,'Q',NULL,'Caulder','Dr','NE',NULL,NULL,NULL,NULL,'Spring',1,1042,NULL,'77379',NULL,1228,30.024749,-95.53215,0,NULL,NULL,NULL),
- (37,92,1,1,0,'676P Beech Rd N',676,'P',NULL,'Beech','Rd','N',NULL,NULL,NULL,NULL,'Locust Grove',1,1035,NULL,'74352',NULL,1228,36.148065,-95.16801,0,NULL,NULL,NULL),
- (38,138,1,1,0,'985J Jackson Dr E',985,'J',NULL,'Jackson','Dr','E',NULL,NULL,NULL,NULL,'Washington',1,1050,NULL,'20350',NULL,1228,38.893311,-77.014647,0,NULL,NULL,NULL),
- (39,83,1,1,0,'827T States Ln SE',827,'T',NULL,'States','Ln','SE',NULL,NULL,NULL,NULL,'Lamont',1,1021,NULL,'49430',NULL,1228,43.010337,-85.89754,0,NULL,NULL,NULL),
- (40,13,1,1,0,'54P Northpoint Blvd SW',54,'P',NULL,'Northpoint','Blvd','SW',NULL,NULL,NULL,NULL,'Paradis',1,1017,NULL,'70080',NULL,1228,29.878373,-90.43063,0,NULL,NULL,NULL),
- (41,98,1,1,0,'539Z Second St SW',539,'Z',NULL,'Second','St','SW',NULL,NULL,NULL,NULL,'Zavalla',1,1042,NULL,'75980',NULL,1228,31.154673,-94.363,0,NULL,NULL,NULL),
- (42,103,1,1,0,'786W Jackson Ln SW',786,'W',NULL,'Jackson','Ln','SW',NULL,NULL,NULL,NULL,'Everton',1,1003,NULL,'72633',NULL,1228,36.150276,-92.89576,0,NULL,NULL,NULL),
- (43,105,1,1,0,'236Q Caulder Way SE',236,'Q',NULL,'Caulder','Way','SE',NULL,NULL,NULL,NULL,'Chambersburg',1,1012,NULL,'62323',NULL,1228,39.817702,-90.66923,0,NULL,NULL,NULL),
- (44,183,1,1,0,'468S Woodbridge Dr NE',468,'S',NULL,'Woodbridge','Dr','NE',NULL,NULL,NULL,NULL,'Van Nuys',1,1004,NULL,'91482',NULL,1228,33.786594,-118.298662,0,NULL,NULL,NULL),
- (45,119,1,1,0,'13X Bay Ave SW',13,'X',NULL,'Bay','Ave','SW',NULL,NULL,NULL,NULL,'Norwood',1,1031,NULL,'13668',NULL,1228,44.752355,-74.98906,0,NULL,NULL,NULL),
- (46,20,1,1,0,'997N Woodbridge Way N',997,'N',NULL,'Woodbridge','Way','N',NULL,NULL,NULL,NULL,'Dwight',1,1015,NULL,'66849',NULL,1228,38.877563,-96.58981,0,NULL,NULL,NULL),
- (47,161,1,1,0,'307V Cadell Path S',307,'V',NULL,'Cadell','Path','S',NULL,NULL,NULL,NULL,'Luning',1,1027,NULL,'89420',NULL,1228,38.555308,-118.21818,0,NULL,NULL,NULL),
- (48,44,1,1,0,'727I Van Ness Dr S',727,'I',NULL,'Van Ness','Dr','S',NULL,NULL,NULL,NULL,'Madison',1,1048,NULL,'53787',NULL,1228,43.06956,-89.423861,0,NULL,NULL,NULL),
- (49,201,1,1,0,'556E Second Path E',556,'E',NULL,'Second','Path','E',NULL,NULL,NULL,NULL,'Coats',1,1015,NULL,'67028',NULL,1228,37.469499,-98.93543,0,NULL,NULL,NULL),
- (50,124,1,1,0,'292S Green Path S',292,'S',NULL,'Green','Path','S',NULL,NULL,NULL,NULL,'Palestine',1,1042,NULL,'75803',NULL,1228,31.760418,-95.656779,0,NULL,NULL,NULL),
- (51,151,1,1,0,'905W Cadell St W',905,'W',NULL,'Cadell','St','W',NULL,NULL,NULL,NULL,'Brooksville',1,1008,NULL,'34610',NULL,1228,28.397791,-82.53084,0,NULL,NULL,NULL),
- (52,90,1,1,0,'733X Caulder Ln SE',733,'X',NULL,'Caulder','Ln','SE',NULL,NULL,NULL,NULL,'Alabaster',1,1000,NULL,'35007',NULL,1228,33.232422,-86.80871,0,NULL,NULL,NULL),
- (53,78,1,1,0,'79S Lincoln Ave SE',79,'S',NULL,'Lincoln','Ave','SE',NULL,NULL,NULL,NULL,'Flint',1,1021,NULL,'48550',NULL,1228,43.034927,-83.688706,0,NULL,NULL,NULL),
- (54,131,1,1,0,'702I Cadell Pl N',702,'I',NULL,'Cadell','Pl','N',NULL,NULL,NULL,NULL,'New Britain',1,1006,NULL,'06052',NULL,1228,41.659099,-72.80129,0,NULL,NULL,NULL),
- (55,32,1,1,0,'79L Caulder Rd W',79,'L',NULL,'Caulder','Rd','W',NULL,NULL,NULL,NULL,'Chattahoochee',1,1008,NULL,'32324',NULL,1228,30.687983,-84.8218,0,NULL,NULL,NULL),
- (56,132,1,1,0,'810I Cadell Ave NE',810,'I',NULL,'Cadell','Ave','NE',NULL,NULL,NULL,NULL,'Sioux Falls',1,1040,NULL,'57196',NULL,1228,43.674582,-96.79134,0,NULL,NULL,NULL),
- (57,153,1,1,0,'47H College Ave NW',47,'H',NULL,'College','Ave','NW',NULL,NULL,NULL,NULL,'South Shore',1,1016,NULL,'41175',NULL,1228,38.676695,-82.9686,0,NULL,NULL,NULL),
- (58,37,1,1,0,'316W El Camino Way NE',316,'W',NULL,'El Camino','Way','NE',NULL,NULL,NULL,NULL,'Glenwood',1,1012,NULL,'60425',NULL,1228,41.544584,-87.61289,0,NULL,NULL,NULL),
- (59,169,1,1,0,'13D Caulder Ln S',13,'D',NULL,'Caulder','Ln','S',NULL,NULL,NULL,NULL,'Mobile',1,1000,NULL,'36695',NULL,1228,30.646415,-88.23657,0,NULL,NULL,NULL),
- (60,67,1,1,0,'4B Lincoln Ln S',4,'B',NULL,'Lincoln','Ln','S',NULL,NULL,NULL,NULL,'Elizabeth City',1,1032,NULL,'27907',NULL,1228,36.285026,-76.255312,0,NULL,NULL,NULL),
- (61,94,1,1,0,'208V Pine Pl E',208,'V',NULL,'Pine','Pl','E',NULL,NULL,NULL,NULL,'Sandy',1,1043,NULL,'84070',NULL,1228,40.581595,-111.88821,0,NULL,NULL,NULL),
- (62,129,1,1,0,'920P Caulder Path S',920,'P',NULL,'Caulder','Path','S',NULL,NULL,NULL,NULL,'Perry',1,1040,NULL,'57309',NULL,1228,43.383541,-96.806422,0,NULL,NULL,NULL),
- (63,25,1,1,0,'408O Beech Path S',408,'O',NULL,'Beech','Path','S',NULL,NULL,NULL,NULL,'Crawfordville',1,1009,NULL,'30631',NULL,1228,33.570317,-82.88542,0,NULL,NULL,NULL),
- (64,10,1,1,0,'581S Bay Ln N',581,'S',NULL,'Bay','Ln','N',NULL,NULL,NULL,NULL,'Woodland',1,1048,NULL,'53099',NULL,1228,43.414202,-88.704914,0,NULL,NULL,NULL),
- (65,43,1,1,0,'24H States Path S',24,'H',NULL,'States','Path','S',NULL,NULL,NULL,NULL,'Allensville',1,1016,NULL,'42204',NULL,1228,36.70996,-87.07105,0,NULL,NULL,NULL),
- (66,141,1,1,0,'608F Woodbridge Pl NE',608,'F',NULL,'Woodbridge','Pl','NE',NULL,NULL,NULL,NULL,'Brownell',1,1015,NULL,'67521',NULL,1228,38.618706,-99.74865,0,NULL,NULL,NULL),
- (67,177,1,1,0,'227K Woodbridge St S',227,'K',NULL,'Woodbridge','St','S',NULL,NULL,NULL,NULL,'Brookfield',1,1012,NULL,'60513',NULL,1228,41.822681,-87.84753,0,NULL,NULL,NULL),
- (68,116,3,1,0,'96U States St E',96,'U',NULL,'States','St','E',NULL,'Cuffe Parade',NULL,NULL,'Bradley',1,1003,NULL,'71826',NULL,1228,33.102083,-93.67372,0,NULL,NULL,NULL),
- (69,17,3,1,0,'887G Lincoln Ln SW',887,'G',NULL,'Lincoln','Ln','SW',NULL,'Subscriptions Dept',NULL,NULL,'Kinsman',1,1034,NULL,'44428',NULL,1228,41.443358,-80.58862,0,NULL,NULL,NULL),
- (70,19,2,1,0,'887G Lincoln Ln SW',887,'G',NULL,'Lincoln','Ln','SW',NULL,'Subscriptions Dept',NULL,NULL,'Kinsman',1,1034,NULL,'44428',NULL,1228,41.443358,-80.58862,0,NULL,NULL,69),
- (71,115,3,1,0,'376N Maple Ln NW',376,'N',NULL,'Maple','Ln','NW',NULL,'Receiving',NULL,NULL,'Inkster',1,1033,NULL,'58244',NULL,1228,48.144073,-97.63321,0,NULL,NULL,NULL),
- (72,136,2,1,0,'376N Maple Ln NW',376,'N',NULL,'Maple','Ln','NW',NULL,'Receiving',NULL,NULL,'Inkster',1,1033,NULL,'58244',NULL,1228,48.144073,-97.63321,0,NULL,NULL,71),
- (73,102,3,1,0,'806Q States Path NW',806,'Q',NULL,'States','Path','NW',NULL,'Receiving',NULL,NULL,'Caguas',1,1056,NULL,'00625',NULL,1228,18.232109,-66.039087,0,NULL,NULL,NULL),
- (74,76,2,0,0,'806Q States Path NW',806,'Q',NULL,'States','Path','NW',NULL,'Receiving',NULL,NULL,'Caguas',1,1056,NULL,'00625',NULL,1228,18.232109,-66.039087,0,NULL,NULL,73),
- (75,187,3,1,0,'511K Cadell Path NE',511,'K',NULL,'Cadell','Path','NE',NULL,'Community Relations',NULL,NULL,'Libby',1,1025,NULL,'59923',NULL,1228,48.309374,-115.3286,0,NULL,NULL,NULL),
- (76,195,3,1,0,'899O Van Ness Pl N',899,'O',NULL,'Van Ness','Pl','N',NULL,'Editorial Dept',NULL,NULL,'Watertown',1,1031,NULL,'13603',NULL,1228,44.030204,-75.81845,0,NULL,NULL,NULL),
- (77,28,2,1,0,'899O Van Ness Pl N',899,'O',NULL,'Van Ness','Pl','N',NULL,'Editorial Dept',NULL,NULL,'Watertown',1,1031,NULL,'13603',NULL,1228,44.030204,-75.81845,0,NULL,NULL,76),
- (78,101,3,1,0,'161F Van Ness Blvd NW',161,'F',NULL,'Van Ness','Blvd','NW',NULL,'Community Relations',NULL,NULL,'Orlando',1,1008,NULL,'32867',NULL,1228,28.566338,-81.260818,0,NULL,NULL,NULL),
- (79,98,2,0,0,'161F Van Ness Blvd NW',161,'F',NULL,'Van Ness','Blvd','NW',NULL,'Community Relations',NULL,NULL,'Orlando',1,1008,NULL,'32867',NULL,1228,28.566338,-81.260818,0,NULL,NULL,78),
- (80,21,3,1,0,'181Y College Dr NE',181,'Y',NULL,'College','Dr','NE',NULL,'Receiving',NULL,NULL,'Crosslake',1,1022,NULL,'56442',NULL,1228,46.67066,-94.10686,0,NULL,NULL,NULL),
- (81,126,2,1,0,'181Y College Dr NE',181,'Y',NULL,'College','Dr','NE',NULL,'Receiving',NULL,NULL,'Crosslake',1,1022,NULL,'56442',NULL,1228,46.67066,-94.10686,0,NULL,NULL,80),
- (82,18,3,1,0,'743C Van Ness Dr SW',743,'C',NULL,'Van Ness','Dr','SW',NULL,'Community Relations',NULL,NULL,'Delphos',1,1034,NULL,'45833',NULL,1228,40.841409,-84.34178,0,NULL,NULL,NULL),
- (83,36,2,1,0,'743C Van Ness Dr SW',743,'C',NULL,'Van Ness','Dr','SW',NULL,'Community Relations',NULL,NULL,'Delphos',1,1034,NULL,'45833',NULL,1228,40.841409,-84.34178,0,NULL,NULL,82),
- (84,109,3,1,0,'71Y Main Ave S',71,'Y',NULL,'Main','Ave','S',NULL,'Community Relations',NULL,NULL,'El Paso',1,1042,NULL,'88550',NULL,1228,31.694842,-106.299987,0,NULL,NULL,NULL),
- (85,155,2,1,0,'71Y Main Ave S',71,'Y',NULL,'Main','Ave','S',NULL,'Community Relations',NULL,NULL,'El Paso',1,1042,NULL,'88550',NULL,1228,31.694842,-106.299987,0,NULL,NULL,84),
- (86,93,3,1,0,'192I Woodbridge Path NW',192,'I',NULL,'Woodbridge','Path','NW',NULL,'c/o OPDC',NULL,NULL,'Sanibel',1,1008,NULL,'33957',NULL,1228,26.439608,-82.08045,0,NULL,NULL,NULL),
- (87,135,2,1,0,'192I Woodbridge Path NW',192,'I',NULL,'Woodbridge','Path','NW',NULL,'c/o OPDC',NULL,NULL,'Sanibel',1,1008,NULL,'33957',NULL,1228,26.439608,-82.08045,0,NULL,NULL,86),
- (88,33,3,1,0,'658M Bay St NW',658,'M',NULL,'Bay','St','NW',NULL,'c/o PO Plus',NULL,NULL,'Oakesdale',1,1046,NULL,'99158',NULL,1228,47.136249,-117.25463,0,NULL,NULL,NULL),
- (89,166,3,1,0,'25A Main Ln W',25,'A',NULL,'Main','Ln','W',NULL,'Attn: Development',NULL,NULL,'Tolley',1,1033,NULL,'58787',NULL,1228,48.76715,-101.81935,0,NULL,NULL,NULL),
- (90,56,3,1,0,'772G Woodbridge Rd SE',772,'G',NULL,'Woodbridge','Rd','SE',NULL,'Churchgate',NULL,NULL,'Los Angeles',1,1004,NULL,'90102',NULL,1228,33.786594,-118.298662,0,NULL,NULL,NULL),
- (91,178,3,1,0,'684A Northpoint St SE',684,'A',NULL,'Northpoint','St','SE',NULL,'Editorial Dept',NULL,NULL,'Kulpsville',1,1037,NULL,'19443',NULL,1228,40.241004,-75.34392,0,NULL,NULL,NULL),
- (92,184,3,1,0,'80X Bay Dr NE',80,'X',NULL,'Bay','Dr','NE',NULL,'Subscriptions Dept',NULL,NULL,'Carlinville',1,1012,NULL,'62626',NULL,1228,39.280289,-89.8757,0,NULL,NULL,NULL),
- (93,11,3,1,0,'997G Northpoint Blvd NW',997,'G',NULL,'Northpoint','Blvd','NW',NULL,'Attn: Accounting',NULL,NULL,'Padroni',1,1005,NULL,'80745',NULL,1228,40.825947,-103.27669,0,NULL,NULL,NULL),
- (94,173,3,1,0,'899M Beech Rd NW',899,'M',NULL,'Beech','Rd','NW',NULL,'Urgent',NULL,NULL,'Alcova',1,1049,NULL,'82620',NULL,1228,42.65723,-107.12523,0,NULL,NULL,NULL),
- (95,86,2,1,0,'899M Beech Rd NW',899,'M',NULL,'Beech','Rd','NW',NULL,'Urgent',NULL,NULL,'Alcova',1,1049,NULL,'82620',NULL,1228,42.65723,-107.12523,0,NULL,NULL,94),
- (96,120,3,1,0,'522Y Van Ness Ave W',522,'Y',NULL,'Van Ness','Ave','W',NULL,'Attn: Accounting',NULL,NULL,'Passadumkeag',1,1018,NULL,'04475',NULL,1228,45.191812,-68.58953,0,NULL,NULL,NULL),
- (97,96,2,0,0,'522Y Van Ness Ave W',522,'Y',NULL,'Van Ness','Ave','W',NULL,'Attn: Accounting',NULL,NULL,'Passadumkeag',1,1018,NULL,'04475',NULL,1228,45.191812,-68.58953,0,NULL,NULL,96),
- (98,42,3,1,0,'464Q Van Ness Ln SW',464,'Q',NULL,'Van Ness','Ln','SW',NULL,'Donor Relations',NULL,NULL,'Waggoner',1,1012,NULL,'62572',NULL,1228,39.370091,-89.67132,0,NULL,NULL,NULL),
- (99,110,1,1,0,'727I Van Ness Dr S',727,'I',NULL,'Van Ness','Dr','S',NULL,NULL,NULL,NULL,'Madison',1,1048,NULL,'53787',NULL,1228,43.06956,-89.423861,0,NULL,NULL,48),
- (100,121,1,1,0,'727I Van Ness Dr S',727,'I',NULL,'Van Ness','Dr','S',NULL,NULL,NULL,NULL,'Madison',1,1048,NULL,'53787',NULL,1228,43.06956,-89.423861,0,NULL,NULL,48),
- (101,122,1,1,0,'727I Van Ness Dr S',727,'I',NULL,'Van Ness','Dr','S',NULL,NULL,NULL,NULL,'Madison',1,1048,NULL,'53787',NULL,1228,43.06956,-89.423861,0,NULL,NULL,48),
- (102,35,1,1,0,'595E Maple Blvd SW',595,'E',NULL,'Maple','Blvd','SW',NULL,NULL,NULL,NULL,'Meade',1,1015,NULL,'67864',NULL,1228,37.21313,-100.34464,0,NULL,NULL,NULL),
- (103,143,1,1,0,'556E Second Path E',556,'E',NULL,'Second','Path','E',NULL,NULL,NULL,NULL,'Coats',1,1015,NULL,'67028',NULL,1228,37.469499,-98.93543,0,NULL,NULL,49),
- (104,52,1,1,0,'556E Second Path E',556,'E',NULL,'Second','Path','E',NULL,NULL,NULL,NULL,'Coats',1,1015,NULL,'67028',NULL,1228,37.469499,-98.93543,0,NULL,NULL,49),
- (105,50,1,1,0,'556E Second Path E',556,'E',NULL,'Second','Path','E',NULL,NULL,NULL,NULL,'Coats',1,1015,NULL,'67028',NULL,1228,37.469499,-98.93543,0,NULL,NULL,49),
- (106,156,1,1,0,'949M Beech Path NE',949,'M',NULL,'Beech','Path','NE',NULL,NULL,NULL,NULL,'Herndon',1,1045,NULL,'22092',NULL,1228,38.831813,-77.288755,0,NULL,NULL,NULL),
- (107,82,1,1,0,'292S Green Path S',292,'S',NULL,'Green','Path','S',NULL,NULL,NULL,NULL,'Palestine',1,1042,NULL,'75803',NULL,1228,31.760418,-95.656779,0,NULL,NULL,50),
- (108,165,1,1,0,'292S Green Path S',292,'S',NULL,'Green','Path','S',NULL,NULL,NULL,NULL,'Palestine',1,1042,NULL,'75803',NULL,1228,31.760418,-95.656779,0,NULL,NULL,50),
- (109,127,1,1,0,'292S Green Path S',292,'S',NULL,'Green','Path','S',NULL,NULL,NULL,NULL,'Palestine',1,1042,NULL,'75803',NULL,1228,31.760418,-95.656779,0,NULL,NULL,50),
- (110,146,1,1,0,'712S Cadell Dr S',712,'S',NULL,'Cadell','Dr','S',NULL,NULL,NULL,NULL,'Williston',1,1033,NULL,'58801',NULL,1228,48.20496,-103.71908,0,NULL,NULL,NULL),
- (111,59,1,1,0,'905W Cadell St W',905,'W',NULL,'Cadell','St','W',NULL,NULL,NULL,NULL,'Brooksville',1,1008,NULL,'34610',NULL,1228,28.397791,-82.53084,0,NULL,NULL,51),
- (112,72,1,1,0,'905W Cadell St W',905,'W',NULL,'Cadell','St','W',NULL,NULL,NULL,NULL,'Brooksville',1,1008,NULL,'34610',NULL,1228,28.397791,-82.53084,0,NULL,NULL,51),
- (113,108,1,1,0,'905W Cadell St W',905,'W',NULL,'Cadell','St','W',NULL,NULL,NULL,NULL,'Brooksville',1,1008,NULL,'34610',NULL,1228,28.397791,-82.53084,0,NULL,NULL,51),
- (114,190,1,1,0,'905W Cadell St W',905,'W',NULL,'Cadell','St','W',NULL,NULL,NULL,NULL,'Brooksville',1,1008,NULL,'34610',NULL,1228,28.397791,-82.53084,0,NULL,NULL,51),
- (115,65,1,1,0,'733X Caulder Ln SE',733,'X',NULL,'Caulder','Ln','SE',NULL,NULL,NULL,NULL,'Alabaster',1,1000,NULL,'35007',NULL,1228,33.232422,-86.80871,0,NULL,NULL,52),
- (116,189,1,1,0,'733X Caulder Ln SE',733,'X',NULL,'Caulder','Ln','SE',NULL,NULL,NULL,NULL,'Alabaster',1,1000,NULL,'35007',NULL,1228,33.232422,-86.80871,0,NULL,NULL,52),
- (117,88,1,1,0,'733X Caulder Ln SE',733,'X',NULL,'Caulder','Ln','SE',NULL,NULL,NULL,NULL,'Alabaster',1,1000,NULL,'35007',NULL,1228,33.232422,-86.80871,0,NULL,NULL,52),
- (118,81,1,1,0,'823Y Caulder Way SE',823,'Y',NULL,'Caulder','Way','SE',NULL,NULL,NULL,NULL,'Honolulu',1,1010,NULL,'96845',NULL,1228,24.859832,-168.021815,0,NULL,NULL,NULL),
- (119,19,1,0,0,'79S Lincoln Ave SE',79,'S',NULL,'Lincoln','Ave','SE',NULL,NULL,NULL,NULL,'Flint',1,1021,NULL,'48550',NULL,1228,43.034927,-83.688706,0,NULL,NULL,53),
- (120,186,1,1,0,'79S Lincoln Ave SE',79,'S',NULL,'Lincoln','Ave','SE',NULL,NULL,NULL,NULL,'Flint',1,1021,NULL,'48550',NULL,1228,43.034927,-83.688706,0,NULL,NULL,53),
- (121,136,1,0,0,'79S Lincoln Ave SE',79,'S',NULL,'Lincoln','Ave','SE',NULL,NULL,NULL,NULL,'Flint',1,1021,NULL,'48550',NULL,1228,43.034927,-83.688706,0,NULL,NULL,53),
- (122,196,1,1,0,'79S Lincoln Ave SE',79,'S',NULL,'Lincoln','Ave','SE',NULL,NULL,NULL,NULL,'Flint',1,1021,NULL,'48550',NULL,1228,43.034927,-83.688706,0,NULL,NULL,53),
- (123,154,1,1,0,'702I Cadell Pl N',702,'I',NULL,'Cadell','Pl','N',NULL,NULL,NULL,NULL,'New Britain',1,1006,NULL,'06052',NULL,1228,41.659099,-72.80129,0,NULL,NULL,54),
- (124,176,1,1,0,'702I Cadell Pl N',702,'I',NULL,'Cadell','Pl','N',NULL,NULL,NULL,NULL,'New Britain',1,1006,NULL,'06052',NULL,1228,41.659099,-72.80129,0,NULL,NULL,54),
- (125,77,1,1,0,'702I Cadell Pl N',702,'I',NULL,'Cadell','Pl','N',NULL,NULL,NULL,NULL,'New Britain',1,1006,NULL,'06052',NULL,1228,41.659099,-72.80129,0,NULL,NULL,54),
- (126,134,1,1,0,'702I Cadell Pl N',702,'I',NULL,'Cadell','Pl','N',NULL,NULL,NULL,NULL,'New Britain',1,1006,NULL,'06052',NULL,1228,41.659099,-72.80129,0,NULL,NULL,54),
- (127,27,1,1,0,'79L Caulder Rd W',79,'L',NULL,'Caulder','Rd','W',NULL,NULL,NULL,NULL,'Chattahoochee',1,1008,NULL,'32324',NULL,1228,30.687983,-84.8218,0,NULL,NULL,55),
- (128,47,1,1,0,'79L Caulder Rd W',79,'L',NULL,'Caulder','Rd','W',NULL,NULL,NULL,NULL,'Chattahoochee',1,1008,NULL,'32324',NULL,1228,30.687983,-84.8218,0,NULL,NULL,55),
- (129,55,1,1,0,'79L Caulder Rd W',79,'L',NULL,'Caulder','Rd','W',NULL,NULL,NULL,NULL,'Chattahoochee',1,1008,NULL,'32324',NULL,1228,30.687983,-84.8218,0,NULL,NULL,55),
- (130,193,1,1,0,'8Q Maple Pl NW',8,'Q',NULL,'Maple','Pl','NW',NULL,NULL,NULL,NULL,'Centuria',1,1048,NULL,'54824',NULL,1228,45.454867,-92.52701,0,NULL,NULL,NULL),
- (131,53,1,1,0,'810I Cadell Ave NE',810,'I',NULL,'Cadell','Ave','NE',NULL,NULL,NULL,NULL,'Sioux Falls',1,1040,NULL,'57196',NULL,1228,43.674582,-96.79134,0,NULL,NULL,56),
- (132,114,1,1,0,'810I Cadell Ave NE',810,'I',NULL,'Cadell','Ave','NE',NULL,NULL,NULL,NULL,'Sioux Falls',1,1040,NULL,'57196',NULL,1228,43.674582,-96.79134,0,NULL,NULL,56),
- (133,125,1,1,0,'810I Cadell Ave NE',810,'I',NULL,'Cadell','Ave','NE',NULL,NULL,NULL,NULL,'Sioux Falls',1,1040,NULL,'57196',NULL,1228,43.674582,-96.79134,0,NULL,NULL,56),
- (134,182,1,1,0,'573Z Dowlen St S',573,'Z',NULL,'Dowlen','St','S',NULL,NULL,NULL,NULL,'Battleboro',1,1032,NULL,'27809',NULL,1228,36.032405,-77.78636,0,NULL,NULL,NULL),
- (135,24,1,1,0,'47H College Ave NW',47,'H',NULL,'College','Ave','NW',NULL,NULL,NULL,NULL,'South Shore',1,1016,NULL,'41175',NULL,1228,38.676695,-82.9686,0,NULL,NULL,57),
- (136,85,1,1,0,'47H College Ave NW',47,'H',NULL,'College','Ave','NW',NULL,NULL,NULL,NULL,'South Shore',1,1016,NULL,'41175',NULL,1228,38.676695,-82.9686,0,NULL,NULL,57),
- (137,133,1,1,0,'47H College Ave NW',47,'H',NULL,'College','Ave','NW',NULL,NULL,NULL,NULL,'South Shore',1,1016,NULL,'41175',NULL,1228,38.676695,-82.9686,0,NULL,NULL,57),
- (138,139,1,1,0,'724W Beech Blvd W',724,'W',NULL,'Beech','Blvd','W',NULL,NULL,NULL,NULL,'Fort Wainwright',1,1001,NULL,'99703',NULL,1228,64.827164,-147.6265,0,NULL,NULL,NULL),
- (139,123,1,1,0,'316W El Camino Way NE',316,'W',NULL,'El Camino','Way','NE',NULL,NULL,NULL,NULL,'Glenwood',1,1012,NULL,'60425',NULL,1228,41.544584,-87.61289,0,NULL,NULL,58),
- (140,87,1,1,0,'316W El Camino Way NE',316,'W',NULL,'El Camino','Way','NE',NULL,NULL,NULL,NULL,'Glenwood',1,1012,NULL,'60425',NULL,1228,41.544584,-87.61289,0,NULL,NULL,58),
- (141,86,1,0,0,'316W El Camino Way NE',316,'W',NULL,'El Camino','Way','NE',NULL,NULL,NULL,NULL,'Glenwood',1,1012,NULL,'60425',NULL,1228,41.544584,-87.61289,0,NULL,NULL,58),
- (142,155,1,0,0,'316W El Camino Way NE',316,'W',NULL,'El Camino','Way','NE',NULL,NULL,NULL,NULL,'Glenwood',1,1012,NULL,'60425',NULL,1228,41.544584,-87.61289,0,NULL,NULL,58),
- (143,117,1,1,0,'13D Caulder Ln S',13,'D',NULL,'Caulder','Ln','S',NULL,NULL,NULL,NULL,'Mobile',1,1000,NULL,'36695',NULL,1228,30.646415,-88.23657,0,NULL,NULL,59),
- (144,16,1,1,0,'13D Caulder Ln S',13,'D',NULL,'Caulder','Ln','S',NULL,NULL,NULL,NULL,'Mobile',1,1000,NULL,'36695',NULL,1228,30.646415,-88.23657,0,NULL,NULL,59),
- (145,26,1,1,0,'13D Caulder Ln S',13,'D',NULL,'Caulder','Ln','S',NULL,NULL,NULL,NULL,'Mobile',1,1000,NULL,'36695',NULL,1228,30.646415,-88.23657,0,NULL,NULL,59),
- (146,75,1,1,0,'618M College Blvd N',618,'M',NULL,'College','Blvd','N',NULL,NULL,NULL,NULL,'New Auburn',1,1022,NULL,'55366',NULL,1228,44.673454,-94.229311,0,NULL,NULL,NULL),
- (147,36,1,0,0,'4B Lincoln Ln S',4,'B',NULL,'Lincoln','Ln','S',NULL,NULL,NULL,NULL,'Elizabeth City',1,1032,NULL,'27907',NULL,1228,36.285026,-76.255312,0,NULL,NULL,60),
- (148,181,1,1,0,'4B Lincoln Ln S',4,'B',NULL,'Lincoln','Ln','S',NULL,NULL,NULL,NULL,'Elizabeth City',1,1032,NULL,'27907',NULL,1228,36.285026,-76.255312,0,NULL,NULL,60),
- (149,199,1,1,0,'4B Lincoln Ln S',4,'B',NULL,'Lincoln','Ln','S',NULL,NULL,NULL,NULL,'Elizabeth City',1,1032,NULL,'27907',NULL,1228,36.285026,-76.255312,0,NULL,NULL,60),
- (150,6,1,1,0,'4B Lincoln Ln S',4,'B',NULL,'Lincoln','Ln','S',NULL,NULL,NULL,NULL,'Elizabeth City',1,1032,NULL,'27907',NULL,1228,36.285026,-76.255312,0,NULL,NULL,60),
- (151,31,1,1,0,'208V Pine Pl E',208,'V',NULL,'Pine','Pl','E',NULL,NULL,NULL,NULL,'Sandy',1,1043,NULL,'84070',NULL,1228,40.581595,-111.88821,0,NULL,NULL,61),
- (152,179,1,1,0,'208V Pine Pl E',208,'V',NULL,'Pine','Pl','E',NULL,NULL,NULL,NULL,'Sandy',1,1043,NULL,'84070',NULL,1228,40.581595,-111.88821,0,NULL,NULL,61),
- (153,145,1,1,0,'208V Pine Pl E',208,'V',NULL,'Pine','Pl','E',NULL,NULL,NULL,NULL,'Sandy',1,1043,NULL,'84070',NULL,1228,40.581595,-111.88821,0,NULL,NULL,61),
- (154,51,1,1,0,'208V Pine Pl E',208,'V',NULL,'Pine','Pl','E',NULL,NULL,NULL,NULL,'Sandy',1,1043,NULL,'84070',NULL,1228,40.581595,-111.88821,0,NULL,NULL,61),
- (155,74,1,1,0,'920P Caulder Path S',920,'P',NULL,'Caulder','Path','S',NULL,NULL,NULL,NULL,'Perry',1,1040,NULL,'57309',NULL,1228,43.383541,-96.806422,0,NULL,NULL,62),
- (156,41,1,1,0,'920P Caulder Path S',920,'P',NULL,'Caulder','Path','S',NULL,NULL,NULL,NULL,'Perry',1,1040,NULL,'57309',NULL,1228,43.383541,-96.806422,0,NULL,NULL,62),
- (157,28,1,0,0,'920P Caulder Path S',920,'P',NULL,'Caulder','Path','S',NULL,NULL,NULL,NULL,'Perry',1,1040,NULL,'57309',NULL,1228,43.383541,-96.806422,0,NULL,NULL,62),
- (158,163,1,1,0,'788D Van Ness St E',788,'D',NULL,'Van Ness','St','E',NULL,NULL,NULL,NULL,'Rockville',1,1019,NULL,'20848',NULL,1228,39.143979,-77.207617,0,NULL,NULL,NULL),
- (159,45,1,1,0,'408O Beech Path S',408,'O',NULL,'Beech','Path','S',NULL,NULL,NULL,NULL,'Crawfordville',1,1009,NULL,'30631',NULL,1228,33.570317,-82.88542,0,NULL,NULL,63),
- (160,8,1,1,0,'408O Beech Path S',408,'O',NULL,'Beech','Path','S',NULL,NULL,NULL,NULL,'Crawfordville',1,1009,NULL,'30631',NULL,1228,33.570317,-82.88542,0,NULL,NULL,63),
- (161,69,1,1,0,'408O Beech Path S',408,'O',NULL,'Beech','Path','S',NULL,NULL,NULL,NULL,'Crawfordville',1,1009,NULL,'30631',NULL,1228,33.570317,-82.88542,0,NULL,NULL,63),
- (162,191,1,1,0,'386Z Northpoint Blvd NW',386,'Z',NULL,'Northpoint','Blvd','NW',NULL,NULL,NULL,NULL,'Dupont',1,1005,NULL,'80024',NULL,1228,39.844685,-104.91851,0,NULL,NULL,NULL),
- (163,5,1,1,0,'581S Bay Ln N',581,'S',NULL,'Bay','Ln','N',NULL,NULL,NULL,NULL,'Woodland',1,1048,NULL,'53099',NULL,1228,43.414202,-88.704914,0,NULL,NULL,64),
- (164,152,1,1,0,'581S Bay Ln N',581,'S',NULL,'Bay','Ln','N',NULL,NULL,NULL,NULL,'Woodland',1,1048,NULL,'53099',NULL,1228,43.414202,-88.704914,0,NULL,NULL,64),
- (165,140,1,1,0,'581S Bay Ln N',581,'S',NULL,'Bay','Ln','N',NULL,NULL,NULL,NULL,'Woodland',1,1048,NULL,'53099',NULL,1228,43.414202,-88.704914,0,NULL,NULL,64),
- (166,159,1,1,0,'581S Bay Ln N',581,'S',NULL,'Bay','Ln','N',NULL,NULL,NULL,NULL,'Woodland',1,1048,NULL,'53099',NULL,1228,43.414202,-88.704914,0,NULL,NULL,64),
- (167,3,1,1,0,'24H States Path S',24,'H',NULL,'States','Path','S',NULL,NULL,NULL,NULL,'Allensville',1,1016,NULL,'42204',NULL,1228,36.70996,-87.07105,0,NULL,NULL,65),
- (168,22,1,1,0,'24H States Path S',24,'H',NULL,'States','Path','S',NULL,NULL,NULL,NULL,'Allensville',1,1016,NULL,'42204',NULL,1228,36.70996,-87.07105,0,NULL,NULL,65),
- (169,29,1,1,0,'24H States Path S',24,'H',NULL,'States','Path','S',NULL,NULL,NULL,NULL,'Allensville',1,1016,NULL,'42204',NULL,1228,36.70996,-87.07105,0,NULL,NULL,65),
- (170,99,1,1,0,'24H States Path S',24,'H',NULL,'States','Path','S',NULL,NULL,NULL,NULL,'Allensville',1,1016,NULL,'42204',NULL,1228,36.70996,-87.07105,0,NULL,NULL,65),
- (171,23,1,1,0,'608F Woodbridge Pl NE',608,'F',NULL,'Woodbridge','Pl','NE',NULL,NULL,NULL,NULL,'Brownell',1,1015,NULL,'67521',NULL,1228,38.618706,-99.74865,0,NULL,NULL,66),
- (172,175,1,1,0,'608F Woodbridge Pl NE',608,'F',NULL,'Woodbridge','Pl','NE',NULL,NULL,NULL,NULL,'Brownell',1,1015,NULL,'67521',NULL,1228,38.618706,-99.74865,0,NULL,NULL,66),
- (173,73,1,1,0,'608F Woodbridge Pl NE',608,'F',NULL,'Woodbridge','Pl','NE',NULL,NULL,NULL,NULL,'Brownell',1,1015,NULL,'67521',NULL,1228,38.618706,-99.74865,0,NULL,NULL,66),
- (174,66,1,1,0,'608F Woodbridge Pl NE',608,'F',NULL,'Woodbridge','Pl','NE',NULL,NULL,NULL,NULL,'Brownell',1,1015,NULL,'67521',NULL,1228,38.618706,-99.74865,0,NULL,NULL,66),
- (175,160,1,1,0,'227K Woodbridge St S',227,'K',NULL,'Woodbridge','St','S',NULL,NULL,NULL,NULL,'Brookfield',1,1012,NULL,'60513',NULL,1228,41.822681,-87.84753,0,NULL,NULL,67),
- (176,137,1,1,0,'227K Woodbridge St S',227,'K',NULL,'Woodbridge','St','S',NULL,NULL,NULL,NULL,'Brookfield',1,1012,NULL,'60513',NULL,1228,41.822681,-87.84753,0,NULL,NULL,67),
- (177,104,1,1,0,'227K Woodbridge St S',227,'K',NULL,'Woodbridge','St','S',NULL,NULL,NULL,NULL,'Brookfield',1,1012,NULL,'60513',NULL,1228,41.822681,-87.84753,0,NULL,NULL,67),
- (178,38,1,1,0,'532W Woodbridge Ln SW',532,'W',NULL,'Woodbridge','Ln','SW',NULL,NULL,NULL,NULL,'Sayre',1,1000,NULL,'35139',NULL,1228,33.712204,-86.97203,0,NULL,NULL,NULL),
- (179,NULL,1,1,1,'14S El Camino Way E',14,'S',NULL,'El Camino','Way',NULL,NULL,NULL,NULL,NULL,'Collinsville',NULL,1006,NULL,'6022',NULL,1228,41.8328,-72.9253,0,NULL,NULL,NULL),
- (180,NULL,1,1,1,'11B Woodbridge Path SW',11,'B',NULL,'Woodbridge','Path',NULL,NULL,NULL,NULL,NULL,'Dayton',NULL,1034,NULL,'45417',NULL,1228,39.7531,-84.2471,0,NULL,NULL,NULL),
- (181,NULL,1,1,1,'581O Lincoln Dr SW',581,'O',NULL,'Lincoln','Dr',NULL,NULL,NULL,NULL,NULL,'Santa Fe',NULL,1030,NULL,'87594',NULL,1228,35.5212,-105.982,0,NULL,NULL,NULL);
+ (1,125,1,1,0,'134B Pine Ave E',134,'B',NULL,'Pine','Ave','E',NULL,NULL,NULL,NULL,'Cleveland',1,1023,NULL,'38732',NULL,1228,33.749149,-90.71329,0,NULL,NULL,NULL),
+ (2,104,1,1,0,'151S States Ln W',151,'S',NULL,'States','Ln','W',NULL,NULL,NULL,NULL,'Crab Orchard',1,1047,NULL,'25827',NULL,1228,37.733391,-81.23769,0,NULL,NULL,NULL),
+ (3,116,1,1,0,'550C Second Path SE',550,'C',NULL,'Second','Path','SE',NULL,NULL,NULL,NULL,'Chicago',1,1012,NULL,'60674',NULL,1228,41.811929,-87.68732,0,NULL,NULL,NULL),
+ (4,151,1,1,0,'859I States Rd SE',859,'I',NULL,'States','Rd','SE',NULL,NULL,NULL,NULL,'Houston',1,1042,NULL,'77206',NULL,1228,29.83399,-95.434241,0,NULL,NULL,NULL),
+ (5,182,1,1,0,'695S Martin Luther King Rd SE',695,'S',NULL,'Martin Luther King','Rd','SE',NULL,NULL,NULL,NULL,'Monitor',1,1046,NULL,'98836',NULL,1228,47.481133,-120.41354,0,NULL,NULL,NULL),
+ (6,140,1,1,0,'182Q Pine Pl E',182,'Q',NULL,'Pine','Pl','E',NULL,NULL,NULL,NULL,'Corpus Christi',1,1042,NULL,'78468',NULL,1228,27.777,-97.463213,0,NULL,NULL,NULL),
+ (7,76,1,1,0,'207T El Camino St W',207,'T',NULL,'El Camino','St','W',NULL,NULL,NULL,NULL,'Tulsa',1,1035,NULL,'74186',NULL,1228,36.139826,-96.029725,0,NULL,NULL,NULL),
+ (8,121,1,1,0,'39Y Second Pl W',39,'Y',NULL,'Second','Pl','W',NULL,NULL,NULL,NULL,'Mansfield',1,1034,NULL,'44999',NULL,1228,40.772874,-82.532057,0,NULL,NULL,NULL),
+ (9,99,1,1,0,'865T Northpoint Path W',865,'T',NULL,'Northpoint','Path','W',NULL,NULL,NULL,NULL,'Sumneytown',1,1037,NULL,'18084',NULL,1228,40.327782,-75.454043,0,NULL,NULL,NULL),
+ (10,199,1,1,0,'714Q Woodbridge Ln E',714,'Q',NULL,'Woodbridge','Ln','E',NULL,NULL,NULL,NULL,'Saginaw',1,1021,NULL,'48601',NULL,1228,43.413975,-83.91427,0,NULL,NULL,NULL),
+ (11,126,1,1,0,'489S Caulder Ave S',489,'S',NULL,'Caulder','Ave','S',NULL,NULL,NULL,NULL,'Las Vegas',1,1027,NULL,'89125',NULL,1228,36.223528,-115.265529,0,NULL,NULL,NULL),
+ (12,9,1,1,0,'967Y College Blvd NW',967,'Y',NULL,'College','Blvd','NW',NULL,NULL,NULL,NULL,'Rome',1,1023,NULL,'38768',NULL,1228,33.965488,-90.52646,0,NULL,NULL,NULL),
+ (13,105,1,1,0,'770I Main Ave W',770,'I',NULL,'Main','Ave','W',NULL,NULL,NULL,NULL,'Skipwith',1,1045,NULL,'23968',NULL,1228,36.702863,-78.51218,0,NULL,NULL,NULL),
+ (14,119,1,1,0,'522I Bay Dr S',522,'I',NULL,'Bay','Dr','S',NULL,NULL,NULL,NULL,'Petersburg',1,1045,NULL,'23805',NULL,1228,37.174217,-77.39008,0,NULL,NULL,NULL),
+ (15,122,1,1,0,'506N Pine Way N',506,'N',NULL,'Pine','Way','N',NULL,NULL,NULL,NULL,'Dow',1,1012,NULL,'62022',NULL,1228,38.997296,-90.3405,0,NULL,NULL,NULL),
+ (16,127,1,1,0,'318B Woodbridge Dr N',318,'B',NULL,'Woodbridge','Dr','N',NULL,NULL,NULL,NULL,'Boston',1,1020,NULL,'02102',NULL,1228,42.338947,-70.919635,0,NULL,NULL,NULL),
+ (17,115,1,1,0,'461T Beech Dr SE',461,'T',NULL,'Beech','Dr','SE',NULL,NULL,NULL,NULL,'Keeling',1,1045,NULL,'24566',NULL,1228,36.726236,-79.26279,0,NULL,NULL,NULL),
+ (18,2,1,1,0,'701Q Jackson Ave E',701,'Q',NULL,'Jackson','Ave','E',NULL,NULL,NULL,NULL,'Butte',1,1026,NULL,'68722',NULL,1228,42.923088,-98.85921,0,NULL,NULL,NULL),
+ (19,117,1,1,0,'843W Bay Dr NE',843,'W',NULL,'Bay','Dr','NE',NULL,NULL,NULL,NULL,'Newark',1,1007,NULL,'19713',NULL,1228,39.669211,-75.71796,0,NULL,NULL,NULL),
+ (20,79,1,1,0,'914E Second Ave NW',914,'E',NULL,'Second','Ave','NW',NULL,NULL,NULL,NULL,'Wayside',1,1042,NULL,'79094',NULL,1228,34.965329,-101.357838,0,NULL,NULL,NULL),
+ (21,179,1,1,0,'74H Lincoln Blvd SW',74,'H',NULL,'Lincoln','Blvd','SW',NULL,NULL,NULL,NULL,'Fort Lauderdale',1,1008,NULL,'33320',NULL,1228,26.162462,-80.25822,0,NULL,NULL,NULL),
+ (22,11,1,1,0,'98M El Camino Ln S',98,'M',NULL,'El Camino','Ln','S',NULL,NULL,NULL,NULL,'Franklin',1,1041,NULL,'37068',NULL,1228,35.874553,-86.907565,0,NULL,NULL,NULL),
+ (23,72,1,1,0,'151X Martin Luther King St SW',151,'X',NULL,'Martin Luther King','St','SW',NULL,NULL,NULL,NULL,'Valley',1,1046,NULL,'99181',NULL,1228,48.144634,-117.74564,0,NULL,NULL,NULL),
+ (24,178,1,1,0,'955W Martin Luther King Rd NW',955,'W',NULL,'Martin Luther King','Rd','NW',NULL,NULL,NULL,NULL,'Lindside',1,1047,NULL,'24951',NULL,1228,37.485348,-80.64293,0,NULL,NULL,NULL),
+ (25,193,1,1,0,'792O Van Ness Pl SE',792,'O',NULL,'Van Ness','Pl','SE',NULL,NULL,NULL,NULL,'Washington',1,1050,NULL,'20575',NULL,1228,38.893311,-77.014647,0,NULL,NULL,NULL),
+ (26,195,1,1,0,'890Y Main Dr NW',890,'Y',NULL,'Main','Dr','NW',NULL,NULL,NULL,NULL,'Youngstown',1,1034,NULL,'44512',NULL,1228,41.032675,-80.66467,0,NULL,NULL,NULL),
+ (27,64,1,1,0,'723U States Dr S',723,'U',NULL,'States','Dr','S',NULL,NULL,NULL,NULL,'Greensboro',1,1044,NULL,'05841',NULL,1228,44.599177,-72.31179,0,NULL,NULL,NULL),
+ (28,103,1,1,0,'202G Martin Luther King Pl E',202,'G',NULL,'Martin Luther King','Pl','E',NULL,NULL,NULL,NULL,'Houston',1,1042,NULL,'77031',NULL,1228,29.654132,-95.54311,0,NULL,NULL,NULL),
+ (29,184,1,1,0,'611I Van Ness Pl SW',611,'I',NULL,'Van Ness','Pl','SW',NULL,NULL,NULL,NULL,'Ten Mile',1,1041,NULL,'37880',NULL,1228,35.684788,-84.67782,0,NULL,NULL,NULL),
+ (30,138,1,1,0,'188G Lincoln St NW',188,'G',NULL,'Lincoln','St','NW',NULL,NULL,NULL,NULL,'Anchorage',1,1001,NULL,'99524',NULL,1228,61.108864,-149.440311,0,NULL,NULL,NULL),
+ (31,112,1,1,0,'861P States Way NE',861,'P',NULL,'States','Way','NE',NULL,NULL,NULL,NULL,'Livingston',1,1041,NULL,'38570',NULL,1228,36.376289,-85.32585,0,NULL,NULL,NULL),
+ (32,27,1,1,0,'338V Cadell Ave NW',338,'V',NULL,'Cadell','Ave','NW',NULL,NULL,NULL,NULL,'Sunland Park',1,1030,NULL,'88018',NULL,1228,31.840649,-106.615936,0,NULL,NULL,NULL),
+ (33,124,1,1,0,'813W Woodbridge Rd NE',813,'W',NULL,'Woodbridge','Rd','NE',NULL,NULL,NULL,NULL,'University',1,1023,NULL,'38677',NULL,1228,34.366302,-89.53721,0,NULL,NULL,NULL),
+ (34,111,1,1,0,'594K Second Path SW',594,'K',NULL,'Second','Path','SW',NULL,NULL,NULL,NULL,'New Boston',1,1024,NULL,'63557',NULL,1228,39.963355,-92.88684,0,NULL,NULL,NULL),
+ (35,145,1,1,0,'342Z Lincoln Path SE',342,'Z',NULL,'Lincoln','Path','SE',NULL,NULL,NULL,NULL,'Atwater',1,1034,NULL,'44201',NULL,1228,41.020057,-81.20037,0,NULL,NULL,NULL),
+ (36,74,1,1,0,'623Y Jackson Ave E',623,'Y',NULL,'Jackson','Ave','E',NULL,NULL,NULL,NULL,'Davenport',1,1014,NULL,'52801',NULL,1228,41.522832,-90.57503,0,NULL,NULL,NULL),
+ (37,14,1,1,0,'44M College Ave E',44,'M',NULL,'College','Ave','E',NULL,NULL,NULL,NULL,'Findlay',1,1034,NULL,'45840',NULL,1228,41.037325,-83.64576,0,NULL,NULL,NULL),
+ (38,26,1,1,0,'25H Pine Way N',25,'H',NULL,'Pine','Way','N',NULL,NULL,NULL,NULL,'Swampscott',1,1020,NULL,'01907',NULL,1228,42.474409,-70.90588,0,NULL,NULL,NULL),
+ (39,173,1,1,0,'704X Martin Luther King Pl W',704,'X',NULL,'Martin Luther King','Pl','W',NULL,NULL,NULL,NULL,'Olivehill',1,1041,NULL,'38475',NULL,1228,35.270793,-88.01666,0,NULL,NULL,NULL),
+ (40,78,1,1,0,'509T States Blvd N',509,'T',NULL,'States','Blvd','N',NULL,NULL,NULL,NULL,'Albert Lea',1,1022,NULL,'56007',NULL,1228,43.652042,-93.36916,0,NULL,NULL,NULL),
+ (41,98,1,1,0,'593Q Beech St NE',593,'Q',NULL,'Beech','St','NE',NULL,NULL,NULL,NULL,'Kalamazoo',1,1021,NULL,'49009',NULL,1228,42.272538,-85.69255,0,NULL,NULL,NULL),
+ (42,130,1,1,0,'447H Van Ness St NE',447,'H',NULL,'Van Ness','St','NE',NULL,NULL,NULL,NULL,'Fort Pierce',1,1008,NULL,'34946',NULL,1228,27.485272,-80.35243,0,NULL,NULL,NULL),
+ (43,71,1,1,0,'954R Bay Way N',954,'R',NULL,'Bay','Way','N',NULL,NULL,NULL,NULL,'Colonial Beach',1,1045,NULL,'22443',NULL,1228,38.22653,-76.97442,0,NULL,NULL,NULL),
+ (44,41,1,1,0,'150O Pine Path E',150,'O',NULL,'Pine','Path','E',NULL,NULL,NULL,NULL,'Alamosa',1,1005,NULL,'81102',NULL,1228,37.476026,-105.881779,0,NULL,NULL,NULL),
+ (45,172,1,1,0,'160S Bay Rd SW',160,'S',NULL,'Bay','Rd','SW',NULL,NULL,NULL,NULL,'Honolulu',1,1010,NULL,'96813',NULL,1228,21.313033,-157.85615,0,NULL,NULL,NULL),
+ (46,162,1,1,0,'295H Woodbridge Way NW',295,'H',NULL,'Woodbridge','Way','NW',NULL,NULL,NULL,NULL,'Ward Cove',1,1001,NULL,'99928',NULL,1228,55.395359,-131.67537,0,NULL,NULL,NULL),
+ (47,161,1,1,0,'505L Beech Pl E',505,'L',NULL,'Beech','Pl','E',NULL,NULL,NULL,NULL,'Shaver Lake',1,1004,NULL,'93664',NULL,1228,37.103957,-119.2644,0,NULL,NULL,NULL),
+ (48,42,1,1,0,'114U Lincoln Pl W',114,'U',NULL,'Lincoln','Pl','W',NULL,NULL,NULL,NULL,'Huntsville',1,1000,NULL,'35895',NULL,1228,34.733964,-86.522913,0,NULL,NULL,NULL),
+ (49,44,1,1,0,'822G Main Ave SW',822,'G',NULL,'Main','Ave','SW',NULL,NULL,NULL,NULL,'Nottoway',1,1045,NULL,'23955',NULL,1228,37.116094,-78.057832,0,NULL,NULL,NULL),
+ (50,35,1,1,0,'130X Northpoint Pl W',130,'X',NULL,'Northpoint','Pl','W',NULL,NULL,NULL,NULL,'Gallup',1,1030,NULL,'87301',NULL,1228,35.534253,-108.84857,0,NULL,NULL,NULL),
+ (51,108,1,1,0,'455P Northpoint Rd E',455,'P',NULL,'Northpoint','Rd','E',NULL,NULL,NULL,NULL,'Waltham',1,1020,NULL,'02454',NULL,1228,42.356719,-71.250479,0,NULL,NULL,NULL),
+ (52,88,1,1,0,'444E Dowlen Blvd S',444,'E',NULL,'Dowlen','Blvd','S',NULL,NULL,NULL,NULL,'Creighton',1,1040,NULL,'57729',NULL,1228,44.308909,-102.09713,0,NULL,NULL,NULL),
+ (53,93,1,1,0,'864S El Camino Ln W',864,'S',NULL,'El Camino','Ln','W',NULL,NULL,NULL,NULL,'Antelope',1,1004,NULL,'95843',NULL,1228,38.716874,-121.3698,0,NULL,NULL,NULL),
+ (54,102,1,1,0,'969Q Northpoint Ave SW',969,'Q',NULL,'Northpoint','Ave','SW',NULL,NULL,NULL,NULL,'Nortonville',1,1015,NULL,'66060',NULL,1228,39.415907,-95.32966,0,NULL,NULL,NULL),
+ (55,87,1,1,0,'148V Pine Path NW',148,'V',NULL,'Pine','Path','NW',NULL,NULL,NULL,NULL,'Dalton',1,1024,NULL,'65246',NULL,1228,39.370265,-92.99396,0,NULL,NULL,NULL),
+ (56,38,1,1,0,'316J Van Ness Ln SW',316,'J',NULL,'Van Ness','Ln','SW',NULL,NULL,NULL,NULL,'Wallace',1,1015,NULL,'67761',NULL,1228,38.912898,-101.50937,0,NULL,NULL,NULL),
+ (57,110,1,1,0,'974C Jackson St W',974,'C',NULL,'Jackson','St','W',NULL,NULL,NULL,NULL,'El Paso',1,1042,NULL,'88573',NULL,1228,31.694842,-106.299987,0,NULL,NULL,NULL),
+ (58,135,1,1,0,'275H Jackson Rd SE',275,'H',NULL,'Jackson','Rd','SE',NULL,NULL,NULL,NULL,'Pueblo Of Acoma',1,1030,NULL,'87034',NULL,1228,34.900203,-107.65365,0,NULL,NULL,NULL),
+ (59,8,1,1,0,'348Y Woodbridge Ave S',348,'Y',NULL,'Woodbridge','Ave','S',NULL,NULL,NULL,NULL,'Port Salerno',1,1008,NULL,'34992',NULL,1228,27.110182,-80.454196,0,NULL,NULL,NULL),
+ (60,133,1,1,0,'522D Caulder Rd S',522,'D',NULL,'Caulder','Rd','S',NULL,NULL,NULL,NULL,'Las Vegas',1,1027,NULL,'89170',NULL,1228,35.927901,-114.972061,0,NULL,NULL,NULL),
+ (61,190,1,1,0,'724Y Lincoln Ave W',724,'Y',NULL,'Lincoln','Ave','W',NULL,NULL,NULL,NULL,'Buda',1,1042,NULL,'78610',NULL,1228,30.07703,-97.8178,0,NULL,NULL,NULL),
+ (62,123,3,1,0,'284L Jackson Rd NE',284,'L',NULL,'Jackson','Rd','NE',NULL,'Donor Relations',NULL,NULL,'Atchison',1,1015,NULL,'66002',NULL,1228,39.553786,-95.13472,0,NULL,NULL,NULL),
+ (63,83,3,1,0,'292R Maple Path N',292,'R',NULL,'Maple','Path','N',NULL,'Editorial Dept',NULL,NULL,'Glen Wild',1,1031,NULL,'12738',NULL,1228,41.648888,-74.57064,0,NULL,NULL,NULL),
+ (64,77,3,1,0,'756B Martin Luther King Dr W',756,'B',NULL,'Martin Luther King','Dr','W',NULL,'Attn: Accounting',NULL,NULL,'Houston',1,1042,NULL,'77266',NULL,1228,29.83399,-95.434241,0,NULL,NULL,NULL),
+ (65,169,2,1,0,'756B Martin Luther King Dr W',756,'B',NULL,'Martin Luther King','Dr','W',NULL,'Attn: Accounting',NULL,NULL,'Houston',1,1042,NULL,'77266',NULL,1228,29.83399,-95.434241,0,NULL,NULL,64),
+ (66,139,3,1,0,'639Z Northpoint Blvd SE',639,'Z',NULL,'Northpoint','Blvd','SE',NULL,'Subscriptions Dept',NULL,NULL,'Oxford',1,1014,NULL,'52322',NULL,1228,41.6896,-91.76183,0,NULL,NULL,NULL),
+ (67,43,3,1,0,'881M Main Pl NE',881,'M',NULL,'Main','Pl','NE',NULL,'Payables Dept.',NULL,NULL,'Gibbon',1,1022,NULL,'55335',NULL,1228,44.527707,-94.53092,0,NULL,NULL,NULL),
+ (68,22,3,1,0,'367N Second Path NW',367,'N',NULL,'Second','Path','NW',NULL,'Cuffe Parade',NULL,NULL,'Dickinson',1,1042,NULL,'77537',NULL,1228,29.469835,-95.005317,0,NULL,NULL,NULL),
+ (69,119,2,0,0,'367N Second Path NW',367,'N',NULL,'Second','Path','NW',NULL,'Cuffe Parade',NULL,NULL,'Dickinson',1,1042,NULL,'77537',NULL,1228,29.469835,-95.005317,0,NULL,NULL,68),
+ (70,153,3,1,0,'190Q Woodbridge Pl NW',190,'Q',NULL,'Woodbridge','Pl','NW',NULL,'Donor Relations',NULL,NULL,'Evanston',1,1012,NULL,'60202',NULL,1228,42.030327,-87.68828,0,NULL,NULL,NULL),
+ (71,27,2,0,0,'190Q Woodbridge Pl NW',190,'Q',NULL,'Woodbridge','Pl','NW',NULL,'Donor Relations',NULL,NULL,'Evanston',1,1012,NULL,'60202',NULL,1228,42.030327,-87.68828,0,NULL,NULL,70),
+ (72,58,3,1,0,'775Q Woodbridge Rd W',775,'Q',NULL,'Woodbridge','Rd','W',NULL,'Mailstop 101',NULL,NULL,'Houston',1,1042,NULL,'77289',NULL,1228,29.83399,-95.434241,0,NULL,NULL,NULL),
+ (73,36,2,1,0,'775Q Woodbridge Rd W',775,'Q',NULL,'Woodbridge','Rd','W',NULL,'Mailstop 101',NULL,NULL,'Houston',1,1042,NULL,'77289',NULL,1228,29.83399,-95.434241,0,NULL,NULL,72),
+ (74,142,3,1,0,'373H Lincoln Ln SW',373,'H',NULL,'Lincoln','Ln','SW',NULL,'Attn: Accounting',NULL,NULL,'Harmon',1,1017,NULL,'71036',NULL,1228,32.062391,-93.367949,0,NULL,NULL,NULL),
+ (75,143,2,1,0,'373H Lincoln Ln SW',373,'H',NULL,'Lincoln','Ln','SW',NULL,'Attn: Accounting',NULL,NULL,'Harmon',1,1017,NULL,'71036',NULL,1228,32.062391,-93.367949,0,NULL,NULL,74),
+ (76,191,3,1,0,'642M Caulder St SE',642,'M',NULL,'Caulder','St','SE',NULL,'Receiving',NULL,NULL,'Nashville',1,1041,NULL,'37222',NULL,1228,36.056164,-86.980116,0,NULL,NULL,NULL),
+ (77,199,2,0,0,'642M Caulder St SE',642,'M',NULL,'Caulder','St','SE',NULL,'Receiving',NULL,NULL,'Nashville',1,1041,NULL,'37222',NULL,1228,36.056164,-86.980116,0,NULL,NULL,76),
+ (78,25,3,1,0,'896I Woodbridge Way W',896,'I',NULL,'Woodbridge','Way','W',NULL,'Donor Relations',NULL,NULL,'Bristol',1,1041,NULL,'37620',NULL,1228,36.561341,-82.16869,0,NULL,NULL,NULL),
+ (79,128,2,1,0,'896I Woodbridge Way W',896,'I',NULL,'Woodbridge','Way','W',NULL,'Donor Relations',NULL,NULL,'Bristol',1,1041,NULL,'37620',NULL,1228,36.561341,-82.16869,0,NULL,NULL,78),
+ (80,166,3,1,0,'463P Bay Pl NW',463,'P',NULL,'Bay','Pl','NW',NULL,'Subscriptions Dept',NULL,NULL,'Nacogdoches',1,1042,NULL,'75965',NULL,1228,31.649582,-94.638278,0,NULL,NULL,NULL),
+ (81,60,3,1,0,'706Y College Rd NE',706,'Y',NULL,'College','Rd','NE',NULL,'Receiving',NULL,NULL,'Cotopaxi',1,1005,NULL,'81223',NULL,1228,38.357344,-105.53192,0,NULL,NULL,NULL),
+ (82,75,2,1,0,'706Y College Rd NE',706,'Y',NULL,'College','Rd','NE',NULL,'Receiving',NULL,NULL,'Cotopaxi',1,1005,NULL,'81223',NULL,1228,38.357344,-105.53192,0,NULL,NULL,81),
+ (83,54,3,1,0,'469N Lincoln St NE',469,'N',NULL,'Lincoln','St','NE',NULL,'Mailstop 101',NULL,NULL,'San Diego',1,1004,NULL,'92114',NULL,1228,32.706954,-117.0542,0,NULL,NULL,NULL),
+ (84,154,2,1,0,'469N Lincoln St NE',469,'N',NULL,'Lincoln','St','NE',NULL,'Mailstop 101',NULL,NULL,'San Diego',1,1004,NULL,'92114',NULL,1228,32.706954,-117.0542,0,NULL,NULL,83),
+ (85,37,3,1,0,'707N Dowlen Dr NE',707,'N',NULL,'Dowlen','Dr','NE',NULL,'Payables Dept.',NULL,NULL,'Elkland',1,1024,NULL,'65644',NULL,1228,37.509611,-93.03846,0,NULL,NULL,NULL),
+ (86,158,3,1,0,'409C Lincoln Ave SW',409,'C',NULL,'Lincoln','Ave','SW',NULL,'Receiving',NULL,NULL,'Fajardo',1,1056,NULL,'00648',NULL,1228,18.333038,-65.656182,0,NULL,NULL,NULL),
+ (87,32,2,1,0,'409C Lincoln Ave SW',409,'C',NULL,'Lincoln','Ave','SW',NULL,'Receiving',NULL,NULL,'Fajardo',1,1056,NULL,'00648',NULL,1228,18.333038,-65.656182,0,NULL,NULL,86),
+ (88,92,3,1,0,'384G States Ln S',384,'G',NULL,'States','Ln','S',NULL,'c/o PO Plus',NULL,NULL,'Banner Elk',1,1032,NULL,'28604',NULL,1228,36.166515,-81.84672,0,NULL,NULL,NULL),
+ (89,114,3,1,0,'714Y Lincoln St E',714,'Y',NULL,'Lincoln','St','E',NULL,'Donor Relations',NULL,NULL,'Waterford',1,1006,NULL,'06385',NULL,1228,41.347948,-72.14762,0,NULL,NULL,NULL),
+ (90,33,3,1,0,'678R Lincoln Way NE',678,'R',NULL,'Lincoln','Way','NE',NULL,'c/o OPDC',NULL,NULL,'Austin',1,1042,NULL,'78760',NULL,1228,30.326374,-97.771258,0,NULL,NULL,NULL),
+ (91,19,2,1,0,'678R Lincoln Way NE',678,'R',NULL,'Lincoln','Way','NE',NULL,'c/o OPDC',NULL,NULL,'Austin',1,1042,NULL,'78760',NULL,1228,30.326374,-97.771258,0,NULL,NULL,90),
+ (92,23,3,1,0,'434L El Camino Ave SW',434,'L',NULL,'El Camino','Ave','SW',NULL,'Urgent',NULL,NULL,'Fort Myers',1,1008,NULL,'33994',NULL,1228,26.552895,-81.94861,0,NULL,NULL,NULL),
+ (93,186,2,1,0,'434L El Camino Ave SW',434,'L',NULL,'El Camino','Ave','SW',NULL,'Urgent',NULL,NULL,'Fort Myers',1,1008,NULL,'33994',NULL,1228,26.552895,-81.94861,0,NULL,NULL,92),
+ (94,169,1,0,0,'447H Van Ness St NE',447,'H',NULL,'Van Ness','St','NE',NULL,NULL,NULL,NULL,'Fort Pierce',1,1008,NULL,'34946',NULL,1228,27.485272,-80.35243,0,NULL,NULL,42),
+ (95,57,1,1,0,'447H Van Ness St NE',447,'H',NULL,'Van Ness','St','NE',NULL,NULL,NULL,NULL,'Fort Pierce',1,1008,NULL,'34946',NULL,1228,27.485272,-80.35243,0,NULL,NULL,42),
+ (96,15,1,1,0,'447H Van Ness St NE',447,'H',NULL,'Van Ness','St','NE',NULL,NULL,NULL,NULL,'Fort Pierce',1,1008,NULL,'34946',NULL,1228,27.485272,-80.35243,0,NULL,NULL,42),
+ (97,106,1,1,0,'320P Bay Path E',320,'P',NULL,'Bay','Path','E',NULL,NULL,NULL,NULL,'Sanbornville',1,1028,NULL,'03872',NULL,1228,43.564008,-71.03405,0,NULL,NULL,NULL),
+ (98,63,1,1,0,'954R Bay Way N',954,'R',NULL,'Bay','Way','N',NULL,NULL,NULL,NULL,'Colonial Beach',1,1045,NULL,'22443',NULL,1228,38.22653,-76.97442,0,NULL,NULL,43),
+ (99,196,1,1,0,'954R Bay Way N',954,'R',NULL,'Bay','Way','N',NULL,NULL,NULL,NULL,'Colonial Beach',1,1045,NULL,'22443',NULL,1228,38.22653,-76.97442,0,NULL,NULL,43),
+ (100,6,1,1,0,'954R Bay Way N',954,'R',NULL,'Bay','Way','N',NULL,NULL,NULL,NULL,'Colonial Beach',1,1045,NULL,'22443',NULL,1228,38.22653,-76.97442,0,NULL,NULL,43),
+ (101,160,1,1,0,'954R Bay Way N',954,'R',NULL,'Bay','Way','N',NULL,NULL,NULL,NULL,'Colonial Beach',1,1045,NULL,'22443',NULL,1228,38.22653,-76.97442,0,NULL,NULL,43),
+ (102,120,1,1,0,'150O Pine Path E',150,'O',NULL,'Pine','Path','E',NULL,NULL,NULL,NULL,'Alamosa',1,1005,NULL,'81102',NULL,1228,37.476026,-105.881779,0,NULL,NULL,44),
+ (103,18,1,1,0,'150O Pine Path E',150,'O',NULL,'Pine','Path','E',NULL,NULL,NULL,NULL,'Alamosa',1,1005,NULL,'81102',NULL,1228,37.476026,-105.881779,0,NULL,NULL,44),
+ (104,12,1,1,0,'150O Pine Path E',150,'O',NULL,'Pine','Path','E',NULL,NULL,NULL,NULL,'Alamosa',1,1005,NULL,'81102',NULL,1228,37.476026,-105.881779,0,NULL,NULL,44),
+ (105,157,1,1,0,'150O Pine Path E',150,'O',NULL,'Pine','Path','E',NULL,NULL,NULL,NULL,'Alamosa',1,1005,NULL,'81102',NULL,1228,37.476026,-105.881779,0,NULL,NULL,44),
+ (106,181,1,1,0,'160S Bay Rd SW',160,'S',NULL,'Bay','Rd','SW',NULL,NULL,NULL,NULL,'Honolulu',1,1010,NULL,'96813',NULL,1228,21.313033,-157.85615,0,NULL,NULL,45),
+ (107,118,1,1,0,'160S Bay Rd SW',160,'S',NULL,'Bay','Rd','SW',NULL,NULL,NULL,NULL,'Honolulu',1,1010,NULL,'96813',NULL,1228,21.313033,-157.85615,0,NULL,NULL,45),
+ (108,176,1,1,0,'160S Bay Rd SW',160,'S',NULL,'Bay','Rd','SW',NULL,NULL,NULL,NULL,'Honolulu',1,1010,NULL,'96813',NULL,1228,21.313033,-157.85615,0,NULL,NULL,45),
+ (109,36,1,0,0,'160S Bay Rd SW',160,'S',NULL,'Bay','Rd','SW',NULL,NULL,NULL,NULL,'Honolulu',1,1010,NULL,'96813',NULL,1228,21.313033,-157.85615,0,NULL,NULL,45),
+ (110,75,1,0,0,'295H Woodbridge Way NW',295,'H',NULL,'Woodbridge','Way','NW',NULL,NULL,NULL,NULL,'Ward Cove',1,1001,NULL,'99928',NULL,1228,55.395359,-131.67537,0,NULL,NULL,46),
+ (111,3,1,1,0,'295H Woodbridge Way NW',295,'H',NULL,'Woodbridge','Way','NW',NULL,NULL,NULL,NULL,'Ward Cove',1,1001,NULL,'99928',NULL,1228,55.395359,-131.67537,0,NULL,NULL,46),
+ (112,149,1,1,0,'295H Woodbridge Way NW',295,'H',NULL,'Woodbridge','Way','NW',NULL,NULL,NULL,NULL,'Ward Cove',1,1001,NULL,'99928',NULL,1228,55.395359,-131.67537,0,NULL,NULL,46),
+ (113,5,1,1,0,'900H Martin Luther King Ave NW',900,'H',NULL,'Martin Luther King','Ave','NW',NULL,NULL,NULL,NULL,'Wannaska',1,1022,NULL,'56761',NULL,1228,48.609478,-95.6602,0,NULL,NULL,NULL),
+ (114,82,1,1,0,'505L Beech Pl E',505,'L',NULL,'Beech','Pl','E',NULL,NULL,NULL,NULL,'Shaver Lake',1,1004,NULL,'93664',NULL,1228,37.103957,-119.2644,0,NULL,NULL,47),
+ (115,146,1,1,0,'505L Beech Pl E',505,'L',NULL,'Beech','Pl','E',NULL,NULL,NULL,NULL,'Shaver Lake',1,1004,NULL,'93664',NULL,1228,37.103957,-119.2644,0,NULL,NULL,47),
+ (116,159,1,1,0,'505L Beech Pl E',505,'L',NULL,'Beech','Pl','E',NULL,NULL,NULL,NULL,'Shaver Lake',1,1004,NULL,'93664',NULL,1228,37.103957,-119.2644,0,NULL,NULL,47),
+ (117,192,1,1,0,'505L Beech Pl E',505,'L',NULL,'Beech','Pl','E',NULL,NULL,NULL,NULL,'Shaver Lake',1,1004,NULL,'93664',NULL,1228,37.103957,-119.2644,0,NULL,NULL,47),
+ (118,198,1,1,0,'114U Lincoln Pl W',114,'U',NULL,'Lincoln','Pl','W',NULL,NULL,NULL,NULL,'Huntsville',1,1000,NULL,'35895',NULL,1228,34.733964,-86.522913,0,NULL,NULL,48),
+ (119,84,1,1,0,'114U Lincoln Pl W',114,'U',NULL,'Lincoln','Pl','W',NULL,NULL,NULL,NULL,'Huntsville',1,1000,NULL,'35895',NULL,1228,34.733964,-86.522913,0,NULL,NULL,48),
+ (120,90,1,1,0,'114U Lincoln Pl W',114,'U',NULL,'Lincoln','Pl','W',NULL,NULL,NULL,NULL,'Huntsville',1,1000,NULL,'35895',NULL,1228,34.733964,-86.522913,0,NULL,NULL,48),
+ (121,183,1,1,0,'114U Lincoln Pl W',114,'U',NULL,'Lincoln','Pl','W',NULL,NULL,NULL,NULL,'Huntsville',1,1000,NULL,'35895',NULL,1228,34.733964,-86.522913,0,NULL,NULL,48),
+ (122,49,1,1,0,'822G Main Ave SW',822,'G',NULL,'Main','Ave','SW',NULL,NULL,NULL,NULL,'Nottoway',1,1045,NULL,'23955',NULL,1228,37.116094,-78.057832,0,NULL,NULL,49),
+ (123,39,1,1,0,'822G Main Ave SW',822,'G',NULL,'Main','Ave','SW',NULL,NULL,NULL,NULL,'Nottoway',1,1045,NULL,'23955',NULL,1228,37.116094,-78.057832,0,NULL,NULL,49),
+ (124,32,1,0,0,'822G Main Ave SW',822,'G',NULL,'Main','Ave','SW',NULL,NULL,NULL,NULL,'Nottoway',1,1045,NULL,'23955',NULL,1228,37.116094,-78.057832,0,NULL,NULL,49),
+ (125,24,1,1,0,'653H Second Dr NE',653,'H',NULL,'Second','Dr','NE',NULL,NULL,NULL,NULL,'Coldwater',1,1023,NULL,'38618',NULL,1228,34.699588,-89.95004,0,NULL,NULL,NULL),
+ (126,168,1,1,0,'130X Northpoint Pl W',130,'X',NULL,'Northpoint','Pl','W',NULL,NULL,NULL,NULL,'Gallup',1,1030,NULL,'87301',NULL,1228,35.534253,-108.84857,0,NULL,NULL,50),
+ (127,150,1,1,0,'130X Northpoint Pl W',130,'X',NULL,'Northpoint','Pl','W',NULL,NULL,NULL,NULL,'Gallup',1,1030,NULL,'87301',NULL,1228,35.534253,-108.84857,0,NULL,NULL,50),
+ (128,180,1,1,0,'130X Northpoint Pl W',130,'X',NULL,'Northpoint','Pl','W',NULL,NULL,NULL,NULL,'Gallup',1,1030,NULL,'87301',NULL,1228,35.534253,-108.84857,0,NULL,NULL,50),
+ (129,62,1,1,0,'525F Jackson Ln SE',525,'F',NULL,'Jackson','Ln','SE',NULL,NULL,NULL,NULL,'Boon',1,1021,NULL,'49618',NULL,1228,44.306885,-85.60119,0,NULL,NULL,NULL),
+ (130,152,1,1,0,'455P Northpoint Rd E',455,'P',NULL,'Northpoint','Rd','E',NULL,NULL,NULL,NULL,'Waltham',1,1020,NULL,'02454',NULL,1228,42.356719,-71.250479,0,NULL,NULL,51),
+ (131,167,1,1,0,'455P Northpoint Rd E',455,'P',NULL,'Northpoint','Rd','E',NULL,NULL,NULL,NULL,'Waltham',1,1020,NULL,'02454',NULL,1228,42.356719,-71.250479,0,NULL,NULL,51),
+ (132,65,1,1,0,'455P Northpoint Rd E',455,'P',NULL,'Northpoint','Rd','E',NULL,NULL,NULL,NULL,'Waltham',1,1020,NULL,'02454',NULL,1228,42.356719,-71.250479,0,NULL,NULL,51),
+ (133,175,1,1,0,'242N Woodbridge Way N',242,'N',NULL,'Woodbridge','Way','N',NULL,NULL,NULL,NULL,'Grant Park',1,1012,NULL,'60940',NULL,1228,41.244016,-87.64464,0,NULL,NULL,NULL),
+ (134,107,1,1,0,'444E Dowlen Blvd S',444,'E',NULL,'Dowlen','Blvd','S',NULL,NULL,NULL,NULL,'Creighton',1,1040,NULL,'57729',NULL,1228,44.308909,-102.09713,0,NULL,NULL,52),
+ (135,13,1,1,0,'444E Dowlen Blvd S',444,'E',NULL,'Dowlen','Blvd','S',NULL,NULL,NULL,NULL,'Creighton',1,1040,NULL,'57729',NULL,1228,44.308909,-102.09713,0,NULL,NULL,52),
+ (136,141,1,1,0,'444E Dowlen Blvd S',444,'E',NULL,'Dowlen','Blvd','S',NULL,NULL,NULL,NULL,'Creighton',1,1040,NULL,'57729',NULL,1228,44.308909,-102.09713,0,NULL,NULL,52),
+ (137,148,1,1,0,'444E Dowlen Blvd S',444,'E',NULL,'Dowlen','Blvd','S',NULL,NULL,NULL,NULL,'Creighton',1,1040,NULL,'57729',NULL,1228,44.308909,-102.09713,0,NULL,NULL,52),
+ (138,20,1,1,0,'864S El Camino Ln W',864,'S',NULL,'El Camino','Ln','W',NULL,NULL,NULL,NULL,'Antelope',1,1004,NULL,'95843',NULL,1228,38.716874,-121.3698,0,NULL,NULL,53),
+ (139,81,1,1,0,'864S El Camino Ln W',864,'S',NULL,'El Camino','Ln','W',NULL,NULL,NULL,NULL,'Antelope',1,1004,NULL,'95843',NULL,1228,38.716874,-121.3698,0,NULL,NULL,53),
+ (140,34,1,1,0,'864S El Camino Ln W',864,'S',NULL,'El Camino','Ln','W',NULL,NULL,NULL,NULL,'Antelope',1,1004,NULL,'95843',NULL,1228,38.716874,-121.3698,0,NULL,NULL,53),
+ (141,154,1,0,0,'426Q Beech Path S',426,'Q',NULL,'Beech','Path','S',NULL,NULL,NULL,NULL,'Elizabethtown',1,1016,NULL,'42701',NULL,1228,37.704287,-85.86403,0,NULL,NULL,NULL),
+ (142,47,1,1,0,'969Q Northpoint Ave SW',969,'Q',NULL,'Northpoint','Ave','SW',NULL,NULL,NULL,NULL,'Nortonville',1,1015,NULL,'66060',NULL,1228,39.415907,-95.32966,0,NULL,NULL,54),
+ (143,17,1,1,0,'969Q Northpoint Ave SW',969,'Q',NULL,'Northpoint','Ave','SW',NULL,NULL,NULL,NULL,'Nortonville',1,1015,NULL,'66060',NULL,1228,39.415907,-95.32966,0,NULL,NULL,54),
+ (144,70,1,1,0,'969Q Northpoint Ave SW',969,'Q',NULL,'Northpoint','Ave','SW',NULL,NULL,NULL,NULL,'Nortonville',1,1015,NULL,'66060',NULL,1228,39.415907,-95.32966,0,NULL,NULL,54),
+ (145,48,1,1,0,'461W Martin Luther King Rd S',461,'W',NULL,'Martin Luther King','Rd','S',NULL,NULL,NULL,NULL,'Ione',1,1046,NULL,'99139',NULL,1228,48.736168,-117.4111,0,NULL,NULL,NULL),
+ (146,85,1,1,0,'148V Pine Path NW',148,'V',NULL,'Pine','Path','NW',NULL,NULL,NULL,NULL,'Dalton',1,1024,NULL,'65246',NULL,1228,39.370265,-92.99396,0,NULL,NULL,55),
+ (147,136,1,1,0,'148V Pine Path NW',148,'V',NULL,'Pine','Path','NW',NULL,NULL,NULL,NULL,'Dalton',1,1024,NULL,'65246',NULL,1228,39.370265,-92.99396,0,NULL,NULL,55),
+ (148,19,1,0,0,'148V Pine Path NW',148,'V',NULL,'Pine','Path','NW',NULL,NULL,NULL,NULL,'Dalton',1,1024,NULL,'65246',NULL,1228,39.370265,-92.99396,0,NULL,NULL,55),
+ (149,144,1,1,0,'148V Pine Path NW',148,'V',NULL,'Pine','Path','NW',NULL,NULL,NULL,NULL,'Dalton',1,1024,NULL,'65246',NULL,1228,39.370265,-92.99396,0,NULL,NULL,55),
+ (150,73,1,1,0,'316J Van Ness Ln SW',316,'J',NULL,'Van Ness','Ln','SW',NULL,NULL,NULL,NULL,'Wallace',1,1015,NULL,'67761',NULL,1228,38.912898,-101.50937,0,NULL,NULL,56),
+ (151,21,1,1,0,'316J Van Ness Ln SW',316,'J',NULL,'Van Ness','Ln','SW',NULL,NULL,NULL,NULL,'Wallace',1,1015,NULL,'67761',NULL,1228,38.912898,-101.50937,0,NULL,NULL,56),
+ (152,95,1,1,0,'316J Van Ness Ln SW',316,'J',NULL,'Van Ness','Ln','SW',NULL,NULL,NULL,NULL,'Wallace',1,1015,NULL,'67761',NULL,1228,38.912898,-101.50937,0,NULL,NULL,56),
+ (153,109,1,1,0,'316J Van Ness Ln SW',316,'J',NULL,'Van Ness','Ln','SW',NULL,NULL,NULL,NULL,'Wallace',1,1015,NULL,'67761',NULL,1228,38.912898,-101.50937,0,NULL,NULL,56),
+ (154,113,1,1,0,'974C Jackson St W',974,'C',NULL,'Jackson','St','W',NULL,NULL,NULL,NULL,'El Paso',1,1042,NULL,'88573',NULL,1228,31.694842,-106.299987,0,NULL,NULL,57),
+ (155,50,1,1,0,'974C Jackson St W',974,'C',NULL,'Jackson','St','W',NULL,NULL,NULL,NULL,'El Paso',1,1042,NULL,'88573',NULL,1228,31.694842,-106.299987,0,NULL,NULL,57),
+ (156,51,1,1,0,'974C Jackson St W',974,'C',NULL,'Jackson','St','W',NULL,NULL,NULL,NULL,'El Paso',1,1042,NULL,'88573',NULL,1228,31.694842,-106.299987,0,NULL,NULL,57),
+ (157,185,1,1,0,'974C Jackson St W',974,'C',NULL,'Jackson','St','W',NULL,NULL,NULL,NULL,'El Paso',1,1042,NULL,'88573',NULL,1228,31.694842,-106.299987,0,NULL,NULL,57),
+ (158,132,1,1,0,'275H Jackson Rd SE',275,'H',NULL,'Jackson','Rd','SE',NULL,NULL,NULL,NULL,'Pueblo Of Acoma',1,1030,NULL,'87034',NULL,1228,34.900203,-107.65365,0,NULL,NULL,58),
+ (159,31,1,1,0,'275H Jackson Rd SE',275,'H',NULL,'Jackson','Rd','SE',NULL,NULL,NULL,NULL,'Pueblo Of Acoma',1,1030,NULL,'87034',NULL,1228,34.900203,-107.65365,0,NULL,NULL,58),
+ (160,128,1,0,0,'275H Jackson Rd SE',275,'H',NULL,'Jackson','Rd','SE',NULL,NULL,NULL,NULL,'Pueblo Of Acoma',1,1030,NULL,'87034',NULL,1228,34.900203,-107.65365,0,NULL,NULL,58),
+ (161,147,1,1,0,'275H Jackson Rd SE',275,'H',NULL,'Jackson','Rd','SE',NULL,NULL,NULL,NULL,'Pueblo Of Acoma',1,1030,NULL,'87034',NULL,1228,34.900203,-107.65365,0,NULL,NULL,58),
+ (162,96,1,1,0,'348Y Woodbridge Ave S',348,'Y',NULL,'Woodbridge','Ave','S',NULL,NULL,NULL,NULL,'Port Salerno',1,1008,NULL,'34992',NULL,1228,27.110182,-80.454196,0,NULL,NULL,59),
+ (163,194,1,1,0,'348Y Woodbridge Ave S',348,'Y',NULL,'Woodbridge','Ave','S',NULL,NULL,NULL,NULL,'Port Salerno',1,1008,NULL,'34992',NULL,1228,27.110182,-80.454196,0,NULL,NULL,59),
+ (164,89,1,1,0,'348Y Woodbridge Ave S',348,'Y',NULL,'Woodbridge','Ave','S',NULL,NULL,NULL,NULL,'Port Salerno',1,1008,NULL,'34992',NULL,1228,27.110182,-80.454196,0,NULL,NULL,59),
+ (165,94,1,1,0,'740B Dowlen Pl NW',740,'B',NULL,'Dowlen','Pl','NW',NULL,NULL,NULL,NULL,'North Grosvenordale',1,1006,NULL,'06255',NULL,1228,41.989579,-71.89659,0,NULL,NULL,NULL),
+ (166,7,1,1,0,'522D Caulder Rd S',522,'D',NULL,'Caulder','Rd','S',NULL,NULL,NULL,NULL,'Las Vegas',1,1027,NULL,'89170',NULL,1228,35.927901,-114.972061,0,NULL,NULL,60),
+ (167,4,1,1,0,'522D Caulder Rd S',522,'D',NULL,'Caulder','Rd','S',NULL,NULL,NULL,NULL,'Las Vegas',1,1027,NULL,'89170',NULL,1228,35.927901,-114.972061,0,NULL,NULL,60),
+ (168,189,1,1,0,'522D Caulder Rd S',522,'D',NULL,'Caulder','Rd','S',NULL,NULL,NULL,NULL,'Las Vegas',1,1027,NULL,'89170',NULL,1228,35.927901,-114.972061,0,NULL,NULL,60),
+ (169,16,1,1,0,'522D Caulder Rd S',522,'D',NULL,'Caulder','Rd','S',NULL,NULL,NULL,NULL,'Las Vegas',1,1027,NULL,'89170',NULL,1228,35.927901,-114.972061,0,NULL,NULL,60),
+ (170,97,1,1,0,'724Y Lincoln Ave W',724,'Y',NULL,'Lincoln','Ave','W',NULL,NULL,NULL,NULL,'Buda',1,1042,NULL,'78610',NULL,1228,30.07703,-97.8178,0,NULL,NULL,61),
+ (171,91,1,1,0,'724Y Lincoln Ave W',724,'Y',NULL,'Lincoln','Ave','W',NULL,NULL,NULL,NULL,'Buda',1,1042,NULL,'78610',NULL,1228,30.07703,-97.8178,0,NULL,NULL,61),
+ (172,156,1,1,0,'724Y Lincoln Ave W',724,'Y',NULL,'Lincoln','Ave','W',NULL,NULL,NULL,NULL,'Buda',1,1042,NULL,'78610',NULL,1228,30.07703,-97.8178,0,NULL,NULL,61),
+ (173,40,1,1,0,'724Y Lincoln Ave W',724,'Y',NULL,'Lincoln','Ave','W',NULL,NULL,NULL,NULL,'Buda',1,1042,NULL,'78610',NULL,1228,30.07703,-97.8178,0,NULL,NULL,61),
+ (174,NULL,1,1,1,'14S El Camino Way E',14,'S',NULL,'El Camino','Way',NULL,NULL,NULL,NULL,NULL,'Collinsville',NULL,1006,NULL,'6022',NULL,1228,41.8328,-72.9253,0,NULL,NULL,NULL),
+ (175,NULL,1,1,1,'11B Woodbridge Path SW',11,'B',NULL,'Woodbridge','Path',NULL,NULL,NULL,NULL,NULL,'Dayton',NULL,1034,NULL,'45417',NULL,1228,39.7531,-84.2471,0,NULL,NULL,NULL),
+ (176,NULL,1,1,1,'581O Lincoln Dr SW',581,'O',NULL,'Lincoln','Dr',NULL,NULL,NULL,NULL,NULL,'Santa Fe',NULL,1030,NULL,'87594',NULL,1228,35.5212,-105.982,0,NULL,NULL,NULL);
 /*!40000 ALTER TABLE `civicrm_address` ENABLE KEYS */;
 UNLOCK TABLES;
 
@@ -1925,7 +1894,6 @@ INSERT INTO `civicrm_component` (`id`, `name`, `namespace`) VALUES
  (2,'CiviContribute','CRM_Contribute'),
  (3,'CiviMember','CRM_Member'),
  (4,'CiviMail','CRM_Mailing'),
- (5,'CiviGrant','CRM_Grant'),
  (6,'CiviPledge','CRM_Pledge'),
  (7,'CiviCase','CRM_Case'),
  (8,'CiviReport','CRM_Report'),
@@ -1940,208 +1908,208 @@ UNLOCK TABLES;
 LOCK TABLES `civicrm_contact` WRITE;
 /*!40000 ALTER TABLE `civicrm_contact` DISABLE KEYS */;
 INSERT INTO `civicrm_contact` (`id`, `contact_type`, `contact_sub_type`, `do_not_email`, `do_not_phone`, `do_not_mail`, `do_not_sms`, `do_not_trade`, `is_opt_out`, `legal_identifier`, `external_identifier`, `sort_name`, `display_name`, `nick_name`, `legal_name`, `image_URL`, `preferred_communication_method`, `preferred_language`, `preferred_mail_format`, `hash`, `api_key`, `source`, `first_name`, `middle_name`, `last_name`, `prefix_id`, `suffix_id`, `formal_title`, `communication_style_id`, `email_greeting_id`, `email_greeting_custom`, `email_greeting_display`, `postal_greeting_id`, `postal_greeting_custom`, `postal_greeting_display`, `addressee_id`, `addressee_custom`, `addressee_display`, `job_title`, `gender_id`, `birth_date`, `is_deceased`, `deceased_date`, `household_name`, `primary_contact_id`, `organization_name`, `sic_code`, `user_unique_id`, `employer_id`, `is_deleted`, `created_date`, `modified_date`) VALUES
- (1,'Organization',NULL,0,0,0,0,0,0,NULL,NULL,'Default Organization','Default Organization',NULL,'Default Organization',NULL,NULL,NULL,'Both',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,NULL,NULL,NULL,'Default Organization',NULL,NULL,NULL,0,NULL,'2022-01-05 03:20:32'),
- (2,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Terry, Landon','Mr. Landon Terry Jr.',NULL,NULL,NULL,NULL,NULL,'Both','530631152',NULL,'Sample Data','Landon','','Terry',3,1,NULL,NULL,1,NULL,'Dear Landon',1,NULL,'Dear Landon',1,NULL,'Mr. Landon Terry Jr.',NULL,2,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:38','2022-01-05 03:20:41'),
- (3,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Ivanov, Princess','Mrs. Princess Ivanov',NULL,NULL,NULL,'2',NULL,'Both','3366449477',NULL,'Sample Data','Princess','','Ivanov',1,NULL,NULL,NULL,1,NULL,'Dear Princess',1,NULL,'Dear Princess',1,NULL,'Mrs. Princess Ivanov',NULL,1,'1981-05-12',0,NULL,NULL,NULL,'Northpoint Legal Partners',NULL,NULL,178,0,'2022-01-05 03:20:38','2022-01-05 03:20:44'),
- (4,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'Barkley, Heidi','Heidi Barkley',NULL,NULL,NULL,NULL,NULL,'Both','1854810222',NULL,'Sample Data','Heidi','P','Barkley',NULL,NULL,NULL,NULL,1,NULL,'Dear Heidi',1,NULL,'Dear Heidi',1,NULL,'Heidi Barkley',NULL,1,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:38','2022-01-05 03:20:40'),
- (5,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'junkonielsen46@testing.info','junkonielsen46@testing.info',NULL,NULL,NULL,NULL,NULL,'Both','2970103870',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,NULL,'Dear junkonielsen46@testing.info',1,NULL,'Dear junkonielsen46@testing.info',1,NULL,'junkonielsen46@testing.info',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:38','2022-01-05 03:20:44'),
- (6,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Łąchowski, Sherman','Sherman Łąchowski III',NULL,NULL,NULL,'5',NULL,'Both','2261039855',NULL,'Sample Data','Sherman','M','Łąchowski',NULL,4,NULL,NULL,1,NULL,'Dear Sherman',1,NULL,'Dear Sherman',1,NULL,'Sherman Łąchowski III',NULL,2,'1981-04-14',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:38','2022-01-05 03:20:44'),
- (7,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'Roberts, Troy','Troy Roberts',NULL,NULL,NULL,'3',NULL,'Both','1104419313',NULL,'Sample Data','Troy','','Roberts',NULL,NULL,NULL,NULL,1,NULL,'Dear Troy',1,NULL,'Dear Troy',1,NULL,'Troy Roberts',NULL,2,'1938-06-14',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:38','2022-01-05 03:20:39'),
- (8,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Barkley, Beula','Beula Barkley',NULL,NULL,NULL,'1',NULL,'Both','4143999201',NULL,'Sample Data','Beula','U','Barkley',NULL,NULL,NULL,NULL,1,NULL,'Dear Beula',1,NULL,'Dear Beula',1,NULL,'Beula Barkley',NULL,1,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:38','2022-01-05 03:20:44'),
- (9,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Dimitrov, Sanford','Mr. Sanford Dimitrov II',NULL,NULL,NULL,'2',NULL,'Both','1968408302',NULL,'Sample Data','Sanford','','Dimitrov',3,3,NULL,NULL,1,NULL,'Dear Sanford',1,NULL,'Dear Sanford',1,NULL,'Mr. Sanford Dimitrov II',NULL,2,'1996-04-28',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:38','2022-01-05 03:20:39'),
- (10,'Household',NULL,1,1,0,0,0,0,NULL,NULL,'Nielsen family','Nielsen family',NULL,NULL,NULL,'3',NULL,'Both','766698874',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear Nielsen family',5,NULL,'Dear Nielsen family',2,NULL,'Nielsen family',NULL,NULL,NULL,0,NULL,'Nielsen family',NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:38','2022-01-05 03:20:42'),
- (11,'Organization',NULL,0,0,0,0,0,0,NULL,NULL,'Padroni Sports Center','Padroni Sports Center',NULL,NULL,NULL,'4',NULL,'Both','3097465836',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'Padroni Sports Center',NULL,NULL,NULL,0,NULL,NULL,NULL,'Padroni Sports Center',NULL,NULL,NULL,0,'2022-01-05 03:20:38','2022-01-05 03:20:43'),
- (12,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Jacobs, Kacey','Mrs. Kacey Jacobs',NULL,NULL,NULL,NULL,NULL,'Both','1510706462',NULL,'Sample Data','Kacey','','Jacobs',1,NULL,NULL,NULL,1,NULL,'Dear Kacey',1,NULL,'Dear Kacey',1,NULL,'Mrs. Kacey Jacobs',NULL,1,'1944-04-01',1,'2021-06-19',NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:38','2022-01-05 03:20:39'),
- (13,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Yadav, Ashley','Ashley Yadav',NULL,NULL,NULL,'2',NULL,'Both','4195605846',NULL,'Sample Data','Ashley','','Yadav',NULL,NULL,NULL,NULL,1,NULL,'Dear Ashley',1,NULL,'Dear Ashley',1,NULL,'Ashley Yadav',NULL,2,'1960-01-15',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:38','2022-01-05 03:20:40'),
- (14,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Terry, Sharyn','Sharyn Terry',NULL,NULL,NULL,'3',NULL,'Both','3160433036',NULL,'Sample Data','Sharyn','N','Terry',NULL,NULL,NULL,NULL,1,NULL,'Dear Sharyn',1,NULL,'Dear Sharyn',1,NULL,'Sharyn Terry',NULL,1,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:38','2022-01-05 03:20:40'),
- (15,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'nielsen.arlyne@mymail.biz','nielsen.arlyne@mymail.biz',NULL,NULL,NULL,NULL,NULL,'Both','3863994425',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,NULL,'Dear nielsen.arlyne@mymail.biz',1,NULL,'Dear nielsen.arlyne@mymail.biz',1,NULL,'nielsen.arlyne@mymail.biz',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:38','2022-01-05 03:20:40'),
- (16,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Terry, Allen','Mr. Allen Terry',NULL,NULL,NULL,NULL,NULL,'Both','306325326',NULL,'Sample Data','Allen','','Terry',3,NULL,NULL,NULL,1,NULL,'Dear Allen',1,NULL,'Dear Allen',1,NULL,'Mr. Allen Terry',NULL,2,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:38','2022-01-05 03:20:44'),
- (17,'Organization',NULL,0,0,0,0,0,0,NULL,NULL,'Kinsman Education Fund','Kinsman Education Fund',NULL,NULL,NULL,NULL,NULL,'Both','1450763161',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'Kinsman Education Fund',NULL,NULL,NULL,0,NULL,NULL,19,'Kinsman Education Fund',NULL,NULL,NULL,0,'2022-01-05 03:20:38','2022-01-05 03:20:42'),
- (18,'Organization',NULL,0,0,0,0,0,0,NULL,NULL,'Ohio Arts School','Ohio Arts School',NULL,NULL,NULL,'5',NULL,'Both','939927449',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'Ohio Arts School',NULL,NULL,NULL,0,NULL,NULL,36,'Ohio Arts School',NULL,NULL,NULL,0,'2022-01-05 03:20:38','2022-01-05 03:20:43'),
- (19,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'lee.w.princess@fakemail.org','lee.w.princess@fakemail.org',NULL,NULL,NULL,'2',NULL,'Both','1395382497',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,NULL,'Dear lee.w.princess@fakemail.org',1,NULL,'Dear lee.w.princess@fakemail.org',1,NULL,'lee.w.princess@fakemail.org',NULL,NULL,NULL,0,NULL,NULL,NULL,'Kinsman Education Fund',NULL,NULL,17,0,'2022-01-05 03:20:38','2022-01-05 03:20:43'),
- (20,'Individual',NULL,0,1,0,0,1,0,NULL,NULL,'Jacobs, Claudio','Mr. Claudio Jacobs Sr.',NULL,NULL,NULL,'1',NULL,'Both','3740618228',NULL,'Sample Data','Claudio','','Jacobs',3,2,NULL,NULL,1,NULL,'Dear Claudio',1,NULL,'Dear Claudio',1,NULL,'Mr. Claudio Jacobs Sr.',NULL,2,'1957-05-29',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:38','2022-01-05 03:20:41'),
- (21,'Organization',NULL,0,0,0,0,0,0,NULL,NULL,'Sierra Wellness Academy','Sierra Wellness Academy',NULL,NULL,NULL,'1',NULL,'Both','1562583221',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'Sierra Wellness Academy',NULL,NULL,NULL,0,NULL,NULL,126,'Sierra Wellness Academy',NULL,NULL,NULL,0,'2022-01-05 03:20:38','2022-01-05 03:20:42'),
- (22,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Ivanov, Kiara','Kiara Ivanov',NULL,NULL,NULL,NULL,NULL,'Both','1100955182',NULL,'Sample Data','Kiara','','Ivanov',NULL,NULL,NULL,NULL,1,NULL,'Dear Kiara',1,NULL,'Dear Kiara',1,NULL,'Kiara Ivanov',NULL,1,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:38','2022-01-05 03:20:44'),
- (23,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'Wagner-Patel, Ivey','Ivey Wagner-Patel',NULL,NULL,NULL,NULL,NULL,'Both','3501242494',NULL,'Sample Data','Ivey','','Wagner-Patel',NULL,NULL,NULL,NULL,1,NULL,'Dear Ivey',1,NULL,'Dear Ivey',1,NULL,'Ivey Wagner-Patel',NULL,1,'1967-08-09',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:38','2022-01-05 03:20:44'),
- (24,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Terry-Jensen, Lawerence','Mr. Lawerence Terry-Jensen',NULL,NULL,NULL,NULL,NULL,'Both','1368815489',NULL,'Sample Data','Lawerence','F','Terry-Jensen',3,NULL,NULL,NULL,1,NULL,'Dear Lawerence',1,NULL,'Dear Lawerence',1,NULL,'Mr. Lawerence Terry-Jensen',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:38','2022-01-05 03:20:44'),
- (25,'Household',NULL,0,0,0,0,0,0,NULL,NULL,'Barkley family','Barkley family',NULL,NULL,NULL,NULL,NULL,'Both','2888062109',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear Barkley family',5,NULL,'Dear Barkley family',2,NULL,'Barkley family',NULL,NULL,NULL,0,NULL,'Barkley family',NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:38','2022-01-05 03:20:42'),
- (26,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'Terry, Truman','Mr. Truman Terry III',NULL,NULL,NULL,NULL,NULL,'Both','3241108171',NULL,'Sample Data','Truman','','Terry',3,4,NULL,NULL,1,NULL,'Dear Truman',1,NULL,'Dear Truman',1,NULL,'Mr. Truman Terry III',NULL,2,'1994-12-25',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:38','2022-01-05 03:20:44'),
- (27,'Individual',NULL,0,1,0,0,1,0,NULL,NULL,'kathlynparker25@spamalot.co.nz','kathlynparker25@spamalot.co.nz',NULL,NULL,NULL,'1',NULL,'Both','1472887439',NULL,'Sample Data',NULL,NULL,NULL,4,NULL,NULL,NULL,1,NULL,'Dear kathlynparker25@spamalot.co.nz',1,NULL,'Dear kathlynparker25@spamalot.co.nz',1,NULL,'kathlynparker25@spamalot.co.nz',NULL,NULL,NULL,0,NULL,NULL,NULL,'Van Ness Empowerment Academy',NULL,NULL,42,0,'2022-01-05 03:20:38','2022-01-05 03:20:43'),
- (28,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Olsen, Arlyne','Arlyne Olsen',NULL,NULL,NULL,'5',NULL,'Both','3061476892',NULL,'Sample Data','Arlyne','','Olsen',NULL,NULL,NULL,NULL,1,NULL,'Dear Arlyne',1,NULL,'Dear Arlyne',1,NULL,'Arlyne Olsen',NULL,NULL,NULL,0,NULL,NULL,NULL,'Watertown Food Partnership',NULL,NULL,195,0,'2022-01-05 03:20:38','2022-01-05 03:20:44'),
- (29,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'ivanovj28@lol.co.uk','ivanovj28@lol.co.uk',NULL,NULL,NULL,NULL,NULL,'Both','1155920004',NULL,'Sample Data',NULL,NULL,NULL,3,2,NULL,NULL,1,NULL,'Dear ivanovj28@lol.co.uk',1,NULL,'Dear ivanovj28@lol.co.uk',1,NULL,'ivanovj28@lol.co.uk',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:38','2022-01-05 03:20:44'),
- (30,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'Adams, Maxwell','Maxwell Adams',NULL,NULL,NULL,NULL,NULL,'Both','1901327060',NULL,'Sample Data','Maxwell','V','Adams',NULL,NULL,NULL,NULL,1,NULL,'Dear Maxwell',1,NULL,'Dear Maxwell',1,NULL,'Maxwell Adams',NULL,2,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:38','2022-01-05 03:20:40'),
- (31,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Jacobs-Wilson, Elizabeth','Elizabeth Jacobs-Wilson',NULL,NULL,NULL,'1',NULL,'Both','915483770',NULL,'Sample Data','Elizabeth','','Jacobs-Wilson',NULL,NULL,NULL,NULL,1,NULL,'Dear Elizabeth',1,NULL,'Dear Elizabeth',1,NULL,'Elizabeth Jacobs-Wilson',NULL,1,'1969-08-27',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:38','2022-01-05 03:20:44'),
- (32,'Household',NULL,0,0,0,0,0,0,NULL,NULL,'González-Parker family','González-Parker family',NULL,NULL,NULL,NULL,NULL,'Both','2006835638',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear González-Parker family',5,NULL,'Dear González-Parker family',2,NULL,'González-Parker family',NULL,NULL,NULL,0,NULL,'González-Parker family',NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:38','2022-01-05 03:20:42'),
- (33,'Organization',NULL,0,0,0,0,0,0,NULL,NULL,'Bay Poetry Academy','Bay Poetry Academy',NULL,NULL,NULL,'3',NULL,'Both','3389890417',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'Bay Poetry Academy',NULL,NULL,NULL,0,NULL,NULL,NULL,'Bay Poetry Academy',NULL,NULL,NULL,0,'2022-01-05 03:20:38','2022-01-05 03:20:43'),
- (34,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'Jacobs, Juliann','Juliann Jacobs',NULL,NULL,NULL,NULL,NULL,'Both','3009811288',NULL,'Sample Data','Juliann','','Jacobs',NULL,NULL,NULL,NULL,1,NULL,'Dear Juliann',1,NULL,'Dear Juliann',1,NULL,'Juliann Jacobs',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:38','2022-01-05 03:20:40'),
- (35,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'Bachman, Landon','Dr. Landon Bachman Sr.',NULL,NULL,NULL,'4',NULL,'Both','1765533665',NULL,'Sample Data','Landon','','Bachman',4,2,NULL,NULL,1,NULL,'Dear Landon',1,NULL,'Dear Landon',1,NULL,'Dr. Landon Bachman Sr.',NULL,2,'1941-06-07',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:38','2022-01-05 03:20:43'),
- (36,'Individual',NULL,1,1,0,0,1,0,NULL,NULL,'Łąchowski, Margaret','Margaret Łąchowski',NULL,NULL,NULL,'1',NULL,'Both','1214338746',NULL,'Sample Data','Margaret','Z','Łąchowski',NULL,NULL,NULL,NULL,1,NULL,'Dear Margaret',1,NULL,'Dear Margaret',1,NULL,'Margaret Łąchowski',NULL,1,'1971-06-29',0,NULL,NULL,NULL,'Ohio Arts School',NULL,NULL,18,0,'2022-01-05 03:20:38','2022-01-05 03:20:44'),
- (37,'Household',NULL,0,0,0,0,0,0,NULL,NULL,'Müller family','Müller family',NULL,NULL,NULL,'4',NULL,'Both','1144797465',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear Müller family',5,NULL,'Dear Müller family',2,NULL,'Müller family',NULL,NULL,NULL,0,NULL,'Müller family',NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:38','2022-01-05 03:20:42'),
- (38,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Zope, Rosario','Dr. Rosario Zope III',NULL,NULL,NULL,'4',NULL,'Both','2088711675',NULL,'Sample Data','Rosario','T','Zope',4,4,NULL,NULL,1,NULL,'Dear Rosario',1,NULL,'Dear Rosario',1,NULL,'Dr. Rosario Zope III',NULL,2,'1969-11-21',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:38','2022-01-05 03:20:45'),
- (39,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Terry, Alida','Mrs. Alida Terry',NULL,NULL,NULL,NULL,NULL,'Both','2637023605',NULL,'Sample Data','Alida','J','Terry',1,NULL,NULL,NULL,1,NULL,'Dear Alida',1,NULL,'Dear Alida',1,NULL,'Mrs. Alida Terry',NULL,1,'1952-02-09',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:38','2022-01-05 03:20:40'),
- (40,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Prentice, Jina','Jina Prentice',NULL,NULL,NULL,'2',NULL,'Both','3574120172',NULL,'Sample Data','Jina','N','Prentice',NULL,NULL,NULL,NULL,1,NULL,'Dear Jina',1,NULL,'Dear Jina',1,NULL,'Jina Prentice',NULL,1,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:38','2022-01-05 03:20:40'),
- (41,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Olsen, Kathleen','Dr. Kathleen Olsen',NULL,NULL,NULL,'2',NULL,'Both','1625164526',NULL,'Sample Data','Kathleen','Z','Olsen',4,NULL,NULL,NULL,1,NULL,'Dear Kathleen',1,NULL,'Dear Kathleen',1,NULL,'Dr. Kathleen Olsen',NULL,NULL,'1988-02-18',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:38','2022-01-05 03:20:44'),
- (42,'Organization',NULL,1,0,0,0,0,0,NULL,NULL,'Van Ness Empowerment Academy','Van Ness Empowerment Academy',NULL,NULL,NULL,'2',NULL,'Both','1843564597',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'Van Ness Empowerment Academy',NULL,NULL,NULL,0,NULL,NULL,27,'Van Ness Empowerment Academy',NULL,NULL,NULL,0,'2022-01-05 03:20:38','2022-01-05 03:20:43'),
- (43,'Household',NULL,1,0,0,0,0,0,NULL,NULL,'Ivanov family','Ivanov family',NULL,NULL,NULL,NULL,NULL,'Both','2450779112',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear Ivanov family',5,NULL,'Dear Ivanov family',2,NULL,'Ivanov family',NULL,NULL,NULL,0,NULL,'Ivanov family',NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:38','2022-01-05 03:20:42'),
- (44,'Household',NULL,0,0,0,0,0,0,NULL,NULL,'Samuels family','Samuels family',NULL,NULL,NULL,NULL,NULL,'Both','350459294',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear Samuels family',5,NULL,'Dear Samuels family',2,NULL,'Samuels family',NULL,NULL,NULL,0,NULL,'Samuels family',NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:38','2022-01-05 03:20:42'),
- (45,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Barkley, Rebekah','Rebekah Barkley',NULL,NULL,NULL,NULL,NULL,'Both','3218825396',NULL,'Sample Data','Rebekah','','Barkley',NULL,NULL,NULL,NULL,1,NULL,'Dear Rebekah',1,NULL,'Dear Rebekah',1,NULL,'Rebekah Barkley',NULL,1,'1997-01-26',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:38','2022-01-05 03:20:44'),
- (46,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Jacobs, Irvin','Dr. Irvin Jacobs',NULL,NULL,NULL,'5',NULL,'Both','1475120479',NULL,'Sample Data','Irvin','Z','Jacobs',4,NULL,NULL,NULL,1,NULL,'Dear Irvin',1,NULL,'Dear Irvin',1,NULL,'Dr. Irvin Jacobs',NULL,2,'1959-12-07',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:38','2022-01-05 03:20:39'),
- (47,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'González-Parker, Scott','Dr. Scott González-Parker',NULL,NULL,NULL,'3',NULL,'Both','2854577712',NULL,'Sample Data','Scott','S','González-Parker',4,NULL,NULL,NULL,1,NULL,'Dear Scott',1,NULL,'Dear Scott',1,NULL,'Dr. Scott González-Parker',NULL,2,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:38','2022-01-05 03:20:44'),
- (48,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Jensen, Jackson','Jackson Jensen',NULL,NULL,NULL,NULL,NULL,'Both','2839026195',NULL,'Sample Data','Jackson','','Jensen',NULL,NULL,NULL,NULL,1,NULL,'Dear Jackson',1,NULL,'Dear Jackson',1,NULL,'Jackson Jensen',NULL,NULL,'1938-07-11',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:38','2022-01-05 03:20:39'),
- (49,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'patel.kathleen@sample.co.pl','patel.kathleen@sample.co.pl',NULL,NULL,NULL,NULL,NULL,'Both','2203789168',NULL,'Sample Data',NULL,NULL,NULL,1,NULL,NULL,NULL,1,NULL,'Dear patel.kathleen@sample.co.pl',1,NULL,'Dear patel.kathleen@sample.co.pl',1,NULL,'patel.kathleen@sample.co.pl',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:38','2022-01-05 03:20:40'),
- (50,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'terry.iris@sample.co.in','terry.iris@sample.co.in',NULL,NULL,NULL,NULL,NULL,'Both','3878254899',NULL,'Sample Data',NULL,NULL,NULL,1,NULL,NULL,NULL,1,NULL,'Dear terry.iris@sample.co.in',1,NULL,'Dear terry.iris@sample.co.in',1,NULL,'terry.iris@sample.co.in',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:38','2022-01-05 03:20:43'),
- (51,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Wilson, Shad','Mr. Shad Wilson II',NULL,NULL,NULL,NULL,NULL,'Both','3505548330',NULL,'Sample Data','Shad','','Wilson',3,3,NULL,NULL,1,NULL,'Dear Shad',1,NULL,'Dear Shad',1,NULL,'Mr. Shad Wilson II',NULL,2,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:38','2022-01-05 03:20:44'),
- (52,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Terry, Jackson','Jackson Terry III',NULL,NULL,NULL,NULL,NULL,'Both','179207055',NULL,'Sample Data','Jackson','','Terry',NULL,4,NULL,NULL,1,NULL,'Dear Jackson',1,NULL,'Dear Jackson',1,NULL,'Jackson Terry III',NULL,NULL,'1994-11-30',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:38','2022-01-05 03:20:43'),
- (53,'Individual',NULL,1,0,0,0,1,0,NULL,NULL,'Patel, Sharyn','Sharyn Patel',NULL,NULL,NULL,NULL,NULL,'Both','3025102729',NULL,'Sample Data','Sharyn','','Patel',NULL,NULL,NULL,NULL,1,NULL,'Dear Sharyn',1,NULL,'Dear Sharyn',1,NULL,'Sharyn Patel',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:38','2022-01-05 03:20:44'),
- (54,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Jensen, Felisha','Ms. Felisha Jensen',NULL,NULL,NULL,NULL,NULL,'Both','45016701',NULL,'Sample Data','Felisha','X','Jensen',2,NULL,NULL,NULL,1,NULL,'Dear Felisha',1,NULL,'Dear Felisha',1,NULL,'Ms. Felisha Jensen',NULL,1,'1971-02-08',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:38','2022-01-05 03:20:40'),
- (55,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'González-Parker, Maxwell','Maxwell González-Parker',NULL,NULL,NULL,'2',NULL,'Both','280635455',NULL,'Sample Data','Maxwell','','González-Parker',NULL,NULL,NULL,NULL,1,NULL,'Dear Maxwell',1,NULL,'Dear Maxwell',1,NULL,'Maxwell González-Parker',NULL,NULL,'1986-09-22',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:38','2022-01-05 03:20:44'),
- (56,'Organization',NULL,1,0,0,0,0,0,NULL,NULL,'Woodbridge Health Initiative','Woodbridge Health Initiative',NULL,NULL,NULL,'5',NULL,'Both','1096893299',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'Woodbridge Health Initiative',NULL,NULL,NULL,0,NULL,NULL,NULL,'Woodbridge Health Initiative',NULL,NULL,NULL,0,'2022-01-05 03:20:38','2022-01-05 03:20:43'),
- (57,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'bachman.lincoln97@example.org','bachman.lincoln97@example.org',NULL,NULL,NULL,'5',NULL,'Both','2092938162',NULL,'Sample Data',NULL,NULL,NULL,4,3,NULL,NULL,1,NULL,'Dear bachman.lincoln97@example.org',1,NULL,'Dear bachman.lincoln97@example.org',1,NULL,'bachman.lincoln97@example.org',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:38','2022-01-05 03:20:39'),
- (58,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Cooper, Jackson','Dr. Jackson Cooper III',NULL,NULL,NULL,'1',NULL,'Both','2598878708',NULL,'Sample Data','Jackson','R','Cooper',4,4,NULL,NULL,1,NULL,'Dear Jackson',1,NULL,'Dear Jackson',1,NULL,'Dr. Jackson Cooper III',NULL,2,'1949-04-11',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:38','2022-01-05 03:20:39'),
- (59,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Reynolds, Felisha','Mrs. Felisha Reynolds',NULL,NULL,NULL,NULL,NULL,'Both','3817317933',NULL,'Sample Data','Felisha','','Reynolds',1,NULL,NULL,NULL,1,NULL,'Dear Felisha',1,NULL,'Dear Felisha',1,NULL,'Mrs. Felisha Reynolds',NULL,NULL,'1982-12-04',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:38','2022-01-05 03:20:43'),
- (60,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'Jacobs, Santina','Santina Jacobs',NULL,NULL,NULL,'1',NULL,'Both','2675448515',NULL,'Sample Data','Santina','Z','Jacobs',NULL,NULL,NULL,NULL,1,NULL,'Dear Santina',1,NULL,'Dear Santina',1,NULL,'Santina Jacobs',NULL,1,'1965-12-27',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:38','2022-01-05 03:20:40'),
- (61,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Bachman, Damaris','Ms. Damaris Bachman',NULL,NULL,NULL,'2',NULL,'Both','3561243747',NULL,'Sample Data','Damaris','S','Bachman',2,NULL,NULL,NULL,1,NULL,'Dear Damaris',1,NULL,'Dear Damaris',1,NULL,'Ms. Damaris Bachman',NULL,1,'1966-01-14',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:38','2022-01-05 03:20:40'),
- (62,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'ru.dimitrov@lol.com','ru.dimitrov@lol.com',NULL,NULL,NULL,NULL,NULL,'Both','3334233470',NULL,'Sample Data',NULL,NULL,NULL,3,NULL,NULL,NULL,1,NULL,'Dear ru.dimitrov@lol.com',1,NULL,'Dear ru.dimitrov@lol.com',1,NULL,'ru.dimitrov@lol.com',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:38','2022-01-05 03:20:40'),
- (63,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Ivanov, Brent','Dr. Brent Ivanov II',NULL,NULL,NULL,'5',NULL,'Both','1194630571',NULL,'Sample Data','Brent','','Ivanov',4,3,NULL,NULL,1,NULL,'Dear Brent',1,NULL,'Dear Brent',1,NULL,'Dr. Brent Ivanov II',NULL,NULL,'1971-12-27',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:38','2022-01-05 03:20:40'),
- (64,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Zope, Lawerence','Lawerence Zope',NULL,NULL,NULL,'4',NULL,'Both','3328706365',NULL,'Sample Data','Lawerence','F','Zope',NULL,NULL,NULL,NULL,1,NULL,'Dear Lawerence',1,NULL,'Dear Lawerence',1,NULL,'Lawerence Zope',NULL,2,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:38','2022-01-05 03:20:39'),
- (65,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'Cooper, Alexia','Ms. Alexia Cooper',NULL,NULL,NULL,'2',NULL,'Both','2846725010',NULL,'Sample Data','Alexia','','Cooper',2,NULL,NULL,NULL,1,NULL,'Dear Alexia',1,NULL,'Dear Alexia',1,NULL,'Ms. Alexia Cooper',NULL,1,'1975-08-25',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:38','2022-01-05 03:20:43'),
- (66,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Patel, Troy','Troy Patel',NULL,NULL,NULL,NULL,NULL,'Both','1028090211',NULL,'Sample Data','Troy','C','Patel',NULL,NULL,NULL,NULL,1,NULL,'Dear Troy',1,NULL,'Dear Troy',1,NULL,'Troy Patel',NULL,2,'1979-06-14',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:38','2022-01-05 03:20:45'),
- (67,'Household',NULL,0,0,0,0,0,0,NULL,NULL,'Łąchowski family','Łąchowski family',NULL,NULL,NULL,NULL,NULL,'Both','2407077255',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear Łąchowski family',5,NULL,'Dear Łąchowski family',2,NULL,'Łąchowski family',NULL,NULL,NULL,0,NULL,'Łąchowski family',NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:38','2022-01-05 03:20:42'),
- (68,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Terrell, Shad','Mr. Shad Terrell',NULL,NULL,NULL,'3',NULL,'Both','3876111966',NULL,'Sample Data','Shad','','Terrell',3,NULL,NULL,NULL,1,NULL,'Dear Shad',1,NULL,'Dear Shad',1,NULL,'Mr. Shad Terrell',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:38','2022-01-05 03:20:40'),
- (69,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'barkleyd@infomail.co.pl','barkleyd@infomail.co.pl',NULL,NULL,NULL,'3',NULL,'Both','1368772469',NULL,'Sample Data',NULL,NULL,NULL,1,NULL,NULL,NULL,1,NULL,'Dear barkleyd@infomail.co.pl',1,NULL,'Dear barkleyd@infomail.co.pl',1,NULL,'barkleyd@infomail.co.pl',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:38','2022-01-05 03:20:44'),
- (70,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'barrycooper@example.info','barrycooper@example.info',NULL,NULL,NULL,NULL,NULL,'Both','1068322748',NULL,'Sample Data',NULL,NULL,NULL,4,2,NULL,NULL,1,NULL,'Dear barrycooper@example.info',1,NULL,'Dear barrycooper@example.info',1,NULL,'barrycooper@example.info',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:38','2022-01-05 03:20:40'),
- (71,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Terry, Eleonor','Dr. Eleonor Terry',NULL,NULL,NULL,NULL,NULL,'Both','1084560931',NULL,'Sample Data','Eleonor','','Terry',4,NULL,NULL,NULL,1,NULL,'Dear Eleonor',1,NULL,'Dear Eleonor',1,NULL,'Dr. Eleonor Terry',NULL,1,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:38','2022-01-05 03:20:39'),
- (72,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'Reynolds, Alexia','Alexia Reynolds',NULL,NULL,NULL,'1',NULL,'Both','1389353396',NULL,'Sample Data','Alexia','O','Reynolds',NULL,NULL,NULL,NULL,1,NULL,'Dear Alexia',1,NULL,'Dear Alexia',1,NULL,'Alexia Reynolds',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:38','2022-01-05 03:20:43'),
- (73,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Patel, Rebekah','Rebekah Patel',NULL,NULL,NULL,'4',NULL,'Both','218502217',NULL,'Sample Data','Rebekah','J','Patel',NULL,NULL,NULL,NULL,1,NULL,'Dear Rebekah',1,NULL,'Dear Rebekah',1,NULL,'Rebekah Patel',NULL,1,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:38','2022-01-05 03:20:44'),
- (74,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'Deforest-Olsen, Valene','Valene Deforest-Olsen',NULL,NULL,NULL,'4',NULL,'Both','2378094084',NULL,'Sample Data','Valene','','Deforest-Olsen',NULL,NULL,NULL,NULL,1,NULL,'Dear Valene',1,NULL,'Dear Valene',1,NULL,'Valene Deforest-Olsen',NULL,1,'1987-04-06',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:38','2022-01-05 03:20:44'),
- (75,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Terry, Barry','Dr. Barry Terry Sr.',NULL,NULL,NULL,'5',NULL,'Both','929041000',NULL,'Sample Data','Barry','Y','Terry',4,2,NULL,NULL,1,NULL,'Dear Barry',1,NULL,'Dear Barry',1,NULL,'Dr. Barry Terry Sr.',NULL,NULL,'1977-06-10',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:38','2022-01-05 03:20:44'),
- (76,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'Samson, Claudio','Claudio Samson Sr.',NULL,NULL,NULL,'5',NULL,'Both','114634310',NULL,'Sample Data','Claudio','','Samson',NULL,2,NULL,NULL,1,NULL,'Dear Claudio',1,NULL,'Dear Claudio',1,NULL,'Claudio Samson Sr.',NULL,2,NULL,1,NULL,NULL,NULL,'Urban Legal School',NULL,NULL,102,0,'2022-01-05 03:20:38','2022-01-05 03:20:42'),
- (77,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Díaz, Jina','Jina Díaz',NULL,NULL,NULL,'1',NULL,'Both','484938112',NULL,'Sample Data','Jina','','Díaz',NULL,NULL,NULL,NULL,1,NULL,'Dear Jina',1,NULL,'Dear Jina',1,NULL,'Jina Díaz',NULL,1,'2013-07-24',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:38','2022-01-05 03:20:43'),
- (78,'Household',NULL,0,1,0,0,1,0,NULL,NULL,'Robertson-Lee family','Robertson-Lee family',NULL,NULL,NULL,'4',NULL,'Both','1803684713',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear Robertson-Lee family',5,NULL,'Dear Robertson-Lee family',2,NULL,'Robertson-Lee family',NULL,NULL,NULL,0,NULL,'Robertson-Lee family',NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:38','2022-01-05 03:20:42'),
- (79,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Grant, Rosario','Dr. Rosario Grant',NULL,NULL,NULL,'3',NULL,'Both','2992904466',NULL,'Sample Data','Rosario','','Grant',4,NULL,NULL,NULL,1,NULL,'Dear Rosario',1,NULL,'Dear Rosario',1,NULL,'Dr. Rosario Grant',NULL,2,'1957-06-28',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:38','2022-01-05 03:20:39'),
- (80,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Yadav, Norris','Dr. Norris Yadav Sr.',NULL,NULL,NULL,NULL,NULL,'Both','3408497299',NULL,'Sample Data','Norris','T','Yadav',4,2,NULL,NULL,1,NULL,'Dear Norris',1,NULL,'Dear Norris',1,NULL,'Dr. Norris Yadav Sr.',NULL,2,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:38','2022-01-05 03:20:40'),
- (81,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Cooper, Shad','Shad Cooper Jr.',NULL,NULL,NULL,'2',NULL,'Both','3562872158',NULL,'Sample Data','Shad','O','Cooper',NULL,1,NULL,NULL,1,NULL,'Dear Shad',1,NULL,'Dear Shad',1,NULL,'Shad Cooper Jr.',NULL,2,'1960-09-10',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:38','2022-01-05 03:20:43'),
- (82,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'Dimitrov, Carylon','Mrs. Carylon Dimitrov',NULL,NULL,NULL,'2',NULL,'Both','2719489073',NULL,'Sample Data','Carylon','','Dimitrov',1,NULL,NULL,NULL,1,NULL,'Dear Carylon',1,NULL,'Dear Carylon',1,NULL,'Mrs. Carylon Dimitrov',NULL,1,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:38','2022-01-05 03:20:43'),
- (83,'Individual',NULL,1,0,0,0,1,0,NULL,NULL,'Jameson, Ashley','Ashley Jameson',NULL,NULL,NULL,'2',NULL,'Both','3561508179',NULL,'Sample Data','Ashley','','Jameson',NULL,NULL,NULL,NULL,1,NULL,'Dear Ashley',1,NULL,'Dear Ashley',1,NULL,'Ashley Jameson',NULL,1,'1979-10-09',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:38','2022-01-05 03:20:40'),
- (84,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'Cooper, Andrew','Mr. Andrew Cooper Jr.',NULL,NULL,NULL,NULL,NULL,'Both','1042798620',NULL,'Sample Data','Andrew','','Cooper',3,1,NULL,NULL,1,NULL,'Dear Andrew',1,NULL,'Dear Andrew',1,NULL,'Mr. Andrew Cooper Jr.',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:38','2022-01-05 03:20:40'),
- (85,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Jensen, Beula','Beula Jensen',NULL,NULL,NULL,'2',NULL,'Both','1956895432',NULL,'Sample Data','Beula','','Jensen',NULL,NULL,NULL,NULL,1,NULL,'Dear Beula',1,NULL,'Dear Beula',1,NULL,'Beula Jensen',NULL,1,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:38','2022-01-05 03:20:44'),
- (86,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Müller, Kathleen','Kathleen Müller',NULL,NULL,NULL,'2',NULL,'Both','74249251',NULL,'Sample Data','Kathleen','X','Müller',NULL,NULL,NULL,NULL,1,NULL,'Dear Kathleen',1,NULL,'Dear Kathleen',1,NULL,'Kathleen Müller',NULL,1,NULL,0,NULL,NULL,NULL,'Progressive Peace Initiative',NULL,NULL,173,0,'2022-01-05 03:20:38','2022-01-05 03:20:44'),
- (87,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Müller, Errol','Errol Müller',NULL,NULL,NULL,'2',NULL,'Both','807767976',NULL,'Sample Data','Errol','','Müller',NULL,NULL,NULL,NULL,1,NULL,'Dear Errol',1,NULL,'Dear Errol',1,NULL,'Errol Müller',NULL,NULL,'1987-05-17',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:38','2022-01-05 03:20:44'),
- (88,'Individual',NULL,0,1,0,0,1,0,NULL,NULL,'Cooper, Winford','Winford Cooper II',NULL,NULL,NULL,'2',NULL,'Both','1891762669',NULL,'Sample Data','Winford','','Cooper',NULL,3,NULL,NULL,1,NULL,'Dear Winford',1,NULL,'Dear Winford',1,NULL,'Winford Cooper II',NULL,2,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:38','2022-01-05 03:20:43'),
- (89,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'Ivanov, Russell','Dr. Russell Ivanov II',NULL,NULL,NULL,NULL,NULL,'Both','624189081',NULL,'Sample Data','Russell','U','Ivanov',4,3,NULL,NULL,1,NULL,'Dear Russell',1,NULL,'Dear Russell',1,NULL,'Dr. Russell Ivanov II',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:38','2022-01-05 03:20:40'),
- (90,'Household',NULL,0,0,0,0,0,0,NULL,NULL,'Cooper family','Cooper family',NULL,NULL,NULL,'5',NULL,'Both','1133003930',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear Cooper family',5,NULL,'Dear Cooper family',2,NULL,'Cooper family',NULL,NULL,NULL,0,NULL,'Cooper family',NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:38','2022-01-05 03:20:42'),
- (91,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'Robertson, Justina','Justina Robertson',NULL,NULL,NULL,'4',NULL,'Both','1484862490',NULL,'Sample Data','Justina','L','Robertson',NULL,NULL,NULL,NULL,1,NULL,'Dear Justina',1,NULL,'Dear Justina',1,NULL,'Justina Robertson',NULL,1,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:38','2022-01-05 03:20:40'),
- (92,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'Reynolds, Heidi','Dr. Heidi Reynolds',NULL,NULL,NULL,NULL,NULL,'Both','925137718',NULL,'Sample Data','Heidi','','Reynolds',4,NULL,NULL,NULL,1,NULL,'Dear Heidi',1,NULL,'Dear Heidi',1,NULL,'Dr. Heidi Reynolds',NULL,1,'1965-09-09',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:38','2022-01-05 03:20:40'),
- (93,'Organization',NULL,0,1,0,0,0,0,NULL,NULL,'Woodbridge Food Systems','Woodbridge Food Systems',NULL,NULL,NULL,'5',NULL,'Both','1773946033',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'Woodbridge Food Systems',NULL,NULL,NULL,0,NULL,NULL,135,'Woodbridge Food Systems',NULL,NULL,NULL,0,'2022-01-05 03:20:38','2022-01-05 03:20:43'),
- (94,'Household',NULL,1,0,0,0,0,0,NULL,NULL,'Wilson family','Wilson family',NULL,NULL,NULL,'5',NULL,'Both','350510798',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear Wilson family',5,NULL,'Dear Wilson family',2,NULL,'Wilson family',NULL,NULL,NULL,0,NULL,'Wilson family',NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:38','2022-01-05 03:20:42'),
- (95,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Jameson, Ivey','Ivey Jameson',NULL,NULL,NULL,'3',NULL,'Both','3123658938',NULL,'Sample Data','Ivey','','Jameson',NULL,NULL,NULL,NULL,1,NULL,'Dear Ivey',1,NULL,'Dear Ivey',1,NULL,'Ivey Jameson',NULL,NULL,'1957-08-05',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:38','2022-01-05 03:20:39'),
- (96,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Nielsen, Clint','Clint Nielsen',NULL,NULL,NULL,NULL,NULL,'Both','2083087169',NULL,'Sample Data','Clint','','Nielsen',NULL,NULL,NULL,NULL,1,NULL,'Dear Clint',1,NULL,'Dear Clint',1,NULL,'Clint Nielsen',NULL,2,'1950-04-12',0,NULL,NULL,NULL,'Passadumkeag Agriculture Partnership',NULL,NULL,120,0,'2022-01-05 03:20:38','2022-01-05 03:20:43'),
- (97,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Blackwell, Rebekah','Rebekah Blackwell',NULL,NULL,NULL,'2',NULL,'Both','982789307',NULL,'Sample Data','Rebekah','','Blackwell',NULL,NULL,NULL,NULL,1,NULL,'Dear Rebekah',1,NULL,'Dear Rebekah',1,NULL,'Rebekah Blackwell',NULL,1,'1940-12-07',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:38','2022-01-05 03:20:40'),
- (98,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Samson, Jacob','Mr. Jacob Samson',NULL,NULL,NULL,NULL,NULL,'Both','1567006775',NULL,'Sample Data','Jacob','','Samson',3,NULL,NULL,NULL,1,NULL,'Dear Jacob',1,NULL,'Dear Jacob',1,NULL,'Mr. Jacob Samson',NULL,2,NULL,0,NULL,NULL,NULL,'Orlando Food Fellowship',NULL,NULL,101,0,'2022-01-05 03:20:38','2022-01-05 03:20:42'),
- (99,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Ivanov, Jay','Jay Ivanov',NULL,NULL,NULL,NULL,NULL,'Both','2669174964',NULL,'Sample Data','Jay','','Ivanov',NULL,NULL,NULL,NULL,1,NULL,'Dear Jay',1,NULL,'Dear Jay',1,NULL,'Jay Ivanov',NULL,2,'1963-07-14',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:44'),
- (100,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Müller, Maxwell','Mr. Maxwell Müller',NULL,NULL,NULL,NULL,NULL,'Both','2972574046',NULL,'Sample Data','Maxwell','J','Müller',3,NULL,NULL,NULL,1,NULL,'Dear Maxwell',1,NULL,'Dear Maxwell',1,NULL,'Mr. Maxwell Müller',NULL,2,'1949-07-06',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:39'),
- (101,'Organization',NULL,0,0,0,0,0,0,NULL,NULL,'Orlando Food Fellowship','Orlando Food Fellowship',NULL,NULL,NULL,NULL,NULL,'Both','4205977670',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'Orlando Food Fellowship',NULL,NULL,NULL,0,NULL,NULL,98,'Orlando Food Fellowship',NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:42'),
- (102,'Organization',NULL,0,0,0,0,0,0,NULL,NULL,'Urban Legal School','Urban Legal School',NULL,NULL,NULL,'1',NULL,'Both','2107360118',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'Urban Legal School',NULL,NULL,NULL,0,NULL,NULL,76,'Urban Legal School',NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:42'),
- (103,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Olsen, Esta','Esta Olsen',NULL,NULL,NULL,NULL,NULL,'Both','1433708351',NULL,'Sample Data','Esta','B','Olsen',NULL,NULL,NULL,NULL,1,NULL,'Dear Esta',1,NULL,'Dear Esta',1,NULL,'Esta Olsen',NULL,1,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:40'),
- (104,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'Zope, Tanya','Mrs. Tanya Zope',NULL,NULL,NULL,NULL,NULL,'Both','2120997971',NULL,'Sample Data','Tanya','Q','Zope',1,NULL,NULL,NULL,1,NULL,'Dear Tanya',1,NULL,'Dear Tanya',1,NULL,'Mrs. Tanya Zope',NULL,1,'2000-05-21',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:45'),
- (105,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Jensen, Scott','Dr. Scott Jensen',NULL,NULL,NULL,'1',NULL,'Both','4064239922',NULL,'Sample Data','Scott','C','Jensen',4,NULL,NULL,NULL,1,NULL,'Dear Scott',1,NULL,'Dear Scott',1,NULL,'Dr. Scott Jensen',NULL,2,'1982-08-30',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:40'),
- (106,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'norrist@lol.info','norrist@lol.info',NULL,NULL,NULL,'2',NULL,'Both','3504108889',NULL,'Sample Data',NULL,NULL,NULL,4,2,NULL,NULL,1,NULL,'Dear norrist@lol.info',1,NULL,'Dear norrist@lol.info',1,NULL,'norrist@lol.info',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:40'),
- (107,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'mroberts64@example.biz','mroberts64@example.biz',NULL,NULL,NULL,NULL,NULL,'Both','2597750349',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,NULL,'Dear mroberts64@example.biz',1,NULL,'Dear mroberts64@example.biz',1,NULL,'mroberts64@example.biz',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:40'),
- (108,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Reynolds, Carylon','Carylon Reynolds',NULL,NULL,NULL,'2',NULL,'Both','1835260667',NULL,'Sample Data','Carylon','','Reynolds',NULL,NULL,NULL,NULL,1,NULL,'Dear Carylon',1,NULL,'Dear Carylon',1,NULL,'Carylon Reynolds',NULL,1,'2014-04-06',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:43'),
- (109,'Organization',NULL,0,1,0,0,0,0,NULL,NULL,'Global Empowerment Fellowship','Global Empowerment Fellowship',NULL,NULL,NULL,NULL,NULL,'Both','3733414552',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'Global Empowerment Fellowship',NULL,NULL,NULL,0,NULL,NULL,155,'Global Empowerment Fellowship',NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:43'),
- (110,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Samuels, Carylon','Mrs. Carylon Samuels',NULL,NULL,NULL,'4',NULL,'Both','707612001',NULL,'Sample Data','Carylon','','Samuels',1,NULL,NULL,NULL,1,NULL,'Dear Carylon',1,NULL,'Dear Carylon',1,NULL,'Mrs. Carylon Samuels',NULL,1,'1963-11-18',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:43'),
- (111,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'Łąchowski, Maria','Dr. Maria Łąchowski II',NULL,NULL,NULL,NULL,NULL,'Both','2706885565',NULL,'Sample Data','Maria','','Łąchowski',4,3,NULL,NULL,1,NULL,'Dear Maria',1,NULL,'Dear Maria',1,NULL,'Dr. Maria Łąchowski II',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:39'),
- (112,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Nielsen, Landon','Mr. Landon Nielsen III',NULL,NULL,NULL,NULL,NULL,'Both','1226832678',NULL,'Sample Data','Landon','','Nielsen',3,4,NULL,NULL,1,NULL,'Dear Landon',1,NULL,'Dear Landon',1,NULL,'Mr. Landon Nielsen III',NULL,2,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:40'),
- (113,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Lee, Ashley','Dr. Ashley Lee',NULL,NULL,NULL,NULL,NULL,'Both','66160538',NULL,'Sample Data','Ashley','','Lee',4,NULL,NULL,NULL,1,NULL,'Dear Ashley',1,NULL,'Dear Ashley',1,NULL,'Dr. Ashley Lee',NULL,2,'1999-11-08',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:39'),
- (114,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Prentice-Patel, Juliann','Ms. Juliann Prentice-Patel',NULL,NULL,NULL,NULL,NULL,'Both','4018811170',NULL,'Sample Data','Juliann','D','Prentice-Patel',2,NULL,NULL,NULL,1,NULL,'Dear Juliann',1,NULL,'Dear Juliann',1,NULL,'Ms. Juliann Prentice-Patel',NULL,1,'1980-11-30',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:44'),
- (115,'Organization',NULL,1,0,0,0,0,0,NULL,NULL,'North Dakota Education Fund','North Dakota Education Fund',NULL,NULL,NULL,NULL,NULL,'Both','125532294',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'North Dakota Education Fund',NULL,NULL,NULL,0,NULL,NULL,136,'North Dakota Education Fund',NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:42'),
- (116,'Organization',NULL,0,1,0,0,0,0,NULL,NULL,'Creative Food Systems','Creative Food Systems',NULL,NULL,NULL,'5',NULL,'Both','223552429',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'Creative Food Systems',NULL,NULL,NULL,0,NULL,NULL,NULL,'Creative Food Systems',NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:42'),
- (117,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'Terry, Juliann','Juliann Terry',NULL,NULL,NULL,'2',NULL,'Both','3154715143',NULL,'Sample Data','Juliann','I','Terry',NULL,NULL,NULL,NULL,1,NULL,'Dear Juliann',1,NULL,'Dear Juliann',1,NULL,'Juliann Terry',NULL,1,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:44'),
- (118,'Individual',NULL,0,1,0,0,1,0,NULL,NULL,'Blackwell, Errol','Errol Blackwell Jr.',NULL,NULL,NULL,NULL,NULL,'Both','3418432727',NULL,'Sample Data','Errol','','Blackwell',NULL,1,NULL,NULL,1,NULL,'Dear Errol',1,NULL,'Dear Errol',1,NULL,'Errol Blackwell Jr.',NULL,2,'1946-02-04',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:40'),
- (119,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Jensen, Kiara','Kiara Jensen',NULL,NULL,NULL,'3',NULL,'Both','4228592498',NULL,'Sample Data','Kiara','L','Jensen',NULL,NULL,NULL,NULL,1,NULL,'Dear Kiara',1,NULL,'Dear Kiara',1,NULL,'Kiara Jensen',NULL,1,'1936-09-21',0,NULL,NULL,NULL,'Bay Health School',NULL,NULL,184,0,'2022-01-05 03:20:39','2022-01-05 03:20:43'),
- (120,'Organization',NULL,0,0,0,0,0,0,NULL,NULL,'Passadumkeag Agriculture Partnership','Passadumkeag Agriculture Partnership',NULL,NULL,NULL,'1',NULL,'Both','1997663399',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'Passadumkeag Agriculture Partnership',NULL,NULL,NULL,0,NULL,NULL,96,'Passadumkeag Agriculture Partnership',NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:43'),
- (121,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'kaceysamuels16@example.com','kaceysamuels16@example.com',NULL,NULL,NULL,NULL,NULL,'Both','2929451038',NULL,'Sample Data',NULL,NULL,NULL,4,NULL,NULL,NULL,1,NULL,'Dear kaceysamuels16@example.com',1,NULL,'Dear kaceysamuels16@example.com',1,NULL,'kaceysamuels16@example.com',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:43'),
- (122,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Samuels, Teresa','Dr. Teresa Samuels',NULL,NULL,NULL,'5',NULL,'Both','2575395037',NULL,'Sample Data','Teresa','','Samuels',4,NULL,NULL,NULL,1,NULL,'Dear Teresa',1,NULL,'Dear Teresa',1,NULL,'Dr. Teresa Samuels',NULL,1,'1988-06-18',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:43'),
- (123,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Müller, Magan','Dr. Magan Müller',NULL,NULL,NULL,NULL,NULL,'Both','681120033',NULL,'Sample Data','Magan','','Müller',4,NULL,NULL,NULL,1,NULL,'Dear Magan',1,NULL,'Dear Magan',1,NULL,'Dr. Magan Müller',NULL,1,'1969-11-12',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:44'),
- (124,'Household',NULL,0,1,0,0,0,0,NULL,NULL,'Dimitrov family','Dimitrov family',NULL,NULL,NULL,'3',NULL,'Both','3351288571',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear Dimitrov family',5,NULL,'Dear Dimitrov family',2,NULL,'Dimitrov family',NULL,NULL,NULL,0,NULL,'Dimitrov family',NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:42'),
- (125,'Individual',NULL,1,1,0,0,0,0,NULL,NULL,'cs.prentice-patel39@infomail.org','cs.prentice-patel39@infomail.org',NULL,NULL,NULL,'4',NULL,'Both','4139266989',NULL,'Sample Data',NULL,NULL,NULL,NULL,4,NULL,NULL,1,NULL,'Dear cs.prentice-patel39@infomail.org',1,NULL,'Dear cs.prentice-patel39@infomail.org',1,NULL,'cs.prentice-patel39@infomail.org',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:44'),
- (126,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Jones, Shauna','Shauna Jones',NULL,NULL,NULL,NULL,NULL,'Both','2088102406',NULL,'Sample Data','Shauna','','Jones',NULL,NULL,NULL,NULL,1,NULL,'Dear Shauna',1,NULL,'Dear Shauna',1,NULL,'Shauna Jones',NULL,NULL,'1957-08-19',0,NULL,NULL,NULL,'Sierra Wellness Academy',NULL,NULL,21,0,'2022-01-05 03:20:39','2022-01-05 03:20:42'),
- (127,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Dimitrov, Scott','Scott Dimitrov',NULL,NULL,NULL,NULL,NULL,'Both','444079485',NULL,'Sample Data','Scott','','Dimitrov',NULL,NULL,NULL,NULL,1,NULL,'Dear Scott',1,NULL,'Dear Scott',1,NULL,'Scott Dimitrov',NULL,2,'1992-05-04',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:43'),
- (128,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Jones, Margaret','Dr. Margaret Jones',NULL,NULL,NULL,NULL,NULL,'Both','1031157711',NULL,'Sample Data','Margaret','','Jones',4,NULL,NULL,NULL,1,NULL,'Dear Margaret',1,NULL,'Dear Margaret',1,NULL,'Dr. Margaret Jones',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:40'),
- (129,'Household',NULL,1,0,0,0,0,0,NULL,NULL,'Olsen family','Olsen family',NULL,NULL,NULL,NULL,NULL,'Both','1990073228',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear Olsen family',5,NULL,'Dear Olsen family',2,NULL,'Olsen family',NULL,NULL,NULL,0,NULL,'Olsen family',NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:42'),
- (130,'Individual',NULL,0,1,0,0,1,0,NULL,NULL,'Jensen, Esta','Dr. Esta Jensen',NULL,NULL,NULL,NULL,NULL,'Both','4290021443',NULL,'Sample Data','Esta','','Jensen',4,NULL,NULL,NULL,1,NULL,'Dear Esta',1,NULL,'Dear Esta',1,NULL,'Dr. Esta Jensen',NULL,1,'1940-02-20',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:39'),
- (131,'Household',NULL,0,0,0,0,0,0,NULL,NULL,'Díaz family','Díaz family',NULL,NULL,NULL,NULL,NULL,'Both','2169249835',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear Díaz family',5,NULL,'Dear Díaz family',2,NULL,'Díaz family',NULL,NULL,NULL,0,NULL,'Díaz family',NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:42'),
- (132,'Household',NULL,1,0,0,0,0,0,NULL,NULL,'Prentice-Patel family','Prentice-Patel family',NULL,NULL,NULL,NULL,NULL,'Both','346950560',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear Prentice-Patel family',5,NULL,'Dear Prentice-Patel family',2,NULL,'Prentice-Patel family',NULL,NULL,NULL,0,NULL,'Prentice-Patel family',NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:42'),
- (133,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Jensen, Lou','Lou Jensen',NULL,NULL,NULL,NULL,NULL,'Both','707335642',NULL,'Sample Data','Lou','','Jensen',NULL,NULL,NULL,NULL,1,NULL,'Dear Lou',1,NULL,'Dear Lou',1,NULL,'Lou Jensen',NULL,2,'1999-01-29',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:44'),
- (134,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Díaz, Claudio','Claudio Díaz',NULL,NULL,NULL,'5',NULL,'Both','4140974764',NULL,'Sample Data','Claudio','O','Díaz',NULL,NULL,NULL,NULL,1,NULL,'Dear Claudio',1,NULL,'Dear Claudio',1,NULL,'Claudio Díaz',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:43'),
- (135,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'Yadav, Winford','Dr. Winford Yadav',NULL,NULL,NULL,'3',NULL,'Both','3002231808',NULL,'Sample Data','Winford','C','Yadav',4,NULL,NULL,NULL,1,NULL,'Dear Winford',1,NULL,'Dear Winford',1,NULL,'Dr. Winford Yadav',NULL,2,'1973-03-22',0,NULL,NULL,NULL,'Woodbridge Food Systems',NULL,NULL,93,0,'2022-01-05 03:20:39','2022-01-05 03:20:43'),
- (136,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'Robertson-Lee, Ivey','Ivey Robertson-Lee',NULL,NULL,NULL,NULL,NULL,'Both','4074561594',NULL,'Sample Data','Ivey','V','Robertson-Lee',NULL,NULL,NULL,NULL,1,NULL,'Dear Ivey',1,NULL,'Dear Ivey',1,NULL,'Ivey Robertson-Lee',NULL,NULL,NULL,0,NULL,NULL,NULL,'North Dakota Education Fund',NULL,NULL,115,0,'2022-01-05 03:20:39','2022-01-05 03:20:43'),
- (137,'Individual',NULL,1,1,0,0,0,0,NULL,NULL,'zope.jacob@airmail.com','zope.jacob@airmail.com',NULL,NULL,NULL,NULL,NULL,'Both','2287501513',NULL,'Sample Data',NULL,NULL,NULL,NULL,3,NULL,NULL,1,NULL,'Dear zope.jacob@airmail.com',1,NULL,'Dear zope.jacob@airmail.com',1,NULL,'zope.jacob@airmail.com',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:45'),
- (138,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'McReynolds, Jina','Jina McReynolds',NULL,NULL,NULL,NULL,NULL,'Both','644172968',NULL,'Sample Data','Jina','B','McReynolds',NULL,NULL,NULL,NULL,1,NULL,'Dear Jina',1,NULL,'Dear Jina',1,NULL,'Jina McReynolds',NULL,NULL,'1996-10-31',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:40'),
- (139,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'rodrigojensen@airmail.com','rodrigojensen@airmail.com',NULL,NULL,NULL,NULL,NULL,'Both','4041959983',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,NULL,'Dear rodrigojensen@airmail.com',1,NULL,'Dear rodrigojensen@airmail.com',1,NULL,'rodrigojensen@airmail.com',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:44'),
- (140,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Nielsen, Jackson','Jackson Nielsen Sr.',NULL,NULL,NULL,NULL,NULL,'Both','1699263324',NULL,'Sample Data','Jackson','','Nielsen',NULL,2,NULL,NULL,1,NULL,'Dear Jackson',1,NULL,'Dear Jackson',1,NULL,'Jackson Nielsen Sr.',NULL,2,'2003-04-01',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:44'),
- (141,'Household',NULL,0,1,0,0,1,0,NULL,NULL,'Patel family','Patel family',NULL,NULL,NULL,'5',NULL,'Both','1669281794',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear Patel family',5,NULL,'Dear Patel family',2,NULL,'Patel family',NULL,NULL,NULL,0,NULL,'Patel family',NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:42'),
- (142,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Dimitrov, Santina','Dr. Santina Dimitrov',NULL,NULL,NULL,'1',NULL,'Both','500419738',NULL,'Sample Data','Santina','L','Dimitrov',4,NULL,NULL,NULL,1,NULL,'Dear Santina',1,NULL,'Dear Santina',1,NULL,'Dr. Santina Dimitrov',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:40'),
- (143,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Terry, Rebekah','Mrs. Rebekah Terry',NULL,NULL,NULL,'2',NULL,'Both','2103758784',NULL,'Sample Data','Rebekah','C','Terry',1,NULL,NULL,NULL,1,NULL,'Dear Rebekah',1,NULL,'Dear Rebekah',1,NULL,'Mrs. Rebekah Terry',NULL,1,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:43'),
- (144,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'Jensen, Alida','Alida Jensen',NULL,NULL,NULL,'5',NULL,'Both','2481864590',NULL,'Sample Data','Alida','','Jensen',NULL,NULL,NULL,NULL,1,NULL,'Dear Alida',1,NULL,'Dear Alida',1,NULL,'Alida Jensen',NULL,1,'1939-06-19',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:40'),
- (145,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Wilson, Margaret','Margaret Wilson',NULL,NULL,NULL,NULL,NULL,'Both','2853804377',NULL,'Sample Data','Margaret','R','Wilson',NULL,NULL,NULL,NULL,1,NULL,'Dear Margaret',1,NULL,'Dear Margaret',1,NULL,'Margaret Wilson',NULL,1,'1980-10-28',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:44'),
- (146,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Dimitrov, Clint','Clint Dimitrov Sr.',NULL,NULL,NULL,NULL,NULL,'Both','2522553536',NULL,'Sample Data','Clint','V','Dimitrov',NULL,2,NULL,NULL,1,NULL,'Dear Clint',1,NULL,'Dear Clint',1,NULL,'Clint Dimitrov Sr.',NULL,NULL,'1984-09-24',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:43'),
- (147,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Müller, Beula','Ms. Beula Müller',NULL,NULL,NULL,'1',NULL,'Both','521667941',NULL,'Sample Data','Beula','','Müller',2,NULL,NULL,NULL,1,NULL,'Dear Beula',1,NULL,'Dear Beula',1,NULL,'Ms. Beula Müller',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:39'),
- (148,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'McReynolds, Teresa','Teresa McReynolds',NULL,NULL,NULL,NULL,NULL,'Both','2267068970',NULL,'Sample Data','Teresa','','McReynolds',NULL,NULL,NULL,NULL,1,NULL,'Dear Teresa',1,NULL,'Dear Teresa',1,NULL,'Teresa McReynolds',NULL,NULL,'1965-06-12',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:39'),
- (149,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'tzope@airmail.org','tzope@airmail.org',NULL,NULL,NULL,'5',NULL,'Both','2427648729',NULL,'Sample Data',NULL,NULL,NULL,3,4,NULL,NULL,1,NULL,'Dear tzope@airmail.org',1,NULL,'Dear tzope@airmail.org',1,NULL,'tzope@airmail.org',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:40'),
- (150,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Blackwell, Russell','Dr. Russell Blackwell II',NULL,NULL,NULL,NULL,NULL,'Both','2850885391',NULL,'Sample Data','Russell','','Blackwell',4,3,NULL,NULL,1,NULL,'Dear Russell',1,NULL,'Dear Russell',1,NULL,'Dr. Russell Blackwell II',NULL,2,'1971-03-01',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:41'),
- (151,'Household',NULL,0,0,0,0,0,0,NULL,NULL,'Reynolds family','Reynolds family',NULL,NULL,NULL,NULL,NULL,'Both','4119726021',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear Reynolds family',5,NULL,'Dear Reynolds family',2,NULL,'Reynolds family',NULL,NULL,NULL,0,NULL,'Reynolds family',NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:42'),
- (152,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'Nielsen, Sharyn','Sharyn Nielsen',NULL,NULL,NULL,'2',NULL,'Both','3940504410',NULL,'Sample Data','Sharyn','','Nielsen',NULL,NULL,NULL,NULL,1,NULL,'Dear Sharyn',1,NULL,'Dear Sharyn',1,NULL,'Sharyn Nielsen',NULL,1,'1983-12-06',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:44'),
- (153,'Household',NULL,1,1,0,0,0,0,NULL,NULL,'Jensen family','Jensen family',NULL,NULL,NULL,NULL,NULL,'Both','797435572',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear Jensen family',5,NULL,'Dear Jensen family',2,NULL,'Jensen family',NULL,NULL,NULL,0,NULL,'Jensen family',NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:42'),
- (154,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Robertson-Díaz, Margaret','Dr. Margaret Robertson-Díaz',NULL,NULL,NULL,'1',NULL,'Both','1384250054',NULL,'Sample Data','Margaret','','Robertson-Díaz',4,NULL,NULL,NULL,1,NULL,'Dear Margaret',1,NULL,'Dear Margaret',1,NULL,'Dr. Margaret Robertson-Díaz',NULL,1,'1976-02-09',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:43'),
- (155,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Müller, Landon','Landon Müller II',NULL,NULL,NULL,NULL,NULL,'Both','2647475480',NULL,'Sample Data','Landon','Z','Müller',NULL,3,NULL,NULL,1,NULL,'Dear Landon',1,NULL,'Dear Landon',1,NULL,'Landon Müller II',NULL,2,'1993-10-09',0,NULL,NULL,NULL,'Global Empowerment Fellowship',NULL,NULL,109,0,'2022-01-05 03:20:39','2022-01-05 03:20:44'),
- (156,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Terry, Jed','Jed Terry III',NULL,NULL,NULL,NULL,NULL,'Both','2004213447',NULL,'Sample Data','Jed','','Terry',NULL,4,NULL,NULL,1,NULL,'Dear Jed',1,NULL,'Dear Jed',1,NULL,'Jed Terry III',NULL,2,'1966-12-21',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:43'),
- (157,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Lee, Lou','Lou Lee Jr.',NULL,NULL,NULL,NULL,NULL,'Both','2234392100',NULL,'Sample Data','Lou','L','Lee',NULL,1,NULL,NULL,1,NULL,'Dear Lou',1,NULL,'Dear Lou',1,NULL,'Lou Lee Jr.',NULL,2,'1952-02-06',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:40'),
- (158,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Yadav, Rosario','Dr. Rosario Yadav',NULL,NULL,NULL,'4',NULL,'Both','422504705',NULL,'Sample Data','Rosario','','Yadav',4,NULL,NULL,NULL,1,NULL,'Dear Rosario',1,NULL,'Dear Rosario',1,NULL,'Dr. Rosario Yadav',NULL,2,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:40'),
- (159,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'Nielsen, Carlos','Carlos Nielsen Jr.',NULL,NULL,NULL,NULL,NULL,'Both','3482557621',NULL,'Sample Data','Carlos','','Nielsen',NULL,1,NULL,NULL,1,NULL,'Dear Carlos',1,NULL,'Dear Carlos',1,NULL,'Carlos Nielsen Jr.',NULL,2,'1966-01-12',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:44'),
- (160,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Zope, Elina','Elina Zope',NULL,NULL,NULL,NULL,NULL,'Both','3511494831',NULL,'Sample Data','Elina','','Zope',NULL,NULL,NULL,NULL,1,NULL,'Dear Elina',1,NULL,'Dear Elina',1,NULL,'Elina Zope',NULL,1,'1965-08-09',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:45'),
- (161,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'kandacer@example.co.nz','kandacer@example.co.nz',NULL,NULL,NULL,NULL,NULL,'Both','1963558050',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,NULL,'Dear kandacer@example.co.nz',1,NULL,'Dear kandacer@example.co.nz',1,NULL,'kandacer@example.co.nz',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:41'),
- (162,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Robertson, Andrew','Andrew Robertson',NULL,NULL,NULL,'2',NULL,'Both','2591611250',NULL,'Sample Data','Andrew','W','Robertson',NULL,NULL,NULL,NULL,1,NULL,'Dear Andrew',1,NULL,'Dear Andrew',1,NULL,'Andrew Robertson',NULL,2,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:39'),
- (163,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'Olsen, Jerome','Mr. Jerome Olsen II',NULL,NULL,NULL,'2',NULL,'Both','2369616352',NULL,'Sample Data','Jerome','O','Olsen',3,3,NULL,NULL,1,NULL,'Dear Jerome',1,NULL,'Dear Jerome',1,NULL,'Mr. Jerome Olsen II',NULL,NULL,'1963-03-19',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:44'),
- (164,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'Terry, Kathleen','Mrs. Kathleen Terry',NULL,NULL,NULL,'3',NULL,'Both','1992671393',NULL,'Sample Data','Kathleen','G','Terry',1,NULL,NULL,NULL,1,NULL,'Dear Kathleen',1,NULL,'Dear Kathleen',1,NULL,'Mrs. Kathleen Terry',NULL,1,'1979-02-05',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:39'),
- (165,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'Dimitrov, Jay','Jay Dimitrov III',NULL,NULL,NULL,'1',NULL,'Both','512179988',NULL,'Sample Data','Jay','X','Dimitrov',NULL,4,NULL,NULL,1,NULL,'Dear Jay',1,NULL,'Dear Jay',1,NULL,'Jay Dimitrov III',NULL,2,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:43'),
- (166,'Organization',NULL,1,0,0,0,0,0,NULL,NULL,'Main Sustainability Systems','Main Sustainability Systems',NULL,NULL,NULL,NULL,NULL,'Both','2655669025',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'Main Sustainability Systems',NULL,NULL,NULL,0,NULL,NULL,NULL,'Main Sustainability Systems',NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:43'),
- (167,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'González, Elbert','Elbert González III',NULL,NULL,NULL,'3',NULL,'Both','672613238',NULL,'Sample Data','Elbert','Y','González',NULL,4,NULL,NULL,1,NULL,'Dear Elbert',1,NULL,'Dear Elbert',1,NULL,'Elbert González III',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:39'),
- (168,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Parker, Elizabeth','Dr. Elizabeth Parker',NULL,NULL,NULL,NULL,NULL,'Both','3038072630',NULL,'Sample Data','Elizabeth','D','Parker',4,NULL,NULL,NULL,1,NULL,'Dear Elizabeth',1,NULL,'Dear Elizabeth',1,NULL,'Dr. Elizabeth Parker',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:40'),
- (169,'Household',NULL,0,0,0,0,0,0,NULL,NULL,'Terry family','Terry family',NULL,NULL,NULL,'5',NULL,'Both','558108751',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear Terry family',5,NULL,'Dear Terry family',2,NULL,'Terry family',NULL,NULL,NULL,0,NULL,'Terry family',NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:42'),
- (170,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Nielsen, Merrie','Mrs. Merrie Nielsen',NULL,NULL,NULL,NULL,NULL,'Both','3023030184',NULL,'Sample Data','Merrie','','Nielsen',1,NULL,NULL,NULL,1,NULL,'Dear Merrie',1,NULL,'Dear Merrie',1,NULL,'Mrs. Merrie Nielsen',NULL,1,'1986-07-23',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:39'),
- (171,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'Díaz, Clint','Dr. Clint Díaz',NULL,NULL,NULL,NULL,NULL,'Both','3503793680',NULL,'Sample Data','Clint','U','Díaz',4,NULL,NULL,NULL,1,NULL,'Dear Clint',1,NULL,'Dear Clint',1,NULL,'Dr. Clint Díaz',NULL,2,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:40'),
- (172,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'jacobs.arlyne@notmail.co.pl','jacobs.arlyne@notmail.co.pl',NULL,NULL,NULL,NULL,NULL,'Both','2319530401',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,NULL,'Dear jacobs.arlyne@notmail.co.pl',1,NULL,'Dear jacobs.arlyne@notmail.co.pl',1,NULL,'jacobs.arlyne@notmail.co.pl',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:40'),
- (173,'Organization',NULL,1,0,0,0,0,0,NULL,NULL,'Progressive Peace Initiative','Progressive Peace Initiative',NULL,NULL,NULL,'3',NULL,'Both','1955301488',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'Progressive Peace Initiative',NULL,NULL,NULL,0,NULL,NULL,86,'Progressive Peace Initiative',NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:43'),
- (174,'Individual',NULL,0,1,0,0,1,0,NULL,NULL,'Lee, Irvin','Irvin Lee Sr.',NULL,NULL,NULL,'5',NULL,'Both','1021209038',NULL,'Sample Data','Irvin','','Lee',NULL,2,NULL,NULL,1,NULL,'Dear Irvin',1,NULL,'Dear Irvin',1,NULL,'Irvin Lee Sr.',NULL,2,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:40'),
- (175,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Patel, Herminia','Mrs. Herminia Patel',NULL,NULL,NULL,NULL,NULL,'Both','2166987565',NULL,'Sample Data','Herminia','T','Patel',1,NULL,NULL,NULL,1,NULL,'Dear Herminia',1,NULL,'Dear Herminia',1,NULL,'Mrs. Herminia Patel',NULL,1,'1991-09-30',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:44'),
- (176,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'Díaz, Jackson','Jackson Díaz II',NULL,NULL,NULL,'4',NULL,'Both','770065800',NULL,'Sample Data','Jackson','','Díaz',NULL,3,NULL,NULL,1,NULL,'Dear Jackson',1,NULL,'Dear Jackson',1,NULL,'Jackson Díaz II',NULL,2,'1987-03-21',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:43'),
- (177,'Household',NULL,0,0,0,0,1,0,NULL,NULL,'Zope family','Zope family',NULL,NULL,NULL,'4',NULL,'Both','1649131487',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear Zope family',5,NULL,'Dear Zope family',2,NULL,'Zope family',NULL,NULL,NULL,0,NULL,'Zope family',NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:42'),
- (178,'Organization',NULL,0,0,0,0,0,0,NULL,NULL,'Northpoint Legal Partners','Northpoint Legal Partners',NULL,NULL,NULL,NULL,NULL,'Both','4066741361',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'Northpoint Legal Partners',NULL,NULL,NULL,0,NULL,NULL,3,'Northpoint Legal Partners',NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:43'),
- (179,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Wilson, Norris','Norris Wilson',NULL,NULL,NULL,'1',NULL,'Both','1089092056',NULL,'Sample Data','Norris','','Wilson',NULL,NULL,NULL,NULL,1,NULL,'Dear Norris',1,NULL,'Dear Norris',1,NULL,'Norris Wilson',NULL,NULL,'1993-02-22',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:44'),
- (180,'Individual',NULL,1,0,0,0,1,0,NULL,NULL,'Yadav, Mei','Mrs. Mei Yadav',NULL,NULL,NULL,NULL,NULL,'Both','3106759273',NULL,'Sample Data','Mei','R','Yadav',1,NULL,NULL,NULL,1,NULL,'Dear Mei',1,NULL,'Dear Mei',1,NULL,'Mrs. Mei Yadav',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:40'),
- (181,'Individual',NULL,1,0,0,0,1,0,NULL,NULL,'Łąchowski, Kathlyn','Kathlyn Łąchowski',NULL,NULL,NULL,'3',NULL,'Both','336052777',NULL,'Sample Data','Kathlyn','H','Łąchowski',NULL,NULL,NULL,NULL,1,NULL,'Dear Kathlyn',1,NULL,'Dear Kathlyn',1,NULL,'Kathlyn Łąchowski',NULL,NULL,'1988-04-25',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:44'),
- (182,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Prentice, Claudio','Mr. Claudio Prentice II',NULL,NULL,NULL,'2',NULL,'Both','2511779749',NULL,'Sample Data','Claudio','Q','Prentice',3,3,NULL,NULL,1,NULL,'Dear Claudio',1,NULL,'Dear Claudio',1,NULL,'Mr. Claudio Prentice II',NULL,2,'1986-09-11',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:44'),
- (183,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'syadav@example.net','syadav@example.net',NULL,NULL,NULL,NULL,NULL,'Both','1847437029',NULL,'Sample Data',NULL,NULL,NULL,4,NULL,NULL,NULL,1,NULL,'Dear syadav@example.net',1,NULL,'Dear syadav@example.net',1,NULL,'syadav@example.net',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:40'),
- (184,'Organization',NULL,0,0,0,0,0,0,NULL,NULL,'Bay Health School','Bay Health School',NULL,NULL,NULL,NULL,NULL,'Both','1225013054',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'Bay Health School',NULL,NULL,NULL,0,NULL,NULL,119,'Bay Health School',NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:43'),
- (185,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Smith, Ivey','Ivey Smith',NULL,NULL,NULL,'3',NULL,'Both','4175270008',NULL,'Sample Data','Ivey','','Smith',NULL,NULL,NULL,NULL,1,NULL,'Dear Ivey',1,NULL,'Dear Ivey',1,NULL,'Ivey Smith',NULL,1,NULL,1,'2021-05-27',NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:39'),
- (186,'Individual',NULL,1,1,0,0,0,0,NULL,NULL,'Robertson-Lee, Ivey','Ivey Robertson-Lee',NULL,NULL,NULL,'4',NULL,'Both','4074561594',NULL,'Sample Data','Ivey','','Robertson-Lee',NULL,NULL,NULL,NULL,1,NULL,'Dear Ivey',1,NULL,'Dear Ivey',1,NULL,'Ivey Robertson-Lee',NULL,NULL,'2018-03-15',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:43'),
- (187,'Organization',NULL,1,0,0,0,0,0,NULL,NULL,'Global Food Fellowship','Global Food Fellowship',NULL,NULL,NULL,NULL,NULL,'Both','2000763259',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'Global Food Fellowship',NULL,NULL,NULL,0,NULL,NULL,NULL,'Global Food Fellowship',NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:42'),
- (188,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'McReynolds, Ashley','Ashley McReynolds',NULL,NULL,NULL,NULL,NULL,'Both','68872917',NULL,'Sample Data','Ashley','K','McReynolds',NULL,NULL,NULL,NULL,1,NULL,'Dear Ashley',1,NULL,'Dear Ashley',1,NULL,'Ashley McReynolds',NULL,1,'1985-04-17',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:40'),
- (189,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'ts.cooper1@infomail.co.uk','ts.cooper1@infomail.co.uk',NULL,NULL,NULL,NULL,NULL,'Both','211386836',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,NULL,'Dear ts.cooper1@infomail.co.uk',1,NULL,'Dear ts.cooper1@infomail.co.uk',1,NULL,'ts.cooper1@infomail.co.uk',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:43'),
- (190,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'reynolds.omar75@mymail.com','reynolds.omar75@mymail.com',NULL,NULL,NULL,NULL,NULL,'Both','3353202690',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,NULL,'Dear reynolds.omar75@mymail.com',1,NULL,'Dear reynolds.omar75@mymail.com',1,NULL,'reynolds.omar75@mymail.com',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:43'),
- (191,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'Barkley, Roland','Roland Barkley Sr.',NULL,NULL,NULL,'4',NULL,'Both','2752517625',NULL,'Sample Data','Roland','P','Barkley',NULL,2,NULL,NULL,1,NULL,'Dear Roland',1,NULL,'Dear Roland',1,NULL,'Roland Barkley Sr.',NULL,NULL,'1994-12-23',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:44'),
- (192,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Cooper, Bob','Dr. Bob Cooper',NULL,NULL,NULL,NULL,NULL,'Both','585875995',NULL,'Sample Data','Bob','B','Cooper',4,NULL,NULL,NULL,1,NULL,'Dear Bob',1,NULL,'Dear Bob',1,NULL,'Dr. Bob Cooper',NULL,2,'1961-10-31',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:39'),
- (193,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'González, Rodrigo','Mr. Rodrigo González',NULL,NULL,NULL,NULL,NULL,'Both','2713589605',NULL,'Sample Data','Rodrigo','N','González',3,NULL,NULL,NULL,1,NULL,'Dear Rodrigo',1,NULL,'Dear Rodrigo',1,NULL,'Mr. Rodrigo González',NULL,2,'1983-11-30',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:44'),
- (194,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Grant, Andrew','Andrew Grant',NULL,NULL,NULL,'2',NULL,'Both','1115216015',NULL,'Sample Data','Andrew','','Grant',NULL,NULL,NULL,NULL,1,NULL,'Dear Andrew',1,NULL,'Dear Andrew',1,NULL,'Andrew Grant',NULL,2,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:40'),
- (195,'Organization',NULL,0,1,0,0,1,0,NULL,NULL,'Watertown Food Partnership','Watertown Food Partnership',NULL,NULL,NULL,NULL,NULL,'Both','2806884581',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'Watertown Food Partnership',NULL,NULL,NULL,0,NULL,NULL,28,'Watertown Food Partnership',NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:42'),
- (196,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Robertson, Ray','Ray Robertson III',NULL,NULL,NULL,NULL,NULL,'Both','2006955715',NULL,'Sample Data','Ray','A','Robertson',NULL,4,NULL,NULL,1,NULL,'Dear Ray',1,NULL,'Dear Ray',1,NULL,'Ray Robertson III',NULL,2,'1960-07-04',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:43'),
- (197,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Terrell, Mei','Mei Terrell',NULL,NULL,NULL,'1',NULL,'Both','306991433',NULL,'Sample Data','Mei','H','Terrell',NULL,NULL,NULL,NULL,1,NULL,'Dear Mei',1,NULL,'Dear Mei',1,NULL,'Mei Terrell',NULL,1,'1996-07-26',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:39'),
- (198,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'McReynolds, Shauna','Shauna McReynolds',NULL,NULL,NULL,'4',NULL,'Both','3277027646',NULL,'Sample Data','Shauna','O','McReynolds',NULL,NULL,NULL,NULL,1,NULL,'Dear Shauna',1,NULL,'Dear Shauna',1,NULL,'Shauna McReynolds',NULL,NULL,'1981-11-13',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:40'),
- (199,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Łąchowski, Sherman','Sherman Łąchowski II',NULL,NULL,NULL,NULL,NULL,'Both','2261039855',NULL,'Sample Data','Sherman','F','Łąchowski',NULL,3,NULL,NULL,1,NULL,'Dear Sherman',1,NULL,'Dear Sherman',1,NULL,'Sherman Łąchowski II',NULL,2,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:44'),
- (200,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Blackwell, Princess','Dr. Princess Blackwell',NULL,NULL,NULL,NULL,NULL,'Both','3511098981',NULL,'Sample Data','Princess','','Blackwell',4,NULL,NULL,NULL,1,NULL,'Dear Princess',1,NULL,'Dear Princess',1,NULL,'Dr. Princess Blackwell',NULL,NULL,'1948-07-16',1,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:39'),
- (201,'Household',NULL,0,0,0,0,0,0,NULL,NULL,'Terry family','Terry family',NULL,NULL,NULL,'2',NULL,'Both','558108751',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear Terry family',5,NULL,'Dear Terry family',2,NULL,'Terry family',NULL,NULL,NULL,0,NULL,'Terry family',NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:39','2022-01-05 03:20:42'),
- (202,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Lee, Jenny','Jenny Lee',NULL,NULL,NULL,NULL,'en_US','Both','a2a481102fae46becac85c8b5bf9c253',NULL,NULL,'Jenny',NULL,'Lee',NULL,NULL,NULL,1,1,NULL,'Dear Jenny',1,NULL,'Dear Jenny',1,NULL,'Jenny Lee','Volunteer coordinator',NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-01-05 03:20:46','2022-01-05 03:20:46');
+ (1,'Organization',NULL,0,0,0,0,0,0,NULL,NULL,'Default Organization','Default Organization',NULL,'Default Organization',NULL,NULL,NULL,'Both',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,NULL,NULL,NULL,'Default Organization',NULL,NULL,NULL,0,NULL,'2022-02-28 22:32:34'),
+ (2,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'Olsen, Elbert','Elbert Olsen Jr.',NULL,NULL,NULL,'5',NULL,'Both','2334086497',NULL,'Sample Data','Elbert','','Olsen',NULL,1,NULL,NULL,1,NULL,'Dear Elbert',1,NULL,'Dear Elbert',1,NULL,'Elbert Olsen Jr.',NULL,NULL,'1940-01-15',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (3,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'Jones, Norris','Mr. Norris Jones Jr.',NULL,NULL,NULL,NULL,NULL,'Both','2315660840',NULL,'Sample Data','Norris','','Jones',3,1,NULL,NULL,1,NULL,'Dear Norris',1,NULL,'Dear Norris',1,NULL,'Mr. Norris Jones Jr.',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:39'),
+ (4,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Wattson, Sharyn','Mrs. Sharyn Wattson',NULL,NULL,NULL,'3',NULL,'Both','2670834136',NULL,'Sample Data','Sharyn','V','Wattson',1,NULL,NULL,NULL,1,NULL,'Dear Sharyn',1,NULL,'Dear Sharyn',1,NULL,'Mrs. Sharyn Wattson',NULL,1,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:39'),
+ (5,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Jones, Junko','Ms. Junko Jones',NULL,NULL,NULL,'2',NULL,'Both','3254186828',NULL,'Sample Data','Junko','','Jones',2,NULL,NULL,NULL,1,NULL,'Dear Junko',1,NULL,'Dear Junko',1,NULL,'Ms. Junko Jones',NULL,1,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:39'),
+ (6,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'Samson, Erik','Erik Samson',NULL,NULL,NULL,'1',NULL,'Both','3125830738',NULL,'Sample Data','Erik','L','Samson',NULL,NULL,NULL,NULL,1,NULL,'Dear Erik',1,NULL,'Dear Erik',1,NULL,'Erik Samson',NULL,2,'2019-11-06',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (7,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'González-Wattson, Kacey','Mrs. Kacey González-Wattson',NULL,NULL,NULL,NULL,NULL,'Both','1729695203',NULL,'Sample Data','Kacey','','González-Wattson',1,NULL,NULL,NULL,1,NULL,'Dear Kacey',1,NULL,'Dear Kacey',1,NULL,'Mrs. Kacey González-Wattson',NULL,NULL,'1961-07-31',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:39'),
+ (8,'Household',NULL,1,0,0,0,0,0,NULL,NULL,'Wilson-Adams family','Wilson-Adams family',NULL,NULL,NULL,NULL,NULL,'Both','1170289372',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear Wilson-Adams family',5,NULL,'Dear Wilson-Adams family',2,NULL,'Wilson-Adams family',NULL,NULL,NULL,0,NULL,'Wilson-Adams family',NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (9,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'rolandi29@airmail.co.nz','rolandi29@airmail.co.nz',NULL,NULL,NULL,NULL,NULL,'Both','1075511403',NULL,'Sample Data',NULL,NULL,NULL,3,NULL,NULL,NULL,1,NULL,'Dear rolandi29@airmail.co.nz',1,NULL,'Dear rolandi29@airmail.co.nz',1,NULL,'rolandi29@airmail.co.nz',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (10,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'Jensen, Ivey','Ms. Ivey Jensen',NULL,NULL,NULL,NULL,NULL,'Both','4078718550',NULL,'Sample Data','Ivey','','Jensen',2,NULL,NULL,NULL,1,NULL,'Dear Ivey',1,NULL,'Dear Ivey',1,NULL,'Ms. Ivey Jensen',NULL,1,'1972-07-13',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (11,'Individual',NULL,1,0,0,0,1,0,NULL,NULL,'Smith, Jed','Jed Smith III',NULL,NULL,NULL,'5',NULL,'Both','2767892191',NULL,'Sample Data','Jed','B','Smith',NULL,4,NULL,NULL,1,NULL,'Dear Jed',1,NULL,'Dear Jed',1,NULL,'Jed Smith III',NULL,2,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (12,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Jameson, Truman','Truman Jameson',NULL,NULL,NULL,'5',NULL,'Both','4265431677',NULL,'Sample Data','Truman','F','Jameson',NULL,NULL,NULL,NULL,1,NULL,'Dear Truman',1,NULL,'Dear Truman',1,NULL,'Truman Jameson',NULL,2,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (13,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Zope, Angelika','Angelika Zope',NULL,NULL,NULL,NULL,NULL,'Both','797627515',NULL,'Sample Data','Angelika','V','Zope',NULL,NULL,NULL,NULL,1,NULL,'Dear Angelika',1,NULL,'Dear Angelika',1,NULL,'Angelika Zope',NULL,NULL,'1990-07-03',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:39'),
+ (14,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'Ivanov, Magan','Dr. Magan Ivanov',NULL,NULL,NULL,NULL,NULL,'Both','4273390544',NULL,'Sample Data','Magan','','Ivanov',4,NULL,NULL,NULL,1,NULL,'Dear Magan',1,NULL,'Dear Magan',1,NULL,'Dr. Magan Ivanov',NULL,1,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (15,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Dimitrov, Jed','Mr. Jed Dimitrov',NULL,NULL,NULL,NULL,NULL,'Both','435001033',NULL,'Sample Data','Jed','C','Dimitrov',3,NULL,NULL,NULL,1,NULL,'Dear Jed',1,NULL,'Dear Jed',1,NULL,'Mr. Jed Dimitrov',NULL,2,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (16,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'allenw@example.co.uk','allenw@example.co.uk',NULL,NULL,NULL,NULL,NULL,'Both','1737954341',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,NULL,'Dear allenw@example.co.uk',1,NULL,'Dear allenw@example.co.uk',1,NULL,'allenw@example.co.uk',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:39'),
+ (17,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'Zope-Patel, Heidi','Mrs. Heidi Zope-Patel',NULL,NULL,NULL,'3',NULL,'Both','638560813',NULL,'Sample Data','Heidi','','Zope-Patel',1,NULL,NULL,NULL,1,NULL,'Dear Heidi',1,NULL,'Dear Heidi',1,NULL,'Mrs. Heidi Zope-Patel',NULL,NULL,'1991-08-21',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:39'),
+ (18,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Jameson, Shauna','Mrs. Shauna Jameson',NULL,NULL,NULL,'1',NULL,'Both','318889656',NULL,'Sample Data','Shauna','Z','Jameson',1,NULL,NULL,NULL,1,NULL,'Dear Shauna',1,NULL,'Dear Shauna',1,NULL,'Mrs. Shauna Jameson',NULL,1,'1984-11-10',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (19,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Grant, Jay','Dr. Jay Grant II',NULL,NULL,NULL,'2',NULL,'Both','2599662053',NULL,'Sample Data','Jay','','Grant',4,3,NULL,NULL,1,NULL,'Dear Jay',1,NULL,'Dear Jay',1,NULL,'Dr. Jay Grant II',NULL,2,'1994-07-02',0,NULL,NULL,NULL,'Texas Sports Collective',NULL,NULL,33,0,'2022-02-28 22:32:37','2022-02-28 22:32:39'),
+ (20,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Ivanov, Brittney','Ms. Brittney Ivanov',NULL,NULL,NULL,NULL,NULL,'Both','3787428926',NULL,'Sample Data','Brittney','H','Ivanov',2,NULL,NULL,NULL,1,NULL,'Dear Brittney',1,NULL,'Dear Brittney',1,NULL,'Ms. Brittney Ivanov',NULL,1,'1967-05-18',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:39'),
+ (21,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'Nielsen, Rolando','Mr. Rolando Nielsen',NULL,NULL,NULL,'1',NULL,'Both','1720954446',NULL,'Sample Data','Rolando','','Nielsen',3,NULL,NULL,NULL,1,NULL,'Dear Rolando',1,NULL,'Dear Rolando',1,NULL,'Mr. Rolando Nielsen',NULL,2,'1985-02-05',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:39'),
+ (22,'Organization',NULL,0,0,0,0,1,0,NULL,NULL,'Second Food Solutions','Second Food Solutions',NULL,NULL,NULL,'2',NULL,'Both','76406672',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'Second Food Solutions',NULL,NULL,NULL,0,NULL,NULL,119,'Second Food Solutions',NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (23,'Organization',NULL,0,0,0,0,1,0,NULL,NULL,'Florida Legal Solutions','Florida Legal Solutions',NULL,NULL,NULL,NULL,NULL,'Both','2442123230',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'Florida Legal Solutions',NULL,NULL,NULL,0,NULL,NULL,186,'Florida Legal Solutions',NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (24,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Cooper, Claudio','Claudio Cooper Jr.',NULL,NULL,NULL,NULL,NULL,'Both','1104394960',NULL,'Sample Data','Claudio','T','Cooper',NULL,1,NULL,NULL,1,NULL,'Dear Claudio',1,NULL,'Dear Claudio',1,NULL,'Claudio Cooper Jr.',NULL,NULL,'1967-12-01',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:39'),
+ (25,'Organization',NULL,0,0,0,0,0,0,NULL,NULL,'United Legal Collective','United Legal Collective',NULL,NULL,NULL,'1',NULL,'Both','2661317955',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'United Legal Collective',NULL,NULL,NULL,0,NULL,NULL,128,'United Legal Collective',NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (26,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Prentice, Eleonor','Eleonor Prentice',NULL,NULL,NULL,NULL,NULL,'Both','76143917',NULL,'Sample Data','Eleonor','Q','Prentice',NULL,NULL,NULL,NULL,1,NULL,'Dear Eleonor',1,NULL,'Dear Eleonor',1,NULL,'Eleonor Prentice',NULL,1,'1979-04-21',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (27,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Nielsen, Santina','Santina Nielsen',NULL,NULL,NULL,'4',NULL,'Both','4294042447',NULL,'Sample Data','Santina','D','Nielsen',NULL,NULL,NULL,NULL,1,NULL,'Dear Santina',1,NULL,'Dear Santina',1,NULL,'Santina Nielsen',NULL,1,NULL,0,NULL,NULL,NULL,'Woodbridge Sustainability Partnership',NULL,NULL,153,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (28,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Bachman, Laree','Laree Bachman',NULL,NULL,NULL,'5',NULL,'Both','3736989072',NULL,'Sample Data','Laree','L','Bachman',NULL,NULL,NULL,NULL,1,NULL,'Dear Laree',1,NULL,'Dear Laree',1,NULL,'Laree Bachman',NULL,1,'1989-07-09',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (29,'Individual',NULL,0,1,0,0,1,0,NULL,NULL,'Jones, Lawerence','Lawerence Jones Sr.',NULL,NULL,NULL,NULL,NULL,'Both','267362464',NULL,'Sample Data','Lawerence','','Jones',NULL,2,NULL,NULL,1,NULL,'Dear Lawerence',1,NULL,'Dear Lawerence',1,NULL,'Lawerence Jones Sr.',NULL,NULL,'1978-04-22',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (30,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Ivanov, Toby','Mr. Toby Ivanov Jr.',NULL,NULL,NULL,'5',NULL,'Both','606506972',NULL,'Sample Data','Toby','','Ivanov',3,1,NULL,NULL,1,NULL,'Dear Toby',1,NULL,'Dear Toby',1,NULL,'Mr. Toby Ivanov Jr.',NULL,2,'1950-02-23',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (31,'Individual',NULL,0,1,0,0,1,0,NULL,NULL,'dimitrov.toby@spamalot.co.uk','dimitrov.toby@spamalot.co.uk',NULL,NULL,NULL,'3',NULL,'Both','476608626',NULL,'Sample Data',NULL,NULL,NULL,NULL,1,NULL,NULL,1,NULL,'Dear dimitrov.toby@spamalot.co.uk',1,NULL,'Dear dimitrov.toby@spamalot.co.uk',1,NULL,'dimitrov.toby@spamalot.co.uk',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:39'),
+ (32,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Cooper, Daren','Mr. Daren Cooper Jr.',NULL,NULL,NULL,'2',NULL,'Both','1555868236',NULL,'Sample Data','Daren','','Cooper',3,1,NULL,NULL,1,NULL,'Dear Daren',1,NULL,'Dear Daren',1,NULL,'Mr. Daren Cooper Jr.',NULL,NULL,'1988-09-28',0,NULL,NULL,NULL,'Lincoln Culture Partners',NULL,NULL,158,0,'2022-02-28 22:32:37','2022-02-28 22:32:39'),
+ (33,'Organization',NULL,1,0,0,0,1,0,NULL,NULL,'Texas Sports Collective','Texas Sports Collective',NULL,NULL,NULL,'1',NULL,'Both','2525964911',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'Texas Sports Collective',NULL,NULL,NULL,0,NULL,NULL,19,'Texas Sports Collective',NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (34,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Ivanov, Kenny','Dr. Kenny Ivanov',NULL,NULL,NULL,'2',NULL,'Both','4111336352',NULL,'Sample Data','Kenny','','Ivanov',4,NULL,NULL,NULL,1,NULL,'Dear Kenny',1,NULL,'Dear Kenny',1,NULL,'Dr. Kenny Ivanov',NULL,2,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:39'),
+ (35,'Household',NULL,0,0,0,0,0,0,NULL,NULL,'Prentice family','Prentice family',NULL,NULL,NULL,NULL,NULL,'Both','3313623671',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear Prentice family',5,NULL,'Dear Prentice family',2,NULL,'Prentice family',NULL,NULL,NULL,0,NULL,'Prentice family',NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (36,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Barkley, Brent','Dr. Brent Barkley',NULL,NULL,NULL,NULL,NULL,'Both','2030248670',NULL,'Sample Data','Brent','M','Barkley',4,NULL,NULL,NULL,1,NULL,'Dear Brent',1,NULL,'Dear Brent',1,NULL,'Dr. Brent Barkley',NULL,NULL,'1966-09-13',0,NULL,NULL,NULL,'Houston Legal Association',NULL,NULL,58,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (37,'Organization',NULL,0,0,0,0,0,0,NULL,NULL,'Dowlen Legal Fellowship','Dowlen Legal Fellowship',NULL,NULL,NULL,'5',NULL,'Both','2673096794',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'Dowlen Legal Fellowship',NULL,NULL,NULL,0,NULL,NULL,NULL,'Dowlen Legal Fellowship',NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (38,'Household',NULL,1,0,0,0,1,0,NULL,NULL,'Nielsen family','Nielsen family',NULL,NULL,NULL,NULL,NULL,'Both','766698874',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear Nielsen family',5,NULL,'Dear Nielsen family',2,NULL,'Nielsen family',NULL,NULL,NULL,0,NULL,'Nielsen family',NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (39,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'Cooper, Truman','Truman Cooper',NULL,NULL,NULL,'3',NULL,'Both','938772676',NULL,'Sample Data','Truman','M','Cooper',NULL,NULL,NULL,NULL,1,NULL,'Dear Truman',1,NULL,'Dear Truman',1,NULL,'Truman Cooper',NULL,2,'2016-03-30',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:39'),
+ (40,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Blackwell, Billy','Billy Blackwell',NULL,NULL,NULL,NULL,NULL,'Both','2930839819',NULL,'Sample Data','Billy','X','Blackwell',NULL,NULL,NULL,NULL,1,NULL,'Dear Billy',1,NULL,'Dear Billy',1,NULL,'Billy Blackwell',NULL,2,'1993-02-26',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:39'),
+ (41,'Household',NULL,1,0,0,0,0,0,NULL,NULL,'Jameson family','Jameson family',NULL,NULL,NULL,'3',NULL,'Both','2255649769',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear Jameson family',5,NULL,'Dear Jameson family',2,NULL,'Jameson family',NULL,NULL,NULL,0,NULL,'Jameson family',NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (42,'Household',NULL,0,0,0,0,1,0,NULL,NULL,'Blackwell family','Blackwell family',NULL,NULL,NULL,NULL,NULL,'Both','3218641510',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear Blackwell family',5,NULL,'Dear Blackwell family',2,NULL,'Blackwell family',NULL,NULL,NULL,0,NULL,'Blackwell family',NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (43,'Organization',NULL,1,0,0,0,0,0,NULL,NULL,'Gibbon Health Partners','Gibbon Health Partners',NULL,NULL,NULL,NULL,NULL,'Both','2662568902',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'Gibbon Health Partners',NULL,NULL,NULL,0,NULL,NULL,NULL,'Gibbon Health Partners',NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (44,'Household',NULL,0,0,0,0,1,0,NULL,NULL,'Cooper family','Cooper family',NULL,NULL,NULL,NULL,NULL,'Both','1133003930',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear Cooper family',5,NULL,'Dear Cooper family',2,NULL,'Cooper family',NULL,NULL,NULL,0,NULL,'Cooper family',NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (45,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Robertson, Rodrigo','Rodrigo Robertson Sr.',NULL,NULL,NULL,'5',NULL,'Both','1865172302',NULL,'Sample Data','Rodrigo','','Robertson',NULL,2,NULL,NULL,1,NULL,'Dear Rodrigo',1,NULL,'Dear Rodrigo',1,NULL,'Rodrigo Robertson Sr.',NULL,2,'1945-12-25',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (46,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Lee, Landon','Landon Lee II',NULL,NULL,NULL,NULL,NULL,'Both','4144706447',NULL,'Sample Data','Landon','X','Lee',NULL,3,NULL,NULL,1,NULL,'Dear Landon',1,NULL,'Dear Landon',1,NULL,'Landon Lee II',NULL,2,'1950-08-28',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (47,'Individual',NULL,0,1,0,0,1,0,NULL,NULL,'Patel, Lashawnda','Mrs. Lashawnda Patel',NULL,NULL,NULL,'4',NULL,'Both','3886858056',NULL,'Sample Data','Lashawnda','Z','Patel',1,NULL,NULL,NULL,1,NULL,'Dear Lashawnda',1,NULL,'Dear Lashawnda',1,NULL,'Mrs. Lashawnda Patel',NULL,NULL,'1989-06-24',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:39'),
+ (48,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Zope, Barry','Barry Zope Sr.',NULL,NULL,NULL,'1',NULL,'Both','1953474040',NULL,'Sample Data','Barry','','Zope',NULL,2,NULL,NULL,1,NULL,'Dear Barry',1,NULL,'Dear Barry',1,NULL,'Barry Zope Sr.',NULL,2,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:39'),
+ (49,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Cooper, Damaris','Damaris Cooper',NULL,NULL,NULL,NULL,NULL,'Both','785070532',NULL,'Sample Data','Damaris','','Cooper',NULL,NULL,NULL,NULL,1,NULL,'Dear Damaris',1,NULL,'Dear Damaris',1,NULL,'Damaris Cooper',NULL,1,'1957-10-12',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:39'),
+ (50,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Lee, Angelika','Angelika Lee',NULL,NULL,NULL,NULL,NULL,'Both','2658551791',NULL,'Sample Data','Angelika','E','Lee',NULL,NULL,NULL,NULL,1,NULL,'Dear Angelika',1,NULL,'Dear Angelika',1,NULL,'Angelika Lee',NULL,1,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:39'),
+ (51,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Lee, Truman','Truman Lee Jr.',NULL,NULL,NULL,'3',NULL,'Both','696555700',NULL,'Sample Data','Truman','M','Lee',NULL,1,NULL,NULL,1,NULL,'Dear Truman',1,NULL,'Dear Truman',1,NULL,'Truman Lee Jr.',NULL,2,'1981-09-04',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:39'),
+ (52,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'wilsons@sample.co.uk','wilsons@sample.co.uk',NULL,NULL,NULL,'4',NULL,'Both','428975404',NULL,'Sample Data',NULL,NULL,NULL,4,NULL,NULL,NULL,1,NULL,'Dear wilsons@sample.co.uk',1,NULL,'Dear wilsons@sample.co.uk',1,NULL,'wilsons@sample.co.uk',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (53,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Reynolds, Erik','Erik Reynolds',NULL,NULL,NULL,'1',NULL,'Both','2291582493',NULL,'Sample Data','Erik','','Reynolds',NULL,NULL,NULL,NULL,1,NULL,'Dear Erik',1,NULL,'Dear Erik',1,NULL,'Erik Reynolds',NULL,2,'1995-10-03',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (54,'Organization',NULL,0,0,0,0,0,0,NULL,NULL,'Lincoln Food Center','Lincoln Food Center',NULL,NULL,NULL,NULL,NULL,'Both','3871013972',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'Lincoln Food Center',NULL,NULL,NULL,0,NULL,NULL,154,'Lincoln Food Center',NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (55,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'reynolds.c.irvin@testing.co.nz','reynolds.c.irvin@testing.co.nz',NULL,NULL,NULL,NULL,NULL,'Both','2864275326',NULL,'Sample Data',NULL,NULL,NULL,3,2,NULL,NULL,1,NULL,'Dear reynolds.c.irvin@testing.co.nz',1,NULL,'Dear reynolds.c.irvin@testing.co.nz',1,NULL,'reynolds.c.irvin@testing.co.nz',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (56,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'Cooper, Felisha','Felisha Cooper',NULL,NULL,NULL,NULL,NULL,'Both','829505946',NULL,'Sample Data','Felisha','','Cooper',NULL,NULL,NULL,NULL,1,NULL,'Dear Felisha',1,NULL,'Dear Felisha',1,NULL,'Felisha Cooper',NULL,1,'1984-01-24',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (57,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'Dimitrov, Alida','Dr. Alida Dimitrov',NULL,NULL,NULL,NULL,NULL,'Both','2074690497',NULL,'Sample Data','Alida','W','Dimitrov',4,NULL,NULL,NULL,1,NULL,'Dear Alida',1,NULL,'Dear Alida',1,NULL,'Dr. Alida Dimitrov',NULL,1,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (58,'Organization',NULL,1,0,0,0,0,0,NULL,NULL,'Houston Legal Association','Houston Legal Association',NULL,NULL,NULL,NULL,NULL,'Both','512725889',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'Houston Legal Association',NULL,NULL,NULL,0,NULL,NULL,36,'Houston Legal Association',NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (59,'Individual',NULL,1,0,0,0,1,0,NULL,NULL,'Dimitrov, Landon','Mr. Landon Dimitrov',NULL,NULL,NULL,NULL,NULL,'Both','3544857327',NULL,'Sample Data','Landon','','Dimitrov',3,NULL,NULL,NULL,1,NULL,'Dear Landon',1,NULL,'Dear Landon',1,NULL,'Mr. Landon Dimitrov',NULL,2,'1935-04-17',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (60,'Organization',NULL,0,0,0,0,0,0,NULL,NULL,'Cotopaxi Advocacy Trust','Cotopaxi Advocacy Trust',NULL,NULL,NULL,'3',NULL,'Both','785742322',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'Cotopaxi Advocacy Trust',NULL,NULL,NULL,0,NULL,NULL,75,'Cotopaxi Advocacy Trust',NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (61,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Prentice, Ashley','Ashley Prentice',NULL,NULL,NULL,'2',NULL,'Both','3283878025',NULL,'Sample Data','Ashley','M','Prentice',NULL,NULL,NULL,NULL,1,NULL,'Dear Ashley',1,NULL,'Dear Ashley',1,NULL,'Ashley Prentice',NULL,1,'1957-09-05',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (62,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Prentice, Herminia','Herminia Prentice',NULL,NULL,NULL,'4',NULL,'Both','4072784830',NULL,'Sample Data','Herminia','E','Prentice',NULL,NULL,NULL,NULL,1,NULL,'Dear Herminia',1,NULL,'Dear Herminia',1,NULL,'Herminia Prentice',NULL,1,'1967-04-03',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:39'),
+ (63,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'Smith-Samson, Ashley','Mrs. Ashley Smith-Samson',NULL,NULL,NULL,'4',NULL,'Both','1734981615',NULL,'Sample Data','Ashley','','Smith-Samson',1,NULL,NULL,NULL,1,NULL,'Dear Ashley',1,NULL,'Dear Ashley',1,NULL,'Mrs. Ashley Smith-Samson',NULL,1,'1972-04-10',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (64,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Smith, Damaris','Damaris Smith',NULL,NULL,NULL,NULL,NULL,'Both','3693080437',NULL,'Sample Data','Damaris','','Smith',NULL,NULL,NULL,NULL,1,NULL,'Dear Damaris',1,NULL,'Dear Damaris',1,NULL,'Damaris Smith',NULL,NULL,'1990-02-12',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (65,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'rosarioo@sample.co.uk','rosarioo@sample.co.uk',NULL,NULL,NULL,NULL,NULL,'Both','1512294046',NULL,'Sample Data',NULL,NULL,NULL,NULL,3,NULL,NULL,1,NULL,'Dear rosarioo@sample.co.uk',1,NULL,'Dear rosarioo@sample.co.uk',1,NULL,'rosarioo@sample.co.uk',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:39'),
+ (66,'Individual',NULL,1,1,0,0,0,0,NULL,NULL,'Adams, Kacey','Kacey Adams',NULL,NULL,NULL,NULL,NULL,'Both','1493355367',NULL,'Sample Data','Kacey','','Adams',NULL,NULL,NULL,NULL,1,NULL,'Dear Kacey',1,NULL,'Dear Kacey',1,NULL,'Kacey Adams',NULL,1,'1974-04-11',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (67,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Jensen, Magan','Ms. Magan Jensen',NULL,NULL,NULL,'4',NULL,'Both','1126354572',NULL,'Sample Data','Magan','X','Jensen',2,NULL,NULL,NULL,1,NULL,'Dear Magan',1,NULL,'Dear Magan',1,NULL,'Ms. Magan Jensen',NULL,1,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (68,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'Roberts, Erik','Erik Roberts II',NULL,NULL,NULL,NULL,NULL,'Both','210960325',NULL,'Sample Data','Erik','','Roberts',NULL,3,NULL,NULL,1,NULL,'Dear Erik',1,NULL,'Dear Erik',1,NULL,'Erik Roberts II',NULL,2,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (69,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'Samson, Sonny','Sonny Samson',NULL,NULL,NULL,NULL,NULL,'Both','1273973001',NULL,'Sample Data','Sonny','','Samson',NULL,NULL,NULL,NULL,1,NULL,'Dear Sonny',1,NULL,'Dear Sonny',1,NULL,'Sonny Samson',NULL,NULL,'1943-03-14',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (70,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'kathlynz67@notmail.info','kathlynz67@notmail.info',NULL,NULL,NULL,NULL,NULL,'Both','1502931880',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,NULL,'Dear kathlynz67@notmail.info',1,NULL,'Dear kathlynz67@notmail.info',1,NULL,'kathlynz67@notmail.info',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:39'),
+ (71,'Household',NULL,0,1,0,0,0,0,NULL,NULL,'Samson family','Samson family',NULL,NULL,NULL,'5',NULL,'Both','333421926',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear Samson family',5,NULL,'Dear Samson family',2,NULL,'Samson family',NULL,NULL,NULL,0,NULL,'Samson family',NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (72,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Smith, Delana','Dr. Delana Smith',NULL,NULL,NULL,NULL,NULL,'Both','1662574257',NULL,'Sample Data','Delana','N','Smith',4,NULL,NULL,NULL,1,NULL,'Dear Delana',1,NULL,'Dear Delana',1,NULL,'Dr. Delana Smith',NULL,1,'1973-11-15',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (73,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Bachman-Nielsen, Tanya','Ms. Tanya Bachman-Nielsen',NULL,NULL,NULL,'4',NULL,'Both','1061607687',NULL,'Sample Data','Tanya','','Bachman-Nielsen',2,NULL,NULL,NULL,1,NULL,'Dear Tanya',1,NULL,'Dear Tanya',1,NULL,'Ms. Tanya Bachman-Nielsen',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:39'),
+ (74,'Individual',NULL,0,1,0,0,1,0,NULL,NULL,'Patel, Princess','Princess Patel',NULL,NULL,NULL,'3',NULL,'Both','2193825645',NULL,'Sample Data','Princess','','Patel',NULL,NULL,NULL,NULL,1,NULL,'Dear Princess',1,NULL,'Dear Princess',1,NULL,'Princess Patel',NULL,1,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (75,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'shaunaj@infomail.com','shaunaj@infomail.com',NULL,NULL,NULL,NULL,NULL,'Both','2986825551',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,NULL,'Dear shaunaj@infomail.com',1,NULL,'Dear shaunaj@infomail.com',1,NULL,'shaunaj@infomail.com',NULL,NULL,NULL,0,NULL,NULL,NULL,'Cotopaxi Advocacy Trust',NULL,NULL,60,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (76,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'Zope, Megan','Megan Zope',NULL,NULL,NULL,NULL,NULL,'Both','2173436080',NULL,'Sample Data','Megan','','Zope',NULL,NULL,NULL,NULL,1,NULL,'Dear Megan',1,NULL,'Dear Megan',1,NULL,'Megan Zope',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (77,'Organization',NULL,0,0,0,0,0,0,NULL,NULL,'Martin Luther King Environmental Services','Martin Luther King Environmental Services',NULL,NULL,NULL,NULL,NULL,'Both','1756702996',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'Martin Luther King Environmental Services',NULL,NULL,NULL,0,NULL,NULL,169,'Martin Luther King Environmental Services',NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (78,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Smith, Errol','Errol Smith III',NULL,NULL,NULL,NULL,NULL,'Both','2269355028',NULL,'Sample Data','Errol','','Smith',NULL,4,NULL,NULL,1,NULL,'Dear Errol',1,NULL,'Dear Errol',1,NULL,'Errol Smith III',NULL,2,'1973-06-27',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (79,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Terry, Lashawnda','Mrs. Lashawnda Terry',NULL,NULL,NULL,NULL,NULL,'Both','485287796',NULL,'Sample Data','Lashawnda','G','Terry',1,NULL,NULL,NULL,1,NULL,'Dear Lashawnda',1,NULL,'Dear Lashawnda',1,NULL,'Mrs. Lashawnda Terry',NULL,1,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (80,'Individual',NULL,1,1,0,0,0,0,NULL,NULL,'Müller, Angelika','Mrs. Angelika Müller',NULL,NULL,NULL,NULL,NULL,'Both','420537853',NULL,'Sample Data','Angelika','L','Müller',1,NULL,NULL,NULL,1,NULL,'Dear Angelika',1,NULL,'Dear Angelika',1,NULL,'Mrs. Angelika Müller',NULL,NULL,'1996-01-04',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (81,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'Ivanov, Allan','Allan Ivanov',NULL,NULL,NULL,'2',NULL,'Both','3313048045',NULL,'Sample Data','Allan','','Ivanov',NULL,NULL,NULL,NULL,1,NULL,'Dear Allan',1,NULL,'Dear Allan',1,NULL,'Allan Ivanov',NULL,2,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:39'),
+ (82,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Terrell-Parker, Iris','Dr. Iris Terrell-Parker',NULL,NULL,NULL,NULL,NULL,'Both','3024077658',NULL,'Sample Data','Iris','R','Terrell-Parker',4,NULL,NULL,NULL,1,NULL,'Dear Iris',1,NULL,'Dear Iris',1,NULL,'Dr. Iris Terrell-Parker',NULL,1,'1980-01-08',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:39'),
+ (83,'Organization',NULL,0,0,0,0,0,0,NULL,NULL,'Maple Action Services','Maple Action Services',NULL,NULL,NULL,'5',NULL,'Both','1765859269',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'Maple Action Services',NULL,NULL,NULL,0,NULL,NULL,174,'Maple Action Services',NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (84,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Blackwell, Maria','Mr. Maria Blackwell',NULL,NULL,NULL,NULL,NULL,'Both','2448837724',NULL,'Sample Data','Maria','P','Blackwell',3,NULL,NULL,NULL,1,NULL,'Dear Maria',1,NULL,'Dear Maria',1,NULL,'Mr. Maria Blackwell',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:39'),
+ (85,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Grant, Delana','Delana Grant',NULL,NULL,NULL,'4',NULL,'Both','2844860785',NULL,'Sample Data','Delana','B','Grant',NULL,NULL,NULL,NULL,1,NULL,'Dear Delana',1,NULL,'Dear Delana',1,NULL,'Delana Grant',NULL,1,'1993-07-05',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:39'),
+ (86,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Díaz, Roland','Roland Díaz Sr.',NULL,NULL,NULL,'1',NULL,'Both','2252303156',NULL,'Sample Data','Roland','','Díaz',NULL,2,NULL,NULL,1,NULL,'Dear Roland',1,NULL,'Dear Roland',1,NULL,'Roland Díaz Sr.',NULL,2,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (87,'Household',NULL,0,0,0,0,0,0,NULL,NULL,'Grant family','Grant family',NULL,NULL,NULL,'3',NULL,'Both','3228000340',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear Grant family',5,NULL,'Dear Grant family',2,NULL,'Grant family',NULL,NULL,NULL,0,NULL,'Grant family',NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (88,'Household',NULL,0,0,0,0,0,0,NULL,NULL,'Zope family','Zope family',NULL,NULL,NULL,'1',NULL,'Both','1649131487',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear Zope family',5,NULL,'Dear Zope family',2,NULL,'Zope family',NULL,NULL,NULL,0,NULL,'Zope family',NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (89,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'Wilson-Adams, Barry','Dr. Barry Wilson-Adams',NULL,NULL,NULL,NULL,NULL,'Both','1407527163',NULL,'Sample Data','Barry','K','Wilson-Adams',4,NULL,NULL,NULL,1,NULL,'Dear Barry',1,NULL,'Dear Barry',1,NULL,'Dr. Barry Wilson-Adams',NULL,2,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:39'),
+ (90,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Blackwell, Herminia','Herminia Blackwell',NULL,NULL,NULL,NULL,NULL,'Both','3534592549',NULL,'Sample Data','Herminia','U','Blackwell',NULL,NULL,NULL,NULL,1,NULL,'Dear Herminia',1,NULL,'Dear Herminia',1,NULL,'Herminia Blackwell',NULL,1,'1985-05-14',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:39'),
+ (91,'Individual',NULL,1,1,0,0,0,0,NULL,NULL,'blackwell.rolando98@fakemail.co.uk','blackwell.rolando98@fakemail.co.uk',NULL,NULL,NULL,'4',NULL,'Both','3851255086',NULL,'Sample Data',NULL,NULL,NULL,3,NULL,NULL,NULL,1,NULL,'Dear blackwell.rolando98@fakemail.co.uk',1,NULL,'Dear blackwell.rolando98@fakemail.co.uk',1,NULL,'blackwell.rolando98@fakemail.co.uk',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:39'),
+ (92,'Organization',NULL,0,0,0,0,0,0,NULL,NULL,'North Carolina Legal Initiative','North Carolina Legal Initiative',NULL,NULL,NULL,NULL,NULL,'Both','1784160496',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'North Carolina Legal Initiative',NULL,NULL,NULL,0,NULL,NULL,NULL,'North Carolina Legal Initiative',NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (93,'Household',NULL,0,0,0,0,1,0,NULL,NULL,'Ivanov family','Ivanov family',NULL,NULL,NULL,'2',NULL,'Both','2450779112',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear Ivanov family',5,NULL,'Dear Ivanov family',2,NULL,'Ivanov family',NULL,NULL,NULL,0,NULL,'Ivanov family',NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (94,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'Wilson, Jay','Mr. Jay Wilson',NULL,NULL,NULL,NULL,NULL,'Both','1279858247',NULL,'Sample Data','Jay','','Wilson',3,NULL,NULL,NULL,1,NULL,'Dear Jay',1,NULL,'Dear Jay',1,NULL,'Mr. Jay Wilson',NULL,2,'1991-10-06',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:39'),
+ (95,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Nielsen, Santina','Mrs. Santina Nielsen',NULL,NULL,NULL,NULL,NULL,'Both','4294042447',NULL,'Sample Data','Santina','B','Nielsen',1,NULL,NULL,NULL,1,NULL,'Dear Santina',1,NULL,'Dear Santina',1,NULL,'Mrs. Santina Nielsen',NULL,1,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:39'),
+ (96,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Adams, Delana','Mrs. Delana Adams',NULL,NULL,NULL,NULL,NULL,'Both','1694982266',NULL,'Sample Data','Delana','','Adams',1,NULL,NULL,NULL,1,NULL,'Dear Delana',1,NULL,'Dear Delana',1,NULL,'Mrs. Delana Adams',NULL,NULL,'1959-02-04',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:39'),
+ (97,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Jacobs-Blackwell, Juliann','Mrs. Juliann Jacobs-Blackwell',NULL,NULL,NULL,NULL,NULL,'Both','854217497',NULL,'Sample Data','Juliann','E','Jacobs-Blackwell',1,NULL,NULL,NULL,1,NULL,'Dear Juliann',1,NULL,'Dear Juliann',1,NULL,'Mrs. Juliann Jacobs-Blackwell',NULL,1,'1969-04-16',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:39'),
+ (98,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Cooper, Barry','Mr. Barry Cooper',NULL,NULL,NULL,NULL,NULL,'Both','1437359805',NULL,'Sample Data','Barry','Y','Cooper',3,NULL,NULL,NULL,1,NULL,'Dear Barry',1,NULL,'Dear Barry',1,NULL,'Mr. Barry Cooper',NULL,2,'1961-03-31',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (99,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'Jacobs, Nicole','Ms. Nicole Jacobs',NULL,NULL,NULL,NULL,NULL,'Both','1326511364',NULL,'Sample Data','Nicole','','Jacobs',2,NULL,NULL,NULL,1,NULL,'Dear Nicole',1,NULL,'Dear Nicole',1,NULL,'Ms. Nicole Jacobs',NULL,1,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (100,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'Olsen, Teddy','Dr. Teddy Olsen',NULL,NULL,NULL,NULL,NULL,'Both','72064715',NULL,'Sample Data','Teddy','L','Olsen',4,NULL,NULL,NULL,1,NULL,'Dear Teddy',1,NULL,'Dear Teddy',1,NULL,'Dr. Teddy Olsen',NULL,NULL,'1989-04-14',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (101,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Jones, Santina','Mrs. Santina Jones',NULL,NULL,NULL,'1',NULL,'Both','2661074346',NULL,'Sample Data','Santina','U','Jones',1,NULL,NULL,NULL,1,NULL,'Dear Santina',1,NULL,'Dear Santina',1,NULL,'Mrs. Santina Jones',NULL,1,'1969-07-06',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (102,'Household',NULL,0,0,0,0,0,0,NULL,NULL,'Zope-Patel family','Zope-Patel family',NULL,NULL,NULL,'4',NULL,'Both','3836073694',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear Zope-Patel family',5,NULL,'Dear Zope-Patel family',2,NULL,'Zope-Patel family',NULL,NULL,NULL,0,NULL,'Zope-Patel family',NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (103,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Barkley, Alexia','Alexia Barkley',NULL,NULL,NULL,NULL,NULL,'Both','925280801',NULL,'Sample Data','Alexia','X','Barkley',NULL,NULL,NULL,NULL,1,NULL,'Dear Alexia',1,NULL,'Dear Alexia',1,NULL,'Alexia Barkley',NULL,1,'1985-01-20',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (104,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Terrell, Josefa','Ms. Josefa Terrell',NULL,NULL,NULL,'4',NULL,'Both','1943995687',NULL,'Sample Data','Josefa','O','Terrell',2,NULL,NULL,NULL,1,NULL,'Dear Josefa',1,NULL,'Dear Josefa',1,NULL,'Ms. Josefa Terrell',NULL,1,'1978-11-17',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (105,'Individual',NULL,1,1,0,0,0,0,NULL,NULL,'Smith, Valene','Dr. Valene Smith',NULL,NULL,NULL,NULL,NULL,'Both','3638736676',NULL,'Sample Data','Valene','D','Smith',4,NULL,NULL,NULL,1,NULL,'Dear Valene',1,NULL,'Dear Valene',1,NULL,'Dr. Valene Smith',NULL,1,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (106,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Ivanov, Carylon','Carylon Ivanov',NULL,NULL,NULL,NULL,NULL,'Both','3841280474',NULL,'Sample Data','Carylon','I','Ivanov',NULL,NULL,NULL,NULL,1,NULL,'Dear Carylon',1,NULL,'Dear Carylon',1,NULL,'Carylon Ivanov',NULL,1,'1973-10-02',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (107,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Parker-Zope, Beula','Dr. Beula Parker-Zope',NULL,NULL,NULL,NULL,NULL,'Both','3319450317',NULL,'Sample Data','Beula','G','Parker-Zope',4,NULL,NULL,NULL,1,NULL,'Dear Beula',1,NULL,'Dear Beula',1,NULL,'Dr. Beula Parker-Zope',NULL,1,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:39'),
+ (108,'Household',NULL,0,0,0,0,0,0,NULL,NULL,'Olsen family','Olsen family',NULL,NULL,NULL,'5',NULL,'Both','1990073228',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear Olsen family',5,NULL,'Dear Olsen family',2,NULL,'Olsen family',NULL,NULL,NULL,0,NULL,'Olsen family',NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (109,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Nielsen, Craig','Craig Nielsen',NULL,NULL,NULL,'4',NULL,'Both','151242060',NULL,'Sample Data','Craig','','Nielsen',NULL,NULL,NULL,NULL,1,NULL,'Dear Craig',1,NULL,'Dear Craig',1,NULL,'Craig Nielsen',NULL,2,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:39'),
+ (110,'Household',NULL,0,0,0,0,0,0,NULL,NULL,'Lee family','Lee family',NULL,NULL,NULL,'1',NULL,'Both','845831176',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear Lee family',5,NULL,'Dear Lee family',2,NULL,'Lee family',NULL,NULL,NULL,0,NULL,'Lee family',NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (111,'Individual',NULL,1,0,0,0,1,0,NULL,NULL,'Nielsen, Magan','Mrs. Magan Nielsen',NULL,NULL,NULL,'1',NULL,'Both','1092078914',NULL,'Sample Data','Magan','E','Nielsen',1,NULL,NULL,NULL,1,NULL,'Dear Magan',1,NULL,'Dear Magan',1,NULL,'Mrs. Magan Nielsen',NULL,1,'1990-10-04',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (112,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Cooper, Miguel','Miguel Cooper Jr.',NULL,NULL,NULL,NULL,NULL,'Both','1717220592',NULL,'Sample Data','Miguel','','Cooper',NULL,1,NULL,NULL,1,NULL,'Dear Miguel',1,NULL,'Dear Miguel',1,NULL,'Miguel Cooper Jr.',NULL,2,'1998-09-12',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (113,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'Lee, Santina','Mrs. Santina Lee',NULL,NULL,NULL,NULL,NULL,'Both','1346759883',NULL,'Sample Data','Santina','G','Lee',1,NULL,NULL,NULL,1,NULL,'Dear Santina',1,NULL,'Dear Santina',1,NULL,'Mrs. Santina Lee',NULL,1,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:39'),
+ (114,'Organization',NULL,0,0,0,0,0,0,NULL,NULL,'Connecticut Legal School','Connecticut Legal School',NULL,NULL,NULL,'1',NULL,'Both','2269233360',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'Connecticut Legal School',NULL,NULL,NULL,0,NULL,NULL,120,'Connecticut Legal School',NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (115,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Terry, Kiara','Ms. Kiara Terry',NULL,NULL,NULL,NULL,NULL,'Both','4073244041',NULL,'Sample Data','Kiara','','Terry',2,NULL,NULL,NULL,1,NULL,'Dear Kiara',1,NULL,'Dear Kiara',1,NULL,'Ms. Kiara Terry',NULL,NULL,'1949-11-11',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (116,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Jacobs, Teresa','Teresa Jacobs',NULL,NULL,NULL,NULL,NULL,'Both','128468563',NULL,'Sample Data','Teresa','','Jacobs',NULL,NULL,NULL,NULL,1,NULL,'Dear Teresa',1,NULL,'Dear Teresa',1,NULL,'Teresa Jacobs',NULL,NULL,'1946-12-02',1,'2022-02-21',NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (117,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Prentice, Felisha','Mrs. Felisha Prentice',NULL,NULL,NULL,NULL,NULL,'Both','3843312879',NULL,'Sample Data','Felisha','','Prentice',1,NULL,NULL,NULL,1,NULL,'Dear Felisha',1,NULL,'Dear Felisha',1,NULL,'Mrs. Felisha Prentice',NULL,NULL,'1956-01-29',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (118,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Barkley, Justina','Justina Barkley',NULL,NULL,NULL,'2',NULL,'Both','2698595915',NULL,'Sample Data','Justina','','Barkley',NULL,NULL,NULL,NULL,1,NULL,'Dear Justina',1,NULL,'Dear Justina',1,NULL,'Justina Barkley',NULL,1,'2011-04-02',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (119,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'Barkley, Bernadette','Bernadette Barkley',NULL,NULL,NULL,'5',NULL,'Both','2929366721',NULL,'Sample Data','Bernadette','','Barkley',NULL,NULL,NULL,NULL,1,NULL,'Dear Bernadette',1,NULL,'Dear Bernadette',1,NULL,'Bernadette Barkley',NULL,1,'1945-06-30',0,NULL,NULL,NULL,'Second Food Solutions',NULL,NULL,22,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (120,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'Müller-Jameson, Alida','Ms. Alida Müller-Jameson',NULL,NULL,NULL,NULL,NULL,'Both','1603081920',NULL,'Sample Data','Alida','','Müller-Jameson',2,NULL,NULL,NULL,1,NULL,'Dear Alida',1,NULL,'Dear Alida',1,NULL,'Ms. Alida Müller-Jameson',NULL,1,NULL,0,NULL,NULL,NULL,'Connecticut Legal School',NULL,NULL,114,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (121,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Terry, Jina','Dr. Jina Terry',NULL,NULL,NULL,NULL,NULL,'Both','506826080',NULL,'Sample Data','Jina','','Terry',4,NULL,NULL,NULL,1,NULL,'Dear Jina',1,NULL,'Dear Jina',1,NULL,'Dr. Jina Terry',NULL,NULL,'1950-09-24',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (122,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Wilson, Sharyn','Sharyn Wilson',NULL,NULL,NULL,NULL,NULL,'Both','652898932',NULL,'Sample Data','Sharyn','','Wilson',NULL,NULL,NULL,NULL,1,NULL,'Dear Sharyn',1,NULL,'Dear Sharyn',1,NULL,'Sharyn Wilson',NULL,1,'1943-02-10',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (123,'Organization',NULL,0,0,0,0,1,0,NULL,NULL,'Atchison Family Partners','Atchison Family Partners',NULL,NULL,NULL,'2',NULL,'Both','2735370569',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'Atchison Family Partners',NULL,NULL,NULL,0,NULL,NULL,NULL,'Atchison Family Partners',NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (124,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Patel, Carylon','Carylon Patel',NULL,NULL,NULL,'2',NULL,'Both','1606295742',NULL,'Sample Data','Carylon','','Patel',NULL,NULL,NULL,NULL,1,NULL,'Dear Carylon',1,NULL,'Dear Carylon',1,NULL,'Carylon Patel',NULL,NULL,'1940-08-22',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (125,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Deforest, Kiara','Kiara Deforest',NULL,NULL,NULL,'3',NULL,'Both','324739737',NULL,'Sample Data','Kiara','','Deforest',NULL,NULL,NULL,NULL,1,NULL,'Dear Kiara',1,NULL,'Dear Kiara',1,NULL,'Kiara Deforest',NULL,NULL,'1938-02-15',1,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (126,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'blackwell.sherman@testmail.co.uk','blackwell.sherman@testmail.co.uk',NULL,NULL,NULL,NULL,NULL,'Both','2123492208',NULL,'Sample Data',NULL,NULL,NULL,NULL,2,NULL,NULL,1,NULL,'Dear blackwell.sherman@testmail.co.uk',1,NULL,'Dear blackwell.sherman@testmail.co.uk',1,NULL,'blackwell.sherman@testmail.co.uk',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (127,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'Jensen, Errol','Errol Jensen',NULL,NULL,NULL,'3',NULL,'Both','1537101829',NULL,'Sample Data','Errol','','Jensen',NULL,NULL,NULL,NULL,1,NULL,'Dear Errol',1,NULL,'Dear Errol',1,NULL,'Errol Jensen',NULL,2,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (128,'Individual',NULL,1,1,0,0,0,0,NULL,NULL,'claudiodimitrov52@fishmail.co.uk','claudiodimitrov52@fishmail.co.uk',NULL,NULL,NULL,NULL,NULL,'Both','502612541',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,NULL,'Dear claudiodimitrov52@fishmail.co.uk',1,NULL,'Dear claudiodimitrov52@fishmail.co.uk',1,NULL,'claudiodimitrov52@fishmail.co.uk',NULL,NULL,NULL,0,NULL,NULL,NULL,'United Legal Collective',NULL,NULL,25,0,'2022-02-28 22:32:37','2022-02-28 22:32:39'),
+ (129,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Wilson, Bryon','Dr. Bryon Wilson III',NULL,NULL,NULL,NULL,NULL,'Both','814135970',NULL,'Sample Data','Bryon','','Wilson',4,4,NULL,NULL,1,NULL,'Dear Bryon',1,NULL,'Dear Bryon',1,NULL,'Dr. Bryon Wilson III',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (130,'Household',NULL,0,0,0,0,0,0,NULL,NULL,'Dimitrov family','Dimitrov family',NULL,NULL,NULL,'2',NULL,'Both','3351288571',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear Dimitrov family',5,NULL,'Dear Dimitrov family',2,NULL,'Dimitrov family',NULL,NULL,NULL,0,NULL,'Dimitrov family',NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (131,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Yadav, Brzęczysław','Mr. Brzęczysław Yadav III',NULL,NULL,NULL,NULL,NULL,'Both','2171812768',NULL,'Sample Data','Brzęczysław','','Yadav',3,4,NULL,NULL,1,NULL,'Dear Brzęczysław',1,NULL,'Dear Brzęczysław',1,NULL,'Mr. Brzęczysław Yadav III',NULL,NULL,'1997-03-08',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (132,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Dimitrov, Felisha','Mrs. Felisha Dimitrov',NULL,NULL,NULL,NULL,NULL,'Both','754737383',NULL,'Sample Data','Felisha','','Dimitrov',1,NULL,NULL,NULL,1,NULL,'Dear Felisha',1,NULL,'Dear Felisha',1,NULL,'Mrs. Felisha Dimitrov',NULL,1,'1983-02-04',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:39'),
+ (133,'Household',NULL,0,1,0,0,0,0,NULL,NULL,'Wattson family','Wattson family',NULL,NULL,NULL,'3',NULL,'Both','2851339192',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear Wattson family',5,NULL,'Dear Wattson family',2,NULL,'Wattson family',NULL,NULL,NULL,0,NULL,'Wattson family',NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (134,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Díaz, Kandace','Dr. Kandace Díaz',NULL,NULL,NULL,NULL,NULL,'Both','262634305',NULL,'Sample Data','Kandace','','Díaz',4,NULL,NULL,NULL,1,NULL,'Dear Kandace',1,NULL,'Dear Kandace',1,NULL,'Dr. Kandace Díaz',NULL,NULL,'1964-05-10',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (135,'Household',NULL,0,0,0,0,0,0,NULL,NULL,'Dimitrov family','Dimitrov family',NULL,NULL,NULL,NULL,NULL,'Both','3351288571',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear Dimitrov family',5,NULL,'Dear Dimitrov family',2,NULL,'Dimitrov family',NULL,NULL,NULL,0,NULL,'Dimitrov family',NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (136,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Grant, Carlos','Carlos Grant Jr.',NULL,NULL,NULL,'3',NULL,'Both','329794815',NULL,'Sample Data','Carlos','M','Grant',NULL,1,NULL,NULL,1,NULL,'Dear Carlos',1,NULL,'Dear Carlos',1,NULL,'Carlos Grant Jr.',NULL,NULL,'1992-10-18',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:39'),
+ (137,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Wattson, Junko','Ms. Junko Wattson',NULL,NULL,NULL,NULL,NULL,'Both','708062411',NULL,'Sample Data','Junko','','Wattson',2,NULL,NULL,NULL,1,NULL,'Dear Junko',1,NULL,'Dear Junko',1,NULL,'Ms. Junko Wattson',NULL,1,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (138,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Łąchowski, Alida','Alida Łąchowski',NULL,NULL,NULL,NULL,NULL,'Both','856739005',NULL,'Sample Data','Alida','F','Łąchowski',NULL,NULL,NULL,NULL,1,NULL,'Dear Alida',1,NULL,'Dear Alida',1,NULL,'Alida Łąchowski',NULL,1,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (139,'Organization',NULL,0,0,0,0,0,0,NULL,NULL,'Oxford Music Initiative','Oxford Music Initiative',NULL,NULL,NULL,'2',NULL,'Both','3257880282',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'Oxford Music Initiative',NULL,NULL,NULL,0,NULL,NULL,NULL,'Oxford Music Initiative',NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (140,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Prentice, Juliann','Juliann Prentice',NULL,NULL,NULL,NULL,NULL,'Both','4163234057',NULL,'Sample Data','Juliann','','Prentice',NULL,NULL,NULL,NULL,1,NULL,'Dear Juliann',1,NULL,'Dear Juliann',1,NULL,'Juliann Prentice',NULL,NULL,'1965-12-23',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (141,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'Zope, Bob','Bob Zope II',NULL,NULL,NULL,'4',NULL,'Both','707485722',NULL,'Sample Data','Bob','','Zope',NULL,3,NULL,NULL,1,NULL,'Dear Bob',1,NULL,'Dear Bob',1,NULL,'Bob Zope II',NULL,NULL,'1987-06-09',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:39'),
+ (142,'Organization',NULL,0,0,0,0,0,0,NULL,NULL,'Harmon Peace Fund','Harmon Peace Fund',NULL,NULL,NULL,NULL,NULL,'Both','3555862277',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'Harmon Peace Fund',NULL,NULL,NULL,0,NULL,NULL,143,'Harmon Peace Fund',NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (143,'Individual',NULL,0,1,0,0,1,0,NULL,NULL,'Yadav, Claudio','Claudio Yadav',NULL,NULL,NULL,'2',NULL,'Both','2212747069',NULL,'Sample Data','Claudio','','Yadav',NULL,NULL,NULL,NULL,1,NULL,'Dear Claudio',1,NULL,'Dear Claudio',1,NULL,'Claudio Yadav',NULL,2,NULL,0,NULL,NULL,NULL,'Harmon Peace Fund',NULL,NULL,142,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (144,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Grant, Maxwell','Maxwell Grant II',NULL,NULL,NULL,'5',NULL,'Both','3863854365',NULL,'Sample Data','Maxwell','X','Grant',NULL,3,NULL,NULL,1,NULL,'Dear Maxwell',1,NULL,'Dear Maxwell',1,NULL,'Maxwell Grant II',NULL,NULL,'1981-06-23',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:39'),
+ (145,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Adams, Troy','Mr. Troy Adams',NULL,NULL,NULL,'4',NULL,'Both','271731072',NULL,'Sample Data','Troy','','Adams',3,NULL,NULL,NULL,1,NULL,'Dear Troy',1,NULL,'Dear Troy',1,NULL,'Mr. Troy Adams',NULL,NULL,'1996-08-02',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (146,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'eo.parker@sample.biz','eo.parker@sample.biz',NULL,NULL,NULL,'3',NULL,'Both','607193407',NULL,'Sample Data',NULL,NULL,NULL,4,4,NULL,NULL,1,NULL,'Dear eo.parker@sample.biz',1,NULL,'Dear eo.parker@sample.biz',1,NULL,'eo.parker@sample.biz',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:39'),
+ (147,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'Dimitrov, Truman','Truman Dimitrov Sr.',NULL,NULL,NULL,NULL,NULL,'Both','231051732',NULL,'Sample Data','Truman','I','Dimitrov',NULL,2,NULL,NULL,1,NULL,'Dear Truman',1,NULL,'Dear Truman',1,NULL,'Truman Dimitrov Sr.',NULL,2,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:39'),
+ (148,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Zope, Rodrigo','Rodrigo Zope II',NULL,NULL,NULL,NULL,NULL,'Both','1659102983',NULL,'Sample Data','Rodrigo','E','Zope',NULL,3,NULL,NULL,1,NULL,'Dear Rodrigo',1,NULL,'Dear Rodrigo',1,NULL,'Rodrigo Zope II',NULL,2,'1962-12-09',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:39'),
+ (149,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'jones.kathlyn@notmail.co.uk','jones.kathlyn@notmail.co.uk',NULL,NULL,NULL,NULL,NULL,'Both','3099575874',NULL,'Sample Data',NULL,NULL,NULL,1,NULL,NULL,NULL,1,NULL,'Dear jones.kathlyn@notmail.co.uk',1,NULL,'Dear jones.kathlyn@notmail.co.uk',1,NULL,'jones.kathlyn@notmail.co.uk',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:39'),
+ (150,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Prentice, Brigette','Brigette Prentice',NULL,NULL,NULL,NULL,NULL,'Both','1103079124',NULL,'Sample Data','Brigette','I','Prentice',NULL,NULL,NULL,NULL,1,NULL,'Dear Brigette',1,NULL,'Dear Brigette',1,NULL,'Brigette Prentice',NULL,1,'1983-06-22',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:39'),
+ (151,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'Terrell, Teddy','Teddy Terrell',NULL,NULL,NULL,NULL,NULL,'Both','829330438',NULL,'Sample Data','Teddy','H','Terrell',NULL,NULL,NULL,NULL,1,NULL,'Dear Teddy',1,NULL,'Dear Teddy',1,NULL,'Teddy Terrell',NULL,2,'1942-12-23',1,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (152,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Olsen, Kathleen','Kathleen Olsen',NULL,NULL,NULL,'5',NULL,'Both','1625164526',NULL,'Sample Data','Kathleen','','Olsen',NULL,NULL,NULL,NULL,1,NULL,'Dear Kathleen',1,NULL,'Dear Kathleen',1,NULL,'Kathleen Olsen',NULL,1,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:39'),
+ (153,'Organization',NULL,0,0,0,0,0,0,NULL,NULL,'Woodbridge Sustainability Partnership','Woodbridge Sustainability Partnership',NULL,NULL,NULL,'1',NULL,'Both','649075721',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'Woodbridge Sustainability Partnership',NULL,NULL,NULL,0,NULL,NULL,27,'Woodbridge Sustainability Partnership',NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (154,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Ivanov, Brent','Brent Ivanov Sr.',NULL,NULL,NULL,NULL,NULL,'Both','1194630571',NULL,'Sample Data','Brent','D','Ivanov',NULL,2,NULL,NULL,1,NULL,'Dear Brent',1,NULL,'Dear Brent',1,NULL,'Brent Ivanov Sr.',NULL,2,'1988-06-25',0,NULL,NULL,NULL,'Lincoln Food Center',NULL,NULL,54,0,'2022-02-28 22:32:37','2022-02-28 22:32:39'),
+ (155,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'deforestb@sample.co.uk','deforestb@sample.co.uk',NULL,NULL,NULL,NULL,NULL,'Both','1213492168',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,NULL,'Dear deforestb@sample.co.uk',1,NULL,'Dear deforestb@sample.co.uk',1,NULL,'deforestb@sample.co.uk',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (156,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Blackwell, Toby','Toby Blackwell',NULL,NULL,NULL,'1',NULL,'Both','3987770403',NULL,'Sample Data','Toby','H','Blackwell',NULL,NULL,NULL,NULL,1,NULL,'Dear Toby',1,NULL,'Dear Toby',1,NULL,'Toby Blackwell',NULL,2,'2015-12-22',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:39'),
+ (157,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Jameson, Tanya','Mrs. Tanya Jameson',NULL,NULL,NULL,NULL,NULL,'Both','2589071461',NULL,'Sample Data','Tanya','M','Jameson',1,NULL,NULL,NULL,1,NULL,'Dear Tanya',1,NULL,'Dear Tanya',1,NULL,'Mrs. Tanya Jameson',NULL,1,'1964-12-27',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (158,'Organization',NULL,0,0,0,0,0,0,NULL,NULL,'Lincoln Culture Partners','Lincoln Culture Partners',NULL,NULL,NULL,'4',NULL,'Both','152271111',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'Lincoln Culture Partners',NULL,NULL,NULL,0,NULL,NULL,32,'Lincoln Culture Partners',NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (159,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Parker, Craig','Mr. Craig Parker Sr.',NULL,NULL,NULL,NULL,NULL,'Both','1038716533',NULL,'Sample Data','Craig','Y','Parker',3,2,NULL,NULL,1,NULL,'Dear Craig',1,NULL,'Dear Craig',1,NULL,'Mr. Craig Parker Sr.',NULL,2,'1998-12-01',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:39'),
+ (160,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Samson, Jackson','Dr. Jackson Samson II',NULL,NULL,NULL,'5',NULL,'Both','3722520930',NULL,'Sample Data','Jackson','D','Samson',4,3,NULL,NULL,1,NULL,'Dear Jackson',1,NULL,'Dear Jackson',1,NULL,'Dr. Jackson Samson II',NULL,2,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (161,'Household',NULL,1,1,0,0,1,0,NULL,NULL,'Parker family','Parker family',NULL,NULL,NULL,'3',NULL,'Both','425242179',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear Parker family',5,NULL,'Dear Parker family',2,NULL,'Parker family',NULL,NULL,NULL,0,NULL,'Parker family',NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (162,'Household',NULL,0,0,0,0,0,0,NULL,NULL,'Jones family','Jones family',NULL,NULL,NULL,'1',NULL,'Both','1110516799',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear Jones family',5,NULL,'Dear Jones family',2,NULL,'Jones family',NULL,NULL,NULL,0,NULL,'Jones family',NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (163,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Wilson, Teddy','Teddy Wilson',NULL,NULL,NULL,NULL,NULL,'Both','1714543497',NULL,'Sample Data','Teddy','D','Wilson',NULL,NULL,NULL,NULL,1,NULL,'Dear Teddy',1,NULL,'Dear Teddy',1,NULL,'Teddy Wilson',NULL,2,'1935-09-11',1,'2021-10-16',NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (164,'Individual',NULL,1,1,0,0,0,0,NULL,NULL,'Parker, Lincoln','Dr. Lincoln Parker',NULL,NULL,NULL,NULL,NULL,'Both','108314826',NULL,'Sample Data','Lincoln','','Parker',4,NULL,NULL,NULL,1,NULL,'Dear Lincoln',1,NULL,'Dear Lincoln',1,NULL,'Dr. Lincoln Parker',NULL,NULL,'1965-03-21',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (165,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'McReynolds, Princess','Princess McReynolds',NULL,NULL,NULL,NULL,NULL,'Both','2818218342',NULL,'Sample Data','Princess','','McReynolds',NULL,NULL,NULL,NULL,1,NULL,'Dear Princess',1,NULL,'Dear Princess',1,NULL,'Princess McReynolds',NULL,NULL,'1989-05-11',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (166,'Organization',NULL,0,0,0,0,0,0,NULL,NULL,'Texas Peace Alliance','Texas Peace Alliance',NULL,NULL,NULL,'3',NULL,'Both','2664835332',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'Texas Peace Alliance',NULL,NULL,NULL,0,NULL,NULL,NULL,'Texas Peace Alliance',NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (167,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Olsen, Ivey','Ivey Olsen',NULL,NULL,NULL,'2',NULL,'Both','1507615018',NULL,'Sample Data','Ivey','','Olsen',NULL,NULL,NULL,NULL,1,NULL,'Dear Ivey',1,NULL,'Dear Ivey',1,NULL,'Ivey Olsen',NULL,1,'1998-10-27',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:39'),
+ (168,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Reynolds-Prentice, Josefa','Mrs. Josefa Reynolds-Prentice',NULL,NULL,NULL,NULL,NULL,'Both','2685343893',NULL,'Sample Data','Josefa','T','Reynolds-Prentice',1,NULL,NULL,NULL,1,NULL,'Dear Josefa',1,NULL,'Dear Josefa',1,NULL,'Mrs. Josefa Reynolds-Prentice',NULL,1,'1959-08-11',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:39'),
+ (169,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Dimitrov, Alexia','Alexia Dimitrov',NULL,NULL,NULL,'1',NULL,'Both','2476509826',NULL,'Sample Data','Alexia','','Dimitrov',NULL,NULL,NULL,NULL,1,NULL,'Dear Alexia',1,NULL,'Dear Alexia',1,NULL,'Alexia Dimitrov',NULL,NULL,'1982-03-05',0,NULL,NULL,NULL,'Martin Luther King Environmental Services',NULL,NULL,77,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (170,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'Patel, Lou','Mr. Lou Patel II',NULL,NULL,NULL,'3',NULL,'Both','2158863252',NULL,'Sample Data','Lou','','Patel',3,3,NULL,NULL,1,NULL,'Dear Lou',1,NULL,'Dear Lou',1,NULL,'Mr. Lou Patel II',NULL,2,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (171,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Wattson, Iris','Iris Wattson',NULL,NULL,NULL,'1',NULL,'Both','532322376',NULL,'Sample Data','Iris','E','Wattson',NULL,NULL,NULL,NULL,1,NULL,'Dear Iris',1,NULL,'Dear Iris',1,NULL,'Iris Wattson',NULL,1,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (172,'Household',NULL,0,0,0,0,0,0,NULL,NULL,'Barkley family','Barkley family',NULL,NULL,NULL,'5',NULL,'Both','2888062109',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear Barkley family',5,NULL,'Dear Barkley family',2,NULL,'Barkley family',NULL,NULL,NULL,0,NULL,'Barkley family',NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (173,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'McReynolds, Felisha','Felisha McReynolds',NULL,NULL,NULL,'3',NULL,'Both','2265905114',NULL,'Sample Data','Felisha','','McReynolds',NULL,NULL,NULL,NULL,1,NULL,'Dear Felisha',1,NULL,'Dear Felisha',1,NULL,'Felisha McReynolds',NULL,1,'1946-09-08',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (174,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Blackwell, Bob','Dr. Bob Blackwell',NULL,NULL,NULL,'1',NULL,'Both','533638173',NULL,'Sample Data','Bob','G','Blackwell',4,NULL,NULL,NULL,1,NULL,'Dear Bob',1,NULL,'Dear Bob',1,NULL,'Dr. Bob Blackwell',NULL,NULL,NULL,0,NULL,NULL,NULL,'Maple Action Services',NULL,NULL,83,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (175,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Olsen, Truman','Dr. Truman Olsen',NULL,NULL,NULL,'5',NULL,'Both','3272944586',NULL,'Sample Data','Truman','','Olsen',4,NULL,NULL,NULL,1,NULL,'Dear Truman',1,NULL,'Dear Truman',1,NULL,'Dr. Truman Olsen',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:39'),
+ (176,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'barkleya40@sample.info','barkleya40@sample.info',NULL,NULL,NULL,NULL,NULL,'Both','610786714',NULL,'Sample Data',NULL,NULL,NULL,4,3,NULL,NULL,1,NULL,'Dear barkleya40@sample.info',1,NULL,'Dear barkleya40@sample.info',1,NULL,'barkleya40@sample.info',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (177,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Blackwell, Lashawnda','Lashawnda Blackwell',NULL,NULL,NULL,'3',NULL,'Both','3911496571',NULL,'Sample Data','Lashawnda','W','Blackwell',NULL,NULL,NULL,NULL,1,NULL,'Dear Lashawnda',1,NULL,'Dear Lashawnda',1,NULL,'Lashawnda Blackwell',NULL,1,'1953-08-16',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:37','2022-02-28 22:32:38'),
+ (178,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Grant, Winford','Winford Grant',NULL,NULL,NULL,NULL,NULL,'Both','431528979',NULL,'Sample Data','Winford','','Grant',NULL,NULL,NULL,NULL,1,NULL,'Dear Winford',1,NULL,'Dear Winford',1,NULL,'Winford Grant',NULL,NULL,'1969-10-29',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:38','2022-02-28 22:32:38'),
+ (179,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'Barkley, Lashawnda','Lashawnda Barkley',NULL,NULL,NULL,'1',NULL,'Both','299247424',NULL,'Sample Data','Lashawnda','Q','Barkley',NULL,NULL,NULL,NULL,1,NULL,'Dear Lashawnda',1,NULL,'Dear Lashawnda',1,NULL,'Lashawnda Barkley',NULL,NULL,'1960-06-03',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:38','2022-02-28 22:32:38'),
+ (180,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'Prentice, Princess','Princess Prentice',NULL,NULL,NULL,NULL,NULL,'Both','4046145534',NULL,'Sample Data','Princess','','Prentice',NULL,NULL,NULL,NULL,1,NULL,'Dear Princess',1,NULL,'Dear Princess',1,NULL,'Princess Prentice',NULL,1,'2016-03-11',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:38','2022-02-28 22:32:39'),
+ (181,'Individual',NULL,0,0,0,0,1,0,NULL,NULL,'Barkley, Elizabeth','Elizabeth Barkley',NULL,NULL,NULL,'2',NULL,'Both','4081845859',NULL,'Sample Data','Elizabeth','J','Barkley',NULL,NULL,NULL,NULL,1,NULL,'Dear Elizabeth',1,NULL,'Dear Elizabeth',1,NULL,'Elizabeth Barkley',NULL,NULL,'1959-03-20',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:38','2022-02-28 22:32:38'),
+ (182,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Bachman, Ray','Ray Bachman II',NULL,NULL,NULL,NULL,NULL,'Both','560571069',NULL,'Sample Data','Ray','','Bachman',NULL,3,NULL,NULL,1,NULL,'Dear Ray',1,NULL,'Dear Ray',1,NULL,'Ray Bachman II',NULL,2,'1972-06-21',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:38','2022-02-28 22:32:38'),
+ (183,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'Blackwell, Andrew','Dr. Andrew Blackwell',NULL,NULL,NULL,'2',NULL,'Both','2328901373',NULL,'Sample Data','Andrew','J','Blackwell',4,NULL,NULL,NULL,1,NULL,'Dear Andrew',1,NULL,'Dear Andrew',1,NULL,'Dr. Andrew Blackwell',NULL,2,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:38','2022-02-28 22:32:39'),
+ (184,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Blackwell, Carylon','Dr. Carylon Blackwell',NULL,NULL,NULL,NULL,NULL,'Both','1747720268',NULL,'Sample Data','Carylon','','Blackwell',4,NULL,NULL,NULL,1,NULL,'Dear Carylon',1,NULL,'Dear Carylon',1,NULL,'Dr. Carylon Blackwell',NULL,NULL,'1997-07-11',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:38','2022-02-28 22:32:38'),
+ (185,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Lee, Allen','Allen Lee',NULL,NULL,NULL,NULL,NULL,'Both','23882505',NULL,'Sample Data','Allen','K','Lee',NULL,NULL,NULL,NULL,1,NULL,'Dear Allen',1,NULL,'Dear Allen',1,NULL,'Allen Lee',NULL,NULL,'1956-02-24',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:38','2022-02-28 22:32:39'),
+ (186,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Terry, Sherman','Mr. Sherman Terry II',NULL,NULL,NULL,NULL,NULL,'Both','4119706907',NULL,'Sample Data','Sherman','','Terry',3,3,NULL,NULL,1,NULL,'Dear Sherman',1,NULL,'Dear Sherman',1,NULL,'Mr. Sherman Terry II',NULL,NULL,NULL,0,NULL,NULL,NULL,'Florida Legal Solutions',NULL,NULL,23,0,'2022-02-28 22:32:38','2022-02-28 22:32:38'),
+ (187,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Terrell, Kenny','Mr. Kenny Terrell Sr.',NULL,NULL,NULL,NULL,NULL,'Both','614922505',NULL,'Sample Data','Kenny','','Terrell',3,2,NULL,NULL,1,NULL,'Dear Kenny',1,NULL,'Dear Kenny',1,NULL,'Mr. Kenny Terrell Sr.',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:38','2022-02-28 22:32:38'),
+ (188,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Reynolds, Alexia','Alexia Reynolds',NULL,NULL,NULL,NULL,NULL,'Both','1389353396',NULL,'Sample Data','Alexia','G','Reynolds',NULL,NULL,NULL,NULL,1,NULL,'Dear Alexia',1,NULL,'Dear Alexia',1,NULL,'Alexia Reynolds',NULL,1,'1981-11-03',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:38','2022-02-28 22:32:38'),
+ (189,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Wattson, Kathleen','Kathleen Wattson',NULL,NULL,NULL,NULL,NULL,'Both','784443764',NULL,'Sample Data','Kathleen','G','Wattson',NULL,NULL,NULL,NULL,1,NULL,'Dear Kathleen',1,NULL,'Dear Kathleen',1,NULL,'Kathleen Wattson',NULL,1,'2011-01-07',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:38','2022-02-28 22:32:39'),
+ (190,'Household',NULL,0,0,0,0,0,0,NULL,NULL,'Blackwell family','Blackwell family',NULL,NULL,NULL,'2',NULL,'Both','3218641510',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5,NULL,'Dear Blackwell family',5,NULL,'Dear Blackwell family',2,NULL,'Blackwell family',NULL,NULL,NULL,0,NULL,'Blackwell family',NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:38','2022-02-28 22:32:38'),
+ (191,'Organization',NULL,0,0,0,0,0,0,NULL,NULL,'Tennessee Literacy Systems','Tennessee Literacy Systems',NULL,NULL,NULL,'5',NULL,'Both','69833644',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,3,NULL,'Tennessee Literacy Systems',NULL,NULL,NULL,0,NULL,NULL,199,'Tennessee Literacy Systems',NULL,NULL,NULL,0,'2022-02-28 22:32:38','2022-02-28 22:32:38'),
+ (192,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'Parker, Erik','Erik Parker II',NULL,NULL,NULL,'2',NULL,'Both','1036871388',NULL,'Sample Data','Erik','','Parker',NULL,3,NULL,NULL,1,NULL,'Dear Erik',1,NULL,'Dear Erik',1,NULL,'Erik Parker II',NULL,2,'1957-07-20',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:38','2022-02-28 22:32:39'),
+ (193,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Zope, Merrie','Ms. Merrie Zope',NULL,NULL,NULL,'2',NULL,'Both','316434837',NULL,'Sample Data','Merrie','','Zope',2,NULL,NULL,NULL,1,NULL,'Dear Merrie',1,NULL,'Dear Merrie',1,NULL,'Ms. Merrie Zope',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:38','2022-02-28 22:32:38'),
+ (194,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'wilson-adams.kandace@spamalot.net','wilson-adams.kandace@spamalot.net',NULL,NULL,NULL,NULL,NULL,'Both','1733542315',NULL,'Sample Data',NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,NULL,'Dear wilson-adams.kandace@spamalot.net',1,NULL,'Dear wilson-adams.kandace@spamalot.net',1,NULL,'wilson-adams.kandace@spamalot.net',NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:38','2022-02-28 22:32:39'),
+ (195,'Individual',NULL,1,0,0,0,1,0,NULL,NULL,'Jameson, Kacey','Kacey Jameson',NULL,NULL,NULL,NULL,NULL,'Both','2233552494',NULL,'Sample Data','Kacey','','Jameson',NULL,NULL,NULL,NULL,1,NULL,'Dear Kacey',1,NULL,'Dear Kacey',1,NULL,'Kacey Jameson',NULL,NULL,'1960-12-18',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:38','2022-02-28 22:32:38'),
+ (196,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Samson, Esta','Esta Samson',NULL,NULL,NULL,NULL,NULL,'Both','2754317159',NULL,'Sample Data','Esta','','Samson',NULL,NULL,NULL,NULL,1,NULL,'Dear Esta',1,NULL,'Dear Esta',1,NULL,'Esta Samson',NULL,NULL,'2000-05-17',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:38','2022-02-28 22:32:38'),
+ (197,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Robertson, Kathleen','Kathleen Robertson',NULL,NULL,NULL,NULL,NULL,'Both','1039921971',NULL,'Sample Data','Kathleen','V','Robertson',NULL,NULL,NULL,NULL,1,NULL,'Dear Kathleen',1,NULL,'Dear Kathleen',1,NULL,'Kathleen Robertson',NULL,1,'1951-12-15',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:38','2022-02-28 22:32:38'),
+ (198,'Individual',NULL,1,0,0,0,0,0,NULL,NULL,'Blackwell, Justina','Mrs. Justina Blackwell',NULL,NULL,NULL,'5',NULL,'Both','630587972',NULL,'Sample Data','Justina','','Blackwell',1,NULL,NULL,NULL,1,NULL,'Dear Justina',1,NULL,'Dear Justina',1,NULL,'Mrs. Justina Blackwell',NULL,NULL,'1970-07-25',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:38','2022-02-28 22:32:39'),
+ (199,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Jameson, Brittney','Ms. Brittney Jameson',NULL,NULL,NULL,NULL,NULL,'Both','2877892041',NULL,'Sample Data','Brittney','','Jameson',2,NULL,NULL,NULL,1,NULL,'Dear Brittney',1,NULL,'Dear Brittney',1,NULL,'Ms. Brittney Jameson',NULL,1,NULL,0,NULL,NULL,NULL,'Tennessee Literacy Systems',NULL,NULL,191,0,'2022-02-28 22:32:38','2022-02-28 22:32:38'),
+ (200,'Individual',NULL,0,1,0,0,0,0,NULL,NULL,'Díaz, Bob','Bob Díaz Sr.',NULL,NULL,NULL,NULL,NULL,'Both','3580176387',NULL,'Sample Data','Bob','','Díaz',NULL,2,NULL,NULL,1,NULL,'Dear Bob',1,NULL,'Dear Bob',1,NULL,'Bob Díaz Sr.',NULL,2,'1939-10-29',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:38','2022-02-28 22:32:38'),
+ (201,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Olsen, Bob','Mr. Bob Olsen III',NULL,NULL,NULL,'2',NULL,'Both','1762107001',NULL,'Sample Data','Bob','O','Olsen',3,4,NULL,NULL,1,NULL,'Dear Bob',1,NULL,'Dear Bob',1,NULL,'Mr. Bob Olsen III',NULL,2,'1971-12-29',0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:38','2022-02-28 22:32:38'),
+ (202,'Individual',NULL,0,0,0,0,0,0,NULL,NULL,'Lee, Jenny','Jenny Lee',NULL,NULL,NULL,NULL,'en_US','Both','7c3d576efd24f1d848ad80e17082f2d1',NULL,NULL,'Jenny',NULL,'Lee',NULL,NULL,NULL,1,1,NULL,'Dear Jenny',1,NULL,'Dear Jenny',1,NULL,'Jenny Lee','Volunteer coordinator',NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'2022-02-28 22:32:39','2022-02-28 22:32:39');
 /*!40000 ALTER TABLE `civicrm_contact` ENABLE KEYS */;
 UNLOCK TABLES;
 
@@ -2170,117 +2138,117 @@ UNLOCK TABLES;
 LOCK TABLES `civicrm_contribution` WRITE;
 /*!40000 ALTER TABLE `civicrm_contribution` DISABLE KEYS */;
 INSERT INTO `civicrm_contribution` (`id`, `contact_id`, `financial_type_id`, `contribution_page_id`, `payment_instrument_id`, `receive_date`, `non_deductible_amount`, `total_amount`, `fee_amount`, `net_amount`, `trxn_id`, `invoice_id`, `invoice_number`, `currency`, `cancel_date`, `cancel_reason`, `receipt_date`, `thankyou_date`, `source`, `amount_level`, `contribution_recur_id`, `is_test`, `is_pay_later`, `contribution_status_id`, `address_id`, `check_number`, `campaign_id`, `creditnote_id`, `tax_amount`, `revenue_recognition_date`, `is_template`) VALUES
- (1,2,1,NULL,4,'2012-01-05 03:20:52',0.00,125.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,NULL,NULL,'April Mailer 1',NULL,NULL,0,0,1,NULL,'1041',NULL,NULL,NULL,NULL,0),
- (2,4,1,NULL,1,'2019-10-05 03:20:52',0.00,50.00,NULL,NULL,'P20901X1',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Online: Save the Penguins',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (3,6,1,NULL,4,'2015-12-10 14:20:52',0.00,25.00,NULL,NULL,'GBP12',NULL,NULL,'GBP',NULL,NULL,NULL,NULL,'April Mailer 1',NULL,NULL,0,0,1,NULL,'2095',NULL,NULL,NULL,NULL,0),
- (4,8,1,NULL,4,'2019-10-05 03:20:52',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Online: Save the Penguins',NULL,NULL,0,0,1,NULL,'10552',NULL,NULL,NULL,NULL,0),
- (5,4,1,NULL,1,'2019-10-05 03:20:52',0.00,50.00,NULL,NULL,'Q90901X1',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Online: Save the Penguins',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (6,16,1,NULL,4,'2021-10-12 02:38:52',0.00,500.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,NULL,NULL,'April Mailer 1',NULL,NULL,0,0,1,NULL,'509',NULL,NULL,NULL,NULL,0),
- (7,19,1,NULL,1,'2022-01-03 03:20:52',0.00,1750.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Online: Save the Penguins',NULL,NULL,0,0,1,NULL,'102',NULL,NULL,NULL,NULL,0),
- (8,82,1,NULL,1,'2021-05-13 11:31:52',0.00,50.00,NULL,NULL,'P20193L2',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Online: Save the Penguins',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (9,92,1,NULL,1,'2021-02-05 03:20:52',0.00,10.00,NULL,NULL,'P40232Y3',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Online: Help CiviCRM',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (10,34,1,NULL,1,'2017-08-13 05:20:52',0.00,250.00,NULL,NULL,'P20193L6',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Online: Help CiviCRM',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (11,71,1,NULL,1,'2022-01-03 23:20:52',0.00,500.00,NULL,NULL,'PL71',NULL,NULL,'JPY',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (12,43,1,NULL,1,'2020-10-04 16:47:32',0.00,50.00,NULL,NULL,'P291X1',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Online: Save the Penguins',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (13,32,1,NULL,1,'2021-10-05 00:00:00',0.00,50.00,NULL,NULL,'PL32I',NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (14,32,1,NULL,1,'2021-11-05 00:00:00',0.00,50.00,NULL,NULL,'PL32II',NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (15,59,1,NULL,1,'2020-10-05 03:20:52',0.00,25.00,NULL,NULL,'PL32I591',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Recurring contribution',NULL,1,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (16,59,1,NULL,1,'2020-11-05 03:20:52',0.00,25.00,NULL,NULL,'PL32I592',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Recurring contribution',NULL,1,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (17,59,1,NULL,1,'2020-12-05 03:20:52',0.00,25.00,NULL,NULL,'PL32I593',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Recurring contribution',NULL,1,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (18,59,1,NULL,1,'2021-01-05 03:20:52',0.00,25.00,NULL,NULL,'PL32I594',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Recurring contribution',NULL,1,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (19,59,1,NULL,1,'2021-02-05 03:20:52',0.00,25.00,NULL,NULL,'PL32I595',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Recurring contribution',NULL,1,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (20,59,1,NULL,1,'2021-03-05 03:20:52',0.00,25.00,NULL,NULL,'PL32I596',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Recurring contribution',NULL,1,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (21,59,1,NULL,1,'2021-04-05 03:20:52',0.00,25.00,NULL,NULL,'PL32I597',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Recurring contribution',NULL,1,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (22,59,1,NULL,1,'2021-05-05 03:20:52',0.00,25.00,NULL,NULL,'PL32I598',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Recurring contribution',NULL,1,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (23,59,1,NULL,1,'2021-06-05 03:20:52',0.00,25.00,NULL,NULL,'PL32I599',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Recurring contribution',NULL,1,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (24,59,1,NULL,1,'2021-07-05 03:20:52',0.00,25.00,NULL,NULL,'PL32I5910',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Recurring contribution',NULL,1,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (25,59,1,NULL,1,'2021-08-05 03:20:52',0.00,25.00,NULL,NULL,'PL32I5911',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Recurring contribution',NULL,1,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (26,99,1,NULL,1,'2021-05-05 03:20:52',0.00,10.00,NULL,NULL,'PL32I991',NULL,NULL,'CAD',NULL,NULL,NULL,NULL,'Recurring contribution',NULL,2,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (27,99,1,NULL,1,'2021-06-05 03:20:52',0.00,10.00,NULL,NULL,'PL32I992',NULL,NULL,'CAD',NULL,NULL,NULL,NULL,'Recurring contribution',NULL,2,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (28,99,1,NULL,1,'2021-07-05 03:20:52',0.00,10.00,NULL,NULL,'PL32I993',NULL,NULL,'CAD',NULL,NULL,NULL,NULL,'Recurring contribution',NULL,2,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (29,99,1,NULL,1,'2021-08-05 03:20:52',0.00,10.00,NULL,NULL,'PL32I994',NULL,NULL,'CAD',NULL,NULL,NULL,NULL,'Recurring contribution',NULL,2,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (30,99,1,NULL,1,'2021-09-05 03:20:52',0.00,10.00,NULL,NULL,'PL32I995',NULL,NULL,'CAD',NULL,NULL,NULL,NULL,'Recurring contribution',NULL,2,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (31,103,1,NULL,1,'2021-12-05 03:20:52',0.00,5.00,NULL,NULL,'PL32I1031',NULL,NULL,'EUR',NULL,NULL,NULL,NULL,'Recurring contribution',NULL,3,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (32,65,2,NULL,1,'2022-01-05 03:20:52',0.00,100.00,NULL,NULL,'c145faee0d04bf23',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'General Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (33,189,2,NULL,1,'2022-01-05 03:20:52',0.00,50.00,NULL,NULL,'ce783c2980c895fb',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Student Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (34,41,2,NULL,1,'2022-01-05 03:20:52',0.00,100.00,NULL,NULL,'e7792c9d495e0d43',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'General Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (35,35,2,NULL,1,'2022-01-05 03:20:52',0.00,50.00,NULL,NULL,'15dd8d947457e182',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Student Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (36,130,2,NULL,1,'2022-01-05 03:20:52',0.00,100.00,NULL,NULL,'efef6bf98c1ee77b',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'General Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (37,9,2,NULL,1,'2022-01-05 03:20:52',0.00,50.00,NULL,NULL,'ee8f336df39896c3',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Student Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (38,58,2,NULL,1,'2022-01-05 03:20:52',0.00,100.00,NULL,NULL,'efd9264db11420e7',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'General Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (39,190,2,NULL,1,'2022-01-05 03:20:52',0.00,50.00,NULL,NULL,'add86bce477d8c75',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Student Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (40,40,2,NULL,1,'2022-01-05 03:20:52',0.00,100.00,NULL,NULL,'1c414af7029d5ac9',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'General Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (41,36,2,NULL,1,'2022-01-05 03:20:52',0.00,100.00,NULL,NULL,'bf70d15a447dc3de',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'General Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (42,186,2,NULL,1,'2022-01-05 03:20:52',0.00,1200.00,NULL,NULL,'9912cdd068cf1014',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Lifetime Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (43,149,2,NULL,1,'2022-01-05 03:20:52',0.00,50.00,NULL,NULL,'a68da4816cff3740',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Student Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (44,6,2,NULL,1,'2022-01-05 03:20:52',0.00,100.00,NULL,NULL,'feee4f9be413a3ce',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'General Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (45,97,2,NULL,1,'2022-01-05 03:20:52',0.00,50.00,NULL,NULL,'d96c76487dcc6bdc',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Student Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (46,12,2,NULL,1,'2022-01-05 03:20:52',0.00,50.00,NULL,NULL,'d957a42dd6dd6a9e',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Student Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (47,28,2,NULL,1,'2022-01-05 03:20:52',0.00,50.00,NULL,NULL,'c041fb11501b15f7',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Student Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (48,140,2,NULL,1,'2022-01-05 03:20:52',0.00,100.00,NULL,NULL,'4c1f04e50a7343bb',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'General Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (49,69,2,NULL,1,'2022-01-05 03:20:52',0.00,50.00,NULL,NULL,'4ab3abfc8d97c438',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Student Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (50,95,2,NULL,1,'2022-01-05 03:20:52',0.00,100.00,NULL,NULL,'1a38ad9c21aed03f',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'General Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (51,3,2,NULL,1,'2022-01-05 03:20:52',0.00,100.00,NULL,NULL,'5366983810d9c038',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'General Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (52,19,2,NULL,1,'2022-01-05 03:20:52',0.00,100.00,NULL,NULL,'bdbe43be980b026b',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'General Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (53,59,2,NULL,1,'2022-01-05 03:20:52',0.00,1200.00,NULL,NULL,'42bd5da1ddbeb42b',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Lifetime Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (54,24,2,NULL,1,'2022-01-05 03:20:52',0.00,100.00,NULL,NULL,'fdc01698bb8c3398',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'General Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (55,162,2,NULL,1,'2022-01-05 03:20:52',0.00,50.00,NULL,NULL,'0c1c807bc7b1154a',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Student Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (56,107,2,NULL,1,'2022-01-05 03:20:52',0.00,100.00,NULL,NULL,'155b209f8d67d6ee',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'General Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (57,127,2,NULL,1,'2022-01-05 03:20:52',0.00,50.00,NULL,NULL,'0cd92c5b9889c0ca',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Student Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (58,66,2,NULL,1,'2022-01-05 03:20:52',0.00,100.00,NULL,NULL,'d68233cbe4638c58',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'General Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (59,13,2,NULL,1,'2022-01-05 03:20:52',0.00,50.00,NULL,NULL,'41c242fb1318b9e2',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Student Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (60,202,2,NULL,1,'2022-01-05 03:20:52',0.00,100.00,NULL,NULL,'19d34702504cd535',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'General Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (61,105,2,NULL,1,'2022-01-05 03:20:52',0.00,50.00,NULL,NULL,'35aff5f65efeca62',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Student Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (63,1,4,NULL,1,'2022-01-05 03:20:53',0.00,50.00,NULL,NULL,'fadaf65f8841187c',NULL,NULL,'USD',NULL,NULL,'2022-01-05 03:20:53',NULL,'Fall Fundraiser Dinner : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (64,4,4,NULL,1,'2022-01-05 03:20:53',0.00,50.00,NULL,NULL,'81cf1d6efddcbe9d',NULL,NULL,'USD',NULL,NULL,'2022-01-05 03:20:53',NULL,'Fall Fundraiser Dinner : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (65,5,4,NULL,1,'2022-01-05 03:20:53',0.00,800.00,NULL,NULL,'f3346d0f54be7857',NULL,NULL,'USD',NULL,NULL,'2022-01-05 03:20:53',NULL,'Rain-forest Cup Youth Soccer Tournament : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (66,7,4,NULL,1,'2022-01-05 03:20:53',0.00,50.00,NULL,NULL,'c128acdc9edaf3aa',NULL,NULL,'USD',NULL,NULL,'2022-01-05 03:20:53',NULL,'Summer Solstice Festival Day Concert : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (67,11,4,NULL,1,'2022-01-05 03:20:53',0.00,50.00,NULL,NULL,'fd46aeb71230a44c',NULL,NULL,'USD',NULL,NULL,'2022-01-05 03:20:53',NULL,'Summer Solstice Festival Day Concert : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (68,14,4,NULL,1,'2022-01-05 03:20:53',0.00,800.00,NULL,NULL,'9341d53ff843997b',NULL,NULL,'USD',NULL,NULL,'2022-01-05 03:20:53',NULL,'Rain-forest Cup Youth Soccer Tournament : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (69,16,4,NULL,1,'2022-01-05 03:20:53',0.00,800.00,NULL,NULL,'9304e3bad8029346',NULL,NULL,'USD',NULL,NULL,'2022-01-05 03:20:53',NULL,'Rain-forest Cup Youth Soccer Tournament : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (70,21,4,NULL,1,'2022-01-05 03:20:53',0.00,50.00,NULL,NULL,'e09704681d636574',NULL,NULL,'USD',NULL,NULL,'2022-01-05 03:20:53',NULL,'Fall Fundraiser Dinner : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (71,25,4,NULL,1,'2022-01-05 03:20:53',0.00,800.00,NULL,NULL,'76c4f03d19a96c87',NULL,NULL,'USD',NULL,NULL,'2022-01-05 03:20:53',NULL,'Rain-forest Cup Youth Soccer Tournament : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (72,28,4,NULL,1,'2022-01-05 03:20:53',0.00,50.00,NULL,NULL,'6f54991010f2eb1a',NULL,NULL,'USD',NULL,NULL,'2022-01-05 03:20:53',NULL,'Fall Fundraiser Dinner : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (73,37,4,NULL,1,'2022-01-05 03:20:53',0.00,800.00,NULL,NULL,'1455f14879e8a3bd',NULL,NULL,'USD',NULL,NULL,'2022-01-05 03:20:53',NULL,'Rain-forest Cup Youth Soccer Tournament : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (74,44,4,NULL,1,'2022-01-05 03:20:53',0.00,800.00,NULL,NULL,'ffc5a259a622ad01',NULL,NULL,'USD',NULL,NULL,'2022-01-05 03:20:53',NULL,'Rain-forest Cup Youth Soccer Tournament : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (75,55,4,NULL,1,'2022-01-05 03:20:53',0.00,800.00,NULL,NULL,'fbb71527b60c4d4e',NULL,NULL,'USD',NULL,NULL,'2022-01-05 03:20:53',NULL,'Rain-forest Cup Youth Soccer Tournament : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (76,58,4,NULL,1,'2022-01-05 03:20:53',0.00,800.00,NULL,NULL,'fad8a1cfe5e6e46f',NULL,NULL,'USD',NULL,NULL,'2022-01-05 03:20:53',NULL,'Rain-forest Cup Youth Soccer Tournament : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (77,66,4,NULL,1,'2022-01-05 03:20:53',0.00,800.00,NULL,NULL,'506b2ed6252d2eb9',NULL,NULL,'USD',NULL,NULL,'2022-01-05 03:20:53',NULL,'Rain-forest Cup Youth Soccer Tournament : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (78,68,4,NULL,1,'2022-01-05 03:20:53',0.00,50.00,NULL,NULL,'5123740aae905dd1',NULL,NULL,'USD',NULL,NULL,'2022-01-05 03:20:53',NULL,'Summer Solstice Festival Day Concert : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (79,69,4,NULL,1,'2022-01-05 03:20:53',0.00,50.00,NULL,NULL,'88fad007bcfdc7da',NULL,NULL,'USD',NULL,NULL,'2022-01-05 03:20:53',NULL,'Summer Solstice Festival Day Concert : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (80,71,4,NULL,1,'2022-01-05 03:20:53',0.00,50.00,NULL,NULL,'8d67b40c5ad42aa0',NULL,NULL,'USD',NULL,NULL,'2022-01-05 03:20:53',NULL,'Summer Solstice Festival Day Concert : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (81,72,4,NULL,1,'2022-01-05 03:20:53',0.00,50.00,NULL,NULL,'a59545bfac032a49',NULL,NULL,'USD',NULL,NULL,'2022-01-05 03:20:53',NULL,'Summer Solstice Festival Day Concert : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (82,73,4,NULL,1,'2022-01-05 03:20:53',0.00,800.00,NULL,NULL,'fdd2de31e30983d4',NULL,NULL,'USD',NULL,NULL,'2022-01-05 03:20:53',NULL,'Rain-forest Cup Youth Soccer Tournament : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (83,81,4,NULL,1,'2022-01-05 03:20:53',0.00,50.00,NULL,NULL,'face1371883367bb',NULL,NULL,'USD',NULL,NULL,'2022-01-05 03:20:53',NULL,'Fall Fundraiser Dinner : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (84,82,4,NULL,1,'2022-01-05 03:20:53',0.00,800.00,NULL,NULL,'c98326e8528c033a',NULL,NULL,'USD',NULL,NULL,'2022-01-05 03:20:53',NULL,'Rain-forest Cup Youth Soccer Tournament : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (85,87,4,NULL,1,'2022-01-05 03:20:53',0.00,50.00,NULL,NULL,'5b899d491ffd0d53',NULL,NULL,'USD',NULL,NULL,'2022-01-05 03:20:53',NULL,'Fall Fundraiser Dinner : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (86,93,4,NULL,1,'2022-01-05 03:20:53',0.00,50.00,NULL,NULL,'c54943b66824eb8d',NULL,NULL,'USD',NULL,NULL,'2022-01-05 03:20:53',NULL,'Fall Fundraiser Dinner : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (87,99,4,NULL,1,'2022-01-05 03:20:53',0.00,50.00,NULL,NULL,'cab2337844c7dbf6',NULL,NULL,'USD',NULL,NULL,'2022-01-05 03:20:53',NULL,'Summer Solstice Festival Day Concert : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (88,103,4,NULL,1,'2022-01-05 03:20:53',0.00,50.00,NULL,NULL,'d78f663546e66e1e',NULL,NULL,'USD',NULL,NULL,'2022-01-05 03:20:53',NULL,'Summer Solstice Festival Day Concert : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (89,104,4,NULL,1,'2022-01-05 03:20:53',0.00,800.00,NULL,NULL,'9e6511c04affcdfb',NULL,NULL,'USD',NULL,NULL,'2022-01-05 03:20:53',NULL,'Rain-forest Cup Youth Soccer Tournament : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (90,116,4,NULL,1,'2022-01-05 03:20:53',0.00,50.00,NULL,NULL,'8458b9d9835d73ca',NULL,NULL,'USD',NULL,NULL,'2022-01-05 03:20:53',NULL,'Summer Solstice Festival Day Concert : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (91,117,4,NULL,1,'2022-01-05 03:20:53',0.00,50.00,NULL,NULL,'90b6e47932fc2882',NULL,NULL,'USD',NULL,NULL,'2022-01-05 03:20:53',NULL,'Fall Fundraiser Dinner : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (92,121,4,NULL,1,'2022-01-05 03:20:53',0.00,50.00,NULL,NULL,'31f3912f5daf245e',NULL,NULL,'USD',NULL,NULL,'2022-01-05 03:20:53',NULL,'Fall Fundraiser Dinner : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (93,128,4,NULL,1,'2022-01-05 03:20:53',0.00,50.00,NULL,NULL,'9a68a09e4269c324',NULL,NULL,'USD',NULL,NULL,'2022-01-05 03:20:53',NULL,'Summer Solstice Festival Day Concert : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (94,129,4,NULL,1,'2022-01-05 03:20:53',0.00,50.00,NULL,NULL,'86242a8b46fe2a95',NULL,NULL,'USD',NULL,NULL,'2022-01-05 03:20:53',NULL,'Summer Solstice Festival Day Concert : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (95,134,4,NULL,1,'2022-01-05 03:20:53',0.00,50.00,NULL,NULL,'baa7b5b0d35c4285',NULL,NULL,'USD',NULL,NULL,'2022-01-05 03:20:53',NULL,'Fall Fundraiser Dinner : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (96,144,4,NULL,1,'2022-01-05 03:20:53',0.00,50.00,NULL,NULL,'c62dce9433ee6515',NULL,NULL,'USD',NULL,NULL,'2022-01-05 03:20:53',NULL,'Fall Fundraiser Dinner : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (97,146,4,NULL,1,'2022-01-05 03:20:53',0.00,800.00,NULL,NULL,'01bf6d2c6fb7e9e4',NULL,NULL,'USD',NULL,NULL,'2022-01-05 03:20:53',NULL,'Rain-forest Cup Youth Soccer Tournament : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (98,149,4,NULL,1,'2022-01-05 03:20:53',0.00,50.00,NULL,NULL,'fb28887c0b53fd7a',NULL,NULL,'USD',NULL,NULL,'2022-01-05 03:20:53',NULL,'Summer Solstice Festival Day Concert : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (99,150,4,NULL,1,'2022-01-05 03:20:53',0.00,800.00,NULL,NULL,'c218dc01d8a04439',NULL,NULL,'USD',NULL,NULL,'2022-01-05 03:20:53',NULL,'Rain-forest Cup Youth Soccer Tournament : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (100,151,4,NULL,1,'2022-01-05 03:20:53',0.00,50.00,NULL,NULL,'365c304fb081a082',NULL,NULL,'USD',NULL,NULL,'2022-01-05 03:20:53',NULL,'Fall Fundraiser Dinner : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (101,152,4,NULL,1,'2022-01-05 03:20:53',0.00,50.00,NULL,NULL,'1adde57b47f31c37',NULL,NULL,'USD',NULL,NULL,'2022-01-05 03:20:53',NULL,'Summer Solstice Festival Day Concert : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (102,154,4,NULL,1,'2022-01-05 03:20:53',0.00,50.00,NULL,NULL,'4864c94c6d7ab9f9',NULL,NULL,'USD',NULL,NULL,'2022-01-05 03:20:53',NULL,'Summer Solstice Festival Day Concert : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (103,156,4,NULL,1,'2022-01-05 03:20:53',0.00,800.00,NULL,NULL,'30482aee4efb5d9c',NULL,NULL,'USD',NULL,NULL,'2022-01-05 03:20:53',NULL,'Rain-forest Cup Youth Soccer Tournament : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (104,157,4,NULL,1,'2022-01-05 03:20:53',0.00,800.00,NULL,NULL,'f0a9ea5fe4befb93',NULL,NULL,'USD',NULL,NULL,'2022-01-05 03:20:53',NULL,'Rain-forest Cup Youth Soccer Tournament : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (105,158,4,NULL,1,'2022-01-05 03:20:53',0.00,50.00,NULL,NULL,'0244cb0cc7c3572c',NULL,NULL,'USD',NULL,NULL,'2022-01-05 03:20:53',NULL,'Summer Solstice Festival Day Concert : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (106,160,4,NULL,1,'2022-01-05 03:20:53',0.00,50.00,NULL,NULL,'245dff5fe5ea26a9',NULL,NULL,'USD',NULL,NULL,'2022-01-05 03:20:53',NULL,'Summer Solstice Festival Day Concert : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (107,175,4,NULL,1,'2022-01-05 03:20:53',0.00,50.00,NULL,NULL,'3e145c4db652e7ff',NULL,NULL,'USD',NULL,NULL,'2022-01-05 03:20:53',NULL,'Fall Fundraiser Dinner : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (108,178,4,NULL,1,'2022-01-05 03:20:53',0.00,50.00,NULL,NULL,'f1fb9b4ebe6c727b',NULL,NULL,'USD',NULL,NULL,'2022-01-05 03:20:53',NULL,'Fall Fundraiser Dinner : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (109,184,4,NULL,1,'2022-01-05 03:20:53',0.00,50.00,NULL,NULL,'bf948a4adc739315',NULL,NULL,'USD',NULL,NULL,'2022-01-05 03:20:53',NULL,'Fall Fundraiser Dinner : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (110,185,4,NULL,1,'2022-01-05 03:20:53',0.00,800.00,NULL,NULL,'3c49b3fcebf6e8fe',NULL,NULL,'USD',NULL,NULL,'2022-01-05 03:20:53',NULL,'Rain-forest Cup Youth Soccer Tournament : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (111,195,4,NULL,1,'2022-01-05 03:20:53',0.00,50.00,NULL,NULL,'d3e66bf220b9ab01',NULL,NULL,'USD',NULL,NULL,'2022-01-05 03:20:53',NULL,'Fall Fundraiser Dinner : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
- (112,202,4,NULL,1,'2022-01-05 03:20:53',0.00,800.00,NULL,NULL,'1eb689a5f9219948',NULL,NULL,'USD',NULL,NULL,'2022-01-05 03:20:53',NULL,'Rain-forest Cup Youth Soccer Tournament : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0);
+ (1,2,1,NULL,4,'2012-02-28 22:32:40',0.00,125.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,NULL,NULL,'April Mailer 1',NULL,NULL,0,0,1,NULL,'1041',NULL,NULL,NULL,NULL,0),
+ (2,4,1,NULL,1,'2019-11-28 22:32:40',0.00,50.00,NULL,NULL,'P20901X1',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Online: Save the Penguins',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (3,6,1,NULL,4,'2016-02-03 09:32:40',0.00,25.00,NULL,NULL,'GBP12',NULL,NULL,'GBP',NULL,NULL,NULL,NULL,'April Mailer 1',NULL,NULL,0,0,1,NULL,'2095',NULL,NULL,NULL,NULL,0),
+ (4,8,1,NULL,4,'2019-11-28 22:32:40',0.00,50.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Online: Save the Penguins',NULL,NULL,0,0,1,NULL,'10552',NULL,NULL,NULL,NULL,0),
+ (5,4,1,NULL,1,'2019-11-28 22:32:40',0.00,50.00,NULL,NULL,'Q90901X1',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Online: Save the Penguins',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (6,16,1,NULL,4,'2021-12-05 21:50:40',0.00,500.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,NULL,NULL,'April Mailer 1',NULL,NULL,0,0,1,NULL,'509',NULL,NULL,NULL,NULL,0),
+ (7,19,1,NULL,1,'2022-02-26 22:32:40',0.00,1750.00,NULL,NULL,NULL,NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Online: Save the Penguins',NULL,NULL,0,0,1,NULL,'102',NULL,NULL,NULL,NULL,0),
+ (8,82,1,NULL,1,'2021-07-07 06:43:40',0.00,50.00,NULL,NULL,'P20193L2',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Online: Save the Penguins',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (9,92,1,NULL,1,'2021-03-28 22:32:40',0.00,10.00,NULL,NULL,'P40232Y3',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Online: Help CiviCRM',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (10,34,1,NULL,1,'2017-10-06 00:32:40',0.00,250.00,NULL,NULL,'P20193L6',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Online: Help CiviCRM',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (11,71,1,NULL,1,'2022-02-27 18:32:40',0.00,500.00,NULL,NULL,'PL71',NULL,NULL,'JPY',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (12,43,1,NULL,1,'2020-11-28 11:59:20',0.00,50.00,NULL,NULL,'P291X1',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Online: Save the Penguins',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (13,32,1,NULL,1,'2021-11-28 00:00:00',0.00,50.00,NULL,NULL,'PL32I',NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (14,32,1,NULL,1,'2021-12-28 00:00:00',0.00,50.00,NULL,NULL,'PL32II',NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (15,59,1,NULL,1,'2020-11-28 22:32:40',0.00,25.00,NULL,NULL,'PL32I591',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Recurring contribution',NULL,1,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (16,59,1,NULL,1,'2020-12-28 22:32:40',0.00,25.00,NULL,NULL,'PL32I592',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Recurring contribution',NULL,1,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (17,59,1,NULL,1,'2021-01-28 22:32:40',0.00,25.00,NULL,NULL,'PL32I593',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Recurring contribution',NULL,1,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (18,59,1,NULL,1,'2021-02-28 22:32:40',0.00,25.00,NULL,NULL,'PL32I594',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Recurring contribution',NULL,1,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (19,59,1,NULL,1,'2021-03-28 22:32:40',0.00,25.00,NULL,NULL,'PL32I595',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Recurring contribution',NULL,1,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (20,59,1,NULL,1,'2021-04-28 22:32:40',0.00,25.00,NULL,NULL,'PL32I596',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Recurring contribution',NULL,1,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (21,59,1,NULL,1,'2021-05-28 22:32:40',0.00,25.00,NULL,NULL,'PL32I597',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Recurring contribution',NULL,1,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (22,59,1,NULL,1,'2021-06-28 22:32:40',0.00,25.00,NULL,NULL,'PL32I598',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Recurring contribution',NULL,1,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (23,59,1,NULL,1,'2021-07-28 22:32:40',0.00,25.00,NULL,NULL,'PL32I599',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Recurring contribution',NULL,1,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (24,59,1,NULL,1,'2021-08-28 22:32:40',0.00,25.00,NULL,NULL,'PL32I5910',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Recurring contribution',NULL,1,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (25,59,1,NULL,1,'2021-09-28 22:32:40',0.00,25.00,NULL,NULL,'PL32I5911',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Recurring contribution',NULL,1,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (26,99,1,NULL,1,'2021-06-28 22:32:40',0.00,10.00,NULL,NULL,'PL32I991',NULL,NULL,'CAD',NULL,NULL,NULL,NULL,'Recurring contribution',NULL,2,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (27,99,1,NULL,1,'2021-07-28 22:32:40',0.00,10.00,NULL,NULL,'PL32I992',NULL,NULL,'CAD',NULL,NULL,NULL,NULL,'Recurring contribution',NULL,2,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (28,99,1,NULL,1,'2021-08-28 22:32:40',0.00,10.00,NULL,NULL,'PL32I993',NULL,NULL,'CAD',NULL,NULL,NULL,NULL,'Recurring contribution',NULL,2,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (29,99,1,NULL,1,'2021-09-28 22:32:40',0.00,10.00,NULL,NULL,'PL32I994',NULL,NULL,'CAD',NULL,NULL,NULL,NULL,'Recurring contribution',NULL,2,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (30,99,1,NULL,1,'2021-10-28 22:32:40',0.00,10.00,NULL,NULL,'PL32I995',NULL,NULL,'CAD',NULL,NULL,NULL,NULL,'Recurring contribution',NULL,2,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (31,103,1,NULL,1,'2022-01-28 22:32:40',0.00,5.00,NULL,NULL,'PL32I1031',NULL,NULL,'EUR',NULL,NULL,NULL,NULL,'Recurring contribution',NULL,3,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (32,175,2,NULL,1,'2022-02-28 22:32:40',0.00,100.00,NULL,NULL,'1b544238ee45305e',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'General Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (33,105,2,NULL,1,'2022-02-28 22:32:40',0.00,50.00,NULL,NULL,'b8be20d0799fd107',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Student Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (34,65,2,NULL,1,'2022-02-28 22:32:40',0.00,100.00,NULL,NULL,'a171a7762c36c540',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'General Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (35,179,2,NULL,1,'2022-02-28 22:32:40',0.00,50.00,NULL,NULL,'c7d020d2ff409fcf',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Student Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (36,159,2,NULL,1,'2022-02-28 22:32:40',0.00,100.00,NULL,NULL,'ff4eb29d35e3db44',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'General Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (37,157,2,NULL,1,'2022-02-28 22:32:40',0.00,50.00,NULL,NULL,'7d18ec704525094d',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Student Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (38,26,2,NULL,1,'2022-02-28 22:32:40',0.00,100.00,NULL,NULL,'e50b279b4fa2c78c',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'General Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (39,184,2,NULL,1,'2022-02-28 22:32:40',0.00,50.00,NULL,NULL,'009407b57d6c56c9',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Student Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (40,90,2,NULL,1,'2022-02-28 22:32:40',0.00,100.00,NULL,NULL,'dbd9b62f2eaadaf9',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'General Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (41,167,2,NULL,1,'2022-02-28 22:32:40',0.00,50.00,NULL,NULL,'82312e73e9b09297',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Student Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (42,3,2,NULL,1,'2022-02-28 22:32:40',0.00,1200.00,NULL,NULL,'c295f724fab6444b',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Lifetime Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (43,40,2,NULL,1,'2022-02-28 22:32:40',0.00,50.00,NULL,NULL,'d53f8837c45ab2e1',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Student Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (44,82,2,NULL,1,'2022-02-28 22:32:40',0.00,100.00,NULL,NULL,'f5d05ee18014a4e3',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'General Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (45,16,2,NULL,1,'2022-02-28 22:32:40',0.00,50.00,NULL,NULL,'424743a2fbf1e388',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Student Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (46,34,2,NULL,1,'2022-02-28 22:32:40',0.00,100.00,NULL,NULL,'86eb4b4a437299cb',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'General Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (47,79,2,NULL,1,'2022-02-28 22:32:40',0.00,50.00,NULL,NULL,'671f021a2b136d06',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Student Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (48,163,2,NULL,1,'2022-02-28 22:32:40',0.00,100.00,NULL,NULL,'43b86f0f202e2845',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'General Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (49,75,2,NULL,1,'2022-02-28 22:32:40',0.00,50.00,NULL,NULL,'483a0ad5de920791',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Student Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (50,27,2,NULL,1,'2022-02-28 22:32:40',0.00,100.00,NULL,NULL,'19da9240409df37f',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'General Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (51,99,2,NULL,1,'2022-02-28 22:32:40',0.00,100.00,NULL,NULL,'ed8aeb4a23b209a5',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'General Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (52,174,2,NULL,1,'2022-02-28 22:32:40',0.00,100.00,NULL,NULL,'b3b1dc07ce2b46af',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'General Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (53,195,2,NULL,1,'2022-02-28 22:32:40',0.00,1200.00,NULL,NULL,'ba36f6ad866a321a',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Lifetime Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (54,70,2,NULL,1,'2022-02-28 22:32:40',0.00,100.00,NULL,NULL,'c1d30ce009737cfe',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'General Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (55,134,2,NULL,1,'2022-02-28 22:32:40',0.00,50.00,NULL,NULL,'ac2cc2a6ec96e244',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Student Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (56,188,2,NULL,1,'2022-02-28 22:32:40',0.00,50.00,NULL,NULL,'90ced3a3843e4c07',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Student Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (57,12,2,NULL,1,'2022-02-28 22:32:40',0.00,50.00,NULL,NULL,'58902c4c575e175f',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Student Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (58,137,2,NULL,1,'2022-02-28 22:32:40',0.00,100.00,NULL,NULL,'8f32b5ae217d0cdb',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'General Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (59,101,2,NULL,1,'2022-02-28 22:32:40',0.00,50.00,NULL,NULL,'3b70ddd2ce354957',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Student Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (60,107,2,NULL,1,'2022-02-28 22:32:40',0.00,100.00,NULL,NULL,'2899b74d80b82201',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'General Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (61,192,2,NULL,1,'2022-02-28 22:32:40',0.00,50.00,NULL,NULL,'d8a9fcbe9b86aea0',NULL,NULL,'USD',NULL,NULL,NULL,NULL,'Student Membership: Offline signup',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (63,156,4,NULL,1,'2022-02-28 22:32:40',0.00,50.00,NULL,NULL,'33645b49f32d1d5b',NULL,NULL,'USD',NULL,NULL,'2022-02-28 22:32:40',NULL,'Fall Fundraiser Dinner : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (64,60,4,NULL,1,'2022-02-28 22:32:40',0.00,50.00,NULL,NULL,'37a9c216aebedf42',NULL,NULL,'USD',NULL,NULL,'2022-02-28 22:32:40',NULL,'Summer Solstice Festival Day Concert : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (65,178,4,NULL,1,'2022-02-28 22:32:40',0.00,800.00,NULL,NULL,'7bb238479bc2534c',NULL,NULL,'USD',NULL,NULL,'2022-02-28 22:32:40',NULL,'Rain-forest Cup Youth Soccer Tournament : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (66,100,4,NULL,1,'2022-02-28 22:32:40',0.00,50.00,NULL,NULL,'e8fcfdedeb5eb47d',NULL,NULL,'USD',NULL,NULL,'2022-02-28 22:32:40',NULL,'Fall Fundraiser Dinner : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (67,119,4,NULL,1,'2022-02-28 22:32:40',0.00,50.00,NULL,NULL,'e0f74ef620561b21',NULL,NULL,'USD',NULL,NULL,'2022-02-28 22:32:40',NULL,'Summer Solstice Festival Day Concert : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (68,138,4,NULL,1,'2022-02-28 22:32:40',0.00,800.00,NULL,NULL,'94884d2010c3e513',NULL,NULL,'USD',NULL,NULL,'2022-02-28 22:32:40',NULL,'Rain-forest Cup Youth Soccer Tournament : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (69,167,4,NULL,1,'2022-02-28 22:32:40',0.00,50.00,NULL,NULL,'a23528d57c263f13',NULL,NULL,'USD',NULL,NULL,'2022-02-28 22:32:40',NULL,'Fall Fundraiser Dinner : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (70,124,4,NULL,1,'2022-02-28 22:32:40',0.00,50.00,NULL,NULL,'e6820bb2f5c847a6',NULL,NULL,'USD',NULL,NULL,'2022-02-28 22:32:40',NULL,'Summer Solstice Festival Day Concert : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (71,65,4,NULL,1,'2022-02-28 22:32:40',0.00,800.00,NULL,NULL,'b9f74eeb376c7803',NULL,NULL,'USD',NULL,NULL,'2022-02-28 22:32:40',NULL,'Rain-forest Cup Youth Soccer Tournament : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (72,58,4,NULL,1,'2022-02-28 22:32:40',0.00,50.00,NULL,NULL,'0e63fb32707e87a9',NULL,NULL,'USD',NULL,NULL,'2022-02-28 22:32:40',NULL,'Fall Fundraiser Dinner : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (73,75,4,NULL,1,'2022-02-28 22:32:40',0.00,50.00,NULL,NULL,'f9a4074192265577',NULL,NULL,'USD',NULL,NULL,'2022-02-28 22:32:40',NULL,'Summer Solstice Festival Day Concert : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (74,182,4,NULL,1,'2022-02-28 22:32:40',0.00,800.00,NULL,NULL,'a7705bf529f6cee0',NULL,NULL,'USD',NULL,NULL,'2022-02-28 22:32:40',NULL,'Rain-forest Cup Youth Soccer Tournament : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (75,51,4,NULL,1,'2022-02-28 22:32:40',0.00,50.00,NULL,NULL,'72d360146f8d477d',NULL,NULL,'USD',NULL,NULL,'2022-02-28 22:32:40',NULL,'Fall Fundraiser Dinner : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (76,150,4,NULL,1,'2022-02-28 22:32:40',0.00,50.00,NULL,NULL,'c1e9b58bb31c287e',NULL,NULL,'USD',NULL,NULL,'2022-02-28 22:32:40',NULL,'Summer Solstice Festival Day Concert : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (77,202,4,NULL,1,'2022-02-28 22:32:40',0.00,800.00,NULL,NULL,'f069a4134e9adf81',NULL,NULL,'USD',NULL,NULL,'2022-02-28 22:32:40',NULL,'Rain-forest Cup Youth Soccer Tournament : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (78,15,4,NULL,1,'2022-02-28 22:32:40',0.00,50.00,NULL,NULL,'3f2e5eef2dffe279',NULL,NULL,'USD',NULL,NULL,'2022-02-28 22:32:40',NULL,'Fall Fundraiser Dinner : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (79,191,4,NULL,1,'2022-02-28 22:32:40',0.00,50.00,NULL,NULL,'48aeaa7ecd0f8bf4',NULL,NULL,'USD',NULL,NULL,'2022-02-28 22:32:40',NULL,'Summer Solstice Festival Day Concert : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (80,185,4,NULL,1,'2022-02-28 22:32:40',0.00,800.00,NULL,NULL,'8025ef3ed65fe959',NULL,NULL,'USD',NULL,NULL,'2022-02-28 22:32:40',NULL,'Rain-forest Cup Youth Soccer Tournament : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (81,87,4,NULL,1,'2022-02-28 22:32:40',0.00,50.00,NULL,NULL,'d29e9ed7d752363d',NULL,NULL,'USD',NULL,NULL,'2022-02-28 22:32:40',NULL,'Fall Fundraiser Dinner : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (82,49,4,NULL,1,'2022-02-28 22:32:40',0.00,50.00,NULL,NULL,'d2eeea79017a9f58',NULL,NULL,'USD',NULL,NULL,'2022-02-28 22:32:40',NULL,'Summer Solstice Festival Day Concert : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (83,128,4,NULL,1,'2022-02-28 22:32:40',0.00,800.00,NULL,NULL,'e4d6745df2a21d8c',NULL,NULL,'USD',NULL,NULL,'2022-02-28 22:32:40',NULL,'Rain-forest Cup Youth Soccer Tournament : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (84,32,4,NULL,1,'2022-02-28 22:32:40',0.00,50.00,NULL,NULL,'ea4570fcf78ce268',NULL,NULL,'USD',NULL,NULL,'2022-02-28 22:32:40',NULL,'Fall Fundraiser Dinner : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (85,158,4,NULL,1,'2022-02-28 22:32:40',0.00,50.00,NULL,NULL,'36b951e3998f868e',NULL,NULL,'USD',NULL,NULL,'2022-02-28 22:32:40',NULL,'Summer Solstice Festival Day Concert : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (86,63,4,NULL,1,'2022-02-28 22:32:40',0.00,800.00,NULL,NULL,'e6d9f143d980e4df',NULL,NULL,'USD',NULL,NULL,'2022-02-28 22:32:40',NULL,'Rain-forest Cup Youth Soccer Tournament : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (87,181,4,NULL,1,'2022-02-28 22:32:40',0.00,800.00,NULL,NULL,'531d6808f206bdfb',NULL,NULL,'USD',NULL,NULL,'2022-02-28 22:32:40',NULL,'Rain-forest Cup Youth Soccer Tournament : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (88,31,4,NULL,1,'2022-02-28 22:32:40',0.00,50.00,NULL,NULL,'ad0576ff49ebb59b',NULL,NULL,'USD',NULL,NULL,'2022-02-28 22:32:40',NULL,'Fall Fundraiser Dinner : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (89,25,4,NULL,1,'2022-02-28 22:32:40',0.00,50.00,NULL,NULL,'e49f233cd7ce0ccc',NULL,NULL,'USD',NULL,NULL,'2022-02-28 22:32:40',NULL,'Summer Solstice Festival Day Concert : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (90,157,4,NULL,1,'2022-02-28 22:32:40',0.00,800.00,NULL,NULL,'3596c522ca584405',NULL,NULL,'USD',NULL,NULL,'2022-02-28 22:32:40',NULL,'Rain-forest Cup Youth Soccer Tournament : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (91,123,4,NULL,1,'2022-02-28 22:32:40',0.00,50.00,NULL,NULL,'fb1e8d63a99c0961',NULL,NULL,'USD',NULL,NULL,'2022-02-28 22:32:40',NULL,'Fall Fundraiser Dinner : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (92,44,4,NULL,1,'2022-02-28 22:32:40',0.00,50.00,NULL,NULL,'32f8cc02cb0c8eaf',NULL,NULL,'USD',NULL,NULL,'2022-02-28 22:32:40',NULL,'Summer Solstice Festival Day Concert : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (93,89,4,NULL,1,'2022-02-28 22:32:40',0.00,800.00,NULL,NULL,'21ab95e377cebe9c',NULL,NULL,'USD',NULL,NULL,'2022-02-28 22:32:40',NULL,'Rain-forest Cup Youth Soccer Tournament : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (94,132,4,NULL,1,'2022-02-28 22:32:40',0.00,50.00,NULL,NULL,'4d1708529d07fb93',NULL,NULL,'USD',NULL,NULL,'2022-02-28 22:32:40',NULL,'Fall Fundraiser Dinner : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (95,151,4,NULL,1,'2022-02-28 22:32:40',0.00,50.00,NULL,NULL,'a148b453ace178ce',NULL,NULL,'USD',NULL,NULL,'2022-02-28 22:32:40',NULL,'Summer Solstice Festival Day Concert : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (96,48,4,NULL,1,'2022-02-28 22:32:40',0.00,800.00,NULL,NULL,'7c737b7d8a20ee18',NULL,NULL,'USD',NULL,NULL,'2022-02-28 22:32:40',NULL,'Rain-forest Cup Youth Soccer Tournament : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (97,200,4,NULL,1,'2022-02-28 22:32:40',0.00,50.00,NULL,NULL,'5ed25499ea28b8cf',NULL,NULL,'USD',NULL,NULL,'2022-02-28 22:32:40',NULL,'Fall Fundraiser Dinner : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (98,40,4,NULL,1,'2022-02-28 22:32:40',0.00,50.00,NULL,NULL,'fabffa52594e7b2a',NULL,NULL,'USD',NULL,NULL,'2022-02-28 22:32:40',NULL,'Summer Solstice Festival Day Concert : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (99,20,4,NULL,1,'2022-02-28 22:32:40',0.00,800.00,NULL,NULL,'050087ea7b0ba89f',NULL,NULL,'USD',NULL,NULL,'2022-02-28 22:32:40',NULL,'Rain-forest Cup Youth Soccer Tournament : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (100,42,4,NULL,1,'2022-02-28 22:32:40',0.00,50.00,NULL,NULL,'00ed2001455b8457',NULL,NULL,'USD',NULL,NULL,'2022-02-28 22:32:40',NULL,'Fall Fundraiser Dinner : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (101,4,4,NULL,1,'2022-02-28 22:32:40',0.00,50.00,NULL,NULL,'73e8fdd556abb68c',NULL,NULL,'USD',NULL,NULL,'2022-02-28 22:32:40',NULL,'Summer Solstice Festival Day Concert : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (102,29,4,NULL,1,'2022-02-28 22:32:40',0.00,800.00,NULL,NULL,'42992bca736625e1',NULL,NULL,'USD',NULL,NULL,'2022-02-28 22:32:40',NULL,'Rain-forest Cup Youth Soccer Tournament : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (103,113,4,NULL,1,'2022-02-28 22:32:40',0.00,50.00,NULL,NULL,'fbc73ba7a152db7b',NULL,NULL,'USD',NULL,NULL,'2022-02-28 22:32:40',NULL,'Fall Fundraiser Dinner : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (104,168,4,NULL,1,'2022-02-28 22:32:40',0.00,50.00,NULL,NULL,'5909b5671cf26258',NULL,NULL,'USD',NULL,NULL,'2022-02-28 22:32:40',NULL,'Summer Solstice Festival Day Concert : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (105,22,4,NULL,1,'2022-02-28 22:32:40',0.00,800.00,NULL,NULL,'5106ab214c80e6bd',NULL,NULL,'USD',NULL,NULL,'2022-02-28 22:32:40',NULL,'Rain-forest Cup Youth Soccer Tournament : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (106,194,4,NULL,1,'2022-02-28 22:32:40',0.00,50.00,NULL,NULL,'fd6e488980ed879d',NULL,NULL,'USD',NULL,NULL,'2022-02-28 22:32:40',NULL,'Fall Fundraiser Dinner : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (107,71,4,NULL,1,'2022-02-28 22:32:40',0.00,50.00,NULL,NULL,'c7d0cfce5137b9c3',NULL,NULL,'USD',NULL,NULL,'2022-02-28 22:32:40',NULL,'Summer Solstice Festival Day Concert : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (108,61,4,NULL,1,'2022-02-28 22:32:40',0.00,800.00,NULL,NULL,'b0d6f27ae514d131',NULL,NULL,'USD',NULL,NULL,'2022-02-28 22:32:40',NULL,'Rain-forest Cup Youth Soccer Tournament : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (109,189,4,NULL,1,'2022-02-28 22:32:40',0.00,50.00,NULL,NULL,'4430450f0ed84037',NULL,NULL,'USD',NULL,NULL,'2022-02-28 22:32:40',NULL,'Fall Fundraiser Dinner : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (110,88,4,NULL,1,'2022-02-28 22:32:40',0.00,50.00,NULL,NULL,'23c44337bc60f2c1',NULL,NULL,'USD',NULL,NULL,'2022-02-28 22:32:40',NULL,'Summer Solstice Festival Day Concert : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (111,172,4,NULL,1,'2022-02-28 22:32:40',0.00,800.00,NULL,NULL,'f2ea9948eb332f89',NULL,NULL,'USD',NULL,NULL,'2022-02-28 22:32:40',NULL,'Rain-forest Cup Youth Soccer Tournament : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0),
+ (112,99,4,NULL,1,'2022-02-28 22:32:40',0.00,800.00,NULL,NULL,'083d1a784045e433',NULL,NULL,'USD',NULL,NULL,'2022-02-28 22:32:40',NULL,'Rain-forest Cup Youth Soccer Tournament : Offline registration',NULL,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL,NULL,0);
 /*!40000 ALTER TABLE `civicrm_contribution` ENABLE KEYS */;
 UNLOCK TABLES;
 
@@ -2313,9 +2281,9 @@ UNLOCK TABLES;
 LOCK TABLES `civicrm_contribution_recur` WRITE;
 /*!40000 ALTER TABLE `civicrm_contribution_recur` DISABLE KEYS */;
 INSERT INTO `civicrm_contribution_recur` (`id`, `contact_id`, `amount`, `currency`, `frequency_unit`, `frequency_interval`, `installments`, `start_date`, `create_date`, `modified_date`, `cancel_date`, `cancel_reason`, `end_date`, `processor_id`, `payment_token_id`, `trxn_id`, `invoice_id`, `contribution_status_id`, `is_test`, `cycle_day`, `next_sched_contribution_date`, `failure_count`, `failure_retry_date`, `auto_renew`, `payment_processor_id`, `financial_type_id`, `payment_instrument_id`, `campaign_id`, `is_email_receipt`) VALUES
- (1,59,25.00,'USD','month',1,12,'2020-10-05 03:20:52','2022-01-05 03:20:52','2022-01-05 03:20:52',NULL,'',NULL,'CLC45',NULL,'56799',NULL,1,0,1,NULL,0,NULL,0,1,NULL,NULL,NULL,1),
- (2,99,10.00,'CAD','month',1,6,'2021-05-05 03:20:52','2022-01-05 03:20:52','2022-01-05 03:20:52','2021-12-05 03:20:52','No longer interested',NULL,'CLR35',NULL,'22799',NULL,3,0,1,NULL,0,NULL,0,1,NULL,NULL,NULL,1),
- (3,103,5.00,'EUR','month',3,3,'2021-12-05 03:20:52','2022-01-05 03:20:52','2022-01-05 03:20:52',NULL,'',NULL,'EGR12',NULL,'44889',NULL,5,0,1,'2022-03-05 03:20:52',0,NULL,0,1,NULL,NULL,NULL,1);
+ (1,59,25.00,'USD','month',1,12,'2020-11-28 22:32:40','2022-02-28 22:32:40','2022-02-28 22:32:40',NULL,'',NULL,'CLC45',NULL,'56799',NULL,1,0,1,NULL,0,NULL,0,1,NULL,NULL,NULL,1),
+ (2,99,10.00,'CAD','month',1,6,'2021-06-28 22:32:40','2022-02-28 22:32:40','2022-02-28 22:32:40','2022-01-28 22:32:40','No longer interested',NULL,'CLR35',NULL,'22799',NULL,3,0,1,NULL,0,NULL,0,1,NULL,NULL,NULL,1),
+ (3,103,5.00,'EUR','month',3,3,'2022-01-28 22:32:40','2022-02-28 22:32:40','2022-02-28 22:32:40',NULL,'',NULL,'EGR12',NULL,'44889',NULL,5,0,1,'2022-04-28 22:32:40',0,NULL,0,1,NULL,NULL,NULL,1);
 /*!40000 ALTER TABLE `civicrm_contribution_recur` ENABLE KEYS */;
 UNLOCK TABLES;
 
@@ -2326,8 +2294,8 @@ UNLOCK TABLES;
 LOCK TABLES `civicrm_contribution_soft` WRITE;
 /*!40000 ALTER TABLE `civicrm_contribution_soft` DISABLE KEYS */;
 INSERT INTO `civicrm_contribution_soft` (`id`, `contribution_id`, `contact_id`, `amount`, `currency`, `pcp_id`, `pcp_display_in_roll`, `pcp_roll_nickname`, `pcp_personal_note`, `soft_credit_type_id`) VALUES
- (1,9,185,10.00,'USD',1,1,'Jones Family','Helping Hands',10),
- (2,10,185,250.00,'USD',1,1,'Annie and the kids','Annie Helps',10);
+ (1,9,125,10.00,'USD',1,1,'Jones Family','Helping Hands',10),
+ (2,10,125,250.00,'USD',1,1,'Annie and the kids','Annie Helps',10);
 /*!40000 ALTER TABLE `civicrm_contribution_soft` ENABLE KEYS */;
 UNLOCK TABLES;
 
@@ -2936,7 +2904,7 @@ UNLOCK TABLES;
 LOCK TABLES `civicrm_domain` WRITE;
 /*!40000 ALTER TABLE `civicrm_domain` DISABLE KEYS */;
 INSERT INTO `civicrm_domain` (`id`, `name`, `description`, `version`, `contact_id`, `locales`, `locale_custom_strings`) VALUES
- (1,'Default Domain Name',NULL,'5.46.2',1,NULL,'a:1:{s:5:\"en_US\";a:0:{}}');
+ (1,'Default Domain Name',NULL,'5.47.0',1,NULL,'a:1:{s:5:\"en_US\";a:0:{}}');
 /*!40000 ALTER TABLE `civicrm_domain` ENABLE KEYS */;
 UNLOCK TABLES;
 
@@ -2948,188 +2916,188 @@ LOCK TABLES `civicrm_email` WRITE;
 /*!40000 ALTER TABLE `civicrm_email` DISABLE KEYS */;
 INSERT INTO `civicrm_email` (`id`, `contact_id`, `location_type_id`, `email`, `is_primary`, `is_billing`, `on_hold`, `is_bulkmail`, `hold_date`, `reset_date`, `signature_text`, `signature_html`) VALUES
  (1,1,1,'fixme.domainemail@example.org',1,0,0,0,NULL,NULL,NULL,NULL),
- (2,64,1,'lawerencez@mymail.net',1,0,0,0,NULL,NULL,NULL,NULL),
- (3,64,1,'lawerencez@fakemail.net',0,0,0,0,NULL,NULL,NULL,NULL),
- (4,185,1,'ismith85@example.co.in',1,0,0,0,NULL,NULL,NULL,NULL),
- (5,192,1,'bobcooper@infomail.biz',1,0,0,0,NULL,NULL,NULL,NULL),
- (6,57,1,'bachman.lincoln97@example.org',1,0,0,0,NULL,NULL,NULL,NULL),
- (7,100,1,'mllerm13@infomail.co.pl',1,0,0,0,NULL,NULL,NULL,NULL),
- (8,100,1,'maxwellm65@example.biz',0,0,0,0,NULL,NULL,NULL,NULL),
- (9,95,1,'jameson.ivey@spamalot.net',1,0,0,0,NULL,NULL,NULL,NULL),
- (10,95,1,'jameson.ivey@notmail.co.pl',0,0,0,0,NULL,NULL,NULL,NULL),
- (11,58,1,'jacksoncooper17@example.co.in',1,0,0,0,NULL,NULL,NULL,NULL),
- (12,46,1,'jacobsi89@testmail.net',1,0,0,0,NULL,NULL,NULL,NULL),
- (13,164,1,'kathleenterry@fishmail.co.nz',1,0,0,0,NULL,NULL,NULL,NULL),
- (14,71,1,'eterry81@spamalot.co.nz',1,0,0,0,NULL,NULL,NULL,NULL),
- (15,162,1,'robertson.andrew@fakemail.info',1,0,0,0,NULL,NULL,NULL,NULL),
- (16,162,1,'aw.robertson45@infomail.biz',0,0,0,0,NULL,NULL,NULL,NULL),
- (17,7,1,'troberts45@example.co.in',1,0,0,0,NULL,NULL,NULL,NULL),
- (18,111,1,'chowski.maria@mymail.co.nz',1,0,0,0,NULL,NULL,NULL,NULL),
- (19,111,1,'chowskim52@sample.org',0,0,0,0,NULL,NULL,NULL,NULL),
- (20,15,1,'nielsen.arlyne@example.co.in',1,0,0,0,NULL,NULL,NULL,NULL),
- (21,15,1,'nielsen.arlyne@mymail.biz',0,0,0,0,NULL,NULL,NULL,NULL),
- (22,106,1,'terrell.norris40@infomail.co.uk',1,0,0,0,NULL,NULL,NULL,NULL),
- (23,106,1,'norrist@lol.info',0,0,0,0,NULL,NULL,NULL,NULL),
- (24,171,1,'clintd@fishmail.biz',1,0,0,0,NULL,NULL,NULL,NULL),
- (25,171,1,'daz.u.clint5@example.biz',0,0,0,0,NULL,NULL,NULL,NULL),
- (26,39,1,'terry.j.alida@fakemail.co.pl',1,0,0,0,NULL,NULL,NULL,NULL),
- (27,39,1,'alidaterry@fakemail.co.nz',0,0,0,0,NULL,NULL,NULL,NULL),
- (28,128,1,'margaretj40@fakemail.co.pl',1,0,0,0,NULL,NULL,NULL,NULL),
- (29,84,1,'cooper.andrew@example.net',1,0,0,0,NULL,NULL,NULL,NULL),
- (30,84,1,'cooper.andrew@spamalot.org',0,0,0,0,NULL,NULL,NULL,NULL),
- (31,62,1,'dimitrov.rolando@fishmail.info',1,0,0,0,NULL,NULL,NULL,NULL),
- (32,62,1,'ru.dimitrov@lol.com',0,0,0,0,NULL,NULL,NULL,NULL),
- (33,61,1,'damarisb@spamalot.biz',1,0,0,0,NULL,NULL,NULL,NULL),
- (34,194,1,'andrewg@infomail.co.in',1,0,0,0,NULL,NULL,NULL,NULL),
- (35,194,1,'andrewg@fishmail.com',0,0,0,0,NULL,NULL,NULL,NULL),
- (36,126,1,'sjones@airmail.net',1,0,0,0,NULL,NULL,NULL,NULL),
- (37,126,1,'jones.shauna@lol.info',0,0,0,0,NULL,NULL,NULL,NULL),
- (38,40,1,'prentice.n.jina77@infomail.co.in',1,0,0,0,NULL,NULL,NULL,NULL),
- (39,174,1,'irvinlee89@testing.com',1,0,0,0,NULL,NULL,NULL,NULL),
- (40,89,1,'ivanovr17@sample.biz',1,0,0,0,NULL,NULL,NULL,NULL),
- (41,89,1,'ru.ivanov46@airmail.com',0,0,0,0,NULL,NULL,NULL,NULL),
- (42,107,1,'mroberts73@example.co.nz',1,0,0,0,NULL,NULL,NULL,NULL),
- (43,107,1,'mroberts64@example.biz',0,0,0,0,NULL,NULL,NULL,NULL),
- (44,80,1,'yadav.t.norris7@lol.co.nz',1,0,0,0,NULL,NULL,NULL,NULL),
- (45,198,1,'mcreynolds.shauna38@airmail.com',1,0,0,0,NULL,NULL,NULL,NULL),
- (46,198,1,'shaunamcreynolds37@lol.org',0,0,0,0,NULL,NULL,NULL,NULL),
- (47,149,1,'tzope@airmail.org',1,0,0,0,NULL,NULL,NULL,NULL),
- (48,96,1,'clintn82@mymail.net',1,0,0,0,NULL,NULL,NULL,NULL),
- (49,96,1,'clintn@notmail.info',0,0,0,0,NULL,NULL,NULL,NULL),
- (50,34,1,'jacobs.juliann81@fishmail.net',1,0,0,0,NULL,NULL,NULL,NULL),
- (51,4,1,'barkley.heidi@sample.co.pl',1,0,0,0,NULL,NULL,NULL,NULL),
- (52,4,1,'heidibarkley@sample.co.in',0,0,0,0,NULL,NULL,NULL,NULL),
- (53,172,1,'jacobsa@testing.co.pl',1,0,0,0,NULL,NULL,NULL,NULL),
- (54,172,1,'jacobs.arlyne@notmail.co.pl',0,0,0,0,NULL,NULL,NULL,NULL),
- (55,49,1,'patel.kathleen77@testing.net',1,0,0,0,NULL,NULL,NULL,NULL),
- (56,49,1,'patel.kathleen@sample.co.pl',0,0,0,0,NULL,NULL,NULL,NULL),
- (57,158,1,'ryadav2@spamalot.org',1,0,0,0,NULL,NULL,NULL,NULL),
- (58,158,1,'yadav.rosario@testmail.co.in',0,0,0,0,NULL,NULL,NULL,NULL),
- (59,14,1,'terry.n.sharyn@example.co.nz',1,0,0,0,NULL,NULL,NULL,NULL),
- (60,70,1,'barrycooper@mymail.net',1,0,0,0,NULL,NULL,NULL,NULL),
- (61,70,1,'barrycooper@example.info',0,0,0,0,NULL,NULL,NULL,NULL),
- (62,68,1,'terrell.shad21@fishmail.co.pl',1,0,0,0,NULL,NULL,NULL,NULL),
- (63,68,1,'shadterrell@fakemail.org',0,0,0,0,NULL,NULL,NULL,NULL),
- (64,30,1,'adams.v.maxwell41@sample.co.pl',1,0,0,0,NULL,NULL,NULL,NULL),
- (65,54,1,'fx.jensen@airmail.co.in',1,0,0,0,NULL,NULL,NULL,NULL),
- (66,54,1,'jensen.felisha@sample.co.pl',0,0,0,0,NULL,NULL,NULL,NULL),
- (67,92,1,'reynolds.heidi@mymail.info',1,0,0,0,NULL,NULL,NULL,NULL),
- (68,92,1,'reynoldsh33@testing.co.pl',0,0,0,0,NULL,NULL,NULL,NULL),
- (69,13,1,'yadava28@sample.com',1,0,0,0,NULL,NULL,NULL,NULL),
- (70,98,1,'jsamson@lol.net',1,0,0,0,NULL,NULL,NULL,NULL),
- (71,98,1,'jsamson@fishmail.co.nz',0,0,0,0,NULL,NULL,NULL,NULL),
- (72,183,1,'syadav@example.net',1,0,0,0,NULL,NULL,NULL,NULL),
- (73,91,1,'robertson.justina79@spamalot.info',1,0,0,0,NULL,NULL,NULL,NULL),
- (74,119,1,'jensen.kiara69@example.co.nz',1,0,0,0,NULL,NULL,NULL,NULL),
- (75,119,1,'kiaraj@testing.org',0,0,0,0,NULL,NULL,NULL,NULL),
- (76,135,1,'yadav.c.winford38@sample.co.in',1,0,0,0,NULL,NULL,NULL,NULL),
- (77,135,1,'wc.yadav18@testmail.co.pl',0,0,0,0,NULL,NULL,NULL,NULL),
- (78,2,1,'terryl@mymail.co.uk',1,0,0,0,NULL,NULL,NULL,NULL),
- (79,2,1,'landonterry77@testmail.info',0,0,0,0,NULL,NULL,NULL,NULL),
- (80,20,1,'cjacobs@testing.co.uk',1,0,0,0,NULL,NULL,NULL,NULL),
- (81,20,1,'jacobs.claudio@sample.biz',0,0,0,0,NULL,NULL,NULL,NULL),
- (82,161,1,'kandaceroberts92@notmail.co.nz',1,0,0,0,NULL,NULL,NULL,NULL),
- (83,161,1,'kandacer@example.co.nz',0,0,0,0,NULL,NULL,NULL,NULL),
- (84,150,1,'russellb@fakemail.biz',1,0,0,0,NULL,NULL,NULL,NULL),
- (85,110,1,'samuelsc@notmail.com',1,0,0,0,NULL,NULL,NULL,NULL),
- (86,110,1,'samuels.carylon85@sample.co.in',0,0,0,0,NULL,NULL,NULL,NULL),
- (87,121,1,'ksamuels@mymail.org',1,0,0,0,NULL,NULL,NULL,NULL),
- (88,121,1,'kaceysamuels16@example.com',0,0,0,0,NULL,NULL,NULL,NULL),
- (89,122,1,'samuels.teresa47@spamalot.co.in',1,0,0,0,NULL,NULL,NULL,NULL),
- (90,156,1,'jterry25@sample.info',1,0,0,0,NULL,NULL,NULL,NULL),
- (91,50,1,'terry.iris@sample.co.in',1,0,0,0,NULL,NULL,NULL,NULL),
- (92,146,1,'clintd@notmail.org',1,0,0,0,NULL,NULL,NULL,NULL),
- (93,82,1,'carylondimitrov36@testmail.org',1,0,0,0,NULL,NULL,NULL,NULL),
- (94,82,1,'dimitrov.carylon73@testmail.co.uk',0,0,0,0,NULL,NULL,NULL,NULL),
- (95,190,1,'omarr@example.com',1,0,0,0,NULL,NULL,NULL,NULL),
- (96,190,1,'reynolds.omar75@mymail.com',0,0,0,0,NULL,NULL,NULL,NULL),
- (97,59,1,'freynolds@notmail.info',1,0,0,0,NULL,NULL,NULL,NULL),
- (98,72,1,'alexiar@infomail.co.nz',1,0,0,0,NULL,NULL,NULL,NULL),
- (99,72,1,'ao.reynolds@airmail.biz',0,0,0,0,NULL,NULL,NULL,NULL),
- (100,81,1,'shadc89@spamalot.net',1,0,0,0,NULL,NULL,NULL,NULL),
- (101,65,1,'acooper54@spamalot.net',1,0,0,0,NULL,NULL,NULL,NULL),
- (102,189,1,'ts.cooper1@infomail.co.uk',1,0,0,0,NULL,NULL,NULL,NULL),
- (103,19,1,'lee.w.princess@fakemail.org',1,0,0,0,NULL,NULL,NULL,NULL),
- (104,136,1,'iveyrobertson-lee@airmail.co.in',1,0,0,0,NULL,NULL,NULL,NULL),
- (105,136,1,'robertson-lee.v.ivey67@fishmail.info',0,0,0,0,NULL,NULL,NULL,NULL),
- (106,134,1,'co.daz@fishmail.co.pl',1,0,0,0,NULL,NULL,NULL,NULL),
- (107,154,1,'mrobertson-daz98@example.biz',1,0,0,0,NULL,NULL,NULL,NULL),
- (108,176,1,'jacksond@notmail.com',1,0,0,0,NULL,NULL,NULL,NULL),
- (109,176,1,'jacksondaz@lol.org',0,0,0,0,NULL,NULL,NULL,NULL),
- (110,193,1,'gonzlezr@airmail.co.nz',1,0,0,0,NULL,NULL,NULL,NULL),
- (111,193,1,'gonzlez.n.rodrigo61@infomail.net',0,0,0,0,NULL,NULL,NULL,NULL),
- (112,27,1,'kathlynparker@airmail.co.nz',1,0,0,0,NULL,NULL,NULL,NULL),
- (113,27,1,'kathlynparker25@spamalot.co.nz',0,0,0,0,NULL,NULL,NULL,NULL),
- (114,55,1,'gonzlez-parker.maxwell@fakemail.co.pl',1,0,0,0,NULL,NULL,NULL,NULL),
- (115,182,1,'claudioprentice@example.info',1,0,0,0,NULL,NULL,NULL,NULL),
- (116,182,1,'claudioprentice87@airmail.co.in',0,0,0,0,NULL,NULL,NULL,NULL),
- (117,53,1,'sharynpatel@lol.co.uk',1,0,0,0,NULL,NULL,NULL,NULL),
- (118,53,1,'patel.sharyn@airmail.com',0,0,0,0,NULL,NULL,NULL,NULL),
- (119,114,1,'prentice-patel.d.juliann@fishmail.co.pl',1,0,0,0,NULL,NULL,NULL,NULL),
- (120,125,1,'cs.prentice-patel@fishmail.co.in',1,0,0,0,NULL,NULL,NULL,NULL),
- (121,125,1,'cs.prentice-patel39@infomail.org',0,0,0,0,NULL,NULL,NULL,NULL),
- (122,139,1,'rodrigojensen@airmail.com',1,0,0,0,NULL,NULL,NULL,NULL),
- (123,24,1,'lawerencet12@sample.co.uk',1,0,0,0,NULL,NULL,NULL,NULL),
- (124,24,1,'terry-jensen.lawerence87@notmail.co.uk',0,0,0,0,NULL,NULL,NULL,NULL),
- (125,155,1,'mllerl@fishmail.co.nz',1,0,0,0,NULL,NULL,NULL,NULL),
- (126,16,1,'allenterry@testing.co.pl',1,0,0,0,NULL,NULL,NULL,NULL),
- (127,26,1,'trumant@mymail.com',1,0,0,0,NULL,NULL,NULL,NULL),
- (128,26,1,'tterry@example.net',0,0,0,0,NULL,NULL,NULL,NULL),
- (129,6,1,'shermanchowski@lol.co.uk',1,0,0,0,NULL,NULL,NULL,NULL),
- (130,31,1,'elizabethj@testing.co.pl',1,0,0,0,NULL,NULL,NULL,NULL),
- (131,31,1,'elizabethjacobs-wilson41@testmail.co.in',0,0,0,0,NULL,NULL,NULL,NULL),
- (132,179,1,'norriswilson47@spamalot.com',1,0,0,0,NULL,NULL,NULL,NULL),
- (133,163,1,'olsen.o.jerome@fishmail.org',1,0,0,0,NULL,NULL,NULL,NULL),
- (134,74,1,'valenedeforest-olsen@sample.co.uk',1,0,0,0,NULL,NULL,NULL,NULL),
- (135,41,1,'kz.olsen@airmail.net',1,0,0,0,NULL,NULL,NULL,NULL),
- (136,41,1,'olsenk@infomail.net',0,0,0,0,NULL,NULL,NULL,NULL),
- (137,69,1,'dbarkley41@spamalot.net',1,0,0,0,NULL,NULL,NULL,NULL),
- (138,69,1,'barkleyd@infomail.co.pl',0,0,0,0,NULL,NULL,NULL,NULL),
- (139,5,1,'nielsenj@testing.biz',1,0,0,0,NULL,NULL,NULL,NULL),
- (140,5,1,'junkonielsen46@testing.info',0,0,0,0,NULL,NULL,NULL,NULL),
- (141,140,1,'nielsen.jackson@notmail.co.uk',1,0,0,0,NULL,NULL,NULL,NULL),
- (142,140,1,'jnielsen@testmail.co.pl',0,0,0,0,NULL,NULL,NULL,NULL),
- (143,99,1,'jayi55@example.co.nz',1,0,0,0,NULL,NULL,NULL,NULL),
- (144,99,1,'ivanov.jay79@infomail.info',0,0,0,0,NULL,NULL,NULL,NULL),
- (145,22,1,'kiarai@notmail.co.nz',1,0,0,0,NULL,NULL,NULL,NULL),
- (146,22,1,'ivanovk@fakemail.net',0,0,0,0,NULL,NULL,NULL,NULL),
- (147,29,1,'ivanovj28@lol.co.uk',1,0,0,0,NULL,NULL,NULL,NULL),
- (148,66,1,'patelt39@example.org',1,0,0,0,NULL,NULL,NULL,NULL),
- (149,66,1,'patelt@testing.net',0,0,0,0,NULL,NULL,NULL,NULL),
- (150,175,1,'ht.patel32@fishmail.co.pl',1,0,0,0,NULL,NULL,NULL,NULL),
- (151,160,1,'zope.elina98@spamalot.biz',1,0,0,0,NULL,NULL,NULL,NULL),
- (152,160,1,'zope.elina@testmail.org',0,0,0,0,NULL,NULL,NULL,NULL),
- (153,137,1,'zopej@airmail.co.nz',1,0,0,0,NULL,NULL,NULL,NULL),
- (154,137,1,'zope.jacob@airmail.com',0,0,0,0,NULL,NULL,NULL,NULL),
- (155,104,1,'zope.q.tanya1@testing.net',1,0,0,0,NULL,NULL,NULL,NULL),
- (156,104,1,'tq.zope@testmail.net',0,0,0,0,NULL,NULL,NULL,NULL),
- (157,116,3,'info@creativefoodsystems.org',1,0,0,0,NULL,NULL,NULL,NULL),
- (158,17,3,'service@kinsmaneducation.org',1,0,0,0,NULL,NULL,NULL,NULL),
- (159,19,2,'.@kinsmaneducation.org',0,0,0,0,NULL,NULL,NULL,NULL),
- (160,102,3,'contact@urbanschool.org',1,0,0,0,NULL,NULL,NULL,NULL),
- (161,76,2,'samson.claudio97@urbanschool.org',1,0,0,0,NULL,NULL,NULL,NULL),
- (162,187,3,'feedback@globalfood.org',1,0,0,0,NULL,NULL,NULL,NULL),
- (163,195,3,'contact@watertownfoodpartnership.org',1,0,0,0,NULL,NULL,NULL,NULL),
- (164,28,2,'olsena@watertownfoodpartnership.org',1,0,0,0,NULL,NULL,NULL,NULL),
- (165,101,3,'feedback@orlandofood.org',1,0,0,0,NULL,NULL,NULL,NULL),
- (166,98,2,'jsamson@orlandofood.org',0,0,0,0,NULL,NULL,NULL,NULL),
- (167,21,3,'contact@sierraacademy.org',1,0,0,0,NULL,NULL,NULL,NULL),
- (168,126,2,'shaunaj66@sierraacademy.org',0,0,0,0,NULL,NULL,NULL,NULL),
- (169,18,3,'service@ohioschool.org',1,0,0,0,NULL,NULL,NULL,NULL),
- (170,36,2,'mz.chowski39@ohioschool.org',1,0,0,0,NULL,NULL,NULL,NULL),
- (171,93,3,'info@woodbridgefood.org',1,0,0,0,NULL,NULL,NULL,NULL),
- (172,135,2,'yadav.c.winford@woodbridgefood.org',0,0,0,0,NULL,NULL,NULL,NULL),
- (173,166,3,'info@mainsustainability.org',1,0,0,0,NULL,NULL,NULL,NULL),
- (174,56,3,'sales@woodbridgehealthinitiative.org',1,0,0,0,NULL,NULL,NULL,NULL),
- (175,184,3,'contact@bayhealthschool.org',1,0,0,0,NULL,NULL,NULL,NULL),
- (176,119,2,'kl.jensen@bayhealthschool.org',0,0,0,0,NULL,NULL,NULL,NULL),
- (177,11,3,'sales@padronisportscenter.org',1,0,0,0,NULL,NULL,NULL,NULL),
- (178,173,3,'info@progressivepeace.org',1,0,0,0,NULL,NULL,NULL,NULL),
- (179,86,2,'kx.mller@progressivepeace.org',1,0,0,0,NULL,NULL,NULL,NULL),
- (180,120,3,'info@passadumkeagagriculturepartnership.org',1,0,0,0,NULL,NULL,NULL,NULL),
- (181,96,2,'cnielsen@passadumkeagagriculturepartnership.org',0,0,0,0,NULL,NULL,NULL,NULL),
- (182,42,3,'contact@vnempowermentacademy.org',1,0,0,0,NULL,NULL,NULL,NULL),
- (183,27,2,'.@vnempowermentacademy.org',0,0,0,0,NULL,NULL,NULL,NULL),
+ (2,174,1,'bobblackwell@spamalot.net',1,0,0,0,NULL,NULL,NULL,NULL),
+ (3,163,1,'td.wilson@notmail.co.nz',1,0,0,0,NULL,NULL,NULL,NULL),
+ (4,177,1,'lashawndab@example.co.pl',1,0,0,0,NULL,NULL,NULL,NULL),
+ (5,104,1,'terrellj65@testmail.co.pl',1,0,0,0,NULL,NULL,NULL,NULL),
+ (6,55,1,'reynolds.c.irvin@testing.co.nz',1,0,0,0,NULL,NULL,NULL,NULL),
+ (7,116,1,'teresajacobs@testing.info',1,0,0,0,NULL,NULL,NULL,NULL),
+ (8,151,1,'th.terrell@testing.biz',1,0,0,0,NULL,NULL,NULL,NULL),
+ (9,76,1,'zope.megan@notmail.co.in',1,0,0,0,NULL,NULL,NULL,NULL),
+ (10,121,1,'jinaterry@mymail.co.pl',1,0,0,0,NULL,NULL,NULL,NULL),
+ (11,199,1,'bjameson@fakemail.co.pl',1,0,0,0,NULL,NULL,NULL,NULL),
+ (12,199,1,'jameson.brittney45@sample.co.pl',0,0,0,0,NULL,NULL,NULL,NULL),
+ (13,171,1,'iriswattson@testmail.net',1,0,0,0,NULL,NULL,NULL,NULL),
+ (14,126,1,'blackwell.sherman@testmail.co.uk',1,0,0,0,NULL,NULL,NULL,NULL),
+ (15,28,1,'bachman.l.laree13@sample.biz',1,0,0,0,NULL,NULL,NULL,NULL),
+ (16,9,1,'rolandivanov@spamalot.org',1,0,0,0,NULL,NULL,NULL,NULL),
+ (17,9,1,'rolandi29@airmail.co.nz',0,0,0,0,NULL,NULL,NULL,NULL),
+ (18,105,1,'smithv@lol.biz',1,0,0,0,NULL,NULL,NULL,NULL),
+ (19,105,1,'smithv@spamalot.co.nz',0,0,0,0,NULL,NULL,NULL,NULL),
+ (20,68,1,'roberts.erik37@notmail.info',1,0,0,0,NULL,NULL,NULL,NULL),
+ (21,68,1,'erikroberts96@sample.com',0,0,0,0,NULL,NULL,NULL,NULL),
+ (22,122,1,'sharynw56@testing.co.uk',1,0,0,0,NULL,NULL,NULL,NULL),
+ (23,127,1,'jensen.errol@fishmail.net',1,0,0,0,NULL,NULL,NULL,NULL),
+ (24,127,1,'errolj@sample.co.nz',0,0,0,0,NULL,NULL,NULL,NULL),
+ (25,115,1,'kiaraterry3@testing.com',1,0,0,0,NULL,NULL,NULL,NULL),
+ (26,115,1,'kiarat55@fishmail.org',0,0,0,0,NULL,NULL,NULL,NULL),
+ (27,2,1,'olsen.elbert@testing.co.nz',1,0,0,0,NULL,NULL,NULL,NULL),
+ (28,2,1,'elberto@example.biz',0,0,0,0,NULL,NULL,NULL,NULL),
+ (29,117,1,'prenticef@notmail.com',1,0,0,0,NULL,NULL,NULL,NULL),
+ (30,134,1,'daz.kandace@fishmail.co.nz',1,0,0,0,NULL,NULL,NULL,NULL),
+ (31,134,1,'daz.kandace42@notmail.net',0,0,0,0,NULL,NULL,NULL,NULL),
+ (32,179,1,'barkleyl@airmail.com',1,0,0,0,NULL,NULL,NULL,NULL),
+ (33,179,1,'barkley.q.lashawnda@spamalot.biz',0,0,0,0,NULL,NULL,NULL,NULL),
+ (34,86,1,'rolandd@notmail.biz',1,0,0,0,NULL,NULL,NULL,NULL),
+ (35,11,1,'jeds@sample.org',1,0,0,0,NULL,NULL,NULL,NULL),
+ (36,143,1,'yadav.claudio@example.com',1,0,0,0,NULL,NULL,NULL,NULL),
+ (37,52,1,'wilsons@sample.co.uk',1,0,0,0,NULL,NULL,NULL,NULL),
+ (38,100,1,'tl.olsen96@fishmail.net',1,0,0,0,NULL,NULL,NULL,NULL),
+ (39,155,1,'deforestb@sample.co.uk',1,0,0,0,NULL,NULL,NULL,NULL),
+ (40,178,1,'grant.winford@testing.co.uk',1,0,0,0,NULL,NULL,NULL,NULL),
+ (41,66,1,'kaceyadams2@fishmail.org',1,0,0,0,NULL,NULL,NULL,NULL),
+ (42,66,1,'kaceya@airmail.net',0,0,0,0,NULL,NULL,NULL,NULL),
+ (43,193,1,'zope.merrie@fishmail.co.uk',1,0,0,0,NULL,NULL,NULL,NULL),
+ (44,67,1,'maganjensen@fakemail.co.uk',1,0,0,0,NULL,NULL,NULL,NULL),
+ (45,67,1,'jensenm@fishmail.biz',0,0,0,0,NULL,NULL,NULL,NULL),
+ (46,29,1,'lawerencej4@notmail.net',1,0,0,0,NULL,NULL,NULL,NULL),
+ (47,46,1,'lee.landon@fakemail.co.nz',1,0,0,0,NULL,NULL,NULL,NULL),
+ (48,46,1,'leel33@notmail.biz',0,0,0,0,NULL,NULL,NULL,NULL),
+ (49,69,1,'samsons@notmail.co.in',1,0,0,0,NULL,NULL,NULL,NULL),
+ (50,103,1,'barkley.x.alexia@mymail.co.nz',1,0,0,0,NULL,NULL,NULL,NULL),
+ (51,170,1,'lpatel34@fishmail.org',1,0,0,0,NULL,NULL,NULL,NULL),
+ (52,170,1,'loupatel@mymail.co.uk',0,0,0,0,NULL,NULL,NULL,NULL),
+ (53,165,1,'pmcreynolds73@notmail.co.pl',1,0,0,0,NULL,NULL,NULL,NULL),
+ (54,45,1,'rodrigor67@fakemail.co.uk',1,0,0,0,NULL,NULL,NULL,NULL),
+ (55,45,1,'robertsonr@spamalot.net',0,0,0,0,NULL,NULL,NULL,NULL),
+ (56,59,1,'dimitrov.landon@fakemail.co.in',1,0,0,0,NULL,NULL,NULL,NULL),
+ (57,59,1,'landondimitrov97@example.net',0,0,0,0,NULL,NULL,NULL,NULL),
+ (58,101,1,'jones.santina@airmail.com',1,0,0,0,NULL,NULL,NULL,NULL),
+ (59,101,1,'su.jones@infomail.co.pl',0,0,0,0,NULL,NULL,NULL,NULL),
+ (60,137,1,'wattson.junko@testing.info',1,0,0,0,NULL,NULL,NULL,NULL),
+ (61,53,1,'ereynolds35@fishmail.biz',1,0,0,0,NULL,NULL,NULL,NULL),
+ (62,53,1,'reynoldse55@testing.net',0,0,0,0,NULL,NULL,NULL,NULL),
+ (63,111,1,'nielsenm37@infomail.net',1,0,0,0,NULL,NULL,NULL,NULL),
+ (64,145,1,'troyadams24@example.co.in',1,0,0,0,NULL,NULL,NULL,NULL),
+ (65,145,1,'adams.troy19@airmail.co.pl',0,0,0,0,NULL,NULL,NULL,NULL),
+ (66,14,1,'magani78@airmail.co.in',1,0,0,0,NULL,NULL,NULL,NULL),
+ (67,14,1,'mivanov@mymail.net',0,0,0,0,NULL,NULL,NULL,NULL),
+ (68,26,1,'prenticee@testmail.com',1,0,0,0,NULL,NULL,NULL,NULL),
+ (69,173,1,'mcreynoldsf@example.info',1,0,0,0,NULL,NULL,NULL,NULL),
+ (70,80,1,'angelikam@fakemail.co.uk',1,0,0,0,NULL,NULL,NULL,NULL),
+ (71,80,1,'al.mller3@example.co.nz',0,0,0,0,NULL,NULL,NULL,NULL),
+ (72,106,1,'caryloni@sample.co.in',1,0,0,0,NULL,NULL,NULL,NULL),
+ (73,106,1,'carylonivanov49@testmail.org',0,0,0,0,NULL,NULL,NULL,NULL),
+ (74,15,1,'jedd27@notmail.net',1,0,0,0,NULL,NULL,NULL,NULL),
+ (75,63,1,'ashleysmith-samson@testmail.org',1,0,0,0,NULL,NULL,NULL,NULL),
+ (76,196,1,'samson.esta@mymail.co.in',1,0,0,0,NULL,NULL,NULL,NULL),
+ (77,157,1,'jameson.m.tanya13@lol.com',1,0,0,0,NULL,NULL,NULL,NULL),
+ (78,157,1,'tanyaj37@infomail.org',0,0,0,0,NULL,NULL,NULL,NULL),
+ (79,120,1,'alidam29@sample.co.uk',1,0,0,0,NULL,NULL,NULL,NULL),
+ (80,120,1,'amller-jameson@mymail.co.uk',0,0,0,0,NULL,NULL,NULL,NULL),
+ (81,12,1,'tf.jameson44@airmail.co.pl',1,0,0,0,NULL,NULL,NULL,NULL),
+ (82,12,1,'jameson.truman@infomail.co.nz',0,0,0,0,NULL,NULL,NULL,NULL),
+ (83,36,1,'bm.barkley@fishmail.com',1,0,0,0,NULL,NULL,NULL,NULL),
+ (84,181,1,'elizabethb46@mymail.co.uk',1,0,0,0,NULL,NULL,NULL,NULL),
+ (85,181,1,'elizabethbarkley@airmail.org',0,0,0,0,NULL,NULL,NULL,NULL),
+ (86,118,1,'jbarkley84@fakemail.co.nz',1,0,0,0,NULL,NULL,NULL,NULL),
+ (87,176,1,'barkleya40@sample.info',1,0,0,0,NULL,NULL,NULL,NULL),
+ (88,75,1,'shaunajones@notmail.org',1,0,0,0,NULL,NULL,NULL,NULL),
+ (89,75,1,'shaunaj@infomail.com',0,0,0,0,NULL,NULL,NULL,NULL),
+ (90,149,1,'jones.kathlyn@notmail.co.uk',1,0,0,0,NULL,NULL,NULL,NULL),
+ (91,82,1,'terrell-parkeri@infomail.co.nz',1,0,0,0,NULL,NULL,NULL,NULL),
+ (92,146,1,'eo.parker@sample.biz',1,0,0,0,NULL,NULL,NULL,NULL),
+ (93,159,1,'craigp31@mymail.co.uk',1,0,0,0,NULL,NULL,NULL,NULL),
+ (94,159,1,'craigparker@spamalot.co.nz',0,0,0,0,NULL,NULL,NULL,NULL),
+ (95,90,1,'herminiablackwell23@infomail.net',1,0,0,0,NULL,NULL,NULL,NULL),
+ (96,90,1,'herminiab@testmail.org',0,0,0,0,NULL,NULL,NULL,NULL),
+ (97,24,1,'ct.cooper@airmail.info',1,0,0,0,NULL,NULL,NULL,NULL),
+ (98,32,1,'dcooper@fakemail.biz',1,0,0,0,NULL,NULL,NULL,NULL),
+ (99,32,1,'darencooper@lol.co.pl',0,0,0,0,NULL,NULL,NULL,NULL),
+ (100,168,1,'reynolds-prentice.josefa@fishmail.org',1,0,0,0,NULL,NULL,NULL,NULL),
+ (101,150,1,'prentice.brigette@mymail.co.nz',1,0,0,0,NULL,NULL,NULL,NULL),
+ (102,150,1,'bi.prentice@fakemail.org',0,0,0,0,NULL,NULL,NULL,NULL),
+ (103,152,1,'kathleeno@infomail.info',1,0,0,0,NULL,NULL,NULL,NULL),
+ (104,152,1,'kolsen68@lol.info',0,0,0,0,NULL,NULL,NULL,NULL),
+ (105,167,1,'iveyolsen65@testmail.co.nz',1,0,0,0,NULL,NULL,NULL,NULL),
+ (106,65,1,'rosarioo@sample.co.uk',1,0,0,0,NULL,NULL,NULL,NULL),
+ (107,148,1,'rodrigoz57@spamalot.com',1,0,0,0,NULL,NULL,NULL,NULL),
+ (108,148,1,'zoper@example.com',0,0,0,0,NULL,NULL,NULL,NULL),
+ (109,107,1,'beulaparker-zope@fishmail.com',1,0,0,0,NULL,NULL,NULL,NULL),
+ (110,107,1,'parker-zopeb@example.co.in',0,0,0,0,NULL,NULL,NULL,NULL),
+ (111,13,1,'av.zope39@spamalot.info',1,0,0,0,NULL,NULL,NULL,NULL),
+ (112,13,1,'zope.v.angelika3@spamalot.info',0,0,0,0,NULL,NULL,NULL,NULL),
+ (113,141,1,'zope.bob@spamalot.com',1,0,0,0,NULL,NULL,NULL,NULL),
+ (114,141,1,'bzope@airmail.biz',0,0,0,0,NULL,NULL,NULL,NULL),
+ (115,154,1,'brenti@fishmail.co.in',1,0,0,0,NULL,NULL,NULL,NULL),
+ (116,81,1,'ivanov.allan42@infomail.co.nz',1,0,0,0,NULL,NULL,NULL,NULL),
+ (117,34,1,'kivanov@infomail.co.nz',1,0,0,0,NULL,NULL,NULL,NULL),
+ (118,34,1,'ivanovk@testmail.co.in',0,0,0,0,NULL,NULL,NULL,NULL),
+ (119,48,1,'zope.barry@notmail.co.uk',1,0,0,0,NULL,NULL,NULL,NULL),
+ (120,48,1,'zope.barry42@airmail.co.nz',0,0,0,0,NULL,NULL,NULL,NULL),
+ (121,47,1,'lz.patel@testmail.info',1,0,0,0,NULL,NULL,NULL,NULL),
+ (122,47,1,'lashawndap7@spamalot.co.pl',0,0,0,0,NULL,NULL,NULL,NULL),
+ (123,70,1,'ko.zope-patel@airmail.co.pl',1,0,0,0,NULL,NULL,NULL,NULL),
+ (124,70,1,'kathlynz67@notmail.info',0,0,0,0,NULL,NULL,NULL,NULL),
+ (125,144,1,'grant.x.maxwell@airmail.co.pl',1,0,0,0,NULL,NULL,NULL,NULL),
+ (126,85,1,'grant.b.delana@fakemail.biz',1,0,0,0,NULL,NULL,NULL,NULL),
+ (127,19,1,'jaygrant@fakemail.co.nz',1,0,0,0,NULL,NULL,NULL,NULL),
+ (128,21,1,'rolandonielsen35@testing.info',1,0,0,0,NULL,NULL,NULL,NULL),
+ (129,21,1,'nielsen.rolando96@fishmail.biz',0,0,0,0,NULL,NULL,NULL,NULL),
+ (130,95,1,'santinan13@fakemail.co.pl',1,0,0,0,NULL,NULL,NULL,NULL),
+ (131,95,1,'santinan84@testmail.net',0,0,0,0,NULL,NULL,NULL,NULL),
+ (132,185,1,'lee.allen47@fishmail.info',1,0,0,0,NULL,NULL,NULL,NULL),
+ (133,113,1,'santinalee@fishmail.net',1,0,0,0,NULL,NULL,NULL,NULL),
+ (134,113,1,'lee.g.santina47@airmail.co.in',0,0,0,0,NULL,NULL,NULL,NULL),
+ (135,50,1,'angelikal@fakemail.co.nz',1,0,0,0,NULL,NULL,NULL,NULL),
+ (136,50,1,'ae.lee82@lol.org',0,0,0,0,NULL,NULL,NULL,NULL),
+ (137,147,1,'dimitrov.truman@sample.co.nz',1,0,0,0,NULL,NULL,NULL,NULL),
+ (138,147,1,'dimitrovt@fakemail.info',0,0,0,0,NULL,NULL,NULL,NULL),
+ (139,31,1,'dimitrov.toby@spamalot.co.uk',1,0,0,0,NULL,NULL,NULL,NULL),
+ (140,128,1,'claudiod@spamalot.biz',1,0,0,0,NULL,NULL,NULL,NULL),
+ (141,128,1,'claudiodimitrov52@fishmail.co.uk',0,0,0,0,NULL,NULL,NULL,NULL),
+ (142,96,1,'dadams@fakemail.com',1,0,0,0,NULL,NULL,NULL,NULL),
+ (143,96,1,'delanaadams30@testing.biz',0,0,0,0,NULL,NULL,NULL,NULL),
+ (144,194,1,'kandacewilson-adams@testmail.co.in',1,0,0,0,NULL,NULL,NULL,NULL),
+ (145,194,1,'wilson-adams.kandace@spamalot.net',0,0,0,0,NULL,NULL,NULL,NULL),
+ (146,89,1,'barryw@fishmail.co.pl',1,0,0,0,NULL,NULL,NULL,NULL),
+ (147,89,1,'barrywilson-adams65@notmail.biz',0,0,0,0,NULL,NULL,NULL,NULL),
+ (148,16,1,'allenwattson@notmail.co.nz',1,0,0,0,NULL,NULL,NULL,NULL),
+ (149,16,1,'allenw@example.co.uk',0,0,0,0,NULL,NULL,NULL,NULL),
+ (150,4,1,'wattson.v.sharyn19@spamalot.com',1,0,0,0,NULL,NULL,NULL,NULL),
+ (151,4,1,'sharynwattson@airmail.co.uk',0,0,0,0,NULL,NULL,NULL,NULL),
+ (152,189,1,'wattson.g.kathleen@sample.info',1,0,0,0,NULL,NULL,NULL,NULL),
+ (153,40,1,'blackwell.x.billy@testing.com',1,0,0,0,NULL,NULL,NULL,NULL),
+ (154,91,1,'rl.blackwell52@lol.co.nz',1,0,0,0,NULL,NULL,NULL,NULL),
+ (155,91,1,'blackwell.rolando98@fakemail.co.uk',0,0,0,0,NULL,NULL,NULL,NULL),
+ (156,156,1,'blackwell.toby99@example.info',1,0,0,0,NULL,NULL,NULL,NULL),
+ (157,156,1,'tobyblackwell@fakemail.info',0,0,0,0,NULL,NULL,NULL,NULL),
+ (158,77,3,'sales@mlkingenvironmental.org',1,0,0,0,NULL,NULL,NULL,NULL),
+ (159,169,2,'dimitrov.alexia79@mlkingenvironmental.org',1,0,0,0,NULL,NULL,NULL,NULL),
+ (160,139,3,'info@oxfordinitiative.org',1,0,0,0,NULL,NULL,NULL,NULL),
+ (161,43,3,'info@gibbonhealthpartners.org',1,0,0,0,NULL,NULL,NULL,NULL),
+ (162,22,3,'feedback@secondfood.org',1,0,0,0,NULL,NULL,NULL,NULL),
+ (163,119,2,'barkleyb64@secondfood.org',1,0,0,0,NULL,NULL,NULL,NULL),
+ (164,153,3,'info@woodbridgesustainability.org',1,0,0,0,NULL,NULL,NULL,NULL),
+ (165,27,2,'nielsen.d.santina@woodbridgesustainability.org',1,0,0,0,NULL,NULL,NULL,NULL),
+ (166,58,3,'info@houstonlegalassociation.org',1,0,0,0,NULL,NULL,NULL,NULL),
+ (167,36,2,'brentb@houstonlegalassociation.org',0,0,0,0,NULL,NULL,NULL,NULL),
+ (168,142,3,'contact@harmonpeacefund.org',1,0,0,0,NULL,NULL,NULL,NULL),
+ (169,143,2,'claudioy43@harmonpeacefund.org',0,0,0,0,NULL,NULL,NULL,NULL),
+ (170,191,3,'feedback@tennesseesystems.org',1,0,0,0,NULL,NULL,NULL,NULL),
+ (171,199,2,'jameson.brittney@tennesseesystems.org',0,0,0,0,NULL,NULL,NULL,NULL),
+ (172,25,3,'feedback@unitedcollective.org',1,0,0,0,NULL,NULL,NULL,NULL),
+ (173,128,2,'.15@unitedcollective.org',0,0,0,0,NULL,NULL,NULL,NULL),
+ (174,166,3,'sales@texaspeace.org',1,0,0,0,NULL,NULL,NULL,NULL),
+ (175,60,3,'service@cotopaxiadvocacytrust.org',1,0,0,0,NULL,NULL,NULL,NULL),
+ (176,75,2,'@cotopaxiadvocacytrust.org',0,0,0,0,NULL,NULL,NULL,NULL),
+ (177,54,3,'info@lincolnfood.org',1,0,0,0,NULL,NULL,NULL,NULL),
+ (178,154,2,'brentivanov@lincolnfood.org',0,0,0,0,NULL,NULL,NULL,NULL),
+ (179,158,3,'sales@lincolnculture.org',1,0,0,0,NULL,NULL,NULL,NULL),
+ (180,32,2,'dcooper@lincolnculture.org',0,0,0,0,NULL,NULL,NULL,NULL),
+ (181,92,3,'sales@nclegalinitiative.org',1,0,0,0,NULL,NULL,NULL,NULL),
+ (182,23,3,'service@floridalegalsolutions.org',1,0,0,0,NULL,NULL,NULL,NULL),
+ (183,186,2,'terry.sherman@floridalegalsolutions.org',1,0,0,0,NULL,NULL,NULL,NULL),
  (184,202,1,'jenny@example.com',1,0,0,0,NULL,NULL,NULL,NULL),
  (185,NULL,1,'development@example.org',0,0,0,0,NULL,NULL,NULL,NULL),
  (186,NULL,1,'tournaments@example.org',0,0,0,0,NULL,NULL,NULL,NULL),
@@ -3267,9 +3235,9 @@ INSERT INTO `civicrm_entity_financial_trxn` (`id`, `entity_table`, `entity_id`,
  (70,'civicrm_financial_item',35,35,100.00),
  (71,'civicrm_contribution',40,36,100.00),
  (72,'civicrm_financial_item',36,36,100.00),
- (73,'civicrm_contribution',41,37,100.00),
+ (73,'civicrm_contribution',44,37,100.00),
  (74,'civicrm_financial_item',37,37,100.00),
- (75,'civicrm_contribution',44,38,100.00),
+ (75,'civicrm_contribution',46,38,100.00),
  (76,'civicrm_financial_item',38,38,100.00),
  (77,'civicrm_contribution',48,39,100.00),
  (78,'civicrm_financial_item',39,39,100.00),
@@ -3281,31 +3249,31 @@ INSERT INTO `civicrm_entity_financial_trxn` (`id`, `entity_table`, `entity_id`,
  (84,'civicrm_financial_item',42,42,100.00),
  (85,'civicrm_contribution',54,43,100.00),
  (86,'civicrm_financial_item',43,43,100.00),
- (87,'civicrm_contribution',56,44,100.00),
+ (87,'civicrm_contribution',58,44,100.00),
  (88,'civicrm_financial_item',44,44,100.00),
- (89,'civicrm_contribution',58,45,100.00),
+ (89,'civicrm_contribution',60,45,100.00),
  (90,'civicrm_financial_item',45,45,100.00),
- (91,'civicrm_contribution',60,46,100.00),
- (92,'civicrm_financial_item',46,46,100.00),
- (93,'civicrm_contribution',33,47,50.00),
+ (91,'civicrm_contribution',33,46,50.00),
+ (92,'civicrm_financial_item',46,46,50.00),
+ (93,'civicrm_contribution',35,47,50.00),
  (94,'civicrm_financial_item',47,47,50.00),
- (95,'civicrm_contribution',35,48,50.00),
+ (95,'civicrm_contribution',37,48,50.00),
  (96,'civicrm_financial_item',48,48,50.00),
- (97,'civicrm_contribution',37,49,50.00),
+ (97,'civicrm_contribution',39,49,50.00),
  (98,'civicrm_financial_item',49,49,50.00),
- (99,'civicrm_contribution',39,50,50.00),
+ (99,'civicrm_contribution',41,50,50.00),
  (100,'civicrm_financial_item',50,50,50.00),
  (101,'civicrm_contribution',43,51,50.00),
  (102,'civicrm_financial_item',51,51,50.00),
  (103,'civicrm_contribution',45,52,50.00),
  (104,'civicrm_financial_item',52,52,50.00),
- (105,'civicrm_contribution',46,53,50.00),
+ (105,'civicrm_contribution',47,53,50.00),
  (106,'civicrm_financial_item',53,53,50.00),
- (107,'civicrm_contribution',47,54,50.00),
+ (107,'civicrm_contribution',49,54,50.00),
  (108,'civicrm_financial_item',54,54,50.00),
- (109,'civicrm_contribution',49,55,50.00),
+ (109,'civicrm_contribution',55,55,50.00),
  (110,'civicrm_financial_item',55,55,50.00),
- (111,'civicrm_contribution',55,56,50.00),
+ (111,'civicrm_contribution',56,56,50.00),
  (112,'civicrm_financial_item',56,56,50.00),
  (113,'civicrm_contribution',57,57,50.00),
  (114,'civicrm_financial_item',57,57,50.00),
@@ -3317,105 +3285,105 @@ INSERT INTO `civicrm_entity_financial_trxn` (`id`, `entity_table`, `entity_id`,
  (120,'civicrm_financial_item',60,60,1200.00),
  (121,'civicrm_contribution',53,61,1200.00),
  (122,'civicrm_financial_item',61,61,1200.00),
- (123,'civicrm_contribution',78,62,50.00),
+ (123,'civicrm_contribution',64,62,50.00),
  (124,'civicrm_financial_item',62,62,50.00),
- (125,'civicrm_contribution',66,63,50.00),
+ (125,'civicrm_contribution',67,63,50.00),
  (126,'civicrm_financial_item',63,63,50.00),
- (127,'civicrm_contribution',102,64,50.00),
+ (127,'civicrm_contribution',70,64,50.00),
  (128,'civicrm_financial_item',64,64,50.00),
- (129,'civicrm_contribution',80,65,50.00),
+ (129,'civicrm_contribution',73,65,50.00),
  (130,'civicrm_financial_item',65,65,50.00),
- (131,'civicrm_contribution',67,66,50.00),
+ (131,'civicrm_contribution',76,66,50.00),
  (132,'civicrm_financial_item',66,66,50.00),
- (133,'civicrm_contribution',105,67,50.00),
+ (133,'civicrm_contribution',79,67,50.00),
  (134,'civicrm_financial_item',67,67,50.00),
- (135,'civicrm_contribution',98,68,50.00),
+ (135,'civicrm_contribution',82,68,50.00),
  (136,'civicrm_financial_item',68,68,50.00),
- (137,'civicrm_contribution',101,69,50.00),
+ (137,'civicrm_contribution',85,69,50.00),
  (138,'civicrm_financial_item',69,69,50.00),
- (139,'civicrm_contribution',79,70,50.00),
+ (139,'civicrm_contribution',89,70,50.00),
  (140,'civicrm_financial_item',70,70,50.00),
- (141,'civicrm_contribution',90,71,50.00),
+ (141,'civicrm_contribution',92,71,50.00),
  (142,'civicrm_financial_item',71,71,50.00),
- (143,'civicrm_contribution',88,72,50.00),
+ (143,'civicrm_contribution',95,72,50.00),
  (144,'civicrm_financial_item',72,72,50.00),
- (145,'civicrm_contribution',93,73,50.00),
+ (145,'civicrm_contribution',98,73,50.00),
  (146,'civicrm_financial_item',73,73,50.00),
- (147,'civicrm_contribution',81,74,50.00),
+ (147,'civicrm_contribution',101,74,50.00),
  (148,'civicrm_financial_item',74,74,50.00),
- (149,'civicrm_contribution',87,75,50.00),
+ (149,'civicrm_contribution',104,75,50.00),
  (150,'civicrm_financial_item',75,75,50.00),
- (151,'civicrm_contribution',94,76,50.00),
+ (151,'civicrm_contribution',107,76,50.00),
  (152,'civicrm_financial_item',76,76,50.00),
- (153,'civicrm_contribution',106,77,50.00),
+ (153,'civicrm_contribution',110,77,50.00),
  (154,'civicrm_financial_item',77,77,50.00),
  (155,'civicrm_contribution',65,78,800.00),
  (156,'civicrm_financial_item',78,78,800.00),
- (157,'civicrm_contribution',76,79,800.00),
+ (157,'civicrm_contribution',68,79,800.00),
  (158,'civicrm_financial_item',79,79,800.00),
- (159,'civicrm_contribution',69,80,800.00),
+ (159,'civicrm_contribution',71,80,800.00),
  (160,'civicrm_financial_item',80,80,800.00),
- (161,'civicrm_contribution',68,81,800.00),
+ (161,'civicrm_contribution',74,81,800.00),
  (162,'civicrm_financial_item',81,81,800.00),
  (163,'civicrm_contribution',77,82,800.00),
  (164,'civicrm_financial_item',82,82,800.00),
- (165,'civicrm_contribution',82,83,800.00),
+ (165,'civicrm_contribution',80,83,800.00),
  (166,'civicrm_financial_item',83,83,800.00),
- (167,'civicrm_contribution',99,84,800.00),
+ (167,'civicrm_contribution',83,84,800.00),
  (168,'civicrm_financial_item',84,84,800.00),
- (169,'civicrm_contribution',97,85,800.00),
+ (169,'civicrm_contribution',86,85,800.00),
  (170,'civicrm_financial_item',85,85,800.00),
- (171,'civicrm_contribution',103,86,800.00),
+ (171,'civicrm_contribution',87,86,800.00),
  (172,'civicrm_financial_item',86,86,800.00),
- (173,'civicrm_contribution',110,87,800.00),
+ (173,'civicrm_contribution',90,87,800.00),
  (174,'civicrm_financial_item',87,87,800.00),
- (175,'civicrm_contribution',71,88,800.00),
+ (175,'civicrm_contribution',93,88,800.00),
  (176,'civicrm_financial_item',88,88,800.00),
- (177,'civicrm_contribution',104,89,800.00),
+ (177,'civicrm_contribution',96,89,800.00),
  (178,'civicrm_financial_item',89,89,800.00),
- (179,'civicrm_contribution',75,90,800.00),
+ (179,'civicrm_contribution',99,90,800.00),
  (180,'civicrm_financial_item',90,90,800.00),
- (181,'civicrm_contribution',74,91,800.00),
+ (181,'civicrm_contribution',102,91,800.00),
  (182,'civicrm_financial_item',91,91,800.00),
- (183,'civicrm_contribution',84,92,800.00),
+ (183,'civicrm_contribution',105,92,800.00),
  (184,'civicrm_financial_item',92,92,800.00),
- (185,'civicrm_contribution',73,93,800.00),
+ (185,'civicrm_contribution',108,93,800.00),
  (186,'civicrm_financial_item',93,93,800.00),
- (187,'civicrm_contribution',112,94,800.00),
+ (187,'civicrm_contribution',111,94,800.00),
  (188,'civicrm_financial_item',94,94,800.00),
- (189,'civicrm_contribution',89,95,800.00),
+ (189,'civicrm_contribution',112,95,800.00),
  (190,'civicrm_financial_item',95,95,800.00),
- (191,'civicrm_contribution',95,96,50.00),
+ (191,'civicrm_contribution',63,96,50.00),
  (192,'civicrm_financial_item',96,96,50.00),
- (193,'civicrm_contribution',100,97,50.00),
+ (193,'civicrm_contribution',66,97,50.00),
  (194,'civicrm_financial_item',97,97,50.00),
- (195,'civicrm_contribution',107,98,50.00),
+ (195,'civicrm_contribution',69,98,50.00),
  (196,'civicrm_financial_item',98,98,50.00),
- (197,'civicrm_contribution',91,99,50.00),
+ (197,'civicrm_contribution',72,99,50.00),
  (198,'civicrm_financial_item',99,99,50.00),
- (199,'civicrm_contribution',111,100,50.00),
+ (199,'civicrm_contribution',75,100,50.00),
  (200,'civicrm_financial_item',100,100,50.00),
- (201,'civicrm_contribution',96,101,50.00),
+ (201,'civicrm_contribution',78,101,50.00),
  (202,'civicrm_financial_item',101,101,50.00),
- (203,'civicrm_contribution',109,102,50.00),
+ (203,'civicrm_contribution',81,102,50.00),
  (204,'civicrm_financial_item',102,102,50.00),
- (205,'civicrm_contribution',85,103,50.00),
+ (205,'civicrm_contribution',84,103,50.00),
  (206,'civicrm_financial_item',103,103,50.00),
- (207,'civicrm_contribution',108,104,50.00),
+ (207,'civicrm_contribution',88,104,50.00),
  (208,'civicrm_financial_item',104,104,50.00),
- (209,'civicrm_contribution',83,105,50.00),
+ (209,'civicrm_contribution',91,105,50.00),
  (210,'civicrm_financial_item',105,105,50.00),
- (211,'civicrm_contribution',70,106,50.00),
+ (211,'civicrm_contribution',94,106,50.00),
  (212,'civicrm_financial_item',106,106,50.00),
- (213,'civicrm_contribution',64,107,50.00),
+ (213,'civicrm_contribution',97,107,50.00),
  (214,'civicrm_financial_item',107,107,50.00),
- (215,'civicrm_contribution',86,108,50.00),
+ (215,'civicrm_contribution',100,108,50.00),
  (216,'civicrm_financial_item',108,108,50.00),
- (217,'civicrm_contribution',92,109,50.00),
+ (217,'civicrm_contribution',103,109,50.00),
  (218,'civicrm_financial_item',109,109,50.00),
- (219,'civicrm_contribution',63,110,50.00),
+ (219,'civicrm_contribution',106,110,50.00),
  (220,'civicrm_financial_item',110,110,50.00),
- (221,'civicrm_contribution',72,111,50.00),
+ (221,'civicrm_contribution',109,111,50.00),
  (222,'civicrm_financial_item',111,111,50.00);
 /*!40000 ALTER TABLE `civicrm_entity_financial_trxn` ENABLE KEYS */;
 UNLOCK TABLES;
@@ -3427,124 +3395,123 @@ UNLOCK TABLES;
 LOCK TABLES `civicrm_entity_tag` WRITE;
 /*!40000 ALTER TABLE `civicrm_entity_tag` DISABLE KEYS */;
 INSERT INTO `civicrm_entity_tag` (`id`, `entity_table`, `entity_id`, `tag_id`) VALUES
- (63,'civicrm_contact',2,4),
- (98,'civicrm_contact',6,4),
- (99,'civicrm_contact',6,5),
- (107,'civicrm_contact',8,4),
- (9,'civicrm_contact',11,1),
- (18,'civicrm_contact',12,4),
- (19,'civicrm_contact',12,5),
- (58,'civicrm_contact',13,5),
- (29,'civicrm_contact',15,4),
- (30,'civicrm_contact',15,5),
- (97,'civicrm_contact',16,5),
- (5,'civicrm_contact',18,1),
- (113,'civicrm_contact',22,4),
- (50,'civicrm_contact',30,4),
- (51,'civicrm_contact',30,5),
- (65,'civicrm_contact',35,4),
- (117,'civicrm_contact',38,4),
- (32,'civicrm_contact',39,4),
- (33,'civicrm_contact',39,5),
- (38,'civicrm_contact',40,5),
- (105,'civicrm_contact',41,4),
- (86,'civicrm_contact',47,4),
- (101,'civicrm_contact',51,4),
- (102,'civicrm_contact',51,5),
- (69,'civicrm_contact',52,5),
- (54,'civicrm_contact',60,4),
- (55,'civicrm_contact',60,5),
- (35,'civicrm_contact',62,4),
- (52,'civicrm_contact',63,4),
- (53,'civicrm_contact',63,5),
- (11,'civicrm_contact',64,5),
- (114,'civicrm_contact',66,4),
- (115,'civicrm_contact',66,5),
- (49,'civicrm_contact',70,5),
- (74,'civicrm_contact',72,4),
- (75,'civicrm_contact',72,5),
- (95,'civicrm_contact',75,4),
- (96,'civicrm_contact',75,5),
- (12,'civicrm_contact',79,4),
- (76,'civicrm_contact',81,4),
- (77,'civicrm_contact',81,5),
- (91,'civicrm_contact',85,4),
- (93,'civicrm_contact',87,4),
- (94,'civicrm_contact',87,5),
- (6,'civicrm_contact',93,1),
- (17,'civicrm_contact',95,5),
- (46,'civicrm_contact',97,5),
- (111,'civicrm_contact',99,4),
- (112,'civicrm_contact',99,5),
- (4,'civicrm_contact',101,2),
- (59,'civicrm_contact',103,5),
- (41,'civicrm_contact',107,4),
- (25,'civicrm_contact',111,4),
- (26,'civicrm_contact',111,5),
- (31,'civicrm_contact',112,4),
- (20,'civicrm_contact',113,4),
- (88,'civicrm_contact',114,4),
- (89,'civicrm_contact',114,5),
- (2,'civicrm_contact',115,3),
- (1,'civicrm_contact',116,3),
- (36,'civicrm_contact',118,5),
- (62,'civicrm_contact',119,5),
- (10,'civicrm_contact',120,1),
- (66,'civicrm_contact',121,4),
- (34,'civicrm_contact',128,5),
- (83,'civicrm_contact',134,5),
- (118,'civicrm_contact',137,4),
- (56,'civicrm_contact',138,4),
- (57,'civicrm_contact',138,5),
- (90,'civicrm_contact',139,4),
- (42,'civicrm_contact',144,4),
- (43,'civicrm_contact',144,5),
- (70,'civicrm_contact',146,4),
- (27,'civicrm_contact',147,4),
- (28,'civicrm_contact',147,5),
- (44,'civicrm_contact',149,4),
- (110,'civicrm_contact',152,4),
- (92,'civicrm_contact',155,5),
- (67,'civicrm_contact',156,4),
- (68,'civicrm_contact',156,5),
- (48,'civicrm_contact',158,4),
- (108,'civicrm_contact',159,4),
- (109,'civicrm_contact',159,5),
- (64,'civicrm_contact',161,4),
- (22,'civicrm_contact',162,4),
- (23,'civicrm_contact',162,5),
- (104,'civicrm_contact',163,4),
- (21,'civicrm_contact',164,4),
- (71,'civicrm_contact',165,4),
- (72,'civicrm_contact',165,5),
- (7,'civicrm_contact',166,2),
- (15,'civicrm_contact',167,4),
- (16,'civicrm_contact',170,5),
- (47,'civicrm_contact',172,4),
- (39,'civicrm_contact',174,4),
- (40,'civicrm_contact',174,5),
- (116,'civicrm_contact',175,4),
- (84,'civicrm_contact',176,5),
- (8,'civicrm_contact',178,1),
- (103,'civicrm_contact',179,4),
- (100,'civicrm_contact',181,4),
- (87,'civicrm_contact',182,4),
- (60,'civicrm_contact',183,4),
- (61,'civicrm_contact',183,5),
- (81,'civicrm_contact',186,4),
- (82,'civicrm_contact',186,5),
- (3,'civicrm_contact',187,2),
- (45,'civicrm_contact',188,4),
- (78,'civicrm_contact',189,4),
- (79,'civicrm_contact',189,5),
- (73,'civicrm_contact',190,4),
- (106,'civicrm_contact',191,4),
- (13,'civicrm_contact',192,4),
- (14,'civicrm_contact',192,5),
- (85,'civicrm_contact',193,5),
- (37,'civicrm_contact',194,4),
- (80,'civicrm_contact',196,4),
- (24,'civicrm_contact',200,4);
+ (75,'civicrm_contact',3,4),
+ (76,'civicrm_contact',3,5),
+ (115,'civicrm_contact',4,4),
+ (74,'civicrm_contact',5,4),
+ (25,'civicrm_contact',9,4),
+ (26,'civicrm_contact',9,5),
+ (51,'civicrm_contact',10,4),
+ (34,'civicrm_contact',11,4),
+ (94,'civicrm_contact',13,4),
+ (56,'civicrm_contact',14,5),
+ (114,'civicrm_contact',16,4),
+ (100,'civicrm_contact',17,5),
+ (69,'civicrm_contact',18,4),
+ (70,'civicrm_contact',18,5),
+ (105,'civicrm_contact',21,4),
+ (106,'civicrm_contact',21,5),
+ (84,'civicrm_contact',24,4),
+ (85,'civicrm_contact',24,5),
+ (6,'civicrm_contact',25,2),
+ (49,'civicrm_contact',27,4),
+ (50,'civicrm_contact',27,5),
+ (40,'civicrm_contact',29,5),
+ (61,'civicrm_contact',30,4),
+ (62,'civicrm_contact',30,5),
+ (111,'civicrm_contact',31,5),
+ (10,'civicrm_contact',33,2),
+ (71,'civicrm_contact',36,4),
+ (72,'civicrm_contact',36,5),
+ (8,'civicrm_contact',37,2),
+ (86,'civicrm_contact',39,4),
+ (87,'civicrm_contact',39,5),
+ (116,'civicrm_contact',40,5),
+ (3,'civicrm_contact',43,2),
+ (98,'civicrm_contact',48,4),
+ (99,'civicrm_contact',48,5),
+ (108,'civicrm_contact',50,4),
+ (35,'civicrm_contact',52,4),
+ (52,'civicrm_contact',53,5),
+ (16,'civicrm_contact',55,5),
+ (57,'civicrm_contact',56,4),
+ (64,'civicrm_contact',57,4),
+ (65,'civicrm_contact',57,5),
+ (46,'civicrm_contact',59,5),
+ (7,'civicrm_contact',60,3),
+ (88,'civicrm_contact',62,4),
+ (41,'civicrm_contact',64,5),
+ (27,'civicrm_contact',68,5),
+ (42,'civicrm_contact',69,4),
+ (43,'civicrm_contact',69,5),
+ (2,'civicrm_contact',77,2),
+ (59,'civicrm_contact',78,4),
+ (60,'civicrm_contact',78,5),
+ (32,'civicrm_contact',79,5),
+ (58,'civicrm_contact',80,5),
+ (96,'civicrm_contact',81,4),
+ (97,'civicrm_contact',81,5),
+ (82,'civicrm_contact',84,4),
+ (83,'civicrm_contact',84,5),
+ (117,'civicrm_contact',91,5),
+ (9,'civicrm_contact',92,3),
+ (112,'civicrm_contact',94,4),
+ (63,'civicrm_contact',106,5),
+ (104,'civicrm_contact',109,4),
+ (29,'civicrm_contact',115,5),
+ (30,'civicrm_contact',117,4),
+ (31,'civicrm_contact',117,5),
+ (73,'civicrm_contact',118,4),
+ (19,'civicrm_contact',121,4),
+ (28,'civicrm_contact',122,4),
+ (1,'civicrm_contact',123,2),
+ (21,'civicrm_contact',126,4),
+ (22,'civicrm_contact',126,5),
+ (54,'civicrm_contact',129,4),
+ (55,'civicrm_contact',129,5),
+ (33,'civicrm_contact',131,4),
+ (103,'civicrm_contact',136,4),
+ (47,'civicrm_contact',138,4),
+ (48,'civicrm_contact',138,5),
+ (18,'civicrm_contact',140,4),
+ (5,'civicrm_contact',142,3),
+ (101,'civicrm_contact',144,4),
+ (102,'civicrm_contact',144,5),
+ (53,'civicrm_contact',145,4),
+ (79,'civicrm_contact',146,4),
+ (109,'civicrm_contact',147,4),
+ (110,'civicrm_contact',147,5),
+ (93,'civicrm_contact',148,5),
+ (89,'civicrm_contact',150,4),
+ (90,'civicrm_contact',150,5),
+ (17,'civicrm_contact',151,4),
+ (4,'civicrm_contact',153,2),
+ (95,'civicrm_contact',154,4),
+ (36,'civicrm_contact',155,4),
+ (68,'civicrm_contact',157,5),
+ (66,'civicrm_contact',160,5),
+ (38,'civicrm_contact',164,4),
+ (92,'civicrm_contact',167,5),
+ (44,'civicrm_contact',170,4),
+ (11,'civicrm_contact',174,4),
+ (12,'civicrm_contact',174,5),
+ (91,'civicrm_contact',175,5),
+ (14,'civicrm_contact',177,4),
+ (15,'civicrm_contact',177,5),
+ (37,'civicrm_contact',178,4),
+ (80,'civicrm_contact',183,4),
+ (81,'civicrm_contact',183,5),
+ (45,'civicrm_contact',184,5),
+ (107,'civicrm_contact',185,4),
+ (39,'civicrm_contact',187,4),
+ (13,'civicrm_contact',188,5),
+ (77,'civicrm_contact',192,4),
+ (78,'civicrm_contact',192,5),
+ (113,'civicrm_contact',194,5),
+ (67,'civicrm_contact',196,5),
+ (20,'civicrm_contact',199,4),
+ (23,'civicrm_contact',201,4),
+ (24,'civicrm_contact',201,5);
 /*!40000 ALTER TABLE `civicrm_entity_tag` ENABLE KEYS */;
 UNLOCK TABLES;
 
@@ -3554,13 +3521,13 @@ UNLOCK TABLES;
 
 LOCK TABLES `civicrm_event` WRITE;
 /*!40000 ALTER TABLE `civicrm_event` DISABLE KEYS */;
-INSERT INTO `civicrm_event` (`id`, `title`, `summary`, `description`, `event_type_id`, `participant_listing_id`, `is_public`, `start_date`, `end_date`, `is_online_registration`, `registration_link_text`, `registration_start_date`, `registration_end_date`, `max_participants`, `event_full_text`, `is_monetary`, `financial_type_id`, `payment_processor`, `is_map`, `is_active`, `fee_label`, `is_show_location`, `loc_block_id`, `default_role_id`, `intro_text`, `footer_text`, `confirm_title`, `confirm_text`, `confirm_footer_text`, `is_email_confirm`, `confirm_email_text`, `confirm_from_name`, `confirm_from_email`, `cc_confirm`, `bcc_confirm`, `default_fee_id`, `default_discount_fee_id`, `thankyou_title`, `thankyou_text`, `thankyou_footer_text`, `is_pay_later`, `pay_later_text`, `pay_later_receipt`, `is_partial_payment`, `initial_amount_label`, `initial_amount_help_text`, `min_initial_amount`, `is_multiple_registrations`, `max_additional_participants`, `allow_same_participant_emails`, `has_waitlist`, `requires_approval`, `expiration_time`, `allow_selfcancelxfer`, `selfcancelxfer_time`, `waitlist_text`, `approval_req_text`, `is_template`, `template_title`, `created_id`, `created_date`, `currency`, `campaign_id`, `is_share`, `is_confirm_enabled`, `parent_event_id`, `slot_label_id`, `dedupe_rule_group_id`, `is_billing_required`) VALUES
- (1,'Fall Fundraiser Dinner','Kick up your heels at our Fall Fundraiser Dinner/Dance at Glen Echo Park! Come by yourself or bring a partner, friend or the entire family!','This event benefits our teen programs. Admission includes a full 3 course meal and wine or soft drinks. Grab your dancing shoes, bring the kids and come join the party!',3,1,1,'2022-07-05 17:00:00','2022-07-07 17:00:00',1,'Register Now',NULL,NULL,100,'Sorry! The Fall Fundraiser Dinner is full. Please call Jane at 204 222-1000 ext 33 if you want to be added to the waiting list.',1,4,NULL,1,1,'Dinner Contribution',1,1,1,'Fill in the information below to join as at this wonderful dinner event.',NULL,'Confirm Your Registration Information','Review the information below carefully.',NULL,1,'Contact the Development Department if you need to make any changes to your registration.','Fundraising Dept.','development@example.org',NULL,NULL,NULL,NULL,'Thanks for Registering!','<p>Thank you for your support. Your contribution will help us build even better tools.</p><p>Please tell your friends and colleagues about this wonderful event.</p>','<p><a href=https://civicrm.org>Back to CiviCRM Home Page</a></p>',1,'I will send payment by check','Send a check payable to Our Organization within 3 business days to hold your reservation. Checks should be sent to: 100 Main St., Suite 3, San Francisco CA 94110',0,NULL,NULL,NULL,1,0,0,NULL,NULL,NULL,0,0,NULL,NULL,0,NULL,NULL,NULL,'USD',NULL,1,1,NULL,NULL,NULL,0),
- (2,'Summer Solstice Festival Day Concert','Festival Day is coming! Join us and help support your parks.','We will gather at noon, learn a song all together,  and then join in a joyous procession to the pavilion. We will be one of many groups performing at this wonderful concert which benefits our city parks.',5,1,1,'2022-01-04 12:00:00','2022-01-04 17:00:00',1,'Register Now',NULL,NULL,50,'We have all the singers we can handle. Come to the pavilion anyway and join in from the audience.',1,2,NULL,NULL,1,'Festival Fee',1,2,1,'Complete the form below and click Continue to register online for the festival. Or you can register by calling us at 204 222-1000 ext 22.','','Confirm Your Registration Information','','',1,'This email confirms your registration. If you have questions or need to change your registration - please do not hesitate to call us.','Event Dept.','events@example.org','',NULL,NULL,NULL,'Thanks for Your Joining In!','<p>Thank you for your support. Your participation will help build new parks.</p><p>Please tell your friends and colleagues about the concert.</p>','<p><a href=https://civicrm.org>Back to CiviCRM Home Page</a></p>',0,NULL,NULL,0,NULL,NULL,NULL,1,0,0,NULL,NULL,NULL,0,0,NULL,NULL,0,NULL,NULL,NULL,'USD',NULL,1,1,NULL,NULL,NULL,0),
- (3,'Rain-forest Cup Youth Soccer Tournament','Sign up your team to participate in this fun tournament which benefits several Rain-forest protection groups in the Amazon basin.','This is a FYSA Sanctioned Tournament, which is open to all USSF/FIFA affiliated organizations for boys and girls in age groups: U9-U10 (6v6), U11-U12 (8v8), and U13-U17 (Full Sided).',3,1,1,'2022-08-05 07:00:00','2022-08-08 17:00:00',1,'Register Now',NULL,NULL,500,'Sorry! All available team slots for this tournament have been filled. Contact Jill Futbol for information about the waiting list and next years event.',1,4,NULL,NULL,1,'Tournament Fees',1,3,1,'Complete the form below to register your team for this year\'s tournament.','<em>A Soccer Youth Event</em>','Review and Confirm Your Registration Information','','<em>A Soccer Youth Event</em>',1,'Contact our Tournament Director for eligibility details.','Tournament Director','tournament@example.org','',NULL,NULL,NULL,'Thanks for Your Support!','<p>Thank you for your support. Your participation will help save thousands of acres of rainforest.</p>','<p><a href=https://civicrm.org>Back to CiviCRM Home Page</a></p>',0,NULL,NULL,0,NULL,NULL,NULL,0,0,0,NULL,NULL,NULL,0,0,NULL,NULL,0,NULL,NULL,NULL,'USD',NULL,1,1,NULL,NULL,NULL,0),
- (4,NULL,NULL,NULL,4,1,1,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,0,NULL,NULL,0,1,NULL,1,NULL,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,NULL,NULL,0,NULL,NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,0,0,NULL,NULL,1,'Free Meeting without Online Registration',NULL,NULL,'USD',NULL,1,1,NULL,NULL,NULL,0),
- (5,NULL,NULL,NULL,4,1,1,NULL,NULL,1,NULL,NULL,NULL,NULL,NULL,0,NULL,NULL,0,1,NULL,1,NULL,1,NULL,NULL,'Confirm Your Registration Information',NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Thanks for Registering!',NULL,NULL,0,NULL,NULL,0,NULL,NULL,NULL,1,0,1,NULL,NULL,NULL,0,0,NULL,NULL,1,'Free Meeting with Online Registration',NULL,NULL,'USD',NULL,1,1,NULL,NULL,NULL,0),
- (6,NULL,NULL,NULL,1,1,1,NULL,NULL,1,NULL,NULL,NULL,NULL,NULL,1,4,NULL,0,1,'Conference Fee',1,NULL,1,NULL,NULL,'Confirm Your Registration Information',NULL,NULL,1,NULL,'Event Template Dept.','event_templates@example.org',NULL,NULL,NULL,NULL,'Thanks for Registering!',NULL,NULL,0,NULL,NULL,0,NULL,NULL,NULL,1,0,1,NULL,NULL,NULL,0,0,NULL,NULL,1,'Paid Conference with Online Registration',NULL,NULL,'USD',NULL,1,1,NULL,NULL,NULL,0);
+INSERT INTO `civicrm_event` (`id`, `title`, `summary`, `description`, `event_type_id`, `participant_listing_id`, `is_public`, `start_date`, `end_date`, `is_online_registration`, `registration_link_text`, `registration_start_date`, `registration_end_date`, `max_participants`, `event_full_text`, `is_monetary`, `financial_type_id`, `payment_processor`, `is_map`, `is_active`, `fee_label`, `is_show_location`, `loc_block_id`, `default_role_id`, `intro_text`, `footer_text`, `confirm_title`, `confirm_text`, `confirm_footer_text`, `is_email_confirm`, `confirm_email_text`, `confirm_from_name`, `confirm_from_email`, `cc_confirm`, `bcc_confirm`, `default_fee_id`, `default_discount_fee_id`, `thankyou_title`, `thankyou_text`, `thankyou_footer_text`, `is_pay_later`, `pay_later_text`, `pay_later_receipt`, `is_partial_payment`, `initial_amount_label`, `initial_amount_help_text`, `min_initial_amount`, `is_multiple_registrations`, `max_additional_participants`, `allow_same_participant_emails`, `has_waitlist`, `requires_approval`, `expiration_time`, `allow_selfcancelxfer`, `selfcancelxfer_time`, `waitlist_text`, `approval_req_text`, `is_template`, `template_title`, `created_id`, `created_date`, `currency`, `campaign_id`, `is_share`, `is_confirm_enabled`, `parent_event_id`, `slot_label_id`, `dedupe_rule_group_id`, `is_billing_required`, `event_tz`) VALUES
+ (1,'Fall Fundraiser Dinner','Kick up your heels at our Fall Fundraiser Dinner/Dance at Glen Echo Park! Come by yourself or bring a partner, friend or the entire family!','This event benefits our teen programs. Admission includes a full 3 course meal and wine or soft drinks. Grab your dancing shoes, bring the kids and come join the party!',3,1,1,'2022-08-28 17:00:00','2022-08-30 17:00:00',1,'Register Now',NULL,NULL,100,'Sorry! The Fall Fundraiser Dinner is full. Please call Jane at 204 222-1000 ext 33 if you want to be added to the waiting list.',1,4,NULL,1,1,'Dinner Contribution',1,1,1,'Fill in the information below to join as at this wonderful dinner event.',NULL,'Confirm Your Registration Information','Review the information below carefully.',NULL,1,'Contact the Development Department if you need to make any changes to your registration.','Fundraising Dept.','development@example.org',NULL,NULL,NULL,NULL,'Thanks for Registering!','<p>Thank you for your support. Your contribution will help us build even better tools.</p><p>Please tell your friends and colleagues about this wonderful event.</p>','<p><a href=https://civicrm.org>Back to CiviCRM Home Page</a></p>',1,'I will send payment by check','Send a check payable to Our Organization within 3 business days to hold your reservation. Checks should be sent to: 100 Main St., Suite 3, San Francisco CA 94110',0,NULL,NULL,NULL,1,0,0,NULL,NULL,NULL,0,0,NULL,NULL,0,NULL,NULL,NULL,'USD',NULL,1,1,NULL,NULL,NULL,0,'UTC'),
+ (2,'Summer Solstice Festival Day Concert','Festival Day is coming! Join us and help support your parks.','We will gather at noon, learn a song all together,  and then join in a joyous procession to the pavilion. We will be one of many groups performing at this wonderful concert which benefits our city parks.',5,1,1,'2022-02-27 12:00:00','2022-02-27 17:00:00',1,'Register Now',NULL,NULL,50,'We have all the singers we can handle. Come to the pavilion anyway and join in from the audience.',1,2,NULL,NULL,1,'Festival Fee',1,2,1,'Complete the form below and click Continue to register online for the festival. Or you can register by calling us at 204 222-1000 ext 22.','','Confirm Your Registration Information','','',1,'This email confirms your registration. If you have questions or need to change your registration - please do not hesitate to call us.','Event Dept.','events@example.org','',NULL,NULL,NULL,'Thanks for Your Joining In!','<p>Thank you for your support. Your participation will help build new parks.</p><p>Please tell your friends and colleagues about the concert.</p>','<p><a href=https://civicrm.org>Back to CiviCRM Home Page</a></p>',0,NULL,NULL,0,NULL,NULL,NULL,1,0,0,NULL,NULL,NULL,0,0,NULL,NULL,0,NULL,NULL,NULL,'USD',NULL,1,1,NULL,NULL,NULL,0,'UTC'),
+ (3,'Rain-forest Cup Youth Soccer Tournament','Sign up your team to participate in this fun tournament which benefits several Rain-forest protection groups in the Amazon basin.','This is a FYSA Sanctioned Tournament, which is open to all USSF/FIFA affiliated organizations for boys and girls in age groups: U9-U10 (6v6), U11-U12 (8v8), and U13-U17 (Full Sided).',3,1,1,'2022-09-28 07:00:00','2022-10-01 17:00:00',1,'Register Now',NULL,NULL,500,'Sorry! All available team slots for this tournament have been filled. Contact Jill Futbol for information about the waiting list and next years event.',1,4,NULL,NULL,1,'Tournament Fees',1,3,1,'Complete the form below to register your team for this year\'s tournament.','<em>A Soccer Youth Event</em>','Review and Confirm Your Registration Information','','<em>A Soccer Youth Event</em>',1,'Contact our Tournament Director for eligibility details.','Tournament Director','tournament@example.org','',NULL,NULL,NULL,'Thanks for Your Support!','<p>Thank you for your support. Your participation will help save thousands of acres of rainforest.</p>','<p><a href=https://civicrm.org>Back to CiviCRM Home Page</a></p>',0,NULL,NULL,0,NULL,NULL,NULL,0,0,0,NULL,NULL,NULL,0,0,NULL,NULL,0,NULL,NULL,NULL,'USD',NULL,1,1,NULL,NULL,NULL,0,'UTC'),
+ (4,NULL,NULL,NULL,4,1,1,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,0,NULL,NULL,0,1,NULL,1,NULL,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,NULL,NULL,0,NULL,NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,0,0,NULL,NULL,1,'Free Meeting without Online Registration',NULL,NULL,'USD',NULL,1,1,NULL,NULL,NULL,0,'UTC'),
+ (5,NULL,NULL,NULL,4,1,1,NULL,NULL,1,NULL,NULL,NULL,NULL,NULL,0,NULL,NULL,0,1,NULL,1,NULL,1,NULL,NULL,'Confirm Your Registration Information',NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Thanks for Registering!',NULL,NULL,0,NULL,NULL,0,NULL,NULL,NULL,1,0,1,NULL,NULL,NULL,0,0,NULL,NULL,1,'Free Meeting with Online Registration',NULL,NULL,'USD',NULL,1,1,NULL,NULL,NULL,0,'UTC'),
+ (6,NULL,NULL,NULL,1,1,1,NULL,NULL,1,NULL,NULL,NULL,NULL,NULL,1,4,NULL,0,1,'Conference Fee',1,NULL,1,NULL,NULL,'Confirm Your Registration Information',NULL,NULL,1,NULL,'Event Template Dept.','event_templates@example.org',NULL,NULL,NULL,NULL,'Thanks for Registering!',NULL,NULL,0,NULL,NULL,0,NULL,NULL,NULL,1,0,1,NULL,NULL,NULL,0,0,NULL,NULL,1,'Paid Conference with Online Registration',NULL,NULL,'USD',NULL,1,1,NULL,NULL,NULL,0,'UTC');
 /*!40000 ALTER TABLE `civicrm_event` ENABLE KEYS */;
 UNLOCK TABLES;
 
@@ -3641,117 +3608,117 @@ UNLOCK TABLES;
 LOCK TABLES `civicrm_financial_item` WRITE;
 /*!40000 ALTER TABLE `civicrm_financial_item` DISABLE KEYS */;
 INSERT INTO `civicrm_financial_item` (`id`, `created_date`, `transaction_date`, `contact_id`, `description`, `amount`, `currency`, `financial_account_id`, `status_id`, `entity_table`, `entity_id`) VALUES
- (1,'2022-01-05 03:20:53','2012-01-05 03:20:52',2,'Contribution Amount',125.00,'USD',1,1,'civicrm_line_item',1),
- (2,'2022-01-05 03:20:53','2019-10-05 03:20:52',4,'Contribution Amount',50.00,'USD',1,1,'civicrm_line_item',2),
- (3,'2022-01-05 03:20:53','2015-12-10 14:20:52',6,'Contribution Amount',25.00,'GBP',1,1,'civicrm_line_item',3),
- (4,'2022-01-05 03:20:53','2019-10-05 03:20:52',8,'Contribution Amount',50.00,'USD',1,1,'civicrm_line_item',4),
- (5,'2022-01-05 03:20:53','2019-10-05 03:20:52',4,'Contribution Amount',50.00,'USD',1,1,'civicrm_line_item',5),
- (6,'2022-01-05 03:20:53','2021-10-12 02:38:52',16,'Contribution Amount',500.00,'USD',1,1,'civicrm_line_item',6),
- (7,'2022-01-05 03:20:53','2022-01-03 03:20:52',19,'Contribution Amount',1750.00,'USD',1,1,'civicrm_line_item',7),
- (8,'2022-01-05 03:20:53','2021-05-13 11:31:52',82,'Contribution Amount',50.00,'USD',1,1,'civicrm_line_item',8),
- (9,'2022-01-05 03:20:53','2021-02-05 03:20:52',92,'Contribution Amount',10.00,'USD',1,1,'civicrm_line_item',9),
- (10,'2022-01-05 03:20:53','2017-08-13 05:20:52',34,'Contribution Amount',250.00,'USD',1,1,'civicrm_line_item',10),
- (11,'2022-01-05 03:20:53','2022-01-03 23:20:52',71,'Contribution Amount',500.00,'JPY',1,1,'civicrm_line_item',11),
- (12,'2022-01-05 03:20:53','2020-10-04 16:47:32',43,'Contribution Amount',50.00,'USD',1,1,'civicrm_line_item',12),
- (13,'2022-01-05 03:20:53','2021-10-05 00:00:00',32,'Contribution Amount',50.00,'USD',1,1,'civicrm_line_item',13),
- (14,'2022-01-05 03:20:53','2021-11-05 00:00:00',32,'Contribution Amount',50.00,'USD',1,1,'civicrm_line_item',14),
- (15,'2022-01-05 03:20:53','2020-10-05 03:20:52',59,'Contribution Amount',25.00,'USD',1,1,'civicrm_line_item',15),
- (16,'2022-01-05 03:20:53','2020-11-05 03:20:52',59,'Contribution Amount',25.00,'USD',1,1,'civicrm_line_item',16),
- (17,'2022-01-05 03:20:53','2020-12-05 03:20:52',59,'Contribution Amount',25.00,'USD',1,1,'civicrm_line_item',17),
- (18,'2022-01-05 03:20:53','2021-01-05 03:20:52',59,'Contribution Amount',25.00,'USD',1,1,'civicrm_line_item',18),
- (19,'2022-01-05 03:20:53','2021-02-05 03:20:52',59,'Contribution Amount',25.00,'USD',1,1,'civicrm_line_item',19),
- (20,'2022-01-05 03:20:53','2021-03-05 03:20:52',59,'Contribution Amount',25.00,'USD',1,1,'civicrm_line_item',20),
- (21,'2022-01-05 03:20:53','2021-04-05 03:20:52',59,'Contribution Amount',25.00,'USD',1,1,'civicrm_line_item',21),
- (22,'2022-01-05 03:20:53','2021-05-05 03:20:52',59,'Contribution Amount',25.00,'USD',1,1,'civicrm_line_item',22),
- (23,'2022-01-05 03:20:53','2021-06-05 03:20:52',59,'Contribution Amount',25.00,'USD',1,1,'civicrm_line_item',23),
- (24,'2022-01-05 03:20:53','2021-07-05 03:20:52',59,'Contribution Amount',25.00,'USD',1,1,'civicrm_line_item',24),
- (25,'2022-01-05 03:20:53','2021-08-05 03:20:52',59,'Contribution Amount',25.00,'USD',1,1,'civicrm_line_item',25),
- (26,'2022-01-05 03:20:53','2021-05-05 03:20:52',99,'Contribution Amount',10.00,'CAD',1,1,'civicrm_line_item',26),
- (27,'2022-01-05 03:20:53','2021-06-05 03:20:52',99,'Contribution Amount',10.00,'CAD',1,1,'civicrm_line_item',27),
- (28,'2022-01-05 03:20:53','2021-07-05 03:20:52',99,'Contribution Amount',10.00,'CAD',1,1,'civicrm_line_item',28),
- (29,'2022-01-05 03:20:53','2021-08-05 03:20:52',99,'Contribution Amount',10.00,'CAD',1,1,'civicrm_line_item',29),
- (30,'2022-01-05 03:20:53','2021-09-05 03:20:52',99,'Contribution Amount',10.00,'CAD',1,1,'civicrm_line_item',30),
- (31,'2022-01-05 03:20:53','2021-12-05 03:20:52',103,'Contribution Amount',5.00,'EUR',1,1,'civicrm_line_item',31),
- (32,'2022-01-05 03:20:53','2022-01-05 03:20:52',65,'General',100.00,'USD',2,1,'civicrm_line_item',32),
- (33,'2022-01-05 03:20:53','2022-01-05 03:20:52',41,'General',100.00,'USD',2,1,'civicrm_line_item',33),
- (34,'2022-01-05 03:20:53','2022-01-05 03:20:52',130,'General',100.00,'USD',2,1,'civicrm_line_item',34),
- (35,'2022-01-05 03:20:53','2022-01-05 03:20:52',58,'General',100.00,'USD',2,1,'civicrm_line_item',35),
- (36,'2022-01-05 03:20:54','2022-01-05 03:20:52',40,'General',100.00,'USD',2,1,'civicrm_line_item',36),
- (37,'2022-01-05 03:20:54','2022-01-05 03:20:52',36,'General',100.00,'USD',2,1,'civicrm_line_item',37),
- (38,'2022-01-05 03:20:54','2022-01-05 03:20:52',6,'General',100.00,'USD',2,1,'civicrm_line_item',38),
- (39,'2022-01-05 03:20:54','2022-01-05 03:20:52',140,'General',100.00,'USD',2,1,'civicrm_line_item',39),
- (40,'2022-01-05 03:20:54','2022-01-05 03:20:52',95,'General',100.00,'USD',2,1,'civicrm_line_item',40),
- (41,'2022-01-05 03:20:54','2022-01-05 03:20:52',3,'General',100.00,'USD',2,1,'civicrm_line_item',41),
- (42,'2022-01-05 03:20:54','2022-01-05 03:20:52',19,'General',100.00,'USD',2,1,'civicrm_line_item',42),
- (43,'2022-01-05 03:20:54','2022-01-05 03:20:52',24,'General',100.00,'USD',2,1,'civicrm_line_item',43),
- (44,'2022-01-05 03:20:54','2022-01-05 03:20:52',107,'General',100.00,'USD',2,1,'civicrm_line_item',44),
- (45,'2022-01-05 03:20:54','2022-01-05 03:20:52',66,'General',100.00,'USD',2,1,'civicrm_line_item',45),
- (46,'2022-01-05 03:20:54','2022-01-05 03:20:52',202,'General',100.00,'USD',2,1,'civicrm_line_item',46),
- (47,'2022-01-05 03:20:54','2022-01-05 03:20:52',189,'Student',50.00,'USD',2,1,'civicrm_line_item',47),
- (48,'2022-01-05 03:20:54','2022-01-05 03:20:52',35,'Student',50.00,'USD',2,1,'civicrm_line_item',48),
- (49,'2022-01-05 03:20:54','2022-01-05 03:20:52',9,'Student',50.00,'USD',2,1,'civicrm_line_item',49),
- (50,'2022-01-05 03:20:54','2022-01-05 03:20:52',190,'Student',50.00,'USD',2,1,'civicrm_line_item',50),
- (51,'2022-01-05 03:20:54','2022-01-05 03:20:52',149,'Student',50.00,'USD',2,1,'civicrm_line_item',51),
- (52,'2022-01-05 03:20:54','2022-01-05 03:20:52',97,'Student',50.00,'USD',2,1,'civicrm_line_item',52),
- (53,'2022-01-05 03:20:54','2022-01-05 03:20:52',12,'Student',50.00,'USD',2,1,'civicrm_line_item',53),
- (54,'2022-01-05 03:20:54','2022-01-05 03:20:52',28,'Student',50.00,'USD',2,1,'civicrm_line_item',54),
- (55,'2022-01-05 03:20:54','2022-01-05 03:20:52',69,'Student',50.00,'USD',2,1,'civicrm_line_item',55),
- (56,'2022-01-05 03:20:54','2022-01-05 03:20:52',162,'Student',50.00,'USD',2,1,'civicrm_line_item',56),
- (57,'2022-01-05 03:20:54','2022-01-05 03:20:52',127,'Student',50.00,'USD',2,1,'civicrm_line_item',57),
- (58,'2022-01-05 03:20:54','2022-01-05 03:20:52',13,'Student',50.00,'USD',2,1,'civicrm_line_item',58),
- (59,'2022-01-05 03:20:54','2022-01-05 03:20:52',105,'Student',50.00,'USD',2,1,'civicrm_line_item',59),
- (60,'2022-01-05 03:20:54','2022-01-05 03:20:52',186,'Lifetime',1200.00,'USD',2,1,'civicrm_line_item',60),
- (61,'2022-01-05 03:20:54','2022-01-05 03:20:52',59,'Lifetime',1200.00,'USD',2,1,'civicrm_line_item',61),
- (62,'2022-01-05 03:20:54','2022-01-05 03:20:53',68,'Soprano',50.00,'USD',2,1,'civicrm_line_item',97),
- (63,'2022-01-05 03:20:54','2022-01-05 03:20:53',7,'Soprano',50.00,'USD',2,1,'civicrm_line_item',98),
- (64,'2022-01-05 03:20:54','2022-01-05 03:20:53',154,'Soprano',50.00,'USD',2,1,'civicrm_line_item',99),
- (65,'2022-01-05 03:20:54','2022-01-05 03:20:53',71,'Soprano',50.00,'USD',2,1,'civicrm_line_item',100),
- (66,'2022-01-05 03:20:54','2022-01-05 03:20:53',11,'Soprano',50.00,'USD',2,1,'civicrm_line_item',101),
- (67,'2022-01-05 03:20:54','2022-01-05 03:20:53',158,'Soprano',50.00,'USD',2,1,'civicrm_line_item',102),
- (68,'2022-01-05 03:20:54','2022-01-05 03:20:53',149,'Soprano',50.00,'USD',2,1,'civicrm_line_item',103),
- (69,'2022-01-05 03:20:54','2022-01-05 03:20:53',152,'Soprano',50.00,'USD',2,1,'civicrm_line_item',104),
- (70,'2022-01-05 03:20:54','2022-01-05 03:20:53',69,'Soprano',50.00,'USD',2,1,'civicrm_line_item',105),
- (71,'2022-01-05 03:20:54','2022-01-05 03:20:53',116,'Soprano',50.00,'USD',2,1,'civicrm_line_item',106),
- (72,'2022-01-05 03:20:54','2022-01-05 03:20:53',103,'Soprano',50.00,'USD',2,1,'civicrm_line_item',107),
- (73,'2022-01-05 03:20:54','2022-01-05 03:20:53',128,'Soprano',50.00,'USD',2,1,'civicrm_line_item',108),
- (74,'2022-01-05 03:20:54','2022-01-05 03:20:53',72,'Soprano',50.00,'USD',2,1,'civicrm_line_item',109),
- (75,'2022-01-05 03:20:54','2022-01-05 03:20:53',99,'Soprano',50.00,'USD',2,1,'civicrm_line_item',110),
- (76,'2022-01-05 03:20:54','2022-01-05 03:20:53',129,'Soprano',50.00,'USD',2,1,'civicrm_line_item',111),
- (77,'2022-01-05 03:20:55','2022-01-05 03:20:53',160,'Soprano',50.00,'USD',2,1,'civicrm_line_item',112),
- (78,'2022-01-05 03:20:55','2022-01-05 03:20:53',5,'Tiny-tots (ages 5-8)',800.00,'USD',4,1,'civicrm_line_item',63),
- (79,'2022-01-05 03:20:55','2022-01-05 03:20:53',58,'Tiny-tots (ages 5-8)',800.00,'USD',4,1,'civicrm_line_item',64),
- (80,'2022-01-05 03:20:55','2022-01-05 03:20:53',16,'Tiny-tots (ages 5-8)',800.00,'USD',4,1,'civicrm_line_item',65),
- (81,'2022-01-05 03:20:55','2022-01-05 03:20:53',14,'Tiny-tots (ages 5-8)',800.00,'USD',4,1,'civicrm_line_item',66),
- (82,'2022-01-05 03:20:55','2022-01-05 03:20:53',66,'Tiny-tots (ages 5-8)',800.00,'USD',4,1,'civicrm_line_item',67),
- (83,'2022-01-05 03:20:55','2022-01-05 03:20:53',73,'Tiny-tots (ages 5-8)',800.00,'USD',4,1,'civicrm_line_item',68),
- (84,'2022-01-05 03:20:55','2022-01-05 03:20:53',150,'Tiny-tots (ages 5-8)',800.00,'USD',4,1,'civicrm_line_item',69),
- (85,'2022-01-05 03:20:55','2022-01-05 03:20:53',146,'Tiny-tots (ages 5-8)',800.00,'USD',4,1,'civicrm_line_item',70),
- (86,'2022-01-05 03:20:55','2022-01-05 03:20:53',156,'Tiny-tots (ages 5-8)',800.00,'USD',4,1,'civicrm_line_item',71),
- (87,'2022-01-05 03:20:55','2022-01-05 03:20:53',185,'Tiny-tots (ages 5-8)',800.00,'USD',4,1,'civicrm_line_item',72),
- (88,'2022-01-05 03:20:55','2022-01-05 03:20:53',25,'Tiny-tots (ages 5-8)',800.00,'USD',4,1,'civicrm_line_item',73),
- (89,'2022-01-05 03:20:55','2022-01-05 03:20:53',157,'Tiny-tots (ages 5-8)',800.00,'USD',4,1,'civicrm_line_item',74),
- (90,'2022-01-05 03:20:55','2022-01-05 03:20:53',55,'Tiny-tots (ages 5-8)',800.00,'USD',4,1,'civicrm_line_item',75),
- (91,'2022-01-05 03:20:55','2022-01-05 03:20:53',44,'Tiny-tots (ages 5-8)',800.00,'USD',4,1,'civicrm_line_item',76),
- (92,'2022-01-05 03:20:55','2022-01-05 03:20:53',82,'Tiny-tots (ages 5-8)',800.00,'USD',4,1,'civicrm_line_item',77),
- (93,'2022-01-05 03:20:55','2022-01-05 03:20:53',37,'Tiny-tots (ages 5-8)',800.00,'USD',4,1,'civicrm_line_item',78),
- (94,'2022-01-05 03:20:55','2022-01-05 03:20:53',202,'Tiny-tots (ages 5-8)',800.00,'USD',4,1,'civicrm_line_item',79),
- (95,'2022-01-05 03:20:55','2022-01-05 03:20:53',104,'Tiny-tots (ages 5-8)',800.00,'USD',4,1,'civicrm_line_item',80),
- (96,'2022-01-05 03:20:55','2022-01-05 03:20:53',134,'Single',50.00,'USD',4,1,'civicrm_line_item',81),
- (97,'2022-01-05 03:20:55','2022-01-05 03:20:53',151,'Single',50.00,'USD',4,1,'civicrm_line_item',82),
- (98,'2022-01-05 03:20:55','2022-01-05 03:20:53',175,'Single',50.00,'USD',4,1,'civicrm_line_item',83),
- (99,'2022-01-05 03:20:55','2022-01-05 03:20:53',117,'Single',50.00,'USD',4,1,'civicrm_line_item',84),
- (100,'2022-01-05 03:20:55','2022-01-05 03:20:53',195,'Single',50.00,'USD',4,1,'civicrm_line_item',85),
- (101,'2022-01-05 03:20:55','2022-01-05 03:20:53',144,'Single',50.00,'USD',4,1,'civicrm_line_item',86),
- (102,'2022-01-05 03:20:55','2022-01-05 03:20:53',184,'Single',50.00,'USD',4,1,'civicrm_line_item',87),
- (103,'2022-01-05 03:20:55','2022-01-05 03:20:53',87,'Single',50.00,'USD',4,1,'civicrm_line_item',88),
- (104,'2022-01-05 03:20:55','2022-01-05 03:20:53',178,'Single',50.00,'USD',4,1,'civicrm_line_item',89),
- (105,'2022-01-05 03:20:55','2022-01-05 03:20:53',81,'Single',50.00,'USD',4,1,'civicrm_line_item',90),
- (106,'2022-01-05 03:20:55','2022-01-05 03:20:53',21,'Single',50.00,'USD',4,1,'civicrm_line_item',91),
- (107,'2022-01-05 03:20:55','2022-01-05 03:20:53',4,'Single',50.00,'USD',4,1,'civicrm_line_item',92),
- (108,'2022-01-05 03:20:55','2022-01-05 03:20:53',93,'Single',50.00,'USD',4,1,'civicrm_line_item',93),
- (109,'2022-01-05 03:20:55','2022-01-05 03:20:53',121,'Single',50.00,'USD',4,1,'civicrm_line_item',94),
- (110,'2022-01-05 03:20:55','2022-01-05 03:20:53',1,'Single',50.00,'USD',4,1,'civicrm_line_item',95),
- (111,'2022-01-05 03:20:55','2022-01-05 03:20:53',28,'Single',50.00,'USD',4,1,'civicrm_line_item',96);
+ (1,'2022-02-28 22:32:41','2012-02-28 22:32:40',2,'Contribution Amount',125.00,'USD',1,1,'civicrm_line_item',1),
+ (2,'2022-02-28 22:32:41','2019-11-28 22:32:40',4,'Contribution Amount',50.00,'USD',1,1,'civicrm_line_item',2),
+ (3,'2022-02-28 22:32:41','2016-02-03 09:32:40',6,'Contribution Amount',25.00,'GBP',1,1,'civicrm_line_item',3),
+ (4,'2022-02-28 22:32:41','2019-11-28 22:32:40',8,'Contribution Amount',50.00,'USD',1,1,'civicrm_line_item',4),
+ (5,'2022-02-28 22:32:41','2019-11-28 22:32:40',4,'Contribution Amount',50.00,'USD',1,1,'civicrm_line_item',5),
+ (6,'2022-02-28 22:32:41','2021-12-05 21:50:40',16,'Contribution Amount',500.00,'USD',1,1,'civicrm_line_item',6),
+ (7,'2022-02-28 22:32:41','2022-02-26 22:32:40',19,'Contribution Amount',1750.00,'USD',1,1,'civicrm_line_item',7),
+ (8,'2022-02-28 22:32:41','2021-07-07 06:43:40',82,'Contribution Amount',50.00,'USD',1,1,'civicrm_line_item',8),
+ (9,'2022-02-28 22:32:41','2021-03-28 22:32:40',92,'Contribution Amount',10.00,'USD',1,1,'civicrm_line_item',9),
+ (10,'2022-02-28 22:32:41','2017-10-06 00:32:40',34,'Contribution Amount',250.00,'USD',1,1,'civicrm_line_item',10),
+ (11,'2022-02-28 22:32:41','2022-02-27 18:32:40',71,'Contribution Amount',500.00,'JPY',1,1,'civicrm_line_item',11),
+ (12,'2022-02-28 22:32:41','2020-11-28 11:59:20',43,'Contribution Amount',50.00,'USD',1,1,'civicrm_line_item',12),
+ (13,'2022-02-28 22:32:41','2021-11-28 00:00:00',32,'Contribution Amount',50.00,'USD',1,1,'civicrm_line_item',13),
+ (14,'2022-02-28 22:32:41','2021-12-28 00:00:00',32,'Contribution Amount',50.00,'USD',1,1,'civicrm_line_item',14),
+ (15,'2022-02-28 22:32:41','2020-11-28 22:32:40',59,'Contribution Amount',25.00,'USD',1,1,'civicrm_line_item',15),
+ (16,'2022-02-28 22:32:41','2020-12-28 22:32:40',59,'Contribution Amount',25.00,'USD',1,1,'civicrm_line_item',16),
+ (17,'2022-02-28 22:32:41','2021-01-28 22:32:40',59,'Contribution Amount',25.00,'USD',1,1,'civicrm_line_item',17),
+ (18,'2022-02-28 22:32:41','2021-02-28 22:32:40',59,'Contribution Amount',25.00,'USD',1,1,'civicrm_line_item',18),
+ (19,'2022-02-28 22:32:41','2021-03-28 22:32:40',59,'Contribution Amount',25.00,'USD',1,1,'civicrm_line_item',19),
+ (20,'2022-02-28 22:32:41','2021-04-28 22:32:40',59,'Contribution Amount',25.00,'USD',1,1,'civicrm_line_item',20),
+ (21,'2022-02-28 22:32:41','2021-05-28 22:32:40',59,'Contribution Amount',25.00,'USD',1,1,'civicrm_line_item',21),
+ (22,'2022-02-28 22:32:41','2021-06-28 22:32:40',59,'Contribution Amount',25.00,'USD',1,1,'civicrm_line_item',22),
+ (23,'2022-02-28 22:32:41','2021-07-28 22:32:40',59,'Contribution Amount',25.00,'USD',1,1,'civicrm_line_item',23),
+ (24,'2022-02-28 22:32:41','2021-08-28 22:32:40',59,'Contribution Amount',25.00,'USD',1,1,'civicrm_line_item',24),
+ (25,'2022-02-28 22:32:41','2021-09-28 22:32:40',59,'Contribution Amount',25.00,'USD',1,1,'civicrm_line_item',25),
+ (26,'2022-02-28 22:32:41','2021-06-28 22:32:40',99,'Contribution Amount',10.00,'CAD',1,1,'civicrm_line_item',26),
+ (27,'2022-02-28 22:32:41','2021-07-28 22:32:40',99,'Contribution Amount',10.00,'CAD',1,1,'civicrm_line_item',27),
+ (28,'2022-02-28 22:32:41','2021-08-28 22:32:40',99,'Contribution Amount',10.00,'CAD',1,1,'civicrm_line_item',28),
+ (29,'2022-02-28 22:32:41','2021-09-28 22:32:40',99,'Contribution Amount',10.00,'CAD',1,1,'civicrm_line_item',29),
+ (30,'2022-02-28 22:32:41','2021-10-28 22:32:40',99,'Contribution Amount',10.00,'CAD',1,1,'civicrm_line_item',30),
+ (31,'2022-02-28 22:32:41','2022-01-28 22:32:40',103,'Contribution Amount',5.00,'EUR',1,1,'civicrm_line_item',31),
+ (32,'2022-02-28 22:32:41','2022-02-28 22:32:40',175,'General',100.00,'USD',2,1,'civicrm_line_item',32),
+ (33,'2022-02-28 22:32:41','2022-02-28 22:32:40',65,'General',100.00,'USD',2,1,'civicrm_line_item',33),
+ (34,'2022-02-28 22:32:41','2022-02-28 22:32:40',159,'General',100.00,'USD',2,1,'civicrm_line_item',34),
+ (35,'2022-02-28 22:32:41','2022-02-28 22:32:40',26,'General',100.00,'USD',2,1,'civicrm_line_item',35),
+ (36,'2022-02-28 22:32:41','2022-02-28 22:32:40',90,'General',100.00,'USD',2,1,'civicrm_line_item',36),
+ (37,'2022-02-28 22:32:41','2022-02-28 22:32:40',82,'General',100.00,'USD',2,1,'civicrm_line_item',37),
+ (38,'2022-02-28 22:32:41','2022-02-28 22:32:40',34,'General',100.00,'USD',2,1,'civicrm_line_item',38),
+ (39,'2022-02-28 22:32:41','2022-02-28 22:32:40',163,'General',100.00,'USD',2,1,'civicrm_line_item',39),
+ (40,'2022-02-28 22:32:41','2022-02-28 22:32:40',27,'General',100.00,'USD',2,1,'civicrm_line_item',40),
+ (41,'2022-02-28 22:32:41','2022-02-28 22:32:40',99,'General',100.00,'USD',2,1,'civicrm_line_item',41),
+ (42,'2022-02-28 22:32:41','2022-02-28 22:32:40',174,'General',100.00,'USD',2,1,'civicrm_line_item',42),
+ (43,'2022-02-28 22:32:41','2022-02-28 22:32:40',70,'General',100.00,'USD',2,1,'civicrm_line_item',43),
+ (44,'2022-02-28 22:32:41','2022-02-28 22:32:40',137,'General',100.00,'USD',2,1,'civicrm_line_item',44),
+ (45,'2022-02-28 22:32:41','2022-02-28 22:32:40',107,'General',100.00,'USD',2,1,'civicrm_line_item',45),
+ (46,'2022-02-28 22:32:41','2022-02-28 22:32:40',105,'Student',50.00,'USD',2,1,'civicrm_line_item',46),
+ (47,'2022-02-28 22:32:41','2022-02-28 22:32:40',179,'Student',50.00,'USD',2,1,'civicrm_line_item',47),
+ (48,'2022-02-28 22:32:41','2022-02-28 22:32:40',157,'Student',50.00,'USD',2,1,'civicrm_line_item',48),
+ (49,'2022-02-28 22:32:41','2022-02-28 22:32:40',184,'Student',50.00,'USD',2,1,'civicrm_line_item',49),
+ (50,'2022-02-28 22:32:41','2022-02-28 22:32:40',167,'Student',50.00,'USD',2,1,'civicrm_line_item',50),
+ (51,'2022-02-28 22:32:41','2022-02-28 22:32:40',40,'Student',50.00,'USD',2,1,'civicrm_line_item',51),
+ (52,'2022-02-28 22:32:41','2022-02-28 22:32:40',16,'Student',50.00,'USD',2,1,'civicrm_line_item',52),
+ (53,'2022-02-28 22:32:41','2022-02-28 22:32:40',79,'Student',50.00,'USD',2,1,'civicrm_line_item',53),
+ (54,'2022-02-28 22:32:41','2022-02-28 22:32:40',75,'Student',50.00,'USD',2,1,'civicrm_line_item',54),
+ (55,'2022-02-28 22:32:41','2022-02-28 22:32:40',134,'Student',50.00,'USD',2,1,'civicrm_line_item',55),
+ (56,'2022-02-28 22:32:41','2022-02-28 22:32:40',188,'Student',50.00,'USD',2,1,'civicrm_line_item',56),
+ (57,'2022-02-28 22:32:41','2022-02-28 22:32:40',12,'Student',50.00,'USD',2,1,'civicrm_line_item',57),
+ (58,'2022-02-28 22:32:41','2022-02-28 22:32:40',101,'Student',50.00,'USD',2,1,'civicrm_line_item',58),
+ (59,'2022-02-28 22:32:41','2022-02-28 22:32:40',192,'Student',50.00,'USD',2,1,'civicrm_line_item',59),
+ (60,'2022-02-28 22:32:41','2022-02-28 22:32:40',3,'Lifetime',1200.00,'USD',2,1,'civicrm_line_item',60),
+ (61,'2022-02-28 22:32:41','2022-02-28 22:32:40',195,'Lifetime',1200.00,'USD',2,1,'civicrm_line_item',61),
+ (62,'2022-02-28 22:32:41','2022-02-28 22:32:40',60,'Soprano',50.00,'USD',2,1,'civicrm_line_item',97),
+ (63,'2022-02-28 22:32:41','2022-02-28 22:32:40',119,'Soprano',50.00,'USD',2,1,'civicrm_line_item',98),
+ (64,'2022-02-28 22:32:41','2022-02-28 22:32:40',124,'Soprano',50.00,'USD',2,1,'civicrm_line_item',99),
+ (65,'2022-02-28 22:32:41','2022-02-28 22:32:40',75,'Soprano',50.00,'USD',2,1,'civicrm_line_item',100),
+ (66,'2022-02-28 22:32:41','2022-02-28 22:32:40',150,'Soprano',50.00,'USD',2,1,'civicrm_line_item',101),
+ (67,'2022-02-28 22:32:41','2022-02-28 22:32:40',191,'Soprano',50.00,'USD',2,1,'civicrm_line_item',102),
+ (68,'2022-02-28 22:32:41','2022-02-28 22:32:40',49,'Soprano',50.00,'USD',2,1,'civicrm_line_item',103),
+ (69,'2022-02-28 22:32:41','2022-02-28 22:32:40',158,'Soprano',50.00,'USD',2,1,'civicrm_line_item',104),
+ (70,'2022-02-28 22:32:41','2022-02-28 22:32:40',25,'Soprano',50.00,'USD',2,1,'civicrm_line_item',105),
+ (71,'2022-02-28 22:32:41','2022-02-28 22:32:40',44,'Soprano',50.00,'USD',2,1,'civicrm_line_item',106),
+ (72,'2022-02-28 22:32:41','2022-02-28 22:32:40',151,'Soprano',50.00,'USD',2,1,'civicrm_line_item',107),
+ (73,'2022-02-28 22:32:41','2022-02-28 22:32:40',40,'Soprano',50.00,'USD',2,1,'civicrm_line_item',108),
+ (74,'2022-02-28 22:32:41','2022-02-28 22:32:40',4,'Soprano',50.00,'USD',2,1,'civicrm_line_item',109),
+ (75,'2022-02-28 22:32:41','2022-02-28 22:32:40',168,'Soprano',50.00,'USD',2,1,'civicrm_line_item',110),
+ (76,'2022-02-28 22:32:41','2022-02-28 22:32:40',71,'Soprano',50.00,'USD',2,1,'civicrm_line_item',111),
+ (77,'2022-02-28 22:32:41','2022-02-28 22:32:40',88,'Soprano',50.00,'USD',2,1,'civicrm_line_item',112),
+ (78,'2022-02-28 22:32:41','2022-02-28 22:32:40',178,'Tiny-tots (ages 5-8)',800.00,'USD',4,1,'civicrm_line_item',63),
+ (79,'2022-02-28 22:32:41','2022-02-28 22:32:40',138,'Tiny-tots (ages 5-8)',800.00,'USD',4,1,'civicrm_line_item',64),
+ (80,'2022-02-28 22:32:41','2022-02-28 22:32:40',65,'Tiny-tots (ages 5-8)',800.00,'USD',4,1,'civicrm_line_item',65),
+ (81,'2022-02-28 22:32:41','2022-02-28 22:32:40',182,'Tiny-tots (ages 5-8)',800.00,'USD',4,1,'civicrm_line_item',66),
+ (82,'2022-02-28 22:32:41','2022-02-28 22:32:40',202,'Tiny-tots (ages 5-8)',800.00,'USD',4,1,'civicrm_line_item',67),
+ (83,'2022-02-28 22:32:41','2022-02-28 22:32:40',185,'Tiny-tots (ages 5-8)',800.00,'USD',4,1,'civicrm_line_item',68),
+ (84,'2022-02-28 22:32:41','2022-02-28 22:32:40',128,'Tiny-tots (ages 5-8)',800.00,'USD',4,1,'civicrm_line_item',69),
+ (85,'2022-02-28 22:32:41','2022-02-28 22:32:40',63,'Tiny-tots (ages 5-8)',800.00,'USD',4,1,'civicrm_line_item',70),
+ (86,'2022-02-28 22:32:41','2022-02-28 22:32:40',181,'Tiny-tots (ages 5-8)',800.00,'USD',4,1,'civicrm_line_item',71),
+ (87,'2022-02-28 22:32:41','2022-02-28 22:32:40',157,'Tiny-tots (ages 5-8)',800.00,'USD',4,1,'civicrm_line_item',72),
+ (88,'2022-02-28 22:32:41','2022-02-28 22:32:40',89,'Tiny-tots (ages 5-8)',800.00,'USD',4,1,'civicrm_line_item',73),
+ (89,'2022-02-28 22:32:41','2022-02-28 22:32:40',48,'Tiny-tots (ages 5-8)',800.00,'USD',4,1,'civicrm_line_item',74),
+ (90,'2022-02-28 22:32:41','2022-02-28 22:32:40',20,'Tiny-tots (ages 5-8)',800.00,'USD',4,1,'civicrm_line_item',75),
+ (91,'2022-02-28 22:32:41','2022-02-28 22:32:40',29,'Tiny-tots (ages 5-8)',800.00,'USD',4,1,'civicrm_line_item',76),
+ (92,'2022-02-28 22:32:41','2022-02-28 22:32:40',22,'Tiny-tots (ages 5-8)',800.00,'USD',4,1,'civicrm_line_item',77),
+ (93,'2022-02-28 22:32:41','2022-02-28 22:32:40',61,'Tiny-tots (ages 5-8)',800.00,'USD',4,1,'civicrm_line_item',78),
+ (94,'2022-02-28 22:32:41','2022-02-28 22:32:40',172,'Tiny-tots (ages 5-8)',800.00,'USD',4,1,'civicrm_line_item',79),
+ (95,'2022-02-28 22:32:41','2022-02-28 22:32:40',99,'Tiny-tots (ages 5-8)',800.00,'USD',4,1,'civicrm_line_item',80),
+ (96,'2022-02-28 22:32:41','2022-02-28 22:32:40',156,'Single',50.00,'USD',4,1,'civicrm_line_item',81),
+ (97,'2022-02-28 22:32:41','2022-02-28 22:32:40',100,'Single',50.00,'USD',4,1,'civicrm_line_item',82),
+ (98,'2022-02-28 22:32:41','2022-02-28 22:32:40',167,'Single',50.00,'USD',4,1,'civicrm_line_item',83),
+ (99,'2022-02-28 22:32:41','2022-02-28 22:32:40',58,'Single',50.00,'USD',4,1,'civicrm_line_item',84),
+ (100,'2022-02-28 22:32:41','2022-02-28 22:32:40',51,'Single',50.00,'USD',4,1,'civicrm_line_item',85),
+ (101,'2022-02-28 22:32:41','2022-02-28 22:32:40',15,'Single',50.00,'USD',4,1,'civicrm_line_item',86),
+ (102,'2022-02-28 22:32:41','2022-02-28 22:32:40',87,'Single',50.00,'USD',4,1,'civicrm_line_item',87),
+ (103,'2022-02-28 22:32:41','2022-02-28 22:32:40',32,'Single',50.00,'USD',4,1,'civicrm_line_item',88),
+ (104,'2022-02-28 22:32:41','2022-02-28 22:32:40',31,'Single',50.00,'USD',4,1,'civicrm_line_item',89),
+ (105,'2022-02-28 22:32:41','2022-02-28 22:32:40',123,'Single',50.00,'USD',4,1,'civicrm_line_item',90),
+ (106,'2022-02-28 22:32:41','2022-02-28 22:32:40',132,'Single',50.00,'USD',4,1,'civicrm_line_item',91),
+ (107,'2022-02-28 22:32:41','2022-02-28 22:32:40',200,'Single',50.00,'USD',4,1,'civicrm_line_item',92),
+ (108,'2022-02-28 22:32:41','2022-02-28 22:32:40',42,'Single',50.00,'USD',4,1,'civicrm_line_item',93),
+ (109,'2022-02-28 22:32:41','2022-02-28 22:32:40',113,'Single',50.00,'USD',4,1,'civicrm_line_item',94),
+ (110,'2022-02-28 22:32:41','2022-02-28 22:32:40',194,'Single',50.00,'USD',4,1,'civicrm_line_item',95),
+ (111,'2022-02-28 22:32:41','2022-02-28 22:32:40',189,'Single',50.00,'USD',4,1,'civicrm_line_item',96);
 /*!40000 ALTER TABLE `civicrm_financial_item` ENABLE KEYS */;
 UNLOCK TABLES;
 
@@ -3762,117 +3729,117 @@ UNLOCK TABLES;
 LOCK TABLES `civicrm_financial_trxn` WRITE;
 /*!40000 ALTER TABLE `civicrm_financial_trxn` DISABLE KEYS */;
 INSERT INTO `civicrm_financial_trxn` (`id`, `from_financial_account_id`, `to_financial_account_id`, `trxn_date`, `total_amount`, `fee_amount`, `net_amount`, `currency`, `is_payment`, `trxn_id`, `trxn_result_code`, `status_id`, `payment_processor_id`, `payment_instrument_id`, `card_type_id`, `check_number`, `pan_truncation`, `order_reference`) VALUES
- (1,NULL,6,'2012-01-05 03:20:52',125.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,4,NULL,'1041',NULL,NULL),
- (2,NULL,6,'2019-10-05 03:20:52',50.00,NULL,NULL,'USD',1,'P20901X1',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (3,NULL,6,'2015-12-10 14:20:52',25.00,NULL,NULL,'GBP',1,'GBP12',NULL,1,NULL,4,NULL,'2095',NULL,NULL),
- (4,NULL,6,'2019-10-05 03:20:52',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,4,NULL,'10552',NULL,NULL),
- (5,NULL,6,'2019-10-05 03:20:52',50.00,NULL,NULL,'USD',1,'Q90901X1',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (6,NULL,6,'2021-10-12 02:38:52',500.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,4,NULL,'509',NULL,NULL),
- (7,NULL,6,'2022-01-03 03:20:52',1750.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,'102',NULL,NULL),
- (8,NULL,6,'2021-05-13 11:31:52',50.00,NULL,NULL,'USD',1,'P20193L2',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (9,NULL,6,'2021-02-05 03:20:52',10.00,NULL,NULL,'USD',1,'P40232Y3',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (10,NULL,6,'2017-08-13 05:20:52',250.00,NULL,NULL,'USD',1,'P20193L6',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (11,NULL,6,'2022-01-03 23:20:52',500.00,NULL,NULL,'JPY',1,'PL71',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (12,NULL,6,'2020-10-04 16:47:32',50.00,NULL,NULL,'USD',1,'P291X1',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (13,NULL,6,'2021-10-05 00:00:00',50.00,NULL,NULL,'USD',1,'PL32I',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (14,NULL,6,'2021-11-05 00:00:00',50.00,NULL,NULL,'USD',1,'PL32II',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (15,NULL,6,'2020-10-05 03:20:52',25.00,NULL,NULL,'USD',1,'PL32I591',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (16,NULL,6,'2020-11-05 03:20:52',25.00,NULL,NULL,'USD',1,'PL32I592',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (17,NULL,6,'2020-12-05 03:20:52',25.00,NULL,NULL,'USD',1,'PL32I593',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (18,NULL,6,'2021-01-05 03:20:52',25.00,NULL,NULL,'USD',1,'PL32I594',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (19,NULL,6,'2021-02-05 03:20:52',25.00,NULL,NULL,'USD',1,'PL32I595',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (20,NULL,6,'2021-03-05 03:20:52',25.00,NULL,NULL,'USD',1,'PL32I596',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (21,NULL,6,'2021-04-05 03:20:52',25.00,NULL,NULL,'USD',1,'PL32I597',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (22,NULL,6,'2021-05-05 03:20:52',25.00,NULL,NULL,'USD',1,'PL32I598',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (23,NULL,6,'2021-06-05 03:20:52',25.00,NULL,NULL,'USD',1,'PL32I599',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (24,NULL,6,'2021-07-05 03:20:52',25.00,NULL,NULL,'USD',1,'PL32I5910',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (25,NULL,6,'2021-08-05 03:20:52',25.00,NULL,NULL,'USD',1,'PL32I5911',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (26,NULL,6,'2021-05-05 03:20:52',10.00,NULL,NULL,'CAD',1,'PL32I991',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (27,NULL,6,'2021-06-05 03:20:52',10.00,NULL,NULL,'CAD',1,'PL32I992',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (28,NULL,6,'2021-07-05 03:20:52',10.00,NULL,NULL,'CAD',1,'PL32I993',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (29,NULL,6,'2021-08-05 03:20:52',10.00,NULL,NULL,'CAD',1,'PL32I994',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (30,NULL,6,'2021-09-05 03:20:52',10.00,NULL,NULL,'CAD',1,'PL32I995',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (31,NULL,6,'2021-12-05 03:20:52',5.00,NULL,NULL,'EUR',1,'PL32I1031',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (32,NULL,6,'2022-01-05 03:20:52',100.00,NULL,NULL,'USD',1,'c145faee0d04bf23',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (33,NULL,6,'2022-01-05 03:20:52',100.00,NULL,NULL,'USD',1,'e7792c9d495e0d43',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (34,NULL,6,'2022-01-05 03:20:52',100.00,NULL,NULL,'USD',1,'efef6bf98c1ee77b',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (35,NULL,6,'2022-01-05 03:20:52',100.00,NULL,NULL,'USD',1,'efd9264db11420e7',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (36,NULL,6,'2022-01-05 03:20:52',100.00,NULL,NULL,'USD',1,'1c414af7029d5ac9',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (37,NULL,6,'2022-01-05 03:20:52',100.00,NULL,NULL,'USD',1,'bf70d15a447dc3de',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (38,NULL,6,'2022-01-05 03:20:52',100.00,NULL,NULL,'USD',1,'feee4f9be413a3ce',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (39,NULL,6,'2022-01-05 03:20:52',100.00,NULL,NULL,'USD',1,'4c1f04e50a7343bb',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (40,NULL,6,'2022-01-05 03:20:52',100.00,NULL,NULL,'USD',1,'1a38ad9c21aed03f',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (41,NULL,6,'2022-01-05 03:20:52',100.00,NULL,NULL,'USD',1,'5366983810d9c038',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (42,NULL,6,'2022-01-05 03:20:52',100.00,NULL,NULL,'USD',1,'bdbe43be980b026b',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (43,NULL,6,'2022-01-05 03:20:52',100.00,NULL,NULL,'USD',1,'fdc01698bb8c3398',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (44,NULL,6,'2022-01-05 03:20:52',100.00,NULL,NULL,'USD',1,'155b209f8d67d6ee',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (45,NULL,6,'2022-01-05 03:20:52',100.00,NULL,NULL,'USD',1,'d68233cbe4638c58',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (46,NULL,6,'2022-01-05 03:20:52',100.00,NULL,NULL,'USD',1,'19d34702504cd535',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (47,NULL,6,'2022-01-05 03:20:52',50.00,NULL,NULL,'USD',1,'ce783c2980c895fb',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (48,NULL,6,'2022-01-05 03:20:52',50.00,NULL,NULL,'USD',1,'15dd8d947457e182',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (49,NULL,6,'2022-01-05 03:20:52',50.00,NULL,NULL,'USD',1,'ee8f336df39896c3',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (50,NULL,6,'2022-01-05 03:20:52',50.00,NULL,NULL,'USD',1,'add86bce477d8c75',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (51,NULL,6,'2022-01-05 03:20:52',50.00,NULL,NULL,'USD',1,'a68da4816cff3740',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (52,NULL,6,'2022-01-05 03:20:52',50.00,NULL,NULL,'USD',1,'d96c76487dcc6bdc',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (53,NULL,6,'2022-01-05 03:20:52',50.00,NULL,NULL,'USD',1,'d957a42dd6dd6a9e',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (54,NULL,6,'2022-01-05 03:20:52',50.00,NULL,NULL,'USD',1,'c041fb11501b15f7',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (55,NULL,6,'2022-01-05 03:20:52',50.00,NULL,NULL,'USD',1,'4ab3abfc8d97c438',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (56,NULL,6,'2022-01-05 03:20:52',50.00,NULL,NULL,'USD',1,'0c1c807bc7b1154a',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (57,NULL,6,'2022-01-05 03:20:52',50.00,NULL,NULL,'USD',1,'0cd92c5b9889c0ca',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (58,NULL,6,'2022-01-05 03:20:52',50.00,NULL,NULL,'USD',1,'41c242fb1318b9e2',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (59,NULL,6,'2022-01-05 03:20:52',50.00,NULL,NULL,'USD',1,'35aff5f65efeca62',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (60,NULL,6,'2022-01-05 03:20:52',1200.00,NULL,NULL,'USD',1,'9912cdd068cf1014',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (61,NULL,6,'2022-01-05 03:20:52',1200.00,NULL,NULL,'USD',1,'42bd5da1ddbeb42b',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (62,NULL,6,'2022-01-05 03:20:53',50.00,NULL,NULL,'USD',1,'5123740aae905dd1',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (63,NULL,6,'2022-01-05 03:20:53',50.00,NULL,NULL,'USD',1,'c128acdc9edaf3aa',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (64,NULL,6,'2022-01-05 03:20:53',50.00,NULL,NULL,'USD',1,'4864c94c6d7ab9f9',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (65,NULL,6,'2022-01-05 03:20:53',50.00,NULL,NULL,'USD',1,'8d67b40c5ad42aa0',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (66,NULL,6,'2022-01-05 03:20:53',50.00,NULL,NULL,'USD',1,'fd46aeb71230a44c',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (67,NULL,6,'2022-01-05 03:20:53',50.00,NULL,NULL,'USD',1,'0244cb0cc7c3572c',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (68,NULL,6,'2022-01-05 03:20:53',50.00,NULL,NULL,'USD',1,'fb28887c0b53fd7a',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (69,NULL,6,'2022-01-05 03:20:53',50.00,NULL,NULL,'USD',1,'1adde57b47f31c37',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (70,NULL,6,'2022-01-05 03:20:53',50.00,NULL,NULL,'USD',1,'88fad007bcfdc7da',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (71,NULL,6,'2022-01-05 03:20:53',50.00,NULL,NULL,'USD',1,'8458b9d9835d73ca',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (72,NULL,6,'2022-01-05 03:20:53',50.00,NULL,NULL,'USD',1,'d78f663546e66e1e',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (73,NULL,6,'2022-01-05 03:20:53',50.00,NULL,NULL,'USD',1,'9a68a09e4269c324',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (74,NULL,6,'2022-01-05 03:20:53',50.00,NULL,NULL,'USD',1,'a59545bfac032a49',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (75,NULL,6,'2022-01-05 03:20:53',50.00,NULL,NULL,'USD',1,'cab2337844c7dbf6',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (76,NULL,6,'2022-01-05 03:20:53',50.00,NULL,NULL,'USD',1,'86242a8b46fe2a95',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (77,NULL,6,'2022-01-05 03:20:53',50.00,NULL,NULL,'USD',1,'245dff5fe5ea26a9',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (78,NULL,6,'2022-01-05 03:20:53',800.00,NULL,NULL,'USD',1,'f3346d0f54be7857',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (79,NULL,6,'2022-01-05 03:20:53',800.00,NULL,NULL,'USD',1,'fad8a1cfe5e6e46f',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (80,NULL,6,'2022-01-05 03:20:53',800.00,NULL,NULL,'USD',1,'9304e3bad8029346',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (81,NULL,6,'2022-01-05 03:20:53',800.00,NULL,NULL,'USD',1,'9341d53ff843997b',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (82,NULL,6,'2022-01-05 03:20:53',800.00,NULL,NULL,'USD',1,'506b2ed6252d2eb9',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (83,NULL,6,'2022-01-05 03:20:53',800.00,NULL,NULL,'USD',1,'fdd2de31e30983d4',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (84,NULL,6,'2022-01-05 03:20:53',800.00,NULL,NULL,'USD',1,'c218dc01d8a04439',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (85,NULL,6,'2022-01-05 03:20:53',800.00,NULL,NULL,'USD',1,'01bf6d2c6fb7e9e4',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (86,NULL,6,'2022-01-05 03:20:53',800.00,NULL,NULL,'USD',1,'30482aee4efb5d9c',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (87,NULL,6,'2022-01-05 03:20:53',800.00,NULL,NULL,'USD',1,'3c49b3fcebf6e8fe',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (88,NULL,6,'2022-01-05 03:20:53',800.00,NULL,NULL,'USD',1,'76c4f03d19a96c87',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (89,NULL,6,'2022-01-05 03:20:53',800.00,NULL,NULL,'USD',1,'f0a9ea5fe4befb93',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (90,NULL,6,'2022-01-05 03:20:53',800.00,NULL,NULL,'USD',1,'fbb71527b60c4d4e',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (91,NULL,6,'2022-01-05 03:20:53',800.00,NULL,NULL,'USD',1,'ffc5a259a622ad01',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (92,NULL,6,'2022-01-05 03:20:53',800.00,NULL,NULL,'USD',1,'c98326e8528c033a',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (93,NULL,6,'2022-01-05 03:20:53',800.00,NULL,NULL,'USD',1,'1455f14879e8a3bd',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (94,NULL,6,'2022-01-05 03:20:53',800.00,NULL,NULL,'USD',1,'1eb689a5f9219948',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (95,NULL,6,'2022-01-05 03:20:53',800.00,NULL,NULL,'USD',1,'9e6511c04affcdfb',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (96,NULL,6,'2022-01-05 03:20:53',50.00,NULL,NULL,'USD',1,'baa7b5b0d35c4285',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (97,NULL,6,'2022-01-05 03:20:53',50.00,NULL,NULL,'USD',1,'365c304fb081a082',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (98,NULL,6,'2022-01-05 03:20:53',50.00,NULL,NULL,'USD',1,'3e145c4db652e7ff',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (99,NULL,6,'2022-01-05 03:20:53',50.00,NULL,NULL,'USD',1,'90b6e47932fc2882',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (100,NULL,6,'2022-01-05 03:20:53',50.00,NULL,NULL,'USD',1,'d3e66bf220b9ab01',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (101,NULL,6,'2022-01-05 03:20:53',50.00,NULL,NULL,'USD',1,'c62dce9433ee6515',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (102,NULL,6,'2022-01-05 03:20:53',50.00,NULL,NULL,'USD',1,'bf948a4adc739315',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (103,NULL,6,'2022-01-05 03:20:53',50.00,NULL,NULL,'USD',1,'5b899d491ffd0d53',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (104,NULL,6,'2022-01-05 03:20:53',50.00,NULL,NULL,'USD',1,'f1fb9b4ebe6c727b',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (105,NULL,6,'2022-01-05 03:20:53',50.00,NULL,NULL,'USD',1,'face1371883367bb',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (106,NULL,6,'2022-01-05 03:20:53',50.00,NULL,NULL,'USD',1,'e09704681d636574',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (107,NULL,6,'2022-01-05 03:20:53',50.00,NULL,NULL,'USD',1,'81cf1d6efddcbe9d',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (108,NULL,6,'2022-01-05 03:20:53',50.00,NULL,NULL,'USD',1,'c54943b66824eb8d',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (109,NULL,6,'2022-01-05 03:20:53',50.00,NULL,NULL,'USD',1,'31f3912f5daf245e',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (110,NULL,6,'2022-01-05 03:20:53',50.00,NULL,NULL,'USD',1,'fadaf65f8841187c',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
- (111,NULL,6,'2022-01-05 03:20:53',50.00,NULL,NULL,'USD',1,'6f54991010f2eb1a',NULL,1,NULL,1,NULL,NULL,NULL,NULL);
+ (1,NULL,6,'2012-02-28 22:32:40',125.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,4,NULL,'1041',NULL,NULL),
+ (2,NULL,6,'2019-11-28 22:32:40',50.00,NULL,NULL,'USD',1,'P20901X1',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (3,NULL,6,'2016-02-03 09:32:40',25.00,NULL,NULL,'GBP',1,'GBP12',NULL,1,NULL,4,NULL,'2095',NULL,NULL),
+ (4,NULL,6,'2019-11-28 22:32:40',50.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,4,NULL,'10552',NULL,NULL),
+ (5,NULL,6,'2019-11-28 22:32:40',50.00,NULL,NULL,'USD',1,'Q90901X1',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (6,NULL,6,'2021-12-05 21:50:40',500.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,4,NULL,'509',NULL,NULL),
+ (7,NULL,6,'2022-02-26 22:32:40',1750.00,NULL,NULL,'USD',1,NULL,NULL,1,NULL,1,NULL,'102',NULL,NULL),
+ (8,NULL,6,'2021-07-07 06:43:40',50.00,NULL,NULL,'USD',1,'P20193L2',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (9,NULL,6,'2021-03-28 22:32:40',10.00,NULL,NULL,'USD',1,'P40232Y3',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (10,NULL,6,'2017-10-06 00:32:40',250.00,NULL,NULL,'USD',1,'P20193L6',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (11,NULL,6,'2022-02-27 18:32:40',500.00,NULL,NULL,'JPY',1,'PL71',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (12,NULL,6,'2020-11-28 11:59:20',50.00,NULL,NULL,'USD',1,'P291X1',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (13,NULL,6,'2021-11-28 00:00:00',50.00,NULL,NULL,'USD',1,'PL32I',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (14,NULL,6,'2021-12-28 00:00:00',50.00,NULL,NULL,'USD',1,'PL32II',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (15,NULL,6,'2020-11-28 22:32:40',25.00,NULL,NULL,'USD',1,'PL32I591',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (16,NULL,6,'2020-12-28 22:32:40',25.00,NULL,NULL,'USD',1,'PL32I592',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (17,NULL,6,'2021-01-28 22:32:40',25.00,NULL,NULL,'USD',1,'PL32I593',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (18,NULL,6,'2021-02-28 22:32:40',25.00,NULL,NULL,'USD',1,'PL32I594',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (19,NULL,6,'2021-03-28 22:32:40',25.00,NULL,NULL,'USD',1,'PL32I595',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (20,NULL,6,'2021-04-28 22:32:40',25.00,NULL,NULL,'USD',1,'PL32I596',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (21,NULL,6,'2021-05-28 22:32:40',25.00,NULL,NULL,'USD',1,'PL32I597',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (22,NULL,6,'2021-06-28 22:32:40',25.00,NULL,NULL,'USD',1,'PL32I598',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (23,NULL,6,'2021-07-28 22:32:40',25.00,NULL,NULL,'USD',1,'PL32I599',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (24,NULL,6,'2021-08-28 22:32:40',25.00,NULL,NULL,'USD',1,'PL32I5910',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (25,NULL,6,'2021-09-28 22:32:40',25.00,NULL,NULL,'USD',1,'PL32I5911',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (26,NULL,6,'2021-06-28 22:32:40',10.00,NULL,NULL,'CAD',1,'PL32I991',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (27,NULL,6,'2021-07-28 22:32:40',10.00,NULL,NULL,'CAD',1,'PL32I992',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (28,NULL,6,'2021-08-28 22:32:40',10.00,NULL,NULL,'CAD',1,'PL32I993',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (29,NULL,6,'2021-09-28 22:32:40',10.00,NULL,NULL,'CAD',1,'PL32I994',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (30,NULL,6,'2021-10-28 22:32:40',10.00,NULL,NULL,'CAD',1,'PL32I995',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (31,NULL,6,'2022-01-28 22:32:40',5.00,NULL,NULL,'EUR',1,'PL32I1031',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (32,NULL,6,'2022-02-28 22:32:40',100.00,NULL,NULL,'USD',1,'1b544238ee45305e',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (33,NULL,6,'2022-02-28 22:32:40',100.00,NULL,NULL,'USD',1,'a171a7762c36c540',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (34,NULL,6,'2022-02-28 22:32:40',100.00,NULL,NULL,'USD',1,'ff4eb29d35e3db44',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (35,NULL,6,'2022-02-28 22:32:40',100.00,NULL,NULL,'USD',1,'e50b279b4fa2c78c',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (36,NULL,6,'2022-02-28 22:32:40',100.00,NULL,NULL,'USD',1,'dbd9b62f2eaadaf9',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (37,NULL,6,'2022-02-28 22:32:40',100.00,NULL,NULL,'USD',1,'f5d05ee18014a4e3',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (38,NULL,6,'2022-02-28 22:32:40',100.00,NULL,NULL,'USD',1,'86eb4b4a437299cb',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (39,NULL,6,'2022-02-28 22:32:40',100.00,NULL,NULL,'USD',1,'43b86f0f202e2845',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (40,NULL,6,'2022-02-28 22:32:40',100.00,NULL,NULL,'USD',1,'19da9240409df37f',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (41,NULL,6,'2022-02-28 22:32:40',100.00,NULL,NULL,'USD',1,'ed8aeb4a23b209a5',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (42,NULL,6,'2022-02-28 22:32:40',100.00,NULL,NULL,'USD',1,'b3b1dc07ce2b46af',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (43,NULL,6,'2022-02-28 22:32:40',100.00,NULL,NULL,'USD',1,'c1d30ce009737cfe',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (44,NULL,6,'2022-02-28 22:32:40',100.00,NULL,NULL,'USD',1,'8f32b5ae217d0cdb',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (45,NULL,6,'2022-02-28 22:32:40',100.00,NULL,NULL,'USD',1,'2899b74d80b82201',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (46,NULL,6,'2022-02-28 22:32:40',50.00,NULL,NULL,'USD',1,'b8be20d0799fd107',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (47,NULL,6,'2022-02-28 22:32:40',50.00,NULL,NULL,'USD',1,'c7d020d2ff409fcf',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (48,NULL,6,'2022-02-28 22:32:40',50.00,NULL,NULL,'USD',1,'7d18ec704525094d',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (49,NULL,6,'2022-02-28 22:32:40',50.00,NULL,NULL,'USD',1,'009407b57d6c56c9',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (50,NULL,6,'2022-02-28 22:32:40',50.00,NULL,NULL,'USD',1,'82312e73e9b09297',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (51,NULL,6,'2022-02-28 22:32:40',50.00,NULL,NULL,'USD',1,'d53f8837c45ab2e1',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (52,NULL,6,'2022-02-28 22:32:40',50.00,NULL,NULL,'USD',1,'424743a2fbf1e388',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (53,NULL,6,'2022-02-28 22:32:40',50.00,NULL,NULL,'USD',1,'671f021a2b136d06',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (54,NULL,6,'2022-02-28 22:32:40',50.00,NULL,NULL,'USD',1,'483a0ad5de920791',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (55,NULL,6,'2022-02-28 22:32:40',50.00,NULL,NULL,'USD',1,'ac2cc2a6ec96e244',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (56,NULL,6,'2022-02-28 22:32:40',50.00,NULL,NULL,'USD',1,'90ced3a3843e4c07',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (57,NULL,6,'2022-02-28 22:32:40',50.00,NULL,NULL,'USD',1,'58902c4c575e175f',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (58,NULL,6,'2022-02-28 22:32:40',50.00,NULL,NULL,'USD',1,'3b70ddd2ce354957',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (59,NULL,6,'2022-02-28 22:32:40',50.00,NULL,NULL,'USD',1,'d8a9fcbe9b86aea0',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (60,NULL,6,'2022-02-28 22:32:40',1200.00,NULL,NULL,'USD',1,'c295f724fab6444b',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (61,NULL,6,'2022-02-28 22:32:40',1200.00,NULL,NULL,'USD',1,'ba36f6ad866a321a',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (62,NULL,6,'2022-02-28 22:32:40',50.00,NULL,NULL,'USD',1,'37a9c216aebedf42',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (63,NULL,6,'2022-02-28 22:32:40',50.00,NULL,NULL,'USD',1,'e0f74ef620561b21',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (64,NULL,6,'2022-02-28 22:32:40',50.00,NULL,NULL,'USD',1,'e6820bb2f5c847a6',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (65,NULL,6,'2022-02-28 22:32:40',50.00,NULL,NULL,'USD',1,'f9a4074192265577',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (66,NULL,6,'2022-02-28 22:32:40',50.00,NULL,NULL,'USD',1,'c1e9b58bb31c287e',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (67,NULL,6,'2022-02-28 22:32:40',50.00,NULL,NULL,'USD',1,'48aeaa7ecd0f8bf4',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (68,NULL,6,'2022-02-28 22:32:40',50.00,NULL,NULL,'USD',1,'d2eeea79017a9f58',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (69,NULL,6,'2022-02-28 22:32:40',50.00,NULL,NULL,'USD',1,'36b951e3998f868e',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (70,NULL,6,'2022-02-28 22:32:40',50.00,NULL,NULL,'USD',1,'e49f233cd7ce0ccc',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (71,NULL,6,'2022-02-28 22:32:40',50.00,NULL,NULL,'USD',1,'32f8cc02cb0c8eaf',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (72,NULL,6,'2022-02-28 22:32:40',50.00,NULL,NULL,'USD',1,'a148b453ace178ce',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (73,NULL,6,'2022-02-28 22:32:40',50.00,NULL,NULL,'USD',1,'fabffa52594e7b2a',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (74,NULL,6,'2022-02-28 22:32:40',50.00,NULL,NULL,'USD',1,'73e8fdd556abb68c',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (75,NULL,6,'2022-02-28 22:32:40',50.00,NULL,NULL,'USD',1,'5909b5671cf26258',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (76,NULL,6,'2022-02-28 22:32:40',50.00,NULL,NULL,'USD',1,'c7d0cfce5137b9c3',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (77,NULL,6,'2022-02-28 22:32:40',50.00,NULL,NULL,'USD',1,'23c44337bc60f2c1',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (78,NULL,6,'2022-02-28 22:32:40',800.00,NULL,NULL,'USD',1,'7bb238479bc2534c',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (79,NULL,6,'2022-02-28 22:32:40',800.00,NULL,NULL,'USD',1,'94884d2010c3e513',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (80,NULL,6,'2022-02-28 22:32:40',800.00,NULL,NULL,'USD',1,'b9f74eeb376c7803',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (81,NULL,6,'2022-02-28 22:32:40',800.00,NULL,NULL,'USD',1,'a7705bf529f6cee0',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (82,NULL,6,'2022-02-28 22:32:40',800.00,NULL,NULL,'USD',1,'f069a4134e9adf81',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (83,NULL,6,'2022-02-28 22:32:40',800.00,NULL,NULL,'USD',1,'8025ef3ed65fe959',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (84,NULL,6,'2022-02-28 22:32:40',800.00,NULL,NULL,'USD',1,'e4d6745df2a21d8c',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (85,NULL,6,'2022-02-28 22:32:40',800.00,NULL,NULL,'USD',1,'e6d9f143d980e4df',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (86,NULL,6,'2022-02-28 22:32:40',800.00,NULL,NULL,'USD',1,'531d6808f206bdfb',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (87,NULL,6,'2022-02-28 22:32:40',800.00,NULL,NULL,'USD',1,'3596c522ca584405',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (88,NULL,6,'2022-02-28 22:32:40',800.00,NULL,NULL,'USD',1,'21ab95e377cebe9c',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (89,NULL,6,'2022-02-28 22:32:40',800.00,NULL,NULL,'USD',1,'7c737b7d8a20ee18',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (90,NULL,6,'2022-02-28 22:32:40',800.00,NULL,NULL,'USD',1,'050087ea7b0ba89f',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (91,NULL,6,'2022-02-28 22:32:40',800.00,NULL,NULL,'USD',1,'42992bca736625e1',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (92,NULL,6,'2022-02-28 22:32:40',800.00,NULL,NULL,'USD',1,'5106ab214c80e6bd',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (93,NULL,6,'2022-02-28 22:32:40',800.00,NULL,NULL,'USD',1,'b0d6f27ae514d131',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (94,NULL,6,'2022-02-28 22:32:40',800.00,NULL,NULL,'USD',1,'f2ea9948eb332f89',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (95,NULL,6,'2022-02-28 22:32:40',800.00,NULL,NULL,'USD',1,'083d1a784045e433',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (96,NULL,6,'2022-02-28 22:32:40',50.00,NULL,NULL,'USD',1,'33645b49f32d1d5b',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (97,NULL,6,'2022-02-28 22:32:40',50.00,NULL,NULL,'USD',1,'e8fcfdedeb5eb47d',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (98,NULL,6,'2022-02-28 22:32:40',50.00,NULL,NULL,'USD',1,'a23528d57c263f13',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (99,NULL,6,'2022-02-28 22:32:40',50.00,NULL,NULL,'USD',1,'0e63fb32707e87a9',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (100,NULL,6,'2022-02-28 22:32:40',50.00,NULL,NULL,'USD',1,'72d360146f8d477d',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (101,NULL,6,'2022-02-28 22:32:40',50.00,NULL,NULL,'USD',1,'3f2e5eef2dffe279',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (102,NULL,6,'2022-02-28 22:32:40',50.00,NULL,NULL,'USD',1,'d29e9ed7d752363d',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (103,NULL,6,'2022-02-28 22:32:40',50.00,NULL,NULL,'USD',1,'ea4570fcf78ce268',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (104,NULL,6,'2022-02-28 22:32:40',50.00,NULL,NULL,'USD',1,'ad0576ff49ebb59b',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (105,NULL,6,'2022-02-28 22:32:40',50.00,NULL,NULL,'USD',1,'fb1e8d63a99c0961',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (106,NULL,6,'2022-02-28 22:32:40',50.00,NULL,NULL,'USD',1,'4d1708529d07fb93',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (107,NULL,6,'2022-02-28 22:32:40',50.00,NULL,NULL,'USD',1,'5ed25499ea28b8cf',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (108,NULL,6,'2022-02-28 22:32:40',50.00,NULL,NULL,'USD',1,'00ed2001455b8457',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (109,NULL,6,'2022-02-28 22:32:40',50.00,NULL,NULL,'USD',1,'fbc73ba7a152db7b',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (110,NULL,6,'2022-02-28 22:32:40',50.00,NULL,NULL,'USD',1,'fd6e488980ed879d',NULL,1,NULL,1,NULL,NULL,NULL,NULL),
+ (111,NULL,6,'2022-02-28 22:32:40',50.00,NULL,NULL,'USD',1,'4430450f0ed84037',NULL,1,NULL,1,NULL,NULL,NULL,NULL);
 /*!40000 ALTER TABLE `civicrm_financial_trxn` ENABLE KEYS */;
 UNLOCK TABLES;
 
@@ -3890,15 +3857,6 @@ INSERT INTO `civicrm_financial_type` (`id`, `name`, `description`, `is_deductibl
 /*!40000 ALTER TABLE `civicrm_financial_type` ENABLE KEYS */;
 UNLOCK TABLES;
 
---
--- Dumping data for table `civicrm_grant`
---
-
-LOCK TABLES `civicrm_grant` WRITE;
-/*!40000 ALTER TABLE `civicrm_grant` DISABLE KEYS */;
-/*!40000 ALTER TABLE `civicrm_grant` ENABLE KEYS */;
-UNLOCK TABLES;
-
 --
 -- Dumping data for table `civicrm_group`
 --
@@ -3920,89 +3878,89 @@ UNLOCK TABLES;
 LOCK TABLES `civicrm_group_contact` WRITE;
 /*!40000 ALTER TABLE `civicrm_group_contact` DISABLE KEYS */;
 INSERT INTO `civicrm_group_contact` (`id`, `group_id`, `contact_id`, `status`, `location_id`, `email_id`) VALUES
- (1,2,64,'Added',NULL,NULL),
- (2,2,76,'Added',NULL,NULL),
- (3,2,79,'Added',NULL,NULL),
- (4,2,185,'Added',NULL,NULL),
- (5,2,192,'Added',NULL,NULL),
- (6,2,57,'Added',NULL,NULL),
- (7,2,167,'Added',NULL,NULL),
- (8,2,100,'Added',NULL,NULL),
- (9,2,170,'Added',NULL,NULL),
- (10,2,148,'Added',NULL,NULL),
- (11,2,95,'Added',NULL,NULL),
- (12,2,48,'Added',NULL,NULL),
- (13,2,12,'Added',NULL,NULL),
- (14,2,58,'Added',NULL,NULL),
- (15,2,113,'Added',NULL,NULL),
- (16,2,46,'Added',NULL,NULL),
- (17,2,164,'Added',NULL,NULL),
- (18,2,71,'Added',NULL,NULL),
- (19,2,162,'Added',NULL,NULL),
- (20,2,197,'Added',NULL,NULL),
- (21,2,200,'Added',NULL,NULL),
- (22,2,7,'Added',NULL,NULL),
- (23,2,111,'Added',NULL,NULL),
- (24,2,9,'Added',NULL,NULL),
- (25,2,147,'Added',NULL,NULL),
- (26,2,130,'Added',NULL,NULL),
- (27,2,15,'Added',NULL,NULL),
- (28,2,106,'Added',NULL,NULL),
- (29,2,112,'Added',NULL,NULL),
- (30,2,171,'Added',NULL,NULL),
- (31,2,39,'Added',NULL,NULL),
- (32,2,157,'Added',NULL,NULL),
- (33,2,128,'Added',NULL,NULL),
- (34,2,84,'Added',NULL,NULL),
- (35,2,62,'Added',NULL,NULL),
- (36,2,180,'Added',NULL,NULL),
- (37,2,118,'Added',NULL,NULL),
- (38,2,61,'Added',NULL,NULL),
- (39,2,194,'Added',NULL,NULL),
- (40,2,126,'Added',NULL,NULL),
- (41,2,40,'Added',NULL,NULL),
- (42,2,142,'Added',NULL,NULL),
- (43,2,174,'Added',NULL,NULL),
- (44,2,89,'Added',NULL,NULL),
- (45,2,107,'Added',NULL,NULL),
- (46,2,80,'Added',NULL,NULL),
- (47,2,144,'Added',NULL,NULL),
- (48,2,198,'Added',NULL,NULL),
- (49,2,149,'Added',NULL,NULL),
- (50,2,96,'Added',NULL,NULL),
- (51,2,188,'Added',NULL,NULL),
- (52,2,34,'Added',NULL,NULL),
- (53,2,97,'Added',NULL,NULL),
- (54,2,4,'Added',NULL,NULL),
- (55,2,172,'Added',NULL,NULL),
- (56,2,49,'Added',NULL,NULL),
- (57,2,158,'Added',NULL,NULL),
- (58,2,14,'Added',NULL,NULL),
- (59,2,70,'Added',NULL,NULL),
- (60,2,68,'Added',NULL,NULL),
- (61,3,30,'Added',NULL,NULL),
- (62,3,54,'Added',NULL,NULL),
- (63,3,63,'Added',NULL,NULL),
- (64,3,168,'Added',NULL,NULL),
- (65,3,60,'Added',NULL,NULL),
- (66,3,92,'Added',NULL,NULL),
- (67,3,138,'Added',NULL,NULL),
- (68,3,83,'Added',NULL,NULL),
- (69,3,13,'Added',NULL,NULL),
- (70,3,98,'Added',NULL,NULL),
- (71,3,103,'Added',NULL,NULL),
- (72,3,105,'Added',NULL,NULL),
- (73,3,183,'Added',NULL,NULL),
- (74,3,91,'Added',NULL,NULL),
- (75,3,119,'Added',NULL,NULL),
- (76,4,64,'Added',NULL,NULL),
- (77,4,100,'Added',NULL,NULL),
- (78,4,113,'Added',NULL,NULL),
- (79,4,7,'Added',NULL,NULL),
- (80,4,112,'Added',NULL,NULL),
- (81,4,180,'Added',NULL,NULL),
- (82,4,174,'Added',NULL,NULL),
- (83,4,96,'Added',NULL,NULL),
+ (1,2,174,'Added',NULL,NULL),
+ (2,2,163,'Added',NULL,NULL),
+ (3,2,188,'Added',NULL,NULL),
+ (4,2,125,'Added',NULL,NULL),
+ (5,2,177,'Added',NULL,NULL),
+ (6,2,104,'Added',NULL,NULL),
+ (7,2,55,'Added',NULL,NULL),
+ (8,2,116,'Added',NULL,NULL),
+ (9,2,151,'Added',NULL,NULL),
+ (10,2,182,'Added',NULL,NULL),
+ (11,2,140,'Added',NULL,NULL),
+ (12,2,76,'Added',NULL,NULL),
+ (13,2,121,'Added',NULL,NULL),
+ (14,2,99,'Added',NULL,NULL),
+ (15,2,199,'Added',NULL,NULL),
+ (16,2,171,'Added',NULL,NULL),
+ (17,2,126,'Added',NULL,NULL),
+ (18,2,28,'Added',NULL,NULL),
+ (19,2,201,'Added',NULL,NULL),
+ (20,2,200,'Added',NULL,NULL),
+ (21,2,9,'Added',NULL,NULL),
+ (22,2,105,'Added',NULL,NULL),
+ (23,2,68,'Added',NULL,NULL),
+ (24,2,119,'Added',NULL,NULL),
+ (25,2,122,'Added',NULL,NULL),
+ (26,2,127,'Added',NULL,NULL),
+ (27,2,115,'Added',NULL,NULL),
+ (28,2,2,'Added',NULL,NULL),
+ (29,2,117,'Added',NULL,NULL),
+ (30,2,134,'Added',NULL,NULL),
+ (31,2,79,'Added',NULL,NULL),
+ (32,2,179,'Added',NULL,NULL),
+ (33,2,131,'Added',NULL,NULL),
+ (34,2,86,'Added',NULL,NULL),
+ (35,2,11,'Added',NULL,NULL),
+ (36,2,143,'Added',NULL,NULL),
+ (37,2,52,'Added',NULL,NULL),
+ (38,2,100,'Added',NULL,NULL),
+ (39,2,155,'Added',NULL,NULL),
+ (40,2,72,'Added',NULL,NULL),
+ (41,2,178,'Added',NULL,NULL),
+ (42,2,66,'Added',NULL,NULL),
+ (43,2,164,'Added',NULL,NULL),
+ (44,2,193,'Added',NULL,NULL),
+ (45,2,187,'Added',NULL,NULL),
+ (46,2,67,'Added',NULL,NULL),
+ (47,2,29,'Added',NULL,NULL),
+ (48,2,195,'Added',NULL,NULL),
+ (49,2,64,'Added',NULL,NULL),
+ (50,2,46,'Added',NULL,NULL),
+ (51,2,69,'Added',NULL,NULL),
+ (52,2,103,'Added',NULL,NULL),
+ (53,2,170,'Added',NULL,NULL),
+ (54,2,165,'Added',NULL,NULL),
+ (55,2,184,'Added',NULL,NULL),
+ (56,2,45,'Added',NULL,NULL),
+ (57,2,59,'Added',NULL,NULL),
+ (58,2,101,'Added',NULL,NULL),
+ (59,2,138,'Added',NULL,NULL),
+ (60,2,112,'Added',NULL,NULL),
+ (61,3,27,'Added',NULL,NULL),
+ (62,3,137,'Added',NULL,NULL),
+ (63,3,10,'Added',NULL,NULL),
+ (64,3,124,'Added',NULL,NULL),
+ (65,3,53,'Added',NULL,NULL),
+ (66,3,111,'Added',NULL,NULL),
+ (67,3,145,'Added',NULL,NULL),
+ (68,3,197,'Added',NULL,NULL),
+ (69,3,129,'Added',NULL,NULL),
+ (70,3,74,'Added',NULL,NULL),
+ (71,3,14,'Added',NULL,NULL),
+ (72,3,26,'Added',NULL,NULL),
+ (73,3,56,'Added',NULL,NULL),
+ (74,3,173,'Added',NULL,NULL),
+ (75,3,80,'Added',NULL,NULL),
+ (76,4,174,'Added',NULL,NULL),
+ (77,4,116,'Added',NULL,NULL),
+ (78,4,199,'Added',NULL,NULL),
+ (79,4,105,'Added',NULL,NULL),
+ (80,4,117,'Added',NULL,NULL),
+ (81,4,143,'Added',NULL,NULL),
+ (82,4,164,'Added',NULL,NULL),
+ (83,4,46,'Added',NULL,NULL),
  (84,4,202,'Added',NULL,NULL);
 /*!40000 ALTER TABLE `civicrm_group_contact` ENABLE KEYS */;
 UNLOCK TABLES;
@@ -4122,81 +4080,81 @@ INSERT INTO `civicrm_line_item` (`id`, `entity_table`, `entity_id`, `contributio
  (34,'civicrm_membership',5,36,4,'General',1.00,100.00,100.00,NULL,7,2,0.00,NULL,NULL),
  (35,'civicrm_membership',7,38,4,'General',1.00,100.00,100.00,NULL,7,2,0.00,NULL,NULL),
  (36,'civicrm_membership',9,40,4,'General',1.00,100.00,100.00,NULL,7,2,0.00,NULL,NULL),
- (37,'civicrm_membership',10,41,4,'General',1.00,100.00,100.00,NULL,7,2,0.00,NULL,NULL),
- (38,'civicrm_membership',13,44,4,'General',1.00,100.00,100.00,NULL,7,2,0.00,NULL,NULL),
+ (37,'civicrm_membership',13,44,4,'General',1.00,100.00,100.00,NULL,7,2,0.00,NULL,NULL),
+ (38,'civicrm_membership',15,46,4,'General',1.00,100.00,100.00,NULL,7,2,0.00,NULL,NULL),
  (39,'civicrm_membership',17,48,4,'General',1.00,100.00,100.00,NULL,7,2,0.00,NULL,NULL),
  (40,'civicrm_membership',19,50,4,'General',1.00,100.00,100.00,NULL,7,2,0.00,NULL,NULL),
  (41,'civicrm_membership',20,51,4,'General',1.00,100.00,100.00,NULL,7,2,0.00,NULL,NULL),
  (42,'civicrm_membership',21,52,4,'General',1.00,100.00,100.00,NULL,7,2,0.00,NULL,NULL),
  (43,'civicrm_membership',23,54,4,'General',1.00,100.00,100.00,NULL,7,2,0.00,NULL,NULL),
- (44,'civicrm_membership',25,56,4,'General',1.00,100.00,100.00,NULL,7,2,0.00,NULL,NULL),
- (45,'civicrm_membership',27,58,4,'General',1.00,100.00,100.00,NULL,7,2,0.00,NULL,NULL),
- (46,'civicrm_membership',29,60,4,'General',1.00,100.00,100.00,NULL,7,2,0.00,NULL,NULL),
- (47,'civicrm_membership',2,33,4,'Student',1.00,50.00,50.00,NULL,8,2,0.00,NULL,NULL),
- (48,'civicrm_membership',4,35,4,'Student',1.00,50.00,50.00,NULL,8,2,0.00,NULL,NULL),
- (49,'civicrm_membership',6,37,4,'Student',1.00,50.00,50.00,NULL,8,2,0.00,NULL,NULL),
- (50,'civicrm_membership',8,39,4,'Student',1.00,50.00,50.00,NULL,8,2,0.00,NULL,NULL),
+ (44,'civicrm_membership',27,58,4,'General',1.00,100.00,100.00,NULL,7,2,0.00,NULL,NULL),
+ (45,'civicrm_membership',29,60,4,'General',1.00,100.00,100.00,NULL,7,2,0.00,NULL,NULL),
+ (46,'civicrm_membership',2,33,4,'Student',1.00,50.00,50.00,NULL,8,2,0.00,NULL,NULL),
+ (47,'civicrm_membership',4,35,4,'Student',1.00,50.00,50.00,NULL,8,2,0.00,NULL,NULL),
+ (48,'civicrm_membership',6,37,4,'Student',1.00,50.00,50.00,NULL,8,2,0.00,NULL,NULL),
+ (49,'civicrm_membership',8,39,4,'Student',1.00,50.00,50.00,NULL,8,2,0.00,NULL,NULL),
+ (50,'civicrm_membership',10,41,4,'Student',1.00,50.00,50.00,NULL,8,2,0.00,NULL,NULL),
  (51,'civicrm_membership',12,43,4,'Student',1.00,50.00,50.00,NULL,8,2,0.00,NULL,NULL),
  (52,'civicrm_membership',14,45,4,'Student',1.00,50.00,50.00,NULL,8,2,0.00,NULL,NULL),
- (53,'civicrm_membership',15,46,4,'Student',1.00,50.00,50.00,NULL,8,2,0.00,NULL,NULL),
- (54,'civicrm_membership',16,47,4,'Student',1.00,50.00,50.00,NULL,8,2,0.00,NULL,NULL),
- (55,'civicrm_membership',18,49,4,'Student',1.00,50.00,50.00,NULL,8,2,0.00,NULL,NULL),
- (56,'civicrm_membership',24,55,4,'Student',1.00,50.00,50.00,NULL,8,2,0.00,NULL,NULL),
+ (53,'civicrm_membership',16,47,4,'Student',1.00,50.00,50.00,NULL,8,2,0.00,NULL,NULL),
+ (54,'civicrm_membership',18,49,4,'Student',1.00,50.00,50.00,NULL,8,2,0.00,NULL,NULL),
+ (55,'civicrm_membership',24,55,4,'Student',1.00,50.00,50.00,NULL,8,2,0.00,NULL,NULL),
+ (56,'civicrm_membership',25,56,4,'Student',1.00,50.00,50.00,NULL,8,2,0.00,NULL,NULL),
  (57,'civicrm_membership',26,57,4,'Student',1.00,50.00,50.00,NULL,8,2,0.00,NULL,NULL),
  (58,'civicrm_membership',28,59,4,'Student',1.00,50.00,50.00,NULL,8,2,0.00,NULL,NULL),
  (59,'civicrm_membership',30,61,4,'Student',1.00,50.00,50.00,NULL,8,2,0.00,NULL,NULL),
  (60,'civicrm_membership',11,42,4,'Lifetime',1.00,1200.00,1200.00,NULL,9,2,0.00,NULL,NULL),
  (61,'civicrm_membership',22,53,4,'Lifetime',1.00,1200.00,1200.00,NULL,9,2,0.00,NULL,NULL),
  (63,'civicrm_participant',3,65,7,'Tiny-tots (ages 5-8)',1.00,800.00,800.00,0,13,4,0.00,NULL,NULL),
- (64,'civicrm_participant',6,76,7,'Tiny-tots (ages 5-8)',1.00,800.00,800.00,0,13,4,0.00,NULL,NULL),
- (65,'civicrm_participant',9,69,7,'Tiny-tots (ages 5-8)',1.00,800.00,800.00,0,13,4,0.00,NULL,NULL),
- (66,'civicrm_participant',12,68,7,'Tiny-tots (ages 5-8)',1.00,800.00,800.00,0,13,4,0.00,NULL,NULL),
+ (64,'civicrm_participant',6,68,7,'Tiny-tots (ages 5-8)',1.00,800.00,800.00,0,13,4,0.00,NULL,NULL),
+ (65,'civicrm_participant',9,71,7,'Tiny-tots (ages 5-8)',1.00,800.00,800.00,0,13,4,0.00,NULL,NULL),
+ (66,'civicrm_participant',12,74,7,'Tiny-tots (ages 5-8)',1.00,800.00,800.00,0,13,4,0.00,NULL,NULL),
  (67,'civicrm_participant',15,77,7,'Tiny-tots (ages 5-8)',1.00,800.00,800.00,0,13,4,0.00,NULL,NULL),
- (68,'civicrm_participant',18,82,7,'Tiny-tots (ages 5-8)',1.00,800.00,800.00,0,13,4,0.00,NULL,NULL),
- (69,'civicrm_participant',21,99,7,'Tiny-tots (ages 5-8)',1.00,800.00,800.00,0,13,4,0.00,NULL,NULL),
- (70,'civicrm_participant',24,97,7,'Tiny-tots (ages 5-8)',1.00,800.00,800.00,0,13,4,0.00,NULL,NULL),
- (71,'civicrm_participant',25,103,7,'Tiny-tots (ages 5-8)',1.00,800.00,800.00,0,13,4,0.00,NULL,NULL),
- (72,'civicrm_participant',28,110,7,'Tiny-tots (ages 5-8)',1.00,800.00,800.00,0,13,4,0.00,NULL,NULL),
- (73,'civicrm_participant',31,71,7,'Tiny-tots (ages 5-8)',1.00,800.00,800.00,0,13,4,0.00,NULL,NULL),
- (74,'civicrm_participant',34,104,7,'Tiny-tots (ages 5-8)',1.00,800.00,800.00,0,13,4,0.00,NULL,NULL),
- (75,'civicrm_participant',37,75,7,'Tiny-tots (ages 5-8)',1.00,800.00,800.00,0,13,4,0.00,NULL,NULL),
- (76,'civicrm_participant',40,74,7,'Tiny-tots (ages 5-8)',1.00,800.00,800.00,0,13,4,0.00,NULL,NULL),
- (77,'civicrm_participant',43,84,7,'Tiny-tots (ages 5-8)',1.00,800.00,800.00,0,13,4,0.00,NULL,NULL),
- (78,'civicrm_participant',46,73,7,'Tiny-tots (ages 5-8)',1.00,800.00,800.00,0,13,4,0.00,NULL,NULL),
- (79,'civicrm_participant',49,112,7,'Tiny-tots (ages 5-8)',1.00,800.00,800.00,0,13,4,0.00,NULL,NULL),
- (80,'civicrm_participant',50,89,7,'Tiny-tots (ages 5-8)',1.00,800.00,800.00,0,13,4,0.00,NULL,NULL),
- (81,'civicrm_participant',1,95,8,'Single',1.00,50.00,50.00,0,16,4,0.00,NULL,NULL),
- (82,'civicrm_participant',4,100,8,'Single',1.00,50.00,50.00,0,16,4,0.00,NULL,NULL),
- (83,'civicrm_participant',7,107,8,'Single',1.00,50.00,50.00,0,16,4,0.00,NULL,NULL),
- (84,'civicrm_participant',10,91,8,'Single',1.00,50.00,50.00,0,16,4,0.00,NULL,NULL),
- (85,'civicrm_participant',13,111,8,'Single',1.00,50.00,50.00,0,16,4,0.00,NULL,NULL),
- (86,'civicrm_participant',16,96,8,'Single',1.00,50.00,50.00,0,16,4,0.00,NULL,NULL),
- (87,'civicrm_participant',19,109,8,'Single',1.00,50.00,50.00,0,16,4,0.00,NULL,NULL),
- (88,'civicrm_participant',22,85,8,'Single',1.00,50.00,50.00,0,16,4,0.00,NULL,NULL),
- (89,'civicrm_participant',26,108,8,'Single',1.00,50.00,50.00,0,16,4,0.00,NULL,NULL),
- (90,'civicrm_participant',29,83,8,'Single',1.00,50.00,50.00,0,16,4,0.00,NULL,NULL),
- (91,'civicrm_participant',32,70,8,'Single',1.00,50.00,50.00,0,16,4,0.00,NULL,NULL),
- (92,'civicrm_participant',35,64,8,'Single',1.00,50.00,50.00,0,16,4,0.00,NULL,NULL),
- (93,'civicrm_participant',38,86,8,'Single',1.00,50.00,50.00,0,16,4,0.00,NULL,NULL),
- (94,'civicrm_participant',41,92,8,'Single',1.00,50.00,50.00,0,16,4,0.00,NULL,NULL),
- (95,'civicrm_participant',44,63,8,'Single',1.00,50.00,50.00,0,16,4,0.00,NULL,NULL),
- (96,'civicrm_participant',47,72,8,'Single',1.00,50.00,50.00,0,16,4,0.00,NULL,NULL),
- (97,'civicrm_participant',2,78,9,'Soprano',1.00,50.00,50.00,0,21,2,0.00,NULL,NULL),
- (98,'civicrm_participant',5,66,9,'Soprano',1.00,50.00,50.00,0,21,2,0.00,NULL,NULL),
- (99,'civicrm_participant',8,102,9,'Soprano',1.00,50.00,50.00,0,21,2,0.00,NULL,NULL),
- (100,'civicrm_participant',11,80,9,'Soprano',1.00,50.00,50.00,0,21,2,0.00,NULL,NULL),
- (101,'civicrm_participant',14,67,9,'Soprano',1.00,50.00,50.00,0,21,2,0.00,NULL,NULL),
- (102,'civicrm_participant',17,105,9,'Soprano',1.00,50.00,50.00,0,21,2,0.00,NULL,NULL),
- (103,'civicrm_participant',20,98,9,'Soprano',1.00,50.00,50.00,0,21,2,0.00,NULL,NULL),
- (104,'civicrm_participant',23,101,9,'Soprano',1.00,50.00,50.00,0,21,2,0.00,NULL,NULL),
- (105,'civicrm_participant',27,79,9,'Soprano',1.00,50.00,50.00,0,21,2,0.00,NULL,NULL),
- (106,'civicrm_participant',30,90,9,'Soprano',1.00,50.00,50.00,0,21,2,0.00,NULL,NULL),
- (107,'civicrm_participant',33,88,9,'Soprano',1.00,50.00,50.00,0,21,2,0.00,NULL,NULL),
- (108,'civicrm_participant',36,93,9,'Soprano',1.00,50.00,50.00,0,21,2,0.00,NULL,NULL),
- (109,'civicrm_participant',39,81,9,'Soprano',1.00,50.00,50.00,0,21,2,0.00,NULL,NULL),
- (110,'civicrm_participant',42,87,9,'Soprano',1.00,50.00,50.00,0,21,2,0.00,NULL,NULL),
- (111,'civicrm_participant',45,94,9,'Soprano',1.00,50.00,50.00,0,21,2,0.00,NULL,NULL),
- (112,'civicrm_participant',48,106,9,'Soprano',1.00,50.00,50.00,0,21,2,0.00,NULL,NULL);
+ (68,'civicrm_participant',18,80,7,'Tiny-tots (ages 5-8)',1.00,800.00,800.00,0,13,4,0.00,NULL,NULL),
+ (69,'civicrm_participant',21,83,7,'Tiny-tots (ages 5-8)',1.00,800.00,800.00,0,13,4,0.00,NULL,NULL),
+ (70,'civicrm_participant',24,86,7,'Tiny-tots (ages 5-8)',1.00,800.00,800.00,0,13,4,0.00,NULL,NULL),
+ (71,'civicrm_participant',25,87,7,'Tiny-tots (ages 5-8)',1.00,800.00,800.00,0,13,4,0.00,NULL,NULL),
+ (72,'civicrm_participant',28,90,7,'Tiny-tots (ages 5-8)',1.00,800.00,800.00,0,13,4,0.00,NULL,NULL),
+ (73,'civicrm_participant',31,93,7,'Tiny-tots (ages 5-8)',1.00,800.00,800.00,0,13,4,0.00,NULL,NULL),
+ (74,'civicrm_participant',34,96,7,'Tiny-tots (ages 5-8)',1.00,800.00,800.00,0,13,4,0.00,NULL,NULL),
+ (75,'civicrm_participant',37,99,7,'Tiny-tots (ages 5-8)',1.00,800.00,800.00,0,13,4,0.00,NULL,NULL),
+ (76,'civicrm_participant',40,102,7,'Tiny-tots (ages 5-8)',1.00,800.00,800.00,0,13,4,0.00,NULL,NULL),
+ (77,'civicrm_participant',43,105,7,'Tiny-tots (ages 5-8)',1.00,800.00,800.00,0,13,4,0.00,NULL,NULL),
+ (78,'civicrm_participant',46,108,7,'Tiny-tots (ages 5-8)',1.00,800.00,800.00,0,13,4,0.00,NULL,NULL),
+ (79,'civicrm_participant',49,111,7,'Tiny-tots (ages 5-8)',1.00,800.00,800.00,0,13,4,0.00,NULL,NULL),
+ (80,'civicrm_participant',50,112,7,'Tiny-tots (ages 5-8)',1.00,800.00,800.00,0,13,4,0.00,NULL,NULL),
+ (81,'civicrm_participant',1,63,8,'Single',1.00,50.00,50.00,0,16,4,0.00,NULL,NULL),
+ (82,'civicrm_participant',4,66,8,'Single',1.00,50.00,50.00,0,16,4,0.00,NULL,NULL),
+ (83,'civicrm_participant',7,69,8,'Single',1.00,50.00,50.00,0,16,4,0.00,NULL,NULL),
+ (84,'civicrm_participant',10,72,8,'Single',1.00,50.00,50.00,0,16,4,0.00,NULL,NULL),
+ (85,'civicrm_participant',13,75,8,'Single',1.00,50.00,50.00,0,16,4,0.00,NULL,NULL),
+ (86,'civicrm_participant',16,78,8,'Single',1.00,50.00,50.00,0,16,4,0.00,NULL,NULL),
+ (87,'civicrm_participant',19,81,8,'Single',1.00,50.00,50.00,0,16,4,0.00,NULL,NULL),
+ (88,'civicrm_participant',22,84,8,'Single',1.00,50.00,50.00,0,16,4,0.00,NULL,NULL),
+ (89,'civicrm_participant',26,88,8,'Single',1.00,50.00,50.00,0,16,4,0.00,NULL,NULL),
+ (90,'civicrm_participant',29,91,8,'Single',1.00,50.00,50.00,0,16,4,0.00,NULL,NULL),
+ (91,'civicrm_participant',32,94,8,'Single',1.00,50.00,50.00,0,16,4,0.00,NULL,NULL),
+ (92,'civicrm_participant',35,97,8,'Single',1.00,50.00,50.00,0,16,4,0.00,NULL,NULL),
+ (93,'civicrm_participant',38,100,8,'Single',1.00,50.00,50.00,0,16,4,0.00,NULL,NULL),
+ (94,'civicrm_participant',41,103,8,'Single',1.00,50.00,50.00,0,16,4,0.00,NULL,NULL),
+ (95,'civicrm_participant',44,106,8,'Single',1.00,50.00,50.00,0,16,4,0.00,NULL,NULL),
+ (96,'civicrm_participant',47,109,8,'Single',1.00,50.00,50.00,0,16,4,0.00,NULL,NULL),
+ (97,'civicrm_participant',2,64,9,'Soprano',1.00,50.00,50.00,0,21,2,0.00,NULL,NULL),
+ (98,'civicrm_participant',5,67,9,'Soprano',1.00,50.00,50.00,0,21,2,0.00,NULL,NULL),
+ (99,'civicrm_participant',8,70,9,'Soprano',1.00,50.00,50.00,0,21,2,0.00,NULL,NULL),
+ (100,'civicrm_participant',11,73,9,'Soprano',1.00,50.00,50.00,0,21,2,0.00,NULL,NULL),
+ (101,'civicrm_participant',14,76,9,'Soprano',1.00,50.00,50.00,0,21,2,0.00,NULL,NULL),
+ (102,'civicrm_participant',17,79,9,'Soprano',1.00,50.00,50.00,0,21,2,0.00,NULL,NULL),
+ (103,'civicrm_participant',20,82,9,'Soprano',1.00,50.00,50.00,0,21,2,0.00,NULL,NULL),
+ (104,'civicrm_participant',23,85,9,'Soprano',1.00,50.00,50.00,0,21,2,0.00,NULL,NULL),
+ (105,'civicrm_participant',27,89,9,'Soprano',1.00,50.00,50.00,0,21,2,0.00,NULL,NULL),
+ (106,'civicrm_participant',30,92,9,'Soprano',1.00,50.00,50.00,0,21,2,0.00,NULL,NULL),
+ (107,'civicrm_participant',33,95,9,'Soprano',1.00,50.00,50.00,0,21,2,0.00,NULL,NULL),
+ (108,'civicrm_participant',36,98,9,'Soprano',1.00,50.00,50.00,0,21,2,0.00,NULL,NULL),
+ (109,'civicrm_participant',39,101,9,'Soprano',1.00,50.00,50.00,0,21,2,0.00,NULL,NULL),
+ (110,'civicrm_participant',42,104,9,'Soprano',1.00,50.00,50.00,0,21,2,0.00,NULL,NULL),
+ (111,'civicrm_participant',45,107,9,'Soprano',1.00,50.00,50.00,0,21,2,0.00,NULL,NULL),
+ (112,'civicrm_participant',48,110,9,'Soprano',1.00,50.00,50.00,0,21,2,0.00,NULL,NULL);
 /*!40000 ALTER TABLE `civicrm_line_item` ENABLE KEYS */;
 UNLOCK TABLES;
 
@@ -4207,9 +4165,9 @@ UNLOCK TABLES;
 LOCK TABLES `civicrm_loc_block` WRITE;
 /*!40000 ALTER TABLE `civicrm_loc_block` DISABLE KEYS */;
 INSERT INTO `civicrm_loc_block` (`id`, `address_id`, `email_id`, `phone_id`, `im_id`, `address_2_id`, `email_2_id`, `phone_2_id`, `im_2_id`) VALUES
- (1,179,185,157,NULL,NULL,NULL,NULL,NULL),
- (2,180,186,158,NULL,NULL,NULL,NULL,NULL),
- (3,181,187,159,NULL,NULL,NULL,NULL,NULL);
+ (1,174,185,158,NULL,NULL,NULL,NULL,NULL),
+ (2,175,186,159,NULL,NULL,NULL,NULL,NULL),
+ (3,176,187,160,NULL,NULL,NULL,NULL,NULL);
 /*!40000 ALTER TABLE `civicrm_loc_block` ENABLE KEYS */;
 UNLOCK TABLES;
 
@@ -4235,7 +4193,7 @@ UNLOCK TABLES;
 LOCK TABLES `civicrm_log` WRITE;
 /*!40000 ALTER TABLE `civicrm_log` DISABLE KEYS */;
 INSERT INTO `civicrm_log` (`id`, `entity_table`, `entity_id`, `data`, `modified_id`, `modified_date`) VALUES
- (1,'civicrm_contact',202,'civicrm_contact,202',202,'2022-01-05 03:20:46');
+ (1,'civicrm_contact',202,'civicrm_contact,202',202,'2022-02-28 22:32:39');
 /*!40000 ALTER TABLE `civicrm_log` ENABLE KEYS */;
 UNLOCK TABLES;
 
@@ -4651,36 +4609,36 @@ UNLOCK TABLES;
 LOCK TABLES `civicrm_membership` WRITE;
 /*!40000 ALTER TABLE `civicrm_membership` DISABLE KEYS */;
 INSERT INTO `civicrm_membership` (`id`, `contact_id`, `membership_type_id`, `join_date`, `start_date`, `end_date`, `source`, `status_id`, `is_override`, `status_override_end_date`, `owner_membership_id`, `max_related`, `is_test`, `is_pay_later`, `contribution_recur_id`, `campaign_id`) VALUES
- (1,65,1,'2022-01-05','2022-01-05','2024-01-04','Check',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),
- (2,189,2,'2022-01-04','2022-01-04','2023-01-03','Donation',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),
- (3,41,1,'2022-01-03','2022-01-03','2024-01-02','Payment',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),
- (4,35,2,'2022-01-02','2022-01-02','2023-01-01','Payment',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),
- (5,130,1,'2019-12-04','2019-12-04','2021-12-03','Donation',3,NULL,NULL,NULL,NULL,0,0,NULL,NULL),
- (6,9,2,'2021-12-31','2021-12-31','2022-12-30','Payment',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),
- (7,58,1,'2021-12-30','2021-12-30','2023-12-29','Payment',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),
- (8,190,2,'2021-12-29','2021-12-29','2022-12-28','Check',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),
- (9,40,1,'2021-12-28','2021-12-28','2023-12-27','Check',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),
- (10,36,1,'2019-10-25','2019-10-25','2021-10-24','Payment',3,NULL,NULL,NULL,NULL,0,0,NULL,NULL),
- (11,186,3,'2021-12-26','2021-12-26',NULL,'Donation',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),
- (12,149,2,'2021-12-25','2021-12-25','2022-12-24','Payment',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),
- (13,6,1,'2021-12-24','2021-12-24','2023-12-23','Donation',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),
- (14,97,2,'2021-12-23','2021-12-23','2022-12-22','Donation',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),
- (15,12,2,'2020-12-22','2020-12-22','2021-12-21','Donation',4,NULL,NULL,NULL,NULL,0,0,NULL,NULL),
- (16,28,2,'2021-12-21','2021-12-21','2022-12-20','Donation',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),
- (17,140,1,'2021-12-20','2021-12-20','2023-12-19','Donation',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),
- (18,69,2,'2021-12-19','2021-12-19','2022-12-18','Donation',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),
- (19,95,1,'2021-12-18','2021-12-18','2023-12-17','Check',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),
- (20,3,1,'2019-08-06','2019-08-06','2021-08-05','Check',3,NULL,NULL,NULL,NULL,0,0,NULL,NULL),
- (21,19,1,'2021-12-16','2021-12-16','2023-12-15','Payment',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),
- (22,59,3,'2021-12-15','2021-12-15',NULL,'Payment',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),
- (23,24,1,'2021-12-14','2021-12-14','2023-12-13','Payment',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),
- (24,162,2,'2021-12-13','2021-12-13','2022-12-12','Check',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),
- (25,107,1,'2019-06-27','2019-06-27','2021-06-26','Donation',3,NULL,NULL,NULL,NULL,0,0,NULL,NULL),
- (26,127,2,'2021-12-11','2021-12-11','2022-12-10','Donation',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),
- (27,66,1,'2021-12-10','2021-12-10','2023-12-09','Check',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),
- (28,13,2,'2021-12-09','2021-12-09','2022-12-08','Check',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),
- (29,202,1,'2021-12-08','2021-12-08','2023-12-07','Donation',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),
- (30,105,2,'2020-12-07','2020-12-07','2021-12-06','Check',4,NULL,NULL,NULL,NULL,0,0,NULL,NULL);
+ (1,175,1,'2022-02-28','2022-02-28','2024-02-27','Check',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),
+ (2,105,2,'2022-02-27','2022-02-27','2023-02-26','Check',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),
+ (3,65,1,'2022-02-26','2022-02-26','2024-02-25','Donation',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),
+ (4,179,2,'2022-02-25','2022-02-25','2023-02-24','Donation',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),
+ (5,159,1,'2020-01-27','2020-01-27','2022-01-26','Check',3,NULL,NULL,NULL,NULL,0,0,NULL,NULL),
+ (6,157,2,'2022-02-23','2022-02-23','2023-02-22','Check',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),
+ (7,26,1,'2022-02-22','2022-02-22','2024-02-21','Check',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),
+ (8,184,2,'2022-02-21','2022-02-21','2023-02-20','Check',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),
+ (9,90,1,'2022-02-20','2022-02-20','2024-02-19','Payment',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),
+ (10,167,2,'2021-02-19','2021-02-19','2022-02-18','Check',4,NULL,NULL,NULL,NULL,0,0,NULL,NULL),
+ (11,3,3,'2022-02-18','2022-02-18',NULL,'Check',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),
+ (12,40,2,'2022-02-17','2022-02-17','2023-02-16','Donation',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),
+ (13,82,1,'2022-02-16','2022-02-16','2024-02-15','Payment',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),
+ (14,16,2,'2022-02-15','2022-02-15','2023-02-14','Donation',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),
+ (15,34,1,'2019-11-08','2019-11-08','2021-11-07','Check',3,NULL,NULL,NULL,NULL,0,0,NULL,NULL),
+ (16,79,2,'2022-02-13','2022-02-13','2023-02-12','Payment',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),
+ (17,163,1,'2022-02-12','2022-02-12','2024-02-11','Donation',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),
+ (18,75,2,'2022-02-11','2022-02-11','2023-02-10','Check',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),
+ (19,27,1,'2022-02-10','2022-02-10','2024-02-09','Check',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),
+ (20,99,1,'2019-09-29','2019-09-29','2021-09-28','Check',3,NULL,NULL,NULL,NULL,0,0,NULL,NULL),
+ (21,174,1,'2022-02-08','2022-02-08','2024-02-07','Payment',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),
+ (22,195,3,'2022-02-07','2022-02-07',NULL,'Check',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),
+ (23,70,1,'2022-02-06','2022-02-06','2024-02-05','Donation',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),
+ (24,134,2,'2022-02-05','2022-02-05','2023-02-04','Check',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),
+ (25,188,2,'2021-02-04','2021-02-04','2022-02-03','Donation',4,NULL,NULL,NULL,NULL,0,0,NULL,NULL),
+ (26,12,2,'2022-02-03','2022-02-03','2023-02-02','Check',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),
+ (27,137,1,'2022-02-02','2022-02-02','2024-02-01','Check',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),
+ (28,101,2,'2022-02-01','2022-02-01','2023-01-31','Donation',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),
+ (29,107,1,'2022-01-31','2022-01-31','2024-01-30','Payment',1,NULL,NULL,NULL,NULL,0,0,NULL,NULL),
+ (30,192,2,'2021-01-30','2021-01-30','2022-01-29','Check',4,NULL,NULL,NULL,NULL,0,0,NULL,NULL);
 /*!40000 ALTER TABLE `civicrm_membership` ENABLE KEYS */;
 UNLOCK TABLES;
 
@@ -4702,36 +4660,36 @@ UNLOCK TABLES;
 LOCK TABLES `civicrm_membership_log` WRITE;
 /*!40000 ALTER TABLE `civicrm_membership_log` DISABLE KEYS */;
 INSERT INTO `civicrm_membership_log` (`id`, `membership_id`, `status_id`, `start_date`, `end_date`, `modified_id`, `modified_date`, `membership_type_id`, `max_related`) VALUES
- (1,20,3,'2019-08-06','2021-08-05',3,'2022-01-05',1,NULL),
- (2,13,1,'2021-12-24','2023-12-23',6,'2022-01-05',1,NULL),
- (3,6,1,'2021-12-31','2022-12-30',9,'2022-01-05',2,NULL),
- (4,15,4,'2020-12-22','2021-12-21',12,'2022-01-05',2,NULL),
- (5,28,1,'2021-12-09','2022-12-08',13,'2022-01-05',2,NULL),
- (6,21,1,'2021-12-16','2023-12-15',19,'2022-01-05',1,NULL),
- (7,23,1,'2021-12-14','2023-12-13',24,'2022-01-05',1,NULL),
- (8,16,1,'2021-12-21','2022-12-20',28,'2022-01-05',2,NULL),
- (9,4,1,'2022-01-02','2023-01-01',35,'2022-01-05',2,NULL),
- (10,10,3,'2019-10-25','2021-10-24',36,'2022-01-05',1,NULL),
- (11,9,1,'2021-12-28','2023-12-27',40,'2022-01-05',1,NULL),
- (12,3,1,'2022-01-03','2024-01-02',41,'2022-01-05',1,NULL),
- (13,7,1,'2021-12-30','2023-12-29',58,'2022-01-05',1,NULL),
- (14,22,1,'2021-12-15',NULL,59,'2022-01-05',3,NULL),
- (15,1,1,'2022-01-05','2024-01-04',65,'2022-01-05',1,NULL),
- (16,27,1,'2021-12-10','2023-12-09',66,'2022-01-05',1,NULL),
- (17,18,1,'2021-12-19','2022-12-18',69,'2022-01-05',2,NULL),
- (18,19,1,'2021-12-18','2023-12-17',95,'2022-01-05',1,NULL),
- (19,14,1,'2021-12-23','2022-12-22',97,'2022-01-05',2,NULL),
- (20,30,4,'2020-12-07','2021-12-06',105,'2022-01-05',2,NULL),
- (21,25,3,'2019-06-27','2021-06-26',107,'2022-01-05',1,NULL),
- (22,26,1,'2021-12-11','2022-12-10',127,'2022-01-05',2,NULL),
- (23,5,3,'2019-12-04','2021-12-03',130,'2022-01-05',1,NULL),
- (24,17,1,'2021-12-20','2023-12-19',140,'2022-01-05',1,NULL),
- (25,12,1,'2021-12-25','2022-12-24',149,'2022-01-05',2,NULL),
- (26,24,1,'2021-12-13','2022-12-12',162,'2022-01-05',2,NULL),
- (27,11,1,'2021-12-26',NULL,186,'2022-01-05',3,NULL),
- (28,2,1,'2022-01-04','2023-01-03',189,'2022-01-05',2,NULL),
- (29,8,1,'2021-12-29','2022-12-28',190,'2022-01-05',2,NULL),
- (30,29,1,'2021-12-08','2023-12-07',202,'2022-01-05',1,NULL);
+ (1,11,1,'2022-02-18',NULL,3,'2022-02-28',3,NULL),
+ (2,26,1,'2022-02-03','2023-02-02',12,'2022-02-28',2,NULL),
+ (3,14,1,'2022-02-15','2023-02-14',16,'2022-02-28',2,NULL),
+ (4,7,1,'2022-02-22','2024-02-21',26,'2022-02-28',1,NULL),
+ (5,19,1,'2022-02-10','2024-02-09',27,'2022-02-28',1,NULL),
+ (6,15,3,'2019-11-08','2021-11-07',34,'2022-02-28',1,NULL),
+ (7,12,1,'2022-02-17','2023-02-16',40,'2022-02-28',2,NULL),
+ (8,3,1,'2022-02-26','2024-02-25',65,'2022-02-28',1,NULL),
+ (9,23,1,'2022-02-06','2024-02-05',70,'2022-02-28',1,NULL),
+ (10,18,1,'2022-02-11','2023-02-10',75,'2022-02-28',2,NULL),
+ (11,16,1,'2022-02-13','2023-02-12',79,'2022-02-28',2,NULL),
+ (12,13,1,'2022-02-16','2024-02-15',82,'2022-02-28',1,NULL),
+ (13,9,1,'2022-02-20','2024-02-19',90,'2022-02-28',1,NULL),
+ (14,20,3,'2019-09-29','2021-09-28',99,'2022-02-28',1,NULL),
+ (15,28,1,'2022-02-01','2023-01-31',101,'2022-02-28',2,NULL),
+ (16,2,1,'2022-02-27','2023-02-26',105,'2022-02-28',2,NULL),
+ (17,29,1,'2022-01-31','2024-01-30',107,'2022-02-28',1,NULL),
+ (18,24,1,'2022-02-05','2023-02-04',134,'2022-02-28',2,NULL),
+ (19,27,1,'2022-02-02','2024-02-01',137,'2022-02-28',1,NULL),
+ (20,6,1,'2022-02-23','2023-02-22',157,'2022-02-28',2,NULL),
+ (21,5,3,'2020-01-27','2022-01-26',159,'2022-02-28',1,NULL),
+ (22,17,1,'2022-02-12','2024-02-11',163,'2022-02-28',1,NULL),
+ (23,10,4,'2021-02-19','2022-02-18',167,'2022-02-28',2,NULL),
+ (24,21,1,'2022-02-08','2024-02-07',174,'2022-02-28',1,NULL),
+ (25,1,1,'2022-02-28','2024-02-27',175,'2022-02-28',1,NULL),
+ (26,4,1,'2022-02-25','2023-02-24',179,'2022-02-28',2,NULL),
+ (27,8,1,'2022-02-21','2023-02-20',184,'2022-02-28',2,NULL),
+ (28,25,4,'2021-02-04','2022-02-03',188,'2022-02-28',2,NULL),
+ (29,30,4,'2021-01-30','2022-01-29',192,'2022-02-28',2,NULL),
+ (30,22,1,'2022-02-07',NULL,195,'2022-02-28',3,NULL);
 /*!40000 ALTER TABLE `civicrm_membership_log` ENABLE KEYS */;
 UNLOCK TABLES;
 
@@ -4742,36 +4700,36 @@ UNLOCK TABLES;
 LOCK TABLES `civicrm_membership_payment` WRITE;
 /*!40000 ALTER TABLE `civicrm_membership_payment` DISABLE KEYS */;
 INSERT INTO `civicrm_membership_payment` (`id`, `membership_id`, `contribution_id`) VALUES
- (15,1,32),
- (28,2,33),
- (12,3,34),
- (9,4,35),
- (23,5,36),
- (3,6,37),
- (13,7,38),
- (29,8,39),
- (11,9,40),
+ (1,1,32),
+ (2,2,33),
+ (3,3,34),
+ (4,4,35),
+ (5,5,36),
+ (6,6,37),
+ (7,7,38),
+ (8,8,39),
+ (9,9,40),
  (10,10,41),
- (27,11,42),
- (25,12,43),
- (2,13,44),
- (19,14,45),
- (4,15,46),
- (8,16,47),
- (24,17,48),
- (17,18,49),
- (18,19,50),
- (1,20,51),
- (6,21,52),
- (14,22,53),
- (7,23,54),
- (26,24,55),
- (21,25,56),
- (22,26,57),
- (16,27,58),
- (5,28,59),
- (30,29,60),
- (20,30,61);
+ (11,11,42),
+ (12,12,43),
+ (13,13,44),
+ (14,14,45),
+ (15,15,46),
+ (16,16,47),
+ (17,17,48),
+ (18,18,49),
+ (19,19,50),
+ (20,20,51),
+ (21,21,52),
+ (22,22,53),
+ (23,23,54),
+ (24,24,55),
+ (25,25,56),
+ (26,26,57),
+ (27,27,58),
+ (28,28,59),
+ (29,29,60),
+ (30,30,61);
 /*!40000 ALTER TABLE `civicrm_membership_payment` ENABLE KEYS */;
 UNLOCK TABLES;
 
@@ -4816,449 +4774,448 @@ INSERT INTO `civicrm_menu` (`id`, `domain_id`, `path`, `path_arguments`, `title`
  (2,1,'civicrm/group/search',NULL,'Group Members','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:29:\"CRM_Contact_Controller_Search\";','s:8:\"mode=256\";','a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:13:\"Manage Groups\";s:3:\"url\";s:22:\"/civicrm/group?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:1:{s:7:\"comment\";s:164:\"Note: group search already respect ACL, so a strict permission at url level is not required. A simple/basic permission like \'access CiviCRM\' could be used. CRM-5417\";}'),
  (3,1,'civicrm/group/add',NULL,'New Group','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:11:\"edit groups\";}i:1;s:3:\"and\";}','s:20:\"CRM_Group_Controller\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:13:\"Manage Groups\";s:3:\"url\";s:22:\"/civicrm/group?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
  (4,1,'civicrm/ajax/grouplist',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:19:\"CRM_Group_Page_AJAX\";i:1;s:12:\"getGroupList\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (5,1,'civicrm/import',NULL,'Import','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:15:\"import contacts\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:29:\"CRM_Contact_Import_Controller\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,400,1,1,NULL,'a:0:{}'),
- (6,1,'civicrm/import/contact',NULL,'Import Contacts','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:15:\"import contacts\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:29:\"CRM_Contact_Import_Controller\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:6:\"Import\";s:3:\"url\";s:23:\"/civicrm/import?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,410,1,1,NULL,'a:0:{}'),
- (7,1,'civicrm/import/activity',NULL,'Import Activities','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:15:\"import contacts\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:30:\"CRM_Activity_Import_Controller\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:6:\"Import\";s:3:\"url\";s:23:\"/civicrm/import?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,420,1,1,NULL,'a:0:{}'),
- (8,1,'civicrm/import/custom','id=%%id%%','Import Multi-value Custom Data','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:28:\"CRM_Custom_Import_Controller\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:6:\"Import\";s:3:\"url\";s:23:\"/civicrm/import?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,420,1,1,NULL,'a:0:{}'),
- (9,1,'civicrm/ajax/status',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:15:\"import contacts\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:28:\"CRM_Contact_Import_Page_AJAX\";i:1;s:6:\"status\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (10,1,'civicrm/admin/custom/group',NULL,'Custom Data','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:23:\"administer CiviCRM data\";}i:1;s:3:\"and\";}','s:21:\"CRM_Custom_Page_Group\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,10,1,0,NULL,'a:2:{s:4:\"desc\";s:109:\"Configure custom fields to collect and store custom data which is not included in the standard CiviCRM forms.\";s:10:\"adminGroup\";s:26:\"Customize Data and Screens\";}'),
- (11,1,'civicrm/admin/custom/group/field',NULL,'Custom Data Fields','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:23:\"administer CiviCRM data\";}i:1;s:3:\"and\";}','s:21:\"CRM_Custom_Page_Field\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:11:\"Custom Data\";s:3:\"url\";s:35:\"/civicrm/admin/custom/group?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,11,1,0,0,'a:0:{}'),
- (12,1,'civicrm/admin/custom/group/field/option',NULL,'Custom Field - Options','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:23:\"administer CiviCRM data\";}i:1;s:3:\"and\";}','s:22:\"CRM_Custom_Page_Option\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:11:\"Custom Data\";s:3:\"url\";s:35:\"/civicrm/admin/custom/group?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:0:{}'),
- (13,1,'civicrm/admin/custom/group/field/add',NULL,'Custom Field - Add','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:23:\"administer CiviCRM data\";}i:1;s:3:\"and\";}','s:21:\"CRM_Custom_Form_Field\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:11:\"Custom Data\";s:3:\"url\";s:35:\"/civicrm/admin/custom/group?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:0:{}'),
- (14,1,'civicrm/admin/custom/group/field/update',NULL,'Custom Field - Edit','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:23:\"administer CiviCRM data\";}i:1;s:3:\"and\";}','s:21:\"CRM_Custom_Form_Field\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:11:\"Custom Data\";s:3:\"url\";s:35:\"/civicrm/admin/custom/group?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:0:{}'),
- (15,1,'civicrm/admin/custom/group/field/move',NULL,'Custom Field - Move','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:23:\"administer CiviCRM data\";}i:1;s:3:\"and\";}','s:25:\"CRM_Custom_Form_MoveField\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:11:\"Custom Data\";s:3:\"url\";s:35:\"/civicrm/admin/custom/group?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:0:{}'),
- (16,1,'civicrm/admin/uf/group',NULL,'Profiles','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:17:\"CRM_UF_Page_Group\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,20,1,0,NULL,'a:2:{s:4:\"desc\";s:151:\"Profiles allow you to aggregate groups of fields and include them in your site as input forms, contact display pages, and search and listings features.\";s:10:\"adminGroup\";s:26:\"Customize Data and Screens\";}'),
- (17,1,'civicrm/admin/uf/group/field',NULL,'CiviCRM Profile Fields','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:17:\"CRM_UF_Page_Field\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:8:\"Profiles\";s:3:\"url\";s:31:\"/civicrm/admin/uf/group?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,21,1,0,0,'a:0:{}'),
- (18,1,'civicrm/admin/uf/group/field/add',NULL,'Add Field','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:17:\"CRM_UF_Form_Field\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:8:\"Profiles\";s:3:\"url\";s:31:\"/civicrm/admin/uf/group?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,22,1,0,NULL,'a:0:{}'),
- (19,1,'civicrm/admin/uf/group/field/update',NULL,'Edit Field','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:17:\"CRM_UF_Form_Field\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:8:\"Profiles\";s:3:\"url\";s:31:\"/civicrm/admin/uf/group?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,23,1,0,NULL,'a:0:{}'),
- (20,1,'civicrm/admin/uf/group/add',NULL,'New CiviCRM Profile','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:17:\"CRM_UF_Form_Group\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:8:\"Profiles\";s:3:\"url\";s:31:\"/civicrm/admin/uf/group?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,24,1,0,NULL,'a:0:{}'),
- (21,1,'civicrm/admin/uf/group/update',NULL,'Profile Settings','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:17:\"CRM_UF_Form_Group\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:8:\"Profiles\";s:3:\"url\";s:31:\"/civicrm/admin/uf/group?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,25,1,0,NULL,'a:0:{}'),
- (22,1,'civicrm/admin/uf/group/setting',NULL,'AdditionalInfo Form','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:26:\"CRM_UF_Form_AdvanceSetting\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:8:\"Profiles\";s:3:\"url\";s:31:\"/civicrm/admin/uf/group?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,0,1,0,NULL,'a:0:{}'),
- (23,1,'civicrm/admin/options/activity_type',NULL,'Activity Types','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,30,1,0,NULL,'a:2:{s:4:\"desc\";s:155:\"CiviCRM has several built-in activity types (meetings, phone calls, emails sent). Track other types of interactions by creating custom activity types here.\";s:10:\"adminGroup\";s:26:\"Customize Data and Screens\";}'),
- (24,1,'civicrm/admin/reltype',NULL,'Relationship Types','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:31:\"CRM_Admin_Page_RelationshipType\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,35,1,0,NULL,'a:2:{s:4:\"desc\";s:148:\"Contacts can be linked to each other through Relationships (e.g. Spouse, Employer, etc.). Define the types of relationships you want to record here.\";s:10:\"adminGroup\";s:26:\"Customize Data and Screens\";}'),
- (25,1,'civicrm/admin/options/subtype',NULL,'Contact Types','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:26:\"CRM_Admin_Page_ContactType\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,40,1,0,NULL,'a:1:{s:10:\"adminGroup\";s:26:\"Customize Data and Screens\";}'),
- (26,1,'civicrm/admin/options/gender',NULL,'Gender Options','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,45,1,0,NULL,'a:2:{s:4:\"desc\";s:79:\"Options for assigning gender to individual contacts (e.g. Male, Female, Other).\";s:10:\"adminGroup\";s:26:\"Customize Data and Screens\";}'),
- (27,1,'civicrm/admin/options/individual_prefix',NULL,'Individual Prefixes (Ms, Mr...)','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,50,1,0,NULL,'a:2:{s:4:\"desc\";s:66:\"Options for individual contact prefixes (e.g. Ms., Mr., Dr. etc.).\";s:10:\"adminGroup\";s:26:\"Customize Data and Screens\";}'),
- (28,1,'civicrm/admin/options/individual_suffix',NULL,'Individual Suffixes (Jr, Sr...)','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,55,1,0,NULL,'a:2:{s:4:\"desc\";s:61:\"Options for individual contact suffixes (e.g. Jr., Sr. etc.).\";s:10:\"adminGroup\";s:26:\"Customize Data and Screens\";}'),
- (29,1,'civicrm/admin/locationType',NULL,'Location Types (Home, Work...)','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:27:\"CRM_Admin_Page_LocationType\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,60,1,0,NULL,'a:2:{s:4:\"desc\";s:94:\"Options for categorizing contact addresses and phone numbers (e.g. Home, Work, Billing, etc.).\";s:10:\"adminGroup\";s:26:\"Customize Data and Screens\";}'),
- (30,1,'civicrm/admin/options/website_type',NULL,'Website Types','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,65,1,0,NULL,'a:2:{s:4:\"desc\";s:48:\"Options for assigning website types to contacts.\";s:10:\"adminGroup\";s:26:\"Customize Data and Screens\";}'),
- (31,1,'civicrm/admin/options/instant_messenger_service',NULL,'Instant Messenger Services','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,70,1,0,NULL,'a:2:{s:4:\"desc\";s:79:\"List of IM services which can be used when recording screen-names for contacts.\";s:10:\"adminGroup\";s:26:\"Customize Data and Screens\";}'),
- (32,1,'civicrm/admin/options/mobile_provider',NULL,'Mobile Phone Providers','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,75,1,0,NULL,'a:2:{s:4:\"desc\";s:90:\"List of mobile phone providers which can be assigned when recording contact phone numbers.\";s:10:\"adminGroup\";s:26:\"Customize Data and Screens\";}'),
- (33,1,'civicrm/admin/options/phone_type',NULL,'Phone Type','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,80,1,0,NULL,'a:2:{s:4:\"desc\";s:80:\"Options for assigning phone type to contacts (e.g Phone,\n    Mobile, Fax, Pager)\";s:10:\"adminGroup\";s:26:\"Customize Data and Screens\";}'),
- (34,1,'civicrm/admin/setting/preferences/display',NULL,'Display Preferences','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:34:\"CRM_Admin_Form_Preferences_Display\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,90,1,0,NULL,'a:1:{s:10:\"adminGroup\";s:26:\"Customize Data and Screens\";}'),
- (35,1,'civicrm/admin/setting/search',NULL,'Search Preferences','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:29:\"CRM_Admin_Form_Setting_Search\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,95,1,0,NULL,'a:1:{s:10:\"adminGroup\";s:26:\"Customize Data and Screens\";}'),
- (36,1,'civicrm/admin/setting/preferences/date',NULL,'View Date Preferences','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:30:\"CRM_Admin_Page_PreferencesDate\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:0:{}'),
- (37,1,'civicrm/admin/menu',NULL,'Navigation Menu','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:25:\"CRM_Admin_Page_Navigation\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,100,1,0,NULL,'a:2:{s:4:\"desc\";s:79:\"Add or remove menu items, and modify the order of items on the navigation menu.\";s:10:\"adminGroup\";s:26:\"Customize Data and Screens\";}'),
- (38,1,'civicrm/admin/options/wordreplacements',NULL,'Word Replacements','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:31:\"CRM_Admin_Form_WordReplacements\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,105,1,0,NULL,'a:2:{s:4:\"desc\";s:18:\"Word Replacements.\";s:10:\"adminGroup\";s:26:\"Customize Data and Screens\";}'),
- (39,1,'civicrm/admin/options/custom_search',NULL,'Manage Custom Searches','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,110,1,0,NULL,'a:2:{s:4:\"desc\";s:225:\"Developers and accidental techies with a bit of PHP and SQL knowledge can create new search forms to handle specific search and reporting needs which aren\'t covered by the built-in Advanced Search and Search Builder features.\";s:10:\"adminGroup\";s:26:\"Customize Data and Screens\";}'),
- (40,1,'civicrm/admin/domain','action=update','Organization Address and Contact Info','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:23:\"CRM_Contact_Form_Domain\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,10,1,0,NULL,'a:2:{s:4:\"desc\";s:150:\"Configure primary contact name, email, return-path and address information. This information is used by CiviMail to identify the sending organization.\";s:10:\"adminGroup\";s:14:\"Communications\";}'),
- (41,1,'civicrm/admin/options/from_email_address',NULL,'From Email Addresses','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,20,1,0,NULL,'a:2:{s:4:\"desc\";s:74:\"List of Email Addresses which can be used when sending emails to contacts.\";s:10:\"adminGroup\";s:14:\"Communications\";}'),
- (42,1,'civicrm/admin/messageTemplates',NULL,'Message Templates','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:22:\"edit message templates\";i:1;s:34:\"edit user-driven message templates\";i:2;s:38:\"edit system workflow message templates\";}i:1;s:2:\"or\";}','s:31:\"CRM_Admin_Page_MessageTemplates\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,30,1,0,NULL,'a:2:{s:4:\"desc\";s:130:\"Message templates allow you to save and re-use messages with layouts which you can use when sending email to one or more contacts.\";s:10:\"adminGroup\";s:14:\"Communications\";}'),
- (43,1,'civicrm/admin/messageTemplates/add',NULL,'Message Templates','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:22:\"edit message templates\";i:1;s:34:\"edit user-driven message templates\";i:2;s:38:\"edit system workflow message templates\";}i:1;s:2:\"or\";}','s:31:\"CRM_Admin_Form_MessageTemplates\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:17:\"Message Templates\";s:3:\"url\";s:39:\"/civicrm/admin/messageTemplates?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,262,1,0,NULL,'a:1:{s:4:\"desc\";s:26:\"Add/Edit Message Templates\";}'),
- (44,1,'civicrm/admin/scheduleReminders',NULL,'Schedule Reminders','s:1:\"1\";','a:2:{i:0;a:2:{i:0;s:23:\"administer CiviCRM data\";i:1;s:15:\"edit all events\";}i:1;s:2:\"or\";}','s:32:\"CRM_Admin_Page_ScheduleReminders\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,40,1,0,NULL,'a:2:{s:4:\"desc\";s:19:\"Schedule Reminders.\";s:10:\"adminGroup\";s:14:\"Communications\";}'),
- (45,1,'civicrm/admin/weight',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:16:\"CRM_Utils_Weight\";i:1;s:8:\"fixOrder\";}',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:0:{}'),
- (46,1,'civicrm/admin/options/preferred_communication_method',NULL,'Preferred Communication Methods','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,50,1,0,NULL,'a:2:{s:4:\"desc\";s:117:\"One or more preferred methods of communication can be assigned to each contact. Customize the available options here.\";s:10:\"adminGroup\";s:14:\"Communications\";}'),
- (47,1,'civicrm/admin/labelFormats',NULL,'Label Formats','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:27:\"CRM_Admin_Page_LabelFormats\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,60,1,0,NULL,'a:2:{s:4:\"desc\";s:67:\"Configure Label Formats that are used when creating mailing labels.\";s:10:\"adminGroup\";s:14:\"Communications\";}'),
- (48,1,'civicrm/admin/pdfFormats',NULL,'Print Page (PDF) Formats','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:25:\"CRM_Admin_Page_PdfFormats\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,70,1,0,NULL,'a:2:{s:4:\"desc\";s:95:\"Configure PDF Page Formats that can be assigned to Message Templates when creating PDF letters.\";s:10:\"adminGroup\";s:14:\"Communications\";}'),
- (49,1,'civicrm/admin/options/communication_style',NULL,'Communication Style Options','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,75,1,0,NULL,'a:2:{s:4:\"desc\";s:42:\"Options for Communication Style selection.\";s:10:\"adminGroup\";s:14:\"Communications\";}'),
- (50,1,'civicrm/admin/options/email_greeting',NULL,'Email Greeting Formats','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,80,1,0,NULL,'a:2:{s:4:\"desc\";s:75:\"Options for assigning email greetings to individual and household contacts.\";s:10:\"adminGroup\";s:14:\"Communications\";}'),
- (51,1,'civicrm/admin/options/postal_greeting',NULL,'Postal Greeting Formats','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,90,1,0,NULL,'a:2:{s:4:\"desc\";s:76:\"Options for assigning postal greetings to individual and household contacts.\";s:10:\"adminGroup\";s:14:\"Communications\";}'),
- (52,1,'civicrm/admin/options/addressee',NULL,'Addressee Formats','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,100,1,0,NULL,'a:2:{s:4:\"desc\";s:83:\"Options for assigning addressee to individual, household and organization contacts.\";s:10:\"adminGroup\";s:14:\"Communications\";}'),
- (53,1,'civicrm/admin/setting/localization',NULL,'Languages, Currency, Locations','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:35:\"CRM_Admin_Form_Setting_Localization\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,10,1,0,NULL,'a:1:{s:10:\"adminGroup\";s:12:\"Localization\";}'),
- (54,1,'civicrm/admin/setting/preferences/address',NULL,'Address Settings','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:34:\"CRM_Admin_Form_Preferences_Address\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,20,1,0,NULL,'a:1:{s:10:\"adminGroup\";s:12:\"Localization\";}'),
- (55,1,'civicrm/admin/setting/date',NULL,'Date Formats','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:27:\"CRM_Admin_Form_Setting_Date\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,30,1,0,NULL,'a:1:{s:10:\"adminGroup\";s:12:\"Localization\";}'),
- (56,1,'civicrm/admin/options/languages',NULL,'Preferred Languages','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,40,1,0,NULL,'a:2:{s:4:\"desc\";s:30:\"Options for contact languages.\";s:10:\"adminGroup\";s:12:\"Localization\";}'),
- (57,1,'civicrm/admin/access',NULL,'Access Control','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:21:\"CRM_Admin_Page_Access\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,10,1,0,NULL,'a:2:{s:4:\"desc\";s:73:\"Grant or deny access to actions (view, edit...), features and components.\";s:10:\"adminGroup\";s:21:\"Users and Permissions\";}'),
- (58,1,'civicrm/admin/access/wp-permissions',NULL,'WordPress Access Control','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:34:\"CRM_ACL_Form_WordPress_Permissions\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:14:\"Access Control\";s:3:\"url\";s:29:\"/civicrm/admin/access?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,10,1,0,NULL,'a:1:{s:4:\"desc\";s:65:\"Grant access to CiviCRM components and other CiviCRM permissions.\";}'),
- (59,1,'civicrm/admin/synchUser',NULL,'Synchronize Users to Contacts','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Form_CMSUser\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,20,1,0,NULL,'a:2:{s:4:\"desc\";s:71:\"Automatically create a CiviCRM contact record for each CMS user record.\";s:10:\"adminGroup\";s:21:\"Users and Permissions\";}'),
- (60,1,'civicrm/admin/configtask',NULL,'Configuration Checklist','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:29:\"CRM_Admin_Page_ConfigTaskList\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}','civicrm/admin/configtask',NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:2:{s:4:\"desc\";s:55:\"List of configuration tasks with links to each setting.\";s:10:\"adminGroup\";s:15:\"System Settings\";}'),
- (61,1,'civicrm/admin/setting/component',NULL,'Enable CiviCRM Components','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:32:\"CRM_Admin_Form_Setting_Component\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,10,1,0,NULL,'a:2:{s:4:\"desc\";s:269:\"Enable or disable components (e.g. CiviEvent, CiviMember, etc.) for your site based on the features you need. We recommend disabling any components not being used in order to simplify the user interface. You can easily re-enable components at any time from this screen.\";s:10:\"adminGroup\";s:15:\"System Settings\";}'),
- (62,1,'civicrm/admin/extensions',NULL,'Manage Extensions','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:25:\"administer CiviCRM system\";}i:1;s:3:\"and\";}','s:25:\"CRM_Admin_Page_Extensions\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,120,1,0,NULL,'a:2:{s:4:\"desc\";s:0:\"\";s:10:\"adminGroup\";s:15:\"System Settings\";}'),
- (63,1,'civicrm/admin/extensions/upgrade',NULL,'Database Upgrades','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:25:\"administer CiviCRM system\";}i:1;s:3:\"and\";}','s:32:\"CRM_Admin_Page_ExtensionsUpgrade\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:17:\"Manage Extensions\";s:3:\"url\";s:33:\"/civicrm/admin/extensions?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:0:{}'),
- (64,1,'civicrm/admin/setting/smtp',NULL,'Outbound Email Settings','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:25:\"administer CiviCRM system\";}i:1;s:3:\"and\";}','s:27:\"CRM_Admin_Form_Setting_Smtp\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,20,1,0,NULL,'a:1:{s:10:\"adminGroup\";s:15:\"System Settings\";}'),
- (65,1,'civicrm/admin/paymentProcessor',NULL,'Settings - Payment Processor','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:29:\"administer payment processors\";}i:1;s:3:\"and\";}','s:31:\"CRM_Admin_Page_PaymentProcessor\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,30,1,0,NULL,'a:2:{s:4:\"desc\";s:48:\"Payment Processor setup for CiviCRM transactions\";s:10:\"adminGroup\";s:15:\"System Settings\";}'),
- (66,1,'civicrm/admin/setting/mapping',NULL,'Mapping and Geocoding','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:30:\"CRM_Admin_Form_Setting_Mapping\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,40,1,0,NULL,'a:1:{s:10:\"adminGroup\";s:15:\"System Settings\";}'),
- (67,1,'civicrm/admin/setting/misc',NULL,'Misc (Undelete, PDFs, Limits, Logging, etc.)','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:36:\"CRM_Admin_Form_Setting_Miscellaneous\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,50,1,0,NULL,'a:2:{s:4:\"desc\";s:63:\"Enable undelete/move to trash feature, detailed change logging.\";s:10:\"adminGroup\";s:15:\"System Settings\";}'),
- (68,1,'civicrm/admin/setting/path',NULL,'Directories','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:27:\"CRM_Admin_Form_Setting_Path\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,60,1,0,NULL,'a:1:{s:10:\"adminGroup\";s:15:\"System Settings\";}'),
- (69,1,'civicrm/admin/setting/url',NULL,'Resource URLs','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:26:\"CRM_Admin_Form_Setting_Url\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,70,1,0,NULL,'a:1:{s:10:\"adminGroup\";s:15:\"System Settings\";}'),
- (70,1,'civicrm/admin/setting/updateConfigBackend',NULL,'Cleanup Caches and Update Paths','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:42:\"CRM_Admin_Form_Setting_UpdateConfigBackend\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,80,1,0,NULL,'a:2:{s:4:\"desc\";s:157:\"Reset the Base Directory Path and Base URL settings - generally when a CiviCRM site is moved to another location in the file system and/or to another domain.\";s:10:\"adminGroup\";s:15:\"System Settings\";}'),
- (71,1,'civicrm/admin/setting/uf',NULL,'CMS Database Integration','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:25:\"CRM_Admin_Form_Setting_UF\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,90,1,0,NULL,'a:1:{s:10:\"adminGroup\";s:15:\"System Settings\";}'),
- (72,1,'civicrm/admin/options/safe_file_extension',NULL,'Safe File Extension Options','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,100,1,0,NULL,'a:2:{s:4:\"desc\";s:44:\"File Extensions that can be considered safe.\";s:10:\"adminGroup\";s:15:\"System Settings\";}'),
- (73,1,'civicrm/admin/options',NULL,'Option Groups','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,105,1,0,NULL,'a:2:{s:4:\"desc\";s:35:\"Access all meta-data option groups.\";s:10:\"adminGroup\";s:15:\"System Settings\";}'),
- (74,1,'civicrm/admin/mapping',NULL,'Import/Export Mappings','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Mapping\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,110,1,0,NULL,'a:2:{s:4:\"desc\";s:141:\"Import and Export mappings allow you to easily run the same job multiple times. This option allows you to rename or delete existing mappings.\";s:10:\"adminGroup\";s:15:\"System Settings\";}'),
- (75,1,'civicrm/admin/setting/debug',NULL,'Debugging','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:32:\"CRM_Admin_Form_Setting_Debugging\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,120,1,0,NULL,'a:1:{s:10:\"adminGroup\";s:15:\"System Settings\";}'),
- (76,1,'civicrm/admin/setting/preferences/multisite',NULL,'Multi Site Settings','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Form_Generic\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,130,1,0,NULL,'a:1:{s:10:\"adminGroup\";s:15:\"System Settings\";}'),
- (77,1,'civicrm/admin/setting/preferences/campaign',NULL,'CiviCampaign Component Settings','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Form_Generic\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,10,1,0,NULL,'a:3:{s:4:\"desc\";s:40:\"Configure global CiviCampaign behaviors.\";s:10:\"adminGroup\";s:12:\"CiviCampaign\";s:9:\"component\";s:12:\"CiviCampaign\";}'),
- (78,1,'civicrm/admin/setting/preferences/event',NULL,'CiviEvent Component Settings','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:16:\"access CiviEvent\";i:1;s:18:\"administer CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Form_Generic\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,420,1,0,NULL,'a:2:{s:4:\"desc\";s:37:\"Configure global CiviEvent behaviors.\";s:10:\"adminGroup\";s:9:\"CiviEvent\";}'),
- (79,1,'civicrm/admin/setting/preferences/mailing',NULL,'CiviMail Component Settings','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:15:\"access CiviMail\";i:1;s:18:\"administer CiviCRM\";}i:1;s:3:\"and\";}','s:34:\"CRM_Admin_Form_Preferences_Mailing\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,430,1,0,NULL,'a:2:{s:4:\"desc\";s:36:\"Configure global CiviMail behaviors.\";s:10:\"adminGroup\";s:8:\"CiviMail\";}'),
- (80,1,'civicrm/admin/setting/preferences/member',NULL,'CiviMember Component Settings','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:17:\"access CiviMember\";i:1;s:18:\"administer CiviCRM\";}i:1;s:3:\"and\";}','s:33:\"CRM_Admin_Form_Preferences_Member\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,390,1,0,NULL,'a:2:{s:4:\"desc\";s:38:\"Configure global CiviMember behaviors.\";s:10:\"adminGroup\";s:10:\"CiviMember\";}'),
- (81,1,'civicrm/admin/runjobs',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:25:\"administer CiviCRM system\";}i:1;s:3:\"and\";}','a:2:{i:0;s:16:\"CRM_Utils_System\";i:1;s:20:\"executeScheduledJobs\";}',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:1:{s:4:\"desc\";s:36:\"URL used for running scheduled jobs.\";}'),
- (82,1,'civicrm/admin/job',NULL,'Scheduled Jobs','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:25:\"administer CiviCRM system\";}i:1;s:3:\"and\";}','s:18:\"CRM_Admin_Page_Job\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1370,1,0,NULL,'a:2:{s:4:\"desc\";s:35:\"Managing periodially running tasks.\";s:10:\"adminGroup\";s:15:\"System Settings\";}'),
- (83,1,'civicrm/admin/joblog',NULL,'Scheduled Jobs Log','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:25:\"administer CiviCRM system\";}i:1;s:3:\"and\";}','s:21:\"CRM_Admin_Page_JobLog\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1380,1,0,NULL,'a:2:{s:4:\"desc\";s:46:\"Browsing the log of periodially running tasks.\";s:10:\"adminGroup\";s:6:\"Manage\";}'),
- (84,1,'civicrm/admin/options/grant_type',NULL,'Grant Types','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,385,1,0,NULL,'a:2:{s:4:\"desc\";s:148:\"List of types which can be assigned to Grants. (Enable CiviGrant from Administer > Systme Settings > Enable Components if you want to track grants.)\";s:10:\"adminGroup\";s:12:\"Option Lists\";}'),
- (85,1,'civicrm/admin/paymentProcessorType',NULL,'Payment Processor Type','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:35:\"CRM_Admin_Page_PaymentProcessorType\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,390,1,0,NULL,'a:1:{s:4:\"desc\";s:34:\"Payment Processor type information\";}'),
- (86,1,'civicrm/admin',NULL,'Administer CiviCRM','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:20:\"CRM_Admin_Page_Admin\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,9000,1,1,NULL,'a:0:{}'),
- (87,1,'civicrm/ajax/navmenu',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:19:\"CRM_Admin_Page_AJAX\";i:1;s:7:\"navMenu\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (88,1,'civicrm/ajax/menutree',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:18:\"administer CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:19:\"CRM_Admin_Page_AJAX\";i:1;s:8:\"menuTree\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,3,NULL,'a:0:{}'),
- (89,1,'civicrm/ajax/statusmsg',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:19:\"CRM_Admin_Page_AJAX\";i:1;s:12:\"getStatusMsg\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (90,1,'civicrm/admin/price',NULL,'Price Sets','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:18:\"CRM_Price_Page_Set\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,380,1,0,NULL,'a:2:{s:4:\"desc\";s:205:\"Price sets allow you to offer multiple options with associated fees (e.g. pre-conference workshops, additional meals, etc.). Configure Price Sets for events which need more than a single set of fee levels.\";s:10:\"adminGroup\";s:9:\"Customize\";}'),
- (91,1,'civicrm/admin/price/add','action=add','New Price Set','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:18:\"CRM_Price_Page_Set\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:10:\"Price Sets\";s:3:\"url\";s:28:\"/civicrm/admin/price?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:1:{s:4:\"desc\";s:205:\"Price sets allow you to offer multiple options with associated fees (e.g. pre-conference workshops, additional meals, etc.). Configure Price Sets for events which need more than a single set of fee levels.\";}'),
- (92,1,'civicrm/admin/price/field',NULL,'Price Fields','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:20:\"CRM_Price_Page_Field\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:10:\"Price Sets\";s:3:\"url\";s:28:\"/civicrm/admin/price?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,0,'a:0:{}'),
- (93,1,'civicrm/admin/price/field/option',NULL,'Price Field Options','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:21:\"CRM_Price_Page_Option\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:10:\"Price Sets\";s:3:\"url\";s:28:\"/civicrm/admin/price?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:0:{}'),
- (94,1,'civicrm/ajax/mapping',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:19:\"CRM_Admin_Page_AJAX\";i:1;s:11:\"mappingList\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (95,1,'civicrm/ajax/recipientListing',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:16:\"access CiviEvent\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:19:\"CRM_Admin_Page_AJAX\";i:1;s:16:\"recipientListing\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (96,1,'civicrm/admin/sms/provider',NULL,'Sms Providers','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:18:\"administer CiviCRM\";}i:1;s:3:\"and\";}','s:21:\"CRM_SMS_Page_Provider\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,500,1,0,NULL,'a:2:{s:4:\"desc\";s:27:\"To configure a sms provider\";s:10:\"adminGroup\";s:15:\"System Settings\";}'),
- (97,1,'civicrm/sms/send',NULL,'New Mass SMS','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:8:\"send SMS\";}i:1;s:3:\"and\";}','s:23:\"CRM_SMS_Controller_Send\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,610,1,1,NULL,'a:0:{}'),
- (98,1,'civicrm/sms/callback',NULL,NULL,'s:1:\"1\";','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:21:\"CRM_SMS_Page_Callback\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,1,NULL,0,1,1,0,NULL,'a:0:{}'),
- (99,1,'civicrm/admin/badgelayout','action=browse','Event Name Badge Layouts','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:21:\"CRM_Badge_Page_Layout\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,399,1,0,NULL,'a:2:{s:4:\"desc\";s:107:\"Configure name badge layouts for event participants, including logos and what data to include on the badge.\";s:10:\"adminGroup\";s:9:\"CiviEvent\";}'),
- (100,1,'civicrm/admin/badgelayout/add',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:18:\"administer CiviCRM\";}i:1;s:3:\"and\";}','s:21:\"CRM_Badge_Form_Layout\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:24:\"Event Name Badge Layouts\";s:3:\"url\";s:52:\"/civicrm/admin/badgelayout?reset=1&amp;action=browse\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:0:{}'),
- (101,1,'civicrm/ajax/jqState',NULL,NULL,'s:1:\"1\";','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:27:\"CRM_Core_Page_AJAX_Location\";i:1;s:7:\"jqState\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,1,NULL,0,1,1,0,NULL,'a:0:{}'),
- (102,1,'civicrm/ajax/jqCounty',NULL,NULL,'s:1:\"1\";','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:27:\"CRM_Core_Page_AJAX_Location\";i:1;s:8:\"jqCounty\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,1,NULL,0,1,1,0,NULL,'a:0:{}'),
- (103,1,'civicrm/profile',NULL,NULL,'s:1:\"1\";','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:23:\"CRM_Profile_Page_Router\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,1,NULL,0,0,1,0,NULL,'a:0:{}'),
- (104,1,'civicrm/profile/create',NULL,'CiviCRM Profile Create','s:1:\"1\";','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:23:\"CRM_Profile_Page_Router\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,1,NULL,0,0,1,0,NULL,'a:0:{}'),
- (105,1,'civicrm/profile/view',NULL,NULL,'s:1:\"1\";','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:21:\"CRM_Profile_Page_View\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,1,NULL,0,1,1,0,NULL,'a:0:{}'),
- (106,1,'civicrm/custom/add',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:26:\"CRM_Custom_Form_CustomData\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (107,1,'civicrm/ajax/optionlist',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:20:\"CRM_Custom_Page_AJAX\";i:1;s:13:\"getOptionList\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (108,1,'civicrm/ajax/reorder',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:20:\"CRM_Custom_Page_AJAX\";i:1;s:11:\"fixOrdering\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (109,1,'civicrm/ajax/multirecordfieldlist',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:20:\"CRM_Custom_Page_AJAX\";i:1;s:23:\"getMultiRecordFieldList\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (110,1,'civicrm/upgrade',NULL,'Upgrade CiviCRM','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:24:\"CRM_Upgrade_Page_Upgrade\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (111,1,'civicrm/export',NULL,'Download Errors','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:21:\"CRM_Export_BAO_Export\";i:1;s:6:\"invoke\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (112,1,'civicrm/export/contact',NULL,'Export Contacts','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:21:\"CRM_Export_BAO_Export\";i:1;s:6:\"invoke\";}',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Download Errors\";s:3:\"url\";s:23:\"/civicrm/export?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,0,1,0,NULL,'a:0:{}'),
- (113,1,'civicrm/export/standalone',NULL,'Export','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:32:\"CRM_Export_Controller_Standalone\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Download Errors\";s:3:\"url\";s:23:\"/civicrm/export?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (114,1,'civicrm/admin/options/acl_role',NULL,'ACL Roles','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:0:{}'),
- (115,1,'civicrm/acl',NULL,'Manage ACLs','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:16:\"CRM_ACL_Page_ACL\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (116,1,'civicrm/acl/entityrole',NULL,'Assign Users to ACL Roles','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:23:\"CRM_ACL_Page_EntityRole\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:11:\"Manage ACLs\";s:3:\"url\";s:20:\"/civicrm/acl?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (117,1,'civicrm/acl/basic',NULL,'ACL','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:21:\"CRM_ACL_Page_ACLBasic\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:11:\"Manage ACLs\";s:3:\"url\";s:20:\"/civicrm/acl?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (118,1,'civicrm/file',NULL,'Browse Uploaded files','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:21:\"access uploaded files\";}i:1;s:3:\"and\";}','s:18:\"CRM_Core_Page_File\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (119,1,'civicrm/file/delete',NULL,'Delete File','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:17:\"CRM_Core_BAO_File\";i:1;s:16:\"deleteAttachment\";}',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:21:\"Browse Uploaded files\";s:3:\"url\";s:21:\"/civicrm/file?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (120,1,'civicrm/friend',NULL,'Tell a Friend','s:1:\"1\";','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:15:\"CRM_Friend_Form\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,1,NULL,0,1,1,0,NULL,'a:0:{}'),
- (121,1,'civicrm/logout',NULL,'Log out','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:16:\"CRM_Utils_System\";i:1;s:6:\"logout\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,9999,1,1,NULL,'a:0:{}'),
- (122,1,'civicrm/i18n',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:17:\"translate CiviCRM\";}i:1;s:3:\"and\";}','s:18:\"CRM_Core_I18n_Form\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (123,1,'civicrm/ajax/attachment',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"access AJAX API\";}i:1;s:2:\"or\";}','a:2:{i:0;s:29:\"CRM_Core_Page_AJAX_Attachment\";i:1;s:10:\"attachFile\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (124,1,'civicrm/api',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Core_Page_Redirect\";','s:16:\"url=civicrm/api3\";','a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (125,1,'civicrm/api3',NULL,'CiviCRM API v3','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:26:\"CRM_Admin_Page_APIExplorer\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (126,1,'civicrm/ajax/apiexample',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:26:\"CRM_Admin_Page_APIExplorer\";i:1;s:14:\"getExampleFile\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (127,1,'civicrm/ajax/apidoc',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:26:\"CRM_Admin_Page_APIExplorer\";i:1;s:6:\"getDoc\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (128,1,'civicrm/ajax/rest',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"access AJAX API\";}i:1;s:2:\"or\";}','a:2:{i:0;s:14:\"CRM_Utils_REST\";i:1;s:4:\"ajax\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (129,1,'civicrm/api/json',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:14:\"CRM_Utils_REST\";i:1;s:8:\"ajaxJson\";}','s:16:\"url=civicrm/api3\";','a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (130,1,'civicrm/inline',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:14:\"CRM_Utils_REST\";i:1;s:12:\"loadTemplate\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (131,1,'civicrm/ajax/chart',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:38:\"CRM_Contribute_Form_ContributionCharts\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (132,1,'civicrm/asset/builder',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"*always allow*\";}i:1;s:3:\"and\";}','a:2:{i:0;s:23:\"\\Civi\\Core\\AssetBuilder\";i:1;s:7:\"pageRun\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (133,1,'civicrm/contribute/ajax/tableview',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:29:\"CRM_Contribute_Page_DashBoard\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:24:\"CiviContribute Dashboard\";s:3:\"url\";s:27:\"/civicrm/contribute?reset=1\";}}',NULL,NULL,2,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (134,1,'civicrm/payment/ipn',NULL,NULL,'s:1:\"1\";','a:2:{i:0;a:1:{i:0;s:21:\"access CiviContribute\";}i:1;s:3:\"and\";}','a:2:{i:0;s:16:\"CRM_Core_Payment\";i:1;s:9:\"handleIPN\";}',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:11:\"New Payment\";s:3:\"url\";s:39:\"/civicrm/payment?reset=1&amp;action=add\";}}',NULL,NULL,2,NULL,1,NULL,0,1,1,0,NULL,'a:0:{}'),
- (135,1,'civicrm/batch',NULL,'Batch Data Entry','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:21:\"access CiviContribute\";}i:1;s:3:\"and\";}','s:20:\"CRM_Batch_Page_Batch\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (136,1,'civicrm/batch/add',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:21:\"access CiviContribute\";}i:1;s:3:\"and\";}','s:20:\"CRM_Batch_Form_Batch\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:16:\"Batch Data Entry\";s:3:\"url\";s:22:\"/civicrm/batch?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (137,1,'civicrm/batch/entry',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:21:\"access CiviContribute\";}i:1;s:3:\"and\";}','s:20:\"CRM_Batch_Form_Entry\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:16:\"Batch Data Entry\";s:3:\"url\";s:22:\"/civicrm/batch?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (138,1,'civicrm/ajax/batch',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:21:\"access CiviContribute\";}i:1;s:3:\"and\";}','a:2:{i:0;s:19:\"CRM_Batch_Page_AJAX\";i:1;s:9:\"batchSave\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (139,1,'civicrm/ajax/batchlist',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:19:\"CRM_Batch_Page_AJAX\";i:1;s:12:\"getBatchList\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (140,1,'civicrm/ajax/inline',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:18:\"CRM_Core_Page_AJAX\";i:1;s:3:\"run\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (141,1,'civicrm/dev/qunit',NULL,'QUnit','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:18:\"administer CiviCRM\";}i:1;s:3:\"and\";}','s:19:\"CRM_Core_Page_QUnit\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (142,1,'civicrm/profile-editor/schema',NULL,'ProfileEditor','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:25:\"CRM_UF_Page_ProfileEditor\";i:1;s:13:\"getSchemaJSON\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (143,1,'civicrm/a',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:23:\"\\Civi\\Angular\\Page\\Main\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (144,1,'civicrm/ajax/angular-modules',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"*always allow*\";}i:1;s:3:\"and\";}','s:26:\"\\Civi\\Angular\\Page\\Modules\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (145,1,'civicrm/ajax/recurringentity/update-mode',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:34:\"CRM_Core_Page_AJAX_RecurringEntity\";i:1;s:10:\"updateMode\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (146,1,'civicrm/recurringentity/preview',NULL,'Confirm dates','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:36:\"CRM_Core_Page_RecurringEntityPreview\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (147,1,'civicrm/shortcode',NULL,'Insert CiviCRM Content','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:23:\"CRM_Core_Form_ShortCode\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (148,1,'civicrm/task/add-to-group',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:32:\"CRM_Contact_Form_Task_AddToGroup\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (149,1,'civicrm/task/remove-from-group',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:37:\"CRM_Contact_Form_Task_RemoveFromGroup\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (150,1,'civicrm/task/add-to-tag',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:30:\"CRM_Contact_Form_Task_AddToTag\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (151,1,'civicrm/task/remove-from-tag',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:35:\"CRM_Contact_Form_Task_RemoveFromTag\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (152,1,'civicrm/task/send-email',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:27:\"CRM_Contact_Form_Task_Email\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (153,1,'civicrm/task/make-mailing-label',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:27:\"CRM_Contact_Form_Task_Label\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (154,1,'civicrm/task/pick-profile',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:33:\"CRM_Contact_Form_Task_PickProfile\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (155,1,'civicrm/task/print-document',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:25:\"CRM_Contact_Form_Task_PDF\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (156,1,'civicrm/task/unhold-email',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:28:\"CRM_Contact_Form_Task_Unhold\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (157,1,'civicrm/task/alter-contact-preference',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:38:\"CRM_Contact_Form_Task_AlterPreferences\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (158,1,'civicrm/task/delete-contact',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:28:\"CRM_Contact_Form_Task_Delete\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (159,1,'civicrm',NULL,'CiviCRM','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:26:\"CRM_Contact_Page_DashBoard\";',NULL,'a:0:{}',NULL,NULL,NULL,NULL,NULL,NULL,0,0,1,0,NULL,'a:0:{}'),
- (160,1,'civicrm/dashboard',NULL,'CiviCRM Home','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:26:\"CRM_Contact_Page_DashBoard\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,0,1,1,NULL,'a:0:{}'),
- (161,1,'civicrm/contact/search',NULL,'Find Contacts','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:29:\"CRM_Contact_Controller_Search\";','s:8:\"mode=256\";','a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,10,1,1,NULL,'a:0:{}'),
- (162,1,'civicrm/contact/image',NULL,'Process Uploaded Images','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:21:\"access uploaded files\";}i:1;s:3:\"and\";}','a:2:{i:0;s:23:\"CRM_Contact_BAO_Contact\";i:1;s:12:\"processImage\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (163,1,'civicrm/contact/imagefile',NULL,'Get Image File','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"*always allow*\";}i:1;s:3:\"and\";}','s:26:\"CRM_Contact_Page_ImageFile\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (164,1,'civicrm/contact/search/basic',NULL,'Find Contacts','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:29:\"CRM_Contact_Controller_Search\";','s:8:\"mode=256\";','a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:13:\"Find Contacts\";s:3:\"url\";s:31:\"/civicrm/contact/search?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (165,1,'civicrm/contact/search/advanced',NULL,'Advanced Search','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:29:\"CRM_Contact_Controller_Search\";','s:8:\"mode=512\";','a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:13:\"Find Contacts\";s:3:\"url\";s:31:\"/civicrm/contact/search?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,12,1,1,NULL,'a:0:{}'),
- (166,1,'civicrm/contact/search/builder',NULL,'Search Builder','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:29:\"CRM_Contact_Controller_Search\";','s:9:\"mode=8192\";','a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:13:\"Find Contacts\";s:3:\"url\";s:31:\"/civicrm/contact/search?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,14,1,1,NULL,'a:0:{}'),
- (167,1,'civicrm/contact/search/custom/list',NULL,'Custom Searches','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:29:\"CRM_Contact_Page_CustomSearch\";','s:10:\"mode=16384\";','a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:13:\"Find Contacts\";s:3:\"url\";s:31:\"/civicrm/contact/search?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Find Contacts\";s:3:\"url\";s:38:\"/civicrm/contact/search/custom?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,16,1,1,NULL,'a:0:{}'),
- (168,1,'civicrm/contact/add',NULL,'New Contact','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:24:\"CRM_Contact_Form_Contact\";','s:13:\"addSequence=1\";','a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (169,1,'civicrm/contact/add/individual','ct=Individual','New Individual','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:12:\"add contacts\";}i:1;s:3:\"and\";}','s:24:\"CRM_Contact_Form_Contact\";','s:13:\"addSequence=1\";','a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:11:\"New Contact\";s:3:\"url\";s:28:\"/civicrm/contact/add?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (170,1,'civicrm/contact/add/household','ct=Household','New Household','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:12:\"add contacts\";}i:1;s:3:\"and\";}','s:24:\"CRM_Contact_Form_Contact\";','s:13:\"addSequence=1\";','a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:11:\"New Contact\";s:3:\"url\";s:28:\"/civicrm/contact/add?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (171,1,'civicrm/contact/add/organization','ct=Organization','New Organization','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:12:\"add contacts\";}i:1;s:3:\"and\";}','s:24:\"CRM_Contact_Form_Contact\";','s:13:\"addSequence=1\";','a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:11:\"New Contact\";s:3:\"url\";s:28:\"/civicrm/contact/add?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (172,1,'civicrm/contact/relatedcontact',NULL,'Edit Related Contact','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:24:\"access Contact Dashboard\";}i:1;s:3:\"and\";}','s:31:\"CRM_Contact_Form_RelatedContact\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,1,NULL,0,1,1,0,NULL,'a:0:{}'),
- (173,1,'civicrm/contact/merge',NULL,'Merge Contact','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:24:\"merge duplicate contacts\";}i:1;s:3:\"and\";}','s:22:\"CRM_Contact_Form_Merge\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (174,1,'civicrm/contact/email',NULL,'Email a Contact','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:27:\"CRM_Contact_Form_Task_Email\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (175,1,'civicrm/contact/map',NULL,'Map Location(s)','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:25:\"CRM_Contact_Form_Task_Map\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,1,NULL,0,1,1,0,NULL,'a:0:{}'),
- (176,1,'civicrm/contact/map/event',NULL,'Map Event Location','s:1:\"1\";','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:31:\"CRM_Contact_Form_Task_Map_Event\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Map Location(s)\";s:3:\"url\";s:28:\"/civicrm/contact/map?reset=1\";}}',NULL,NULL,NULL,NULL,1,NULL,0,1,1,0,NULL,'a:0:{}'),
- (177,1,'civicrm/contact/view','cid=%%cid%%','Contact Summary','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:29:\"CRM_Contact_Page_View_Summary\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (178,1,'civicrm/contact/view/delete',NULL,'Delete Contact','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:28:\"CRM_Contact_Form_Task_Delete\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:45:\"/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (179,1,'civicrm/contact/view/activity','show=1,cid=%%cid%%','Activities','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:21:\"CRM_Activity_Page_Tab\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:45:\"/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (180,1,'civicrm/activity/add','action=add','Activities','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:26:\"CRM_Activity_Form_Activity\";','s:14:\"attachUpload=1\";','a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:12:\"New Activity\";s:3:\"url\";s:63:\"/civicrm/activity?reset=1&amp;action=add&amp;context=standalone\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (181,1,'civicrm/activity/email/add','action=add','Activities','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:27:\"CRM_Contact_Form_Task_Email\";','s:14:\"attachUpload=1\";','a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:12:\"New Activity\";s:3:\"url\";s:63:\"/civicrm/activity?reset=1&amp;action=add&amp;context=standalone\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (182,1,'civicrm/activity/pdf/add','action=add','Activities','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:25:\"CRM_Contact_Form_Task_PDF\";','s:14:\"attachUpload=1\";','a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:12:\"New Activity\";s:3:\"url\";s:63:\"/civicrm/activity?reset=1&amp;action=add&amp;context=standalone\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (183,1,'civicrm/contact/view/rel','cid=%%cid%%','Relationships','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:34:\"CRM_Contact_Page_View_Relationship\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:45:\"/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (184,1,'civicrm/contact/view/group','cid=%%cid%%','Groups','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:34:\"CRM_Contact_Page_View_GroupContact\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:45:\"/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (185,1,'civicrm/contact/view/smartgroup','cid=%%cid%%','Smart Groups','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:39:\"CRM_Contact_Page_View_ContactSmartGroup\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:45:\"/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (186,1,'civicrm/contact/view/note','cid=%%cid%%','Notes','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:26:\"CRM_Contact_Page_View_Note\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:45:\"/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (187,1,'civicrm/contact/view/tag','cid=%%cid%%','Tags','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:25:\"CRM_Contact_Page_View_Tag\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:45:\"/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (188,1,'civicrm/contact/view/cd',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:32:\"CRM_Contact_Page_View_CustomData\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:45:\"/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (189,1,'civicrm/contact/view/cd/edit',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:27:\"CRM_Contact_Form_CustomData\";','s:13:\"addSequence=1\";','a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:45:\"/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (190,1,'civicrm/contact/view/vcard',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:27:\"CRM_Contact_Page_View_Vcard\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:45:\"/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (191,1,'civicrm/contact/view/print',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:27:\"CRM_Contact_Page_View_Print\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:45:\"/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (192,1,'civicrm/contact/view/log',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:25:\"CRM_Contact_Page_View_Log\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:45:\"/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (193,1,'civicrm/user',NULL,'Contact Dashboard','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:24:\"access Contact Dashboard\";}i:1;s:3:\"and\";}','s:35:\"CRM_Contact_Page_View_UserDashBoard\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,1,NULL,0,0,1,0,NULL,'a:0:{}'),
- (194,1,'civicrm/dashlet/activity',NULL,'Activity Dashlet','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:25:\"CRM_Dashlet_Page_Activity\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (195,1,'civicrm/dashlet/blog',NULL,'CiviCRM Blog','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:21:\"CRM_Dashlet_Page_Blog\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (196,1,'civicrm/dashlet/getting-started',NULL,'CiviCRM Resources','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:31:\"CRM_Dashlet_Page_GettingStarted\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (197,1,'civicrm/ajax/relation',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:21:\"CRM_Contact_Page_AJAX\";i:1;s:12:\"relationship\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,3,NULL,'a:0:{}'),
- (198,1,'civicrm/ajax/groupTree',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:21:\"CRM_Contact_Page_AJAX\";i:1;s:9:\"groupTree\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (199,1,'civicrm/ajax/custom',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:21:\"CRM_Contact_Page_AJAX\";i:1;s:11:\"customField\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (200,1,'civicrm/ajax/customvalue',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:21:\"CRM_Contact_Page_AJAX\";i:1;s:17:\"deleteCustomValue\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,3,NULL,'a:0:{}'),
- (201,1,'civicrm/ajax/cmsuser',NULL,NULL,'s:1:\"1\";','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:21:\"CRM_Contact_Page_AJAX\";i:1;s:13:\"checkUserName\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (202,1,'civicrm/ajax/checkemail',NULL,NULL,'s:1:\"1\";','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:21:\"CRM_Contact_Page_AJAX\";i:1;s:15:\"getContactEmail\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (203,1,'civicrm/ajax/checkphone',NULL,NULL,'s:1:\"1\";','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:21:\"CRM_Contact_Page_AJAX\";i:1;s:15:\"getContactPhone\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (204,1,'civicrm/ajax/subtype',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:21:\"CRM_Contact_Page_AJAX\";i:1;s:13:\"buildSubTypes\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (205,1,'civicrm/ajax/signature',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:21:\"CRM_Contact_Page_AJAX\";i:1;s:12:\"getSignature\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (206,1,'civicrm/ajax/pdfFormat',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:21:\"CRM_Contact_Page_AJAX\";i:1;s:9:\"pdfFormat\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (207,1,'civicrm/ajax/paperSize',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:21:\"CRM_Contact_Page_AJAX\";i:1;s:9:\"paperSize\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (208,1,'civicrm/ajax/contactref',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:31:\"access contact reference fields\";i:1;s:15:\" access CiviCRM\";}i:1;s:2:\"or\";}','a:2:{i:0;s:21:\"CRM_Contact_Page_AJAX\";i:1;s:16:\"contactReference\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (209,1,'civicrm/dashlet/myCases',NULL,'Case Dashlet','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:24:\"CRM_Dashlet_Page_MyCases\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (210,1,'civicrm/dashlet/allCases',NULL,'All Cases Dashlet','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:31:\"access all cases and activities\";}i:1;s:3:\"and\";}','s:25:\"CRM_Dashlet_Page_AllCases\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (211,1,'civicrm/dashlet/casedashboard',NULL,'Case Dashboard Dashlet','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:30:\"CRM_Dashlet_Page_CaseDashboard\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (212,1,'civicrm/contact/deduperules',NULL,'Find and Merge Duplicate Contacts','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:23:\"administer dedupe rules\";i:1;s:24:\"merge duplicate contacts\";}i:1;s:2:\"or\";}','s:28:\"CRM_Contact_Page_DedupeRules\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,105,1,0,NULL,'a:2:{s:4:\"desc\";s:158:\"Manage the rules used to identify potentially duplicate contact records. Scan for duplicates using a selected rule and merge duplicate contact data as needed.\";s:10:\"adminGroup\";s:6:\"Manage\";}'),
- (213,1,'civicrm/contact/dedupefind',NULL,'Find and Merge Duplicate Contacts','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:24:\"merge duplicate contacts\";}i:1;s:3:\"and\";}','s:27:\"CRM_Contact_Page_DedupeFind\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (214,1,'civicrm/ajax/dedupefind',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:24:\"merge duplicate contacts\";}i:1;s:3:\"and\";}','a:2:{i:0;s:21:\"CRM_Contact_Page_AJAX\";i:1;s:10:\"getDedupes\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (215,1,'civicrm/contact/dedupemerge',NULL,'Batch Merge Duplicate Contacts','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:24:\"merge duplicate contacts\";}i:1;s:3:\"and\";}','s:28:\"CRM_Contact_Page_DedupeMerge\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (216,1,'civicrm/dedupe/exception',NULL,'Dedupe Exceptions','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:32:\"CRM_Contact_Page_DedupeException\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,110,1,0,NULL,'a:1:{s:10:\"adminGroup\";s:6:\"Manage\";}'),
- (217,1,'civicrm/ajax/dedupeRules',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:21:\"CRM_Contact_Page_AJAX\";i:1;s:16:\"buildDedupeRules\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (218,1,'civicrm/contact/view/useradd','cid=%%cid%%','Add User','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:29:\"CRM_Contact_Page_View_Useradd\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:45:\"/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (219,1,'civicrm/ajax/markSelection',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:21:\"CRM_Contact_Page_AJAX\";i:1;s:22:\"selectUnselectContacts\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (220,1,'civicrm/ajax/toggleDedupeSelect',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:24:\"merge duplicate contacts\";}i:1;s:3:\"and\";}','a:2:{i:0;s:21:\"CRM_Contact_Page_AJAX\";i:1;s:18:\"toggleDedupeSelect\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (221,1,'civicrm/ajax/flipDupePairs',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:24:\"merge duplicate contacts\";}i:1;s:3:\"and\";}','a:2:{i:0;s:21:\"CRM_Contact_Page_AJAX\";i:1;s:13:\"flipDupePairs\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (222,1,'civicrm/activity/sms/add','action=add','Activities','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:8:\"send SMS\";}i:1;s:3:\"and\";}','s:25:\"CRM_Contact_Form_Task_SMS\";','s:14:\"attachUpload=1\";','a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:12:\"New Activity\";s:3:\"url\";s:63:\"/civicrm/activity?reset=1&amp;action=add&amp;context=standalone\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (223,1,'civicrm/ajax/contactrelationships',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"view my contact\";}i:1;s:2:\"or\";}','a:2:{i:0;s:21:\"CRM_Contact_Page_AJAX\";i:1;s:23:\"getContactRelationships\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (224,1,'civicrm/ajax/api4',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Api4_Permission\";i:1;s:5:\"check\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:18:\"CRM_Api4_Page_AJAX\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (225,1,'civicrm/api4',NULL,'CiviCRM','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:26:\"CRM_Api4_Page_Api4Explorer\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (226,1,'civicrm/activity','action=add&context=standalone','New Activity','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:26:\"CRM_Activity_Form_Activity\";','s:14:\"attachUpload=1\";','a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (227,1,'civicrm/activity/view',NULL,'View Activity','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:30:\"CRM_Activity_Form_ActivityView\";','s:14:\"attachUpload=1\";','a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:12:\"New Activity\";s:3:\"url\";s:63:\"/civicrm/activity?reset=1&amp;action=add&amp;context=standalone\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (228,1,'civicrm/ajax/activity',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:22:\"CRM_Activity_Page_AJAX\";i:1;s:15:\"getCaseActivity\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (229,1,'civicrm/ajax/globalrelationships',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:22:\"CRM_Activity_Page_AJAX\";i:1;s:26:\"getCaseGlobalRelationships\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (230,1,'civicrm/ajax/clientrelationships',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:22:\"CRM_Activity_Page_AJAX\";i:1;s:26:\"getCaseClientRelationships\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (231,1,'civicrm/ajax/caseroles',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:22:\"CRM_Activity_Page_AJAX\";i:1;s:12:\"getCaseRoles\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (232,1,'civicrm/ajax/contactactivity',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:22:\"CRM_Activity_Page_AJAX\";i:1;s:18:\"getContactActivity\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (233,1,'civicrm/ajax/activity/convert',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:22:\"CRM_Activity_Page_AJAX\";i:1;s:21:\"convertToCaseActivity\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,3,NULL,'a:0:{}'),
- (234,1,'civicrm/activity/search',NULL,'Find Activities','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:30:\"CRM_Activity_Controller_Search\";','s:14:\"attachUpload=1\";','a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:12:\"New Activity\";s:3:\"url\";s:63:\"/civicrm/activity?reset=1&amp;action=add&amp;context=standalone\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (235,1,'civicrm/tag',NULL,'Tags','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:11:\"manage tags\";}i:1;s:2:\"or\";}','s:16:\"CRM_Tag_Page_Tag\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,25,1,0,NULL,'a:2:{s:4:\"desc\";s:158:\"Tags are useful for segmenting the contacts in your database into categories (e.g. Staff Member, Donor, Volunteer, etc.). Create and edit available tags here.\";s:10:\"adminGroup\";s:26:\"Customize Data and Screens\";}'),
- (236,1,'civicrm/tag/edit','action=add','New Tag','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:11:\"manage tags\";}i:1;s:2:\"or\";}','s:17:\"CRM_Tag_Form_Edit\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:4:\"Tags\";s:3:\"url\";s:20:\"/civicrm/tag?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (237,1,'civicrm/tag/merge',NULL,'Merge Tags','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:11:\"manage tags\";}i:1;s:2:\"or\";}','s:18:\"CRM_Tag_Form_Merge\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:4:\"Tags\";s:3:\"url\";s:20:\"/civicrm/tag?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (238,1,'civicrm/ajax/tagTree',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:11:\"manage tags\";}i:1;s:2:\"or\";}','a:2:{i:0;s:19:\"CRM_Admin_Page_AJAX\";i:1;s:10:\"getTagTree\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (239,1,'civicrm/pcp',NULL,NULL,'s:1:\"1\";','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:16:\"CRM_PCP_Form_PCP\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,1,NULL,0,1,1,0,NULL,'a:0:{}'),
- (240,1,'civicrm/pcp/campaign',NULL,'Setup a Personal Campaign Page - Account Information','s:1:\"1\";','a:2:{i:0;a:1:{i:0;s:25:\"make online contributions\";}i:1;s:3:\"and\";}','s:22:\"CRM_PCP_Controller_PCP\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,1,NULL,0,0,1,0,NULL,'a:0:{}'),
- (241,1,'civicrm/pcp/info',NULL,NULL,'s:1:\"1\";','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:20:\"CRM_PCP_Page_PCPInfo\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,1,NULL,0,1,1,0,NULL,'a:0:{}'),
- (242,1,'civicrm/admin/pcp','context=contribute','Personal Campaign Pages','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:16:\"CRM_PCP_Page_PCP\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,362,1,0,NULL,'a:2:{s:4:\"desc\";s:49:\"View and manage existing personal campaign pages.\";s:10:\"adminGroup\";s:14:\"CiviContribute\";}'),
- (243,1,'civicrm/payment/form',NULL,NULL,'s:1:\"1\";','a:2:{i:0;a:1:{i:0;s:21:\"access CiviContribute\";}i:1;s:3:\"and\";}','s:26:\"CRM_Financial_Form_Payment\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:11:\"New Payment\";s:3:\"url\";s:39:\"/civicrm/payment?reset=1&amp;action=add\";}}',NULL,NULL,2,NULL,1,NULL,0,0,1,0,NULL,'a:0:{}'),
- (244,1,'civicrm/payment/edit',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:21:\"access CiviContribute\";}i:1;s:3:\"and\";}','s:30:\"CRM_Financial_Form_PaymentEdit\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:11:\"New Payment\";s:3:\"url\";s:39:\"/civicrm/payment?reset=1&amp;action=add\";}}',NULL,NULL,2,NULL,NULL,NULL,0,1,1,0,NULL,'a:1:{s:9:\"component\";s:14:\"CiviContribute\";}'),
- (245,1,'civicrm/custom',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:32:\"CRM_Custom_Form_CustomDataByType\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (246,1,'civicrm/event',NULL,'CiviEvent Dashboard','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:24:\"CRM_Event_Page_DashBoard\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,1,NULL,NULL,NULL,0,800,1,1,NULL,'a:1:{s:9:\"component\";s:9:\"CiviEvent\";}'),
- (247,1,'civicrm/participant/add','action=add','Register New Participant','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:18:\"CRM_Event_Page_Tab\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:1:{s:9:\"component\";s:9:\"CiviEvent\";}'),
- (248,1,'civicrm/event/info',NULL,'Event Information','s:1:\"1\";','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:24:\"CRM_Event_Page_EventInfo\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}}',NULL,NULL,1,NULL,1,NULL,0,1,1,0,NULL,'a:0:{}'),
- (249,1,'civicrm/event/register',NULL,'Event Registration','s:1:\"1\";','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:33:\"CRM_Event_Controller_Registration\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}}',NULL,NULL,1,NULL,1,NULL,1,1,1,0,NULL,'a:0:{}'),
- (250,1,'civicrm/event/confirm',NULL,'Confirm Event Registration','s:1:\"1\";','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:46:\"CRM_Event_Form_Registration_ParticipantConfirm\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}}',NULL,NULL,1,NULL,1,NULL,1,1,1,0,NULL,'a:0:{}'),
- (251,1,'civicrm/event/ical',NULL,'Current and Upcoming Events','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:15:\"view event info\";}i:1;s:3:\"and\";}','a:2:{i:0;s:19:\"CRM_Event_ICalendar\";i:1;s:3:\"run\";}',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}}',NULL,NULL,1,NULL,1,NULL,0,0,1,0,NULL,'a:0:{}'),
- (252,1,'civicrm/event/list',NULL,'Current and Upcoming Events','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:15:\"view event info\";}i:1;s:3:\"and\";}','s:19:\"CRM_Event_Page_List\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}}',NULL,NULL,1,NULL,1,NULL,0,0,1,0,NULL,'a:0:{}'),
- (253,1,'civicrm/event/participant',NULL,'Event Participants List','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:23:\"view event participants\";}i:1;s:3:\"and\";}','s:33:\"CRM_Event_Page_ParticipantListing\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}}',NULL,NULL,1,NULL,1,NULL,0,0,1,0,NULL,'a:0:{}'),
- (254,1,'civicrm/admin/event',NULL,'Manage Events','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:26:\"CRM_Event_Page_ManageEvent\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,370,1,0,NULL,'a:2:{s:4:\"desc\";s:136:\"Create and edit event configuration including times, locations, online registration forms, and fees. Links for iCal and RSS syndication.\";s:10:\"adminGroup\";s:9:\"CiviEvent\";}'),
- (255,1,'civicrm/admin/eventTemplate',NULL,'Event Templates','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:28:\"CRM_Admin_Page_EventTemplate\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,375,1,0,NULL,'a:2:{s:4:\"desc\";s:115:\"Administrators can create Event Templates - which are basically master event records pre-filled with default values\";s:10:\"adminGroup\";s:9:\"CiviEvent\";}'),
- (256,1,'civicrm/admin/options/event_type',NULL,'Event Types','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,385,1,0,NULL,'a:2:{s:4:\"desc\";s:143:\"Use Event Types to categorize your events. Event feeds can be filtered by Event Type and participant searches can use Event Type as a criteria.\";s:10:\"adminGroup\";s:9:\"CiviEvent\";}'),
- (257,1,'civicrm/admin/participant_status',NULL,'Participant Status','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:36:\"CRM_Admin_Page_ParticipantStatusType\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,390,1,0,NULL,'a:2:{s:4:\"desc\";s:154:\"Define statuses for event participants here (e.g. Registered, Attended, Cancelled...). You can then assign statuses and search for participants by status.\";s:10:\"adminGroup\";s:9:\"CiviEvent\";}'),
- (258,1,'civicrm/admin/options/participant_role',NULL,'Participant Role','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,395,1,0,NULL,'a:2:{s:4:\"desc\";s:138:\"Define participant roles for events here (e.g. Attendee, Host, Speaker...). You can then assign roles and search for participants by role.\";s:10:\"adminGroup\";s:9:\"CiviEvent\";}'),
- (259,1,'civicrm/admin/options/participant_listing',NULL,'Participant Listing Templates','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,398,1,0,NULL,'a:2:{s:4:\"desc\";s:48:\"Template to control participant listing display.\";s:10:\"adminGroup\";s:9:\"CiviEvent\";}'),
- (260,1,'civicrm/admin/options/conference_slot',NULL,'Conference Slot Labels','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,415,1,0,NULL,'a:2:{s:4:\"desc\";s:35:\"Define conference slots and labels.\";s:10:\"adminGroup\";s:9:\"CiviEvent\";}'),
- (261,1,'civicrm/event/search',NULL,'Find Participants','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:27:\"CRM_Event_Controller_Search\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}}',NULL,NULL,1,NULL,NULL,NULL,0,810,1,1,NULL,'a:0:{}'),
- (262,1,'civicrm/event/manage',NULL,'Manage Events','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:26:\"CRM_Event_Page_ManageEvent\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}}',NULL,NULL,1,NULL,NULL,NULL,1,820,1,1,NULL,'a:0:{}'),
- (263,1,'civicrm/event/badge',NULL,'Print Event Name Badge','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:25:\"CRM_Event_Form_Task_Badge\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}}',NULL,NULL,1,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (264,1,'civicrm/event/manage/settings',NULL,'Event Info and Settings','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:36:\"CRM_Event_Form_ManageEvent_EventInfo\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Manage Events\";s:3:\"url\";s:29:\"/civicrm/event/manage?reset=1\";}}',NULL,NULL,1,NULL,NULL,NULL,1,910,1,0,NULL,'a:0:{}'),
- (265,1,'civicrm/event/manage/location',NULL,'Event Location','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:35:\"CRM_Event_Form_ManageEvent_Location\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Manage Events\";s:3:\"url\";s:29:\"/civicrm/event/manage?reset=1\";}}',NULL,NULL,1,NULL,NULL,NULL,1,930,1,0,NULL,'a:0:{}'),
- (266,1,'civicrm/event/manage/fee',NULL,'Event Fees','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:30:\"CRM_Event_Form_ManageEvent_Fee\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Manage Events\";s:3:\"url\";s:29:\"/civicrm/event/manage?reset=1\";}}',NULL,NULL,1,NULL,NULL,NULL,1,920,1,0,NULL,'a:0:{}'),
- (267,1,'civicrm/event/manage/registration',NULL,'Event Online Registration','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:39:\"CRM_Event_Form_ManageEvent_Registration\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Manage Events\";s:3:\"url\";s:29:\"/civicrm/event/manage?reset=1\";}}',NULL,NULL,1,NULL,NULL,NULL,1,930,1,0,NULL,'a:0:{}'),
- (268,1,'civicrm/event/manage/friend',NULL,'Tell a Friend','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:21:\"CRM_Friend_Form_Event\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Manage Events\";s:3:\"url\";s:29:\"/civicrm/event/manage?reset=1\";}}',NULL,NULL,1,NULL,NULL,NULL,1,940,1,0,NULL,'a:0:{}'),
- (269,1,'civicrm/event/manage/reminder',NULL,'Schedule Reminders','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:44:\"CRM_Event_Form_ManageEvent_ScheduleReminders\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Manage Events\";s:3:\"url\";s:29:\"/civicrm/event/manage?reset=1\";}}',NULL,NULL,1,NULL,NULL,NULL,1,950,1,0,NULL,'a:0:{}'),
- (270,1,'civicrm/event/manage/repeat',NULL,'Repeat Event','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:33:\"CRM_Event_Form_ManageEvent_Repeat\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Manage Events\";s:3:\"url\";s:29:\"/civicrm/event/manage?reset=1\";}}',NULL,NULL,1,NULL,NULL,NULL,1,960,1,0,NULL,'a:0:{}'),
- (271,1,'civicrm/event/manage/conference',NULL,'Conference Slots','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:37:\"CRM_Event_Form_ManageEvent_Conference\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Manage Events\";s:3:\"url\";s:29:\"/civicrm/event/manage?reset=1\";}}',NULL,NULL,1,NULL,NULL,NULL,1,950,1,0,NULL,'a:0:{}'),
- (272,1,'civicrm/event/add','action=add','New Event','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:36:\"CRM_Event_Form_ManageEvent_EventInfo\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}}',NULL,NULL,1,NULL,NULL,NULL,0,830,1,0,NULL,'a:0:{}'),
- (273,1,'civicrm/event/import',NULL,'Import Participants','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:16:\"access CiviEvent\";i:1;s:23:\"edit event participants\";}i:1;s:3:\"and\";}','s:27:\"CRM_Event_Import_Controller\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}}',NULL,NULL,1,NULL,NULL,NULL,0,840,1,1,NULL,'a:0:{}'),
- (274,1,'civicrm/event/price',NULL,'Manage Price Sets','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:18:\"CRM_Price_Page_Set\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}}',NULL,NULL,1,NULL,NULL,NULL,0,850,1,1,NULL,'a:0:{}'),
- (275,1,'civicrm/event/selfsvcupdate',NULL,'Self-service Registration Update','s:1:\"1\";','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:28:\"CRM_Event_Form_SelfSvcUpdate\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}}',NULL,NULL,1,NULL,1,NULL,0,880,1,1,NULL,'a:0:{}'),
- (276,1,'civicrm/event/selfsvctransfer',NULL,'Self-service Registration Transfer','s:1:\"1\";','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:30:\"CRM_Event_Form_SelfSvcTransfer\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}}',NULL,NULL,1,NULL,1,NULL,0,890,1,1,NULL,'a:0:{}'),
- (277,1,'civicrm/contact/view/participant',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:18:\"CRM_Event_Page_Tab\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:45:\"/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,4,1,0,NULL,'a:0:{}'),
- (278,1,'civicrm/ajax/eventFee',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','a:2:{i:0;s:19:\"CRM_Event_Page_AJAX\";i:1;s:8:\"eventFee\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (279,1,'civicrm/ajax/locBlock',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','a:2:{i:0;s:27:\"CRM_Core_Page_AJAX_Location\";i:1;s:11:\"getLocBlock\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (280,1,'civicrm/event/participant/feeselection',NULL,'Change Registration Selections','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:38:\"CRM_Event_Form_ParticipantFeeSelection\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}i:2;a:2:{s:5:\"title\";s:23:\"Event Participants List\";s:3:\"url\";s:34:\"/civicrm/event/participant?reset=1\";}}',NULL,NULL,1,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (281,1,'civicrm/event/manage/pcp',NULL,'Personal Campaign Pages','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:18:\"CRM_PCP_Form_Event\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Manage Events\";s:3:\"url\";s:29:\"/civicrm/event/manage?reset=1\";}}',NULL,NULL,1,NULL,NULL,NULL,1,540,1,1,NULL,'a:0:{}'),
- (282,1,'civicrm/event/pcp',NULL,NULL,'s:1:\"1\";','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:16:\"CRM_PCP_Form_PCP\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}}',NULL,NULL,1,NULL,1,NULL,0,1,1,0,NULL,'a:0:{}'),
- (283,1,'civicrm/event/campaign',NULL,'Setup a Personal Campaign Page - Account Information','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:25:\"make online contributions\";}i:1;s:3:\"and\";}','s:22:\"CRM_PCP_Controller_PCP\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}}',NULL,NULL,1,NULL,1,NULL,0,0,1,0,NULL,'a:0:{}'),
- (284,1,'civicrm/contribute',NULL,'CiviContribute Dashboard','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:21:\"access CiviContribute\";}i:1;s:3:\"and\";}','s:29:\"CRM_Contribute_Page_DashBoard\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,2,NULL,NULL,NULL,0,500,1,1,NULL,'a:1:{s:9:\"component\";s:14:\"CiviContribute\";}'),
- (285,1,'civicrm/contribute/add','action=add','New Contribution','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:21:\"access CiviContribute\";}i:1;s:3:\"and\";}','s:23:\"CRM_Contribute_Page_Tab\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:24:\"CiviContribute Dashboard\";s:3:\"url\";s:27:\"/civicrm/contribute?reset=1\";}}',NULL,NULL,2,NULL,NULL,NULL,0,1,1,1,NULL,'a:1:{s:9:\"component\";s:14:\"CiviContribute\";}'),
- (286,1,'civicrm/contribute/chart',NULL,'Contribution Summary - Chart View','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:21:\"access CiviContribute\";}i:1;s:3:\"and\";}','s:38:\"CRM_Contribute_Form_ContributionCharts\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:24:\"CiviContribute Dashboard\";s:3:\"url\";s:27:\"/civicrm/contribute?reset=1\";}}',NULL,NULL,2,NULL,NULL,NULL,0,1,1,0,NULL,'a:1:{s:9:\"component\";s:14:\"CiviContribute\";}'),
- (287,1,'civicrm/contribute/transact',NULL,'CiviContribute','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:25:\"make online contributions\";}i:1;s:3:\"and\";}','s:38:\"CRM_Contribute_Controller_Contribution\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:24:\"CiviContribute Dashboard\";s:3:\"url\";s:27:\"/civicrm/contribute?reset=1\";}}',NULL,NULL,2,NULL,1,NULL,1,0,1,0,NULL,'a:0:{}'),
- (288,1,'civicrm/admin/contribute',NULL,'Manage Contribution Pages','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:36:\"CRM_Contribute_Page_ContributionPage\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,360,1,0,NULL,'a:2:{s:4:\"desc\";s:242:\"CiviContribute allows you to create and maintain any number of Online Contribution Pages. You can create different pages for different programs or campaigns - and customize text, amounts, types of information collected from contributors, etc.\";s:10:\"adminGroup\";s:14:\"CiviContribute\";}'),
- (289,1,'civicrm/admin/contribute/settings',NULL,'Title and Settings','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:45:\"CRM_Contribute_Form_ContributionPage_Settings\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:25:\"Manage Contribution Pages\";s:3:\"url\";s:33:\"/civicrm/admin/contribute?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,400,1,0,NULL,'a:0:{}'),
- (290,1,'civicrm/admin/contribute/amount',NULL,'Contribution Amounts','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:43:\"CRM_Contribute_Form_ContributionPage_Amount\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:25:\"Manage Contribution Pages\";s:3:\"url\";s:33:\"/civicrm/admin/contribute?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,410,1,0,NULL,'a:0:{}'),
- (291,1,'civicrm/admin/contribute/membership',NULL,'Membership Section','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:31:\"CRM_Member_Form_MembershipBlock\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:25:\"Manage Contribution Pages\";s:3:\"url\";s:33:\"/civicrm/admin/contribute?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,420,1,0,NULL,'a:0:{}'),
- (292,1,'civicrm/admin/contribute/custom',NULL,'Include Profiles','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:43:\"CRM_Contribute_Form_ContributionPage_Custom\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:25:\"Manage Contribution Pages\";s:3:\"url\";s:33:\"/civicrm/admin/contribute?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,430,1,0,NULL,'a:0:{}'),
- (293,1,'civicrm/admin/contribute/thankyou',NULL,'Thank-you and Receipting','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:45:\"CRM_Contribute_Form_ContributionPage_ThankYou\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:25:\"Manage Contribution Pages\";s:3:\"url\";s:33:\"/civicrm/admin/contribute?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,430,1,0,NULL,'a:0:{}'),
- (294,1,'civicrm/admin/contribute/friend',NULL,'Tell a Friend','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:26:\"CRM_Friend_Form_Contribute\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:25:\"Manage Contribution Pages\";s:3:\"url\";s:33:\"/civicrm/admin/contribute?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,440,1,0,NULL,'a:0:{}'),
- (295,1,'civicrm/admin/contribute/widget',NULL,'Configure Widget','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:43:\"CRM_Contribute_Form_ContributionPage_Widget\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:25:\"Manage Contribution Pages\";s:3:\"url\";s:33:\"/civicrm/admin/contribute?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,460,1,0,NULL,'a:0:{}'),
- (296,1,'civicrm/admin/contribute/premium',NULL,'Premiums','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:44:\"CRM_Contribute_Form_ContributionPage_Premium\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:25:\"Manage Contribution Pages\";s:3:\"url\";s:33:\"/civicrm/admin/contribute?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,470,1,0,NULL,'a:0:{}'),
- (297,1,'civicrm/admin/contribute/addProductToPage',NULL,'Add Products to This Page','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:47:\"CRM_Contribute_Form_ContributionPage_AddProduct\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:25:\"Manage Contribution Pages\";s:3:\"url\";s:33:\"/civicrm/admin/contribute?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,480,1,0,NULL,'a:0:{}'),
- (298,1,'civicrm/admin/contribute/add','action=add','New Contribution Page','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:42:\"CRM_Contribute_Controller_ContributionPage\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:25:\"Manage Contribution Pages\";s:3:\"url\";s:33:\"/civicrm/admin/contribute?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:0:{}'),
- (299,1,'civicrm/admin/contribute/managePremiums',NULL,'Manage Premiums','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:34:\"CRM_Contribute_Page_ManagePremiums\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:25:\"Manage Contribution Pages\";s:3:\"url\";s:33:\"/civicrm/admin/contribute?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,365,1,0,NULL,'a:2:{s:4:\"desc\";s:175:\"CiviContribute allows you to configure any number of Premiums which can be offered to contributors as incentives / thank-you gifts. Define the premiums you want to offer here.\";s:10:\"adminGroup\";s:14:\"CiviContribute\";}'),
- (300,1,'civicrm/admin/financial/financialType',NULL,'Financial Types','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:32:\"CRM_Financial_Page_FinancialType\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,580,1,0,NULL,'a:2:{s:4:\"desc\";s:64:\"Formerly civicrm_contribution_type merged into this table in 4.1\";s:10:\"adminGroup\";s:14:\"CiviContribute\";}'),
- (301,1,'civicrm/payment','action=add','New Payment','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:21:\"access CiviContribute\";}i:1;s:3:\"and\";}','s:37:\"CRM_Contribute_Form_AdditionalPayment\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,2,NULL,NULL,NULL,0,1,1,1,NULL,'a:1:{s:9:\"component\";s:14:\"CiviContribute\";}'),
- (302,1,'civicrm/admin/financial/financialAccount',NULL,'Financial Accounts','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:35:\"CRM_Financial_Page_FinancialAccount\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,370,1,0,NULL,'a:2:{s:4:\"desc\";s:128:\"Financial types are used to categorize contributions for reporting and accounting purposes. These are also referred to as Funds.\";s:10:\"adminGroup\";s:14:\"CiviContribute\";}'),
- (303,1,'civicrm/admin/options/payment_instrument',NULL,'Payment Methods','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,380,1,0,NULL,'a:2:{s:4:\"desc\";s:224:\"You may choose to record the payment instrument used for each contribution. Common payment methods are installed by default (e.g. Check, Cash, Credit Card...). If your site requires additional payment methods, add them here.\";s:10:\"adminGroup\";s:14:\"CiviContribute\";}'),
- (304,1,'civicrm/admin/options/accept_creditcard',NULL,'Accepted Credit Cards','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,395,1,0,NULL,'a:2:{s:4:\"desc\";s:94:\"Credit card options that will be offered to contributors using your Online Contribution pages.\";s:10:\"adminGroup\";s:14:\"CiviContribute\";}'),
- (305,1,'civicrm/admin/options/soft_credit_type',NULL,'Soft Credit Types','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:2:{s:4:\"desc\";s:86:\"Soft Credit Types that will be offered to contributors during soft credit contribution\";s:10:\"adminGroup\";s:14:\"CiviContribute\";}'),
- (306,1,'civicrm/contact/view/contribution',NULL,'Contributions','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:23:\"CRM_Contribute_Page_Tab\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:45:\"/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (307,1,'civicrm/contact/view/contributionrecur',NULL,'Recurring Contributions','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:37:\"CRM_Contribute_Page_ContributionRecur\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:45:\"/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (308,1,'civicrm/contact/view/contribution/additionalinfo',NULL,'Additional Info','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:34:\"CRM_Contribute_Form_AdditionalInfo\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:45:\"/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}i:2;a:2:{s:5:\"title\";s:13:\"Contributions\";s:3:\"url\";s:42:\"/civicrm/contact/view/contribution?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (309,1,'civicrm/contribute/search',NULL,'Find Contributions','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:21:\"access CiviContribute\";}i:1;s:3:\"and\";}','s:32:\"CRM_Contribute_Controller_Search\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:24:\"CiviContribute Dashboard\";s:3:\"url\";s:27:\"/civicrm/contribute?reset=1\";}}',NULL,NULL,2,NULL,NULL,NULL,0,510,1,1,NULL,'a:0:{}'),
- (310,1,'civicrm/contribute/searchBatch',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:21:\"access CiviContribute\";}i:1;s:3:\"and\";}','s:37:\"CRM_Contribute_Controller_SearchBatch\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:24:\"CiviContribute Dashboard\";s:3:\"url\";s:27:\"/civicrm/contribute?reset=1\";}}',NULL,NULL,2,NULL,NULL,NULL,0,588,1,1,NULL,'a:0:{}'),
- (311,1,'civicrm/contribute/import',NULL,'Import Contributions','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:21:\"access CiviContribute\";i:1;s:18:\"edit contributions\";}i:1;s:3:\"and\";}','s:32:\"CRM_Contribute_Import_Controller\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:24:\"CiviContribute Dashboard\";s:3:\"url\";s:27:\"/civicrm/contribute?reset=1\";}}',NULL,NULL,2,NULL,NULL,NULL,0,520,1,1,NULL,'a:0:{}'),
- (312,1,'civicrm/contribute/manage',NULL,'Manage Contribution Pages','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:21:\"access CiviContribute\";}i:1;s:3:\"and\";}','s:36:\"CRM_Contribute_Page_ContributionPage\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:24:\"CiviContribute Dashboard\";s:3:\"url\";s:27:\"/civicrm/contribute?reset=1\";}}',NULL,NULL,2,NULL,NULL,NULL,0,530,1,1,NULL,'a:0:{}'),
- (313,1,'civicrm/contribute/additionalinfo',NULL,'AdditionalInfo Form','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:21:\"access CiviContribute\";}i:1;s:3:\"and\";}','s:34:\"CRM_Contribute_Form_AdditionalInfo\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:24:\"CiviContribute Dashboard\";s:3:\"url\";s:27:\"/civicrm/contribute?reset=1\";}}',NULL,NULL,2,NULL,NULL,NULL,0,0,1,0,NULL,'a:0:{}'),
- (314,1,'civicrm/ajax/permlocation',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:25:\"make online contributions\";}i:1;s:3:\"and\";}','a:2:{i:0;s:27:\"CRM_Core_Page_AJAX_Location\";i:1;s:23:\"getPermissionedLocation\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (315,1,'civicrm/contribute/unsubscribe',NULL,'Cancel Subscription','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:25:\"make online contributions\";}i:1;s:3:\"and\";}','s:38:\"CRM_Contribute_Form_CancelSubscription\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:24:\"CiviContribute Dashboard\";s:3:\"url\";s:27:\"/civicrm/contribute?reset=1\";}}',NULL,NULL,2,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (316,1,'civicrm/contribute/onbehalf',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:25:\"make online contributions\";}i:1;s:3:\"and\";}','s:43:\"CRM_Contribute_Form_Contribution_OnBehalfOf\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:24:\"CiviContribute Dashboard\";s:3:\"url\";s:27:\"/civicrm/contribute?reset=1\";}}',NULL,NULL,2,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (317,1,'civicrm/contribute/updatebilling',NULL,'Update Billing Details','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:25:\"make online contributions\";}i:1;s:3:\"and\";}','s:33:\"CRM_Contribute_Form_UpdateBilling\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:24:\"CiviContribute Dashboard\";s:3:\"url\";s:27:\"/civicrm/contribute?reset=1\";}}',NULL,NULL,2,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (318,1,'civicrm/contribute/updaterecur',NULL,'Update Subscription','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:25:\"make online contributions\";}i:1;s:3:\"and\";}','s:38:\"CRM_Contribute_Form_UpdateSubscription\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:24:\"CiviContribute Dashboard\";s:3:\"url\";s:27:\"/civicrm/contribute?reset=1\";}}',NULL,NULL,2,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (319,1,'civicrm/contribute/subscriptionstatus',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:25:\"make online contributions\";}i:1;s:3:\"and\";}','s:38:\"CRM_Contribute_Page_SubscriptionStatus\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:24:\"CiviContribute Dashboard\";s:3:\"url\";s:27:\"/civicrm/contribute?reset=1\";}}',NULL,NULL,2,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (320,1,'civicrm/admin/financial/financialType/accounts',NULL,'Financial Type Accounts','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:39:\"CRM_Financial_Page_FinancialTypeAccount\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:15:\"Financial Types\";s:3:\"url\";s:46:\"/civicrm/admin/financial/financialType?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,581,1,0,NULL,'a:0:{}'),
- (321,1,'civicrm/financial/batch',NULL,'Accounting Batch','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:19:\"create manual batch\";}i:1;s:3:\"and\";}','s:33:\"CRM_Financial_Page_FinancialBatch\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,585,1,0,NULL,'a:0:{}'),
- (322,1,'civicrm/financial/financialbatches',NULL,'Accounting Batches','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:24:\"CRM_Financial_Page_Batch\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,586,1,0,NULL,'a:0:{}'),
- (323,1,'civicrm/batchtransaction',NULL,'Accounting Batch','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:35:\"CRM_Financial_Page_BatchTransaction\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,600,1,0,NULL,'a:0:{}'),
- (324,1,'civicrm/financial/batch/export',NULL,'Accounting Batch Export','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:19:\"create manual batch\";}i:1;s:3:\"and\";}','s:25:\"CRM_Financial_Form_Export\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:16:\"Accounting Batch\";s:3:\"url\";s:32:\"/civicrm/financial/batch?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,610,1,0,NULL,'a:0:{}'),
- (325,1,'civicrm/payment/view','action=view','View Payment','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:21:\"access CiviContribute\";}i:1;s:3:\"and\";}','s:31:\"CRM_Contribute_Page_PaymentInfo\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:11:\"New Payment\";s:3:\"url\";s:39:\"/civicrm/payment?reset=1&amp;action=add\";}}',NULL,NULL,2,NULL,NULL,NULL,0,1,1,1,NULL,'a:1:{s:9:\"component\";s:14:\"CiviContribute\";}'),
- (326,1,'civicrm/admin/setting/preferences/contribute',NULL,'CiviContribute Component Settings','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:21:\"access CiviContribute\";i:1;s:18:\"administer CiviCRM\";}i:1;s:3:\"and\";}','s:37:\"CRM_Admin_Form_Preferences_Contribute\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:2:{s:4:\"desc\";s:42:\"Configure global CiviContribute behaviors.\";s:10:\"adminGroup\";s:14:\"CiviContribute\";}'),
- (327,1,'civicrm/contribute/invoice',NULL,'PDF Invoice','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:20:\"checkDownloadInvoice\";}','a:2:{i:0;a:1:{i:0;s:21:\"access CiviContribute\";}i:1;s:3:\"and\";}','a:2:{i:0;s:32:\"CRM_Contribute_Form_Task_Invoice\";i:1;s:11:\"getPrintPDF\";}',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:24:\"CiviContribute Dashboard\";s:3:\"url\";s:27:\"/civicrm/contribute?reset=1\";}}',NULL,NULL,2,NULL,NULL,NULL,0,620,1,1,NULL,'a:1:{s:9:\"component\";s:14:\"CiviContribute\";}'),
- (328,1,'civicrm/contribute/invoice/email',NULL,'Email Invoice','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:20:\"checkDownloadInvoice\";}','a:2:{i:0;a:1:{i:0;s:21:\"access CiviContribute\";}i:1;s:3:\"and\";}','s:32:\"CRM_Contribute_Form_Task_Invoice\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:24:\"CiviContribute Dashboard\";s:3:\"url\";s:27:\"/civicrm/contribute?reset=1\";}i:2;a:2:{s:5:\"title\";s:11:\"PDF Invoice\";s:3:\"url\";s:35:\"/civicrm/contribute/invoice?reset=1\";}}',NULL,NULL,2,NULL,NULL,NULL,0,630,1,1,NULL,'a:1:{s:9:\"component\";s:14:\"CiviContribute\";}'),
- (329,1,'civicrm/ajax/softcontributionlist',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:24:\"CRM_Contribute_Page_AJAX\";i:1;s:23:\"getSoftContributionRows\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (330,1,'civicrm/contribute/contributionrecur-payments',NULL,'Recurring Contribution\'s Payments','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:21:\"access CiviContribute\";}i:1;s:3:\"and\";}','s:45:\"CRM_Contribute_Page_ContributionRecurPayments\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:24:\"CiviContribute Dashboard\";s:3:\"url\";s:27:\"/civicrm/contribute?reset=1\";}}',NULL,NULL,2,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (331,1,'civicrm/membership/recurring-contributions',NULL,'Membership Recurring Contributions','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:21:\"access CiviContribute\";}i:1;s:3:\"and\";}','s:38:\"CRM_Member_Page_RecurringContributions\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (332,1,'civicrm/contribute/widget',NULL,'CiviContribute','s:1:\"1\";','a:2:{i:0;a:1:{i:0;s:21:\"access CiviContribute\";}i:1;s:3:\"and\";}','s:26:\"CRM_Contribute_Page_Widget\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:24:\"CiviContribute Dashboard\";s:3:\"url\";s:27:\"/civicrm/contribute?reset=1\";}}',NULL,NULL,2,NULL,1,NULL,0,0,1,0,NULL,'a:0:{}'),
- (333,1,'civicrm/contribute/task',NULL,'Contribution Task','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:21:\"access CiviContribute\";}i:1;s:3:\"and\";}','s:30:\"CRM_Contribute_Controller_Task\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:24:\"CiviContribute Dashboard\";s:3:\"url\";s:27:\"/civicrm/contribute?reset=1\";}}',NULL,NULL,2,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (334,1,'civicrm/admin/contribute/pcp',NULL,'Personal Campaign Pages','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:23:\"CRM_PCP_Form_Contribute\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:25:\"Manage Contribution Pages\";s:3:\"url\";s:33:\"/civicrm/admin/contribute?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,450,1,0,NULL,'a:0:{}'),
- (335,1,'civicrm/contribute/campaign',NULL,'Setup a Personal Campaign Page - Account Information','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:25:\"make online contributions\";}i:1;s:3:\"and\";}','s:22:\"CRM_PCP_Controller_PCP\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:24:\"CiviContribute Dashboard\";s:3:\"url\";s:27:\"/civicrm/contribute?reset=1\";}}',NULL,NULL,2,NULL,1,NULL,0,0,1,0,NULL,'a:0:{}'),
- (336,1,'civicrm/member',NULL,'CiviMember Dashboard','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:17:\"access CiviMember\";}i:1;s:3:\"and\";}','s:25:\"CRM_Member_Page_DashBoard\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,3,NULL,NULL,NULL,0,700,1,1,NULL,'a:1:{s:9:\"component\";s:10:\"CiviMember\";}'),
- (337,1,'civicrm/member/add','action=add','New Membership','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:17:\"access CiviMember\";}i:1;s:3:\"and\";}','s:19:\"CRM_Member_Page_Tab\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:20:\"CiviMember Dashboard\";s:3:\"url\";s:23:\"/civicrm/member?reset=1\";}}',NULL,NULL,3,NULL,NULL,NULL,0,1,1,0,NULL,'a:1:{s:9:\"component\";s:10:\"CiviMember\";}'),
- (338,1,'civicrm/admin/member/membershipType',NULL,'Membership Types','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:30:\"CRM_Member_Page_MembershipType\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,370,1,0,NULL,'a:2:{s:4:\"desc\";s:174:\"Define the types of memberships you want to offer. For each type, you can specify a \'name\' (Gold Member, Honor Society Member...), a description, duration, and a minimum fee.\";s:10:\"adminGroup\";s:10:\"CiviMember\";}'),
- (339,1,'civicrm/admin/member/membershipStatus',NULL,'Membership Status Rules','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:32:\"CRM_Member_Page_MembershipStatus\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,380,1,0,NULL,'a:2:{s:4:\"desc\";s:187:\"Status \'rules\' define the current status for a membership based on that membership\'s start and end dates. You can adjust the default status options and rules as needed to meet your needs.\";s:10:\"adminGroup\";s:10:\"CiviMember\";}'),
- (340,1,'civicrm/contact/view/membership','force=1,cid=%%cid%%','Memberships','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:19:\"CRM_Member_Page_Tab\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:45:\"/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,2,1,0,NULL,'a:0:{}'),
- (341,1,'civicrm/membership/view',NULL,'Memberships','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:17:\"access CiviMember\";}i:1;s:3:\"and\";}','s:30:\"CRM_Member_Form_MembershipView\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,390,1,0,NULL,'a:0:{}'),
- (342,1,'civicrm/member/search',NULL,'Find Memberships','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:17:\"access CiviMember\";}i:1;s:3:\"and\";}','s:28:\"CRM_Member_Controller_Search\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:20:\"CiviMember Dashboard\";s:3:\"url\";s:23:\"/civicrm/member?reset=1\";}}',NULL,NULL,3,NULL,NULL,NULL,0,710,1,1,NULL,'a:0:{}'),
- (343,1,'civicrm/member/import',NULL,'Import Memberships','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:17:\"access CiviMember\";i:1;s:16:\"edit memberships\";}i:1;s:3:\"and\";}','s:28:\"CRM_Member_Import_Controller\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:20:\"CiviMember Dashboard\";s:3:\"url\";s:23:\"/civicrm/member?reset=1\";}}',NULL,NULL,3,NULL,NULL,NULL,0,720,1,1,NULL,'a:0:{}'),
- (344,1,'civicrm/ajax/memType',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:17:\"access CiviMember\";}i:1;s:3:\"and\";}','a:2:{i:0;s:20:\"CRM_Member_Page_AJAX\";i:1;s:21:\"getMemberTypeDefaults\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (345,1,'civicrm/admin/member/membershipType/add',NULL,'Membership Types','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:17:\"access CiviMember\";i:1;s:18:\"administer CiviCRM\";}i:1;s:3:\"and\";}','s:30:\"CRM_Member_Form_MembershipType\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:16:\"Membership Types\";s:3:\"url\";s:44:\"/civicrm/admin/member/membershipType?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:0:{}'),
- (346,1,'civicrm/mailing',NULL,'CiviMail','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:15:\"access CiviMail\";i:1;s:15:\"create mailings\";i:2;s:8:\"send SMS\";}i:1;s:2:\"or\";}','s:23:\"CRM_Mailing_Page_Browse\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,4,NULL,NULL,NULL,0,600,1,1,NULL,'a:1:{s:9:\"component\";s:8:\"CiviMail\";}'),
- (347,1,'civicrm/admin/mail',NULL,'Mailer Settings','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"access CiviMail\";}i:1;s:3:\"and\";}','s:27:\"CRM_Admin_Form_Setting_Mail\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,400,1,0,NULL,'a:2:{s:4:\"desc\";s:61:\"Configure spool period, throttling and other mailer settings.\";s:10:\"adminGroup\";s:8:\"CiviMail\";}'),
- (348,1,'civicrm/admin/component',NULL,'Headers, Footers, and Automated Messages','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"access CiviMail\";}i:1;s:3:\"and\";}','s:26:\"CRM_Mailing_Page_Component\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,410,1,0,NULL,'a:2:{s:4:\"desc\";s:143:\"Configure the header and footer used for mailings. Customize the content of automated Subscribe, Unsubscribe, Resubscribe and Opt-out messages.\";s:10:\"adminGroup\";s:8:\"CiviMail\";}'),
- (349,1,'civicrm/admin/options/from_email_address/civimail',NULL,'From Email Addresses','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:4:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}i:3;a:2:{s:5:\"title\";s:20:\"From Email Addresses\";s:3:\"url\";s:49:\"/civicrm/admin/options/from_email_address?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,415,1,0,NULL,'a:2:{s:4:\"desc\";s:74:\"List of Email Addresses which can be used when sending emails to contacts.\";s:10:\"adminGroup\";s:8:\"CiviMail\";}'),
- (350,1,'civicrm/admin/mailSettings',NULL,'Mail Accounts','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"access CiviMail\";}i:1;s:3:\"and\";}','s:27:\"CRM_Admin_Page_MailSettings\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,420,1,0,NULL,'a:2:{s:4:\"desc\";s:32:\"Configure email account setting.\";s:10:\"adminGroup\";s:8:\"CiviMail\";}'),
- (351,1,'civicrm/mailing/send',NULL,'New Mailing','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:15:\"access CiviMail\";i:1;s:15:\"create mailings\";i:2;s:17:\"schedule mailings\";}i:1;s:2:\"or\";}','s:27:\"CRM_Mailing_Controller_Send\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:8:\"CiviMail\";s:3:\"url\";s:24:\"/civicrm/mailing?reset=1\";}}',NULL,NULL,4,NULL,NULL,NULL,0,610,1,1,NULL,'a:0:{}'),
- (352,1,'civicrm/mailing/browse/scheduled','scheduled=true','Find Mailings','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:5:{i:0;s:15:\"access CiviMail\";i:1;s:16:\"approve mailings\";i:2;s:15:\"create mailings\";i:3;s:17:\"schedule mailings\";i:4;s:8:\"send SMS\";}i:1;s:2:\"or\";}','s:23:\"CRM_Mailing_Page_Browse\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:8:\"CiviMail\";s:3:\"url\";s:24:\"/civicrm/mailing?reset=1\";}}',NULL,NULL,4,NULL,NULL,NULL,0,620,1,1,NULL,'a:0:{}'),
- (353,1,'civicrm/mailing/browse/unscheduled','scheduled=false','Find Mailings','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:15:\"access CiviMail\";i:1;s:15:\"create mailings\";i:2;s:17:\"schedule mailings\";}i:1;s:2:\"or\";}','s:23:\"CRM_Mailing_Page_Browse\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:8:\"CiviMail\";s:3:\"url\";s:24:\"/civicrm/mailing?reset=1\";}}',NULL,NULL,4,NULL,NULL,NULL,0,620,1,1,NULL,'a:0:{}'),
- (354,1,'civicrm/mailing/browse/archived',NULL,'Find Mailings','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:15:\"access CiviMail\";i:1;s:15:\"create mailings\";}i:1;s:2:\"or\";}','s:23:\"CRM_Mailing_Page_Browse\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:8:\"CiviMail\";s:3:\"url\";s:24:\"/civicrm/mailing?reset=1\";}}',NULL,NULL,4,NULL,NULL,NULL,0,625,1,1,NULL,'a:0:{}'),
- (355,1,'civicrm/mailing/component',NULL,'Headers, Footers, and Automated Messages','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:18:\"administer CiviCRM\";}i:1;s:3:\"and\";}','s:26:\"CRM_Mailing_Page_Component\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:8:\"CiviMail\";s:3:\"url\";s:24:\"/civicrm/mailing?reset=1\";}}',NULL,NULL,4,NULL,NULL,NULL,0,630,1,1,NULL,'a:0:{}'),
- (356,1,'civicrm/mailing/unsubscribe',NULL,'Unsubscribe','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:43:\"access CiviMail subscribe/unsubscribe pages\";}i:1;s:3:\"and\";}','s:28:\"CRM_Mailing_Form_Unsubscribe\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:8:\"CiviMail\";s:3:\"url\";s:24:\"/civicrm/mailing?reset=1\";}}',NULL,NULL,4,NULL,1,NULL,0,640,1,0,NULL,'a:0:{}'),
- (357,1,'civicrm/mailing/resubscribe',NULL,'Resubscribe','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:43:\"access CiviMail subscribe/unsubscribe pages\";}i:1;s:3:\"and\";}','s:28:\"CRM_Mailing_Page_Resubscribe\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:8:\"CiviMail\";s:3:\"url\";s:24:\"/civicrm/mailing?reset=1\";}}',NULL,NULL,4,NULL,1,NULL,0,645,1,0,NULL,'a:0:{}'),
- (358,1,'civicrm/mailing/optout',NULL,'Opt-out','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:43:\"access CiviMail subscribe/unsubscribe pages\";}i:1;s:3:\"and\";}','s:23:\"CRM_Mailing_Form_Optout\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:8:\"CiviMail\";s:3:\"url\";s:24:\"/civicrm/mailing?reset=1\";}}',NULL,NULL,4,NULL,1,NULL,0,650,1,0,NULL,'a:0:{}'),
- (359,1,'civicrm/mailing/confirm',NULL,'Confirm','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:43:\"access CiviMail subscribe/unsubscribe pages\";}i:1;s:3:\"and\";}','s:24:\"CRM_Mailing_Page_Confirm\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:8:\"CiviMail\";s:3:\"url\";s:24:\"/civicrm/mailing?reset=1\";}}',NULL,NULL,4,NULL,1,NULL,0,660,1,0,NULL,'a:0:{}'),
- (360,1,'civicrm/mailing/subscribe',NULL,'Subscribe','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:43:\"access CiviMail subscribe/unsubscribe pages\";}i:1;s:3:\"and\";}','s:26:\"CRM_Mailing_Form_Subscribe\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:8:\"CiviMail\";s:3:\"url\";s:24:\"/civicrm/mailing?reset=1\";}}',NULL,NULL,4,NULL,1,NULL,0,660,1,0,NULL,'a:0:{}'),
- (361,1,'civicrm/mailing/preview',NULL,'Preview Mailing','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:4:{i:0;s:15:\"access CiviMail\";i:1;s:16:\"approve mailings\";i:2;s:15:\"create mailings\";i:3;s:17:\"schedule mailings\";}i:1;s:2:\"or\";}','s:24:\"CRM_Mailing_Page_Preview\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:8:\"CiviMail\";s:3:\"url\";s:24:\"/civicrm/mailing?reset=1\";}}',NULL,NULL,4,NULL,NULL,NULL,0,670,1,0,NULL,'a:0:{}'),
- (362,1,'civicrm/mailing/report','mid=%%mid%%','Mailing Report','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:15:\"access CiviMail\";i:1;s:15:\"create mailings\";}i:1;s:2:\"or\";}','s:23:\"CRM_Mailing_Page_Report\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:8:\"CiviMail\";s:3:\"url\";s:24:\"/civicrm/mailing?reset=1\";}}',NULL,NULL,4,NULL,NULL,NULL,0,680,1,0,NULL,'a:0:{}'),
- (363,1,'civicrm/mailing/forward',NULL,'Forward Mailing','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:43:\"access CiviMail subscribe/unsubscribe pages\";}i:1;s:3:\"and\";}','s:31:\"CRM_Mailing_Form_ForwardMailing\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:8:\"CiviMail\";s:3:\"url\";s:24:\"/civicrm/mailing?reset=1\";}}',NULL,NULL,4,NULL,1,NULL,0,685,1,0,NULL,'a:0:{}'),
- (364,1,'civicrm/mailing/queue',NULL,'Sending Mail','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:15:\"access CiviMail\";}i:1;s:3:\"and\";}','s:23:\"CRM_Mailing_Page_Browse\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:8:\"CiviMail\";s:3:\"url\";s:24:\"/civicrm/mailing?reset=1\";}}',NULL,NULL,4,NULL,NULL,NULL,0,690,1,0,NULL,'a:0:{}'),
- (365,1,'civicrm/mailing/report/event',NULL,'Mailing Event','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:15:\"access CiviMail\";}i:1;s:3:\"and\";}','s:22:\"CRM_Mailing_Page_Event\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:8:\"CiviMail\";s:3:\"url\";s:24:\"/civicrm/mailing?reset=1\";}i:2;a:2:{s:5:\"title\";s:14:\"Mailing Report\";s:3:\"url\";s:47:\"/civicrm/mailing/report?reset=1&amp;mid=%%mid%%\";}}',NULL,NULL,4,NULL,NULL,NULL,0,695,1,0,NULL,'a:0:{}'),
- (366,1,'civicrm/ajax/template',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:21:\"CRM_Mailing_Page_AJAX\";i:1;s:8:\"template\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (367,1,'civicrm/mailing/view',NULL,'View Mailing','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:28:\"view public CiviMail content\";i:1;s:15:\"access CiviMail\";i:2;s:16:\"approve mailings\";}i:1;s:2:\"or\";}','s:21:\"CRM_Mailing_Page_View\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:8:\"CiviMail\";s:3:\"url\";s:24:\"/civicrm/mailing?reset=1\";}}',NULL,NULL,4,NULL,1,NULL,0,800,1,0,NULL,'a:0:{}'),
- (368,1,'civicrm/mailing/approve',NULL,'Approve Mailing','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:15:\"access CiviMail\";i:1;s:16:\"approve mailings\";}i:1;s:2:\"or\";}','s:24:\"CRM_Mailing_Form_Approve\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:8:\"CiviMail\";s:3:\"url\";s:24:\"/civicrm/mailing?reset=1\";}}',NULL,NULL,4,NULL,NULL,NULL,0,850,1,0,NULL,'a:0:{}'),
- (369,1,'civicrm/contact/view/mailing',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:20:\"CRM_Mailing_Page_Tab\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:45:\"/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (370,1,'civicrm/ajax/contactmailing',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:21:\"CRM_Mailing_Page_AJAX\";i:1;s:18:\"getContactMailings\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (371,1,'civicrm/ajax/setupMailAccount',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"access CiviMail\";}i:1;s:3:\"and\";}','a:2:{i:0;s:21:\"CRM_Mailing_Page_AJAX\";i:1;s:5:\"setup\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (372,1,'civicrm/mailing/url',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"*always allow*\";}i:1;s:3:\"and\";}','s:20:\"CRM_Mailing_Page_Url\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:8:\"CiviMail\";s:3:\"url\";s:24:\"/civicrm/mailing?reset=1\";}}',NULL,NULL,4,NULL,1,NULL,0,1,1,0,NULL,'a:0:{}'),
- (373,1,'civicrm/mailing/open',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"*always allow*\";}i:1;s:3:\"and\";}','s:21:\"CRM_Mailing_Page_Open\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:8:\"CiviMail\";s:3:\"url\";s:24:\"/civicrm/mailing?reset=1\";}}',NULL,NULL,4,NULL,1,NULL,0,1,1,0,NULL,'a:0:{}'),
- (374,1,'civicrm/grant',NULL,'CiviGrant Dashboard','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:16:\"access CiviGrant\";}i:1;s:3:\"and\";}','s:24:\"CRM_Grant_Page_DashBoard\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,5,NULL,NULL,NULL,0,1000,1,1,NULL,'a:1:{s:9:\"component\";s:9:\"CiviGrant\";}'),
- (375,1,'civicrm/grant/info',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:16:\"access CiviGrant\";}i:1;s:3:\"and\";}','s:24:\"CRM_Grant_Page_DashBoard\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviGrant Dashboard\";s:3:\"url\";s:22:\"/civicrm/grant?reset=1\";}}',NULL,NULL,5,NULL,NULL,NULL,0,0,1,0,NULL,'a:0:{}'),
- (376,1,'civicrm/grant/search',NULL,'Find Grants','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:16:\"access CiviGrant\";}i:1;s:3:\"and\";}','s:27:\"CRM_Grant_Controller_Search\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviGrant Dashboard\";s:3:\"url\";s:22:\"/civicrm/grant?reset=1\";}}',NULL,NULL,5,NULL,NULL,NULL,0,1010,1,1,NULL,'a:0:{}'),
- (377,1,'civicrm/grant/add','action=add','New Grant','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:16:\"access CiviGrant\";}i:1;s:3:\"and\";}','s:18:\"CRM_Grant_Page_Tab\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviGrant Dashboard\";s:3:\"url\";s:22:\"/civicrm/grant?reset=1\";}}',NULL,NULL,5,NULL,NULL,NULL,0,1,1,1,NULL,'a:1:{s:9:\"component\";s:9:\"CiviGrant\";}'),
- (378,1,'civicrm/contact/view/grant',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:16:\"access CiviGrant\";}i:1;s:3:\"and\";}','s:18:\"CRM_Grant_Page_Tab\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:45:\"/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (379,1,'civicrm/pledge',NULL,'CiviPledge Dashboard','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:17:\"access CiviPledge\";}i:1;s:3:\"and\";}','s:25:\"CRM_Pledge_Page_DashBoard\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,6,NULL,NULL,NULL,0,550,1,1,NULL,'a:1:{s:9:\"component\";s:10:\"CiviPledge\";}'),
- (380,1,'civicrm/pledge/search',NULL,'Find Pledges','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:17:\"access CiviPledge\";}i:1;s:3:\"and\";}','s:28:\"CRM_Pledge_Controller_Search\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:20:\"CiviPledge Dashboard\";s:3:\"url\";s:23:\"/civicrm/pledge?reset=1\";}}',NULL,NULL,6,NULL,NULL,NULL,0,560,1,1,NULL,'a:0:{}'),
- (381,1,'civicrm/contact/view/pledge','force=1,cid=%%cid%%','Pledges','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:17:\"access CiviPledge\";}i:1;s:3:\"and\";}','s:19:\"CRM_Pledge_Page_Tab\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:45:\"/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,570,1,0,NULL,'a:0:{}'),
- (382,1,'civicrm/pledge/add','action=add','New Pledge','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:17:\"access CiviPledge\";}i:1;s:3:\"and\";}','s:19:\"CRM_Pledge_Page_Tab\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:20:\"CiviPledge Dashboard\";s:3:\"url\";s:23:\"/civicrm/pledge?reset=1\";}}',NULL,NULL,6,NULL,NULL,NULL,0,1,1,1,NULL,'a:1:{s:9:\"component\";s:10:\"CiviPledge\";}'),
- (383,1,'civicrm/pledge/payment',NULL,'Pledge Payments','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:17:\"access CiviPledge\";}i:1;s:3:\"and\";}','s:23:\"CRM_Pledge_Page_Payment\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:20:\"CiviPledge Dashboard\";s:3:\"url\";s:23:\"/civicrm/pledge?reset=1\";}}',NULL,NULL,6,NULL,NULL,NULL,0,580,1,0,NULL,'a:0:{}'),
- (384,1,'civicrm/ajax/pledgeAmount',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:17:\"access CiviPledge\";i:1;s:18:\"administer CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:20:\"CRM_Pledge_Page_AJAX\";i:1;s:17:\"getPledgeDefaults\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (385,1,'civicrm/case',NULL,'CiviCase Dashboard','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:23:\"CRM_Case_Page_DashBoard\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,7,NULL,NULL,NULL,0,900,1,1,NULL,'a:1:{s:9:\"component\";s:8:\"CiviCase\";}'),
- (386,1,'civicrm/case/add',NULL,'Open Case','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:18:\"CRM_Case_Form_Case\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"CiviCase Dashboard\";s:3:\"url\";s:21:\"/civicrm/case?reset=1\";}}',NULL,NULL,7,NULL,NULL,NULL,0,1,1,1,NULL,'a:1:{s:9:\"component\";s:8:\"CiviCase\";}'),
- (387,1,'civicrm/case/search',NULL,'Find Cases','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:26:\"CRM_Case_Controller_Search\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"CiviCase Dashboard\";s:3:\"url\";s:21:\"/civicrm/case?reset=1\";}}',NULL,NULL,7,NULL,NULL,NULL,0,910,1,1,NULL,'a:0:{}'),
- (388,1,'civicrm/case/activity',NULL,'Case Activity','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Case_Form_Activity\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"CiviCase Dashboard\";s:3:\"url\";s:21:\"/civicrm/case?reset=1\";}}',NULL,NULL,7,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (389,1,'civicrm/case/report',NULL,'Case Activity Audit','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:31:\"access all cases and activities\";}i:1;s:3:\"and\";}','s:20:\"CRM_Case_Form_Report\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"CiviCase Dashboard\";s:3:\"url\";s:21:\"/civicrm/case?reset=1\";}}',NULL,NULL,7,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (390,1,'civicrm/case/cd/edit',NULL,'Case Custom Set','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:24:\"CRM_Case_Form_CustomData\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"CiviCase Dashboard\";s:3:\"url\";s:21:\"/civicrm/case?reset=1\";}}',NULL,NULL,7,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (391,1,'civicrm/contact/view/case',NULL,'Case','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:17:\"CRM_Case_Page_Tab\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:45:\"/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (392,1,'civicrm/case/activity/view',NULL,'Activity View','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:26:\"CRM_Case_Form_ActivityView\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"CiviCase Dashboard\";s:3:\"url\";s:21:\"/civicrm/case?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Case Activity\";s:3:\"url\";s:30:\"/civicrm/case/activity?reset=1\";}}',NULL,NULL,7,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (393,1,'civicrm/contact/view/case/editClient',NULL,'Assign to Another Client','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:24:\"CRM_Case_Form_EditClient\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:45:\"/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}i:2;a:2:{s:5:\"title\";s:4:\"Case\";s:3:\"url\";s:34:\"/civicrm/contact/view/case?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (394,1,'civicrm/case/addToCase',NULL,'File on Case','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:28:\"CRM_Case_Form_ActivityToCase\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"CiviCase Dashboard\";s:3:\"url\";s:21:\"/civicrm/case?reset=1\";}}',NULL,NULL,7,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (395,1,'civicrm/case/details',NULL,'Case Details','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:25:\"CRM_Case_Page_CaseDetails\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"CiviCase Dashboard\";s:3:\"url\";s:21:\"/civicrm/case?reset=1\";}}',NULL,NULL,7,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (396,1,'civicrm/admin/setting/case',NULL,'CiviCase Settings','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:27:\"CRM_Admin_Form_Setting_Case\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,380,1,0,NULL,'a:1:{s:10:\"adminGroup\";s:8:\"CiviCase\";}'),
- (397,1,'civicrm/admin/options/case_type',NULL,'Case Types','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:19:\"administer CiviCase\";}i:1;s:3:\"and\";}','s:22:\"CRM_Core_Page_Redirect\";','s:24:\"url=civicrm/a/#/caseType\";','a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,390,1,0,NULL,'a:2:{s:4:\"desc\";s:137:\"List of types which can be assigned to Cases. (Enable the Cases tab from System Settings - Enable Components if you want to track cases.)\";s:10:\"adminGroup\";s:8:\"CiviCase\";}'),
- (398,1,'civicrm/admin/options/redaction_rule',NULL,'Redaction Rules','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:19:\"administer CiviCase\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,400,1,0,NULL,'a:2:{s:4:\"desc\";s:223:\"List of rules which can be applied to user input strings so that the redacted output can be recognized as repeated instances of the same string or can be identified as a \"semantic type of the data element\" within case data.\";s:10:\"adminGroup\";s:8:\"CiviCase\";}'),
- (399,1,'civicrm/admin/options/case_status',NULL,'Case Statuses','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:19:\"administer CiviCase\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,400,1,0,NULL,'a:2:{s:4:\"desc\";s:48:\"List of statuses that can be assigned to a case.\";s:10:\"adminGroup\";s:8:\"CiviCase\";}'),
- (400,1,'civicrm/admin/options/encounter_medium',NULL,'Encounter Mediums','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:19:\"administer CiviCase\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,400,1,0,NULL,'a:2:{s:4:\"desc\";s:26:\"List of encounter mediums.\";s:10:\"adminGroup\";s:8:\"CiviCase\";}'),
- (401,1,'civicrm/case/report/print',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:31:\"access all cases and activities\";}i:1;s:3:\"and\";}','a:2:{i:0;s:28:\"CRM_Case_XMLProcessor_Report\";i:1;s:15:\"printCaseReport\";}',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"CiviCase Dashboard\";s:3:\"url\";s:21:\"/civicrm/case?reset=1\";}i:2;a:2:{s:5:\"title\";s:19:\"Case Activity Audit\";s:3:\"url\";s:28:\"/civicrm/case/report?reset=1\";}}',NULL,NULL,7,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (402,1,'civicrm/case/ajax/addclient',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:18:\"CRM_Case_Page_AJAX\";i:1;s:9:\"addClient\";}',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"CiviCase Dashboard\";s:3:\"url\";s:21:\"/civicrm/case?reset=1\";}}',NULL,NULL,7,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (403,1,'civicrm/case/ajax/processtags',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:18:\"CRM_Case_Page_AJAX\";i:1;s:15:\"processCaseTags\";}',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"CiviCase Dashboard\";s:3:\"url\";s:21:\"/civicrm/case?reset=1\";}}',NULL,NULL,7,NULL,NULL,NULL,0,1,1,3,NULL,'a:0:{}'),
- (404,1,'civicrm/case/ajax/details',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:18:\"CRM_Case_Page_AJAX\";i:1;s:11:\"CaseDetails\";}',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"CiviCase Dashboard\";s:3:\"url\";s:21:\"/civicrm/case?reset=1\";}}',NULL,NULL,7,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (405,1,'civicrm/ajax/delcaserole',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:18:\"CRM_Case_Page_AJAX\";i:1;s:15:\"deleteCaseRoles\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (406,1,'civicrm/ajax/get-cases',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:18:\"CRM_Case_Page_AJAX\";i:1;s:8:\"getCases\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (407,1,'civicrm/case/email/add','action=add,task=email','Email','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:24:\"CRM_Case_Form_Task_Email\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"CiviCase Dashboard\";s:3:\"url\";s:21:\"/civicrm/case?reset=1\";}}',NULL,NULL,7,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (408,1,'civicrm/report',NULL,'CiviReport','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:17:\"access CiviReport\";}i:1;s:3:\"and\";}','s:22:\"CRM_Report_Page_Report\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,8,NULL,NULL,NULL,0,1200,1,1,NULL,'a:1:{s:9:\"component\";s:10:\"CiviReport\";}'),
- (409,1,'civicrm/report/list',NULL,'CiviCRM Reports','s:1:\"1\";','a:2:{i:0;a:1:{i:0;s:17:\"access CiviReport\";}i:1;s:3:\"and\";}','s:28:\"CRM_Report_Page_InstanceList\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:10:\"CiviReport\";s:3:\"url\";s:23:\"/civicrm/report?reset=1\";}}',NULL,NULL,8,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (410,1,'civicrm/report/template/list',NULL,'Create New Report from Template','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:18:\"administer Reports\";}i:1;s:3:\"and\";}','s:28:\"CRM_Report_Page_TemplateList\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:10:\"CiviReport\";s:3:\"url\";s:23:\"/civicrm/report?reset=1\";}}',NULL,NULL,8,NULL,NULL,NULL,0,1220,1,1,NULL,'a:0:{}'),
- (411,1,'civicrm/report/options/report_template',NULL,'Manage Templates','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:18:\"administer Reports\";}i:1;s:3:\"and\";}','s:23:\"CRM_Report_Page_Options\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:10:\"CiviReport\";s:3:\"url\";s:23:\"/civicrm/report?reset=1\";}}',NULL,NULL,8,NULL,NULL,NULL,0,1241,1,1,NULL,'a:0:{}'),
- (412,1,'civicrm/admin/report/register',NULL,'Register Report','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:18:\"administer Reports\";}i:1;s:3:\"and\";}','s:24:\"CRM_Report_Form_Register\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:1:{s:4:\"desc\";s:30:\"Register the Report templates.\";}'),
- (413,1,'civicrm/report/instance',NULL,'Report','s:1:\"1\";','a:2:{i:0;a:1:{i:0;s:17:\"access CiviReport\";}i:1;s:3:\"and\";}','s:24:\"CRM_Report_Page_Instance\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:10:\"CiviReport\";s:3:\"url\";s:23:\"/civicrm/report?reset=1\";}}',NULL,NULL,8,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (414,1,'civicrm/admin/report/template/list',NULL,'Create New Report from Template','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:17:\"access CiviReport\";}i:1;s:3:\"and\";}','s:28:\"CRM_Report_Page_TemplateList\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:2:{s:4:\"desc\";s:49:\"Component wise listing of all available templates\";s:10:\"adminGroup\";s:10:\"CiviReport\";}'),
- (415,1,'civicrm/admin/report/options/report_template',NULL,'Manage Templates','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:17:\"access CiviReport\";}i:1;s:3:\"and\";}','s:23:\"CRM_Report_Page_Options\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:2:{s:4:\"desc\";s:45:\"Browse, Edit and Delete the Report templates.\";s:10:\"adminGroup\";s:10:\"CiviReport\";}'),
- (416,1,'civicrm/admin/report/list',NULL,'Reports Listing','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:28:\"CRM_Report_Page_InstanceList\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:2:{s:4:\"desc\";s:60:\"Browse existing report, change report criteria and settings.\";s:10:\"adminGroup\";s:10:\"CiviReport\";}'),
- (417,1,'civicrm/campaign',NULL,'Campaign Dashboard','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:23:\"administer CiviCampaign\";i:1;s:15:\"manage campaign\";}i:1;s:2:\"or\";}','s:27:\"CRM_Campaign_Page_DashBoard\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,9,NULL,NULL,NULL,0,1,1,0,NULL,'a:1:{s:9:\"component\";s:12:\"CiviCampaign\";}'),
- (418,1,'civicrm/campaign/add',NULL,'New Campaign','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:23:\"administer CiviCampaign\";i:1;s:15:\"manage campaign\";}i:1;s:2:\"or\";}','s:26:\"CRM_Campaign_Form_Campaign\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Campaign Dashboard\";s:3:\"url\";s:25:\"/civicrm/campaign?reset=1\";}}',NULL,NULL,9,NULL,NULL,NULL,0,1,1,0,NULL,'a:1:{s:9:\"component\";s:12:\"CiviCampaign\";}'),
- (419,1,'civicrm/survey/add',NULL,'New Survey','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:23:\"administer CiviCampaign\";i:1;s:15:\"manage campaign\";}i:1;s:2:\"or\";}','s:29:\"CRM_Campaign_Form_Survey_Main\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:1:{s:9:\"component\";s:12:\"CiviCampaign\";}'),
- (420,1,'civicrm/campaign/vote',NULL,'Conduct Survey','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:4:{i:0;s:23:\"administer CiviCampaign\";i:1;s:15:\"manage campaign\";i:2;s:25:\"reserve campaign contacts\";i:3;s:27:\"interview campaign contacts\";}i:1;s:2:\"or\";}','s:22:\"CRM_Campaign_Page_Vote\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Campaign Dashboard\";s:3:\"url\";s:25:\"/civicrm/campaign?reset=1\";}}',NULL,NULL,9,NULL,NULL,NULL,0,1,1,0,NULL,'a:1:{s:9:\"component\";s:12:\"CiviCampaign\";}'),
- (421,1,'civicrm/admin/campaign/surveyType',NULL,'Survey Types','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:23:\"administer CiviCampaign\";}i:1;s:3:\"and\";}','s:28:\"CRM_Campaign_Page_SurveyType\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:2:{s:10:\"adminGroup\";s:12:\"CiviCampaign\";s:9:\"component\";s:12:\"CiviCampaign\";}'),
- (422,1,'civicrm/admin/options/campaign_type',NULL,'Campaign Types','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,2,1,0,NULL,'a:3:{s:4:\"desc\";s:47:\"categorize your campaigns using campaign types.\";s:10:\"adminGroup\";s:12:\"CiviCampaign\";s:9:\"component\";s:12:\"CiviCampaign\";}'),
- (423,1,'civicrm/admin/options/campaign_status',NULL,'Campaign Status','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,3,1,0,NULL,'a:3:{s:4:\"desc\";s:34:\"Define statuses for campaign here.\";s:10:\"adminGroup\";s:12:\"CiviCampaign\";s:9:\"component\";s:12:\"CiviCampaign\";}'),
- (424,1,'civicrm/admin/options/engagement_index',NULL,'Engagement Index','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,4,1,0,NULL,'a:3:{s:4:\"desc\";s:18:\"Engagement levels.\";s:10:\"adminGroup\";s:12:\"CiviCampaign\";s:9:\"component\";s:12:\"CiviCampaign\";}'),
- (425,1,'civicrm/survey/search','op=interview','Record Respondents Interview','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:23:\"administer CiviCampaign\";i:1;s:15:\"manage campaign\";i:2;s:27:\"interview campaign contacts\";}i:1;s:2:\"or\";}','s:30:\"CRM_Campaign_Controller_Search\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:1:{s:9:\"component\";s:12:\"CiviCampaign\";}'),
- (426,1,'civicrm/campaign/gotv',NULL,'GOTV (Track Voters)','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:4:{i:0;s:23:\"administer CiviCampaign\";i:1;s:15:\"manage campaign\";i:2;s:25:\"release campaign contacts\";i:3;s:22:\"gotv campaign contacts\";}i:1;s:2:\"or\";}','s:22:\"CRM_Campaign_Form_Gotv\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Campaign Dashboard\";s:3:\"url\";s:25:\"/civicrm/campaign?reset=1\";}}',NULL,NULL,9,NULL,NULL,NULL,0,1,1,0,NULL,'a:1:{s:9:\"component\";s:12:\"CiviCampaign\";}'),
- (427,1,'civicrm/petition/add',NULL,'New Petition','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:23:\"administer CiviCampaign\";i:1;s:15:\"manage campaign\";}i:1;s:2:\"or\";}','s:26:\"CRM_Campaign_Form_Petition\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (428,1,'civicrm/petition/sign',NULL,'Sign Petition','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:21:\"sign CiviCRM Petition\";}i:1;s:3:\"and\";}','s:36:\"CRM_Campaign_Form_Petition_Signature\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,1,NULL,0,1,1,0,NULL,'a:0:{}'),
- (429,1,'civicrm/petition/browse',NULL,'View Petition Signatures','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:26:\"CRM_Campaign_Page_Petition\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (430,1,'civicrm/petition/confirm',NULL,'Email address verified','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:21:\"sign CiviCRM Petition\";}i:1;s:3:\"and\";}','s:34:\"CRM_Campaign_Page_Petition_Confirm\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,1,NULL,0,1,1,0,NULL,'a:0:{}'),
- (431,1,'civicrm/petition/thankyou',NULL,'Thank You','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:21:\"sign CiviCRM Petition\";}i:1;s:3:\"and\";}','s:35:\"CRM_Campaign_Page_Petition_ThankYou\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,1,NULL,0,1,1,0,NULL,'a:0:{}'),
- (432,1,'civicrm/campaign/registerInterview',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:23:\"administer CiviCampaign\";i:1;s:15:\"manage campaign\";i:2;s:27:\"interview campaign contacts\";}i:1;s:2:\"or\";}','a:2:{i:0;s:22:\"CRM_Campaign_Page_AJAX\";i:1;s:17:\"registerInterview\";}',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Campaign Dashboard\";s:3:\"url\";s:25:\"/civicrm/campaign?reset=1\";}}',NULL,NULL,9,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (433,1,'civicrm/survey/configure/main',NULL,'Configure Survey','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:23:\"administer CiviCampaign\";i:1;s:15:\"manage campaign\";}i:1;s:2:\"or\";}','s:29:\"CRM_Campaign_Form_Survey_Main\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (434,1,'civicrm/survey/configure/questions',NULL,'Configure Survey','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:23:\"administer CiviCampaign\";i:1;s:15:\"manage campaign\";}i:1;s:2:\"or\";}','s:34:\"CRM_Campaign_Form_Survey_Questions\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (435,1,'civicrm/survey/configure/results',NULL,'Configure Survey','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:23:\"administer CiviCampaign\";i:1;s:15:\"manage campaign\";}i:1;s:2:\"or\";}','s:32:\"CRM_Campaign_Form_Survey_Results\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (436,1,'civicrm/survey/delete',NULL,'Delete Survey','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:23:\"administer CiviCampaign\";i:1;s:15:\"manage campaign\";}i:1;s:2:\"or\";}','s:31:\"CRM_Campaign_Form_Survey_Delete\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
- (437,1,'civicrm/admin/ckeditor',NULL,'Configure CKEditor 4','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:18:\"administer CiviCRM\";}i:1;s:3:\"and\";}','s:33:\"CRM_Ckeditor4_Form_CKEditorConfig\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:0:{}'),
- (438,1,'civicrm/ajax/event/add_participant_to_cart',NULL,NULL,'s:1:\"1\";','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:32:\"CRM_Event_Cart_Page_CheckoutAJAX\";i:1;s:23:\"add_participant_to_cart\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,1,NULL,0,1,1,0,NULL,'a:0:{}'),
- (439,1,'civicrm/ajax/event/remove_participant_from_cart',NULL,NULL,'s:1:\"1\";','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:32:\"CRM_Event_Cart_Page_CheckoutAJAX\";i:1;s:28:\"remove_participant_from_cart\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,1,NULL,0,1,1,0,NULL,'a:0:{}'),
- (440,1,'civicrm/event/add_to_cart',NULL,'Add Event To Cart','s:1:\"1\";','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:29:\"CRM_Event_Cart_Page_AddToCart\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}}',NULL,NULL,1,NULL,1,NULL,0,1,1,0,NULL,'a:0:{}'),
- (441,1,'civicrm/event/cart_checkout',NULL,'Cart Checkout','s:1:\"1\";','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:34:\"CRM_Event_Cart_Controller_Checkout\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}}',NULL,NULL,1,NULL,1,NULL,1,1,1,0,NULL,'a:0:{}'),
- (442,1,'civicrm/event/remove_from_cart',NULL,'Remove From Cart','s:1:\"1\";','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:34:\"CRM_Event_Cart_Page_RemoveFromCart\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}}',NULL,NULL,1,NULL,1,NULL,0,1,1,0,NULL,'a:0:{}'),
- (443,1,'civicrm/event/view_cart',NULL,'View Cart','s:1:\"1\";','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:28:\"CRM_Event_Cart_Page_ViewCart\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}}',NULL,NULL,1,NULL,1,NULL,0,1,1,0,NULL,'a:0:{}'),
- (444,1,'civicrm/contact/search/custom',NULL,'Find Contacts','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:42:\"CRM_Legacycustomsearches_Controller_Search\";','s:10:\"mode=16384\";','a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:13:\"Find Contacts\";s:3:\"url\";s:31:\"/civicrm/contact/search?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,10,1,1,NULL,'a:0:{}'),
- (445,1,'civicrm/admin/setting/flexmailer',NULL,'Flexmailer Settings','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:18:\"administer CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Form_Generic\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:2:{s:10:\"adminGroup\";s:8:\"CiviMail\";s:4:\"icon\";s:23:\"admin/small/Profile.png\";}'),
- (446,1,'civicrm/admin/setting/recaptcha',NULL,'reCAPTCHA Settings','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:18:\"administer CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Form_Generic\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:2:{s:4:\"desc\";s:43:\"Configure anti-abuse/bot-prevention service\";s:10:\"adminGroup\";s:15:\"System Settings\";}'),
- (447,1,'admin',NULL,NULL,NULL,NULL,NULL,NULL,'a:15:{s:26:\"Customize Data and Screens\";a:2:{s:12:\"component_id\";N;s:6:\"fields\";a:19:{s:20:\"{weight}.Custom Data\";a:6:{s:5:\"title\";s:11:\"Custom Data\";s:4:\"desc\";s:109:\"Configure custom fields to collect and store custom data which is not included in the standard CiviCRM forms.\";s:2:\"id\";s:10:\"CustomData\";s:3:\"url\";s:35:\"/civicrm/admin/custom/group?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:17:\"{weight}.Profiles\";a:6:{s:5:\"title\";s:8:\"Profiles\";s:4:\"desc\";s:151:\"Profiles allow you to aggregate groups of fields and include them in your site as input forms, contact display pages, and search and listings features.\";s:2:\"id\";s:8:\"Profiles\";s:3:\"url\";s:31:\"/civicrm/admin/uf/group?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:23:\"{weight}.Activity Types\";a:6:{s:5:\"title\";s:14:\"Activity Types\";s:4:\"desc\";s:155:\"CiviCRM has several built-in activity types (meetings, phone calls, emails sent). Track other types of interactions by creating custom activity types here.\";s:2:\"id\";s:13:\"ActivityTypes\";s:3:\"url\";s:44:\"/civicrm/admin/options/activity_type?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:27:\"{weight}.Relationship Types\";a:6:{s:5:\"title\";s:18:\"Relationship Types\";s:4:\"desc\";s:148:\"Contacts can be linked to each other through Relationships (e.g. Spouse, Employer, etc.). Define the types of relationships you want to record here.\";s:2:\"id\";s:17:\"RelationshipTypes\";s:3:\"url\";s:30:\"/civicrm/admin/reltype?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:22:\"{weight}.Contact Types\";a:6:{s:5:\"title\";s:13:\"Contact Types\";s:4:\"desc\";N;s:2:\"id\";s:12:\"ContactTypes\";s:3:\"url\";s:38:\"/civicrm/admin/options/subtype?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:23:\"{weight}.Gender Options\";a:6:{s:5:\"title\";s:14:\"Gender Options\";s:4:\"desc\";s:79:\"Options for assigning gender to individual contacts (e.g. Male, Female, Other).\";s:2:\"id\";s:13:\"GenderOptions\";s:3:\"url\";s:37:\"/civicrm/admin/options/gender?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:40:\"{weight}.Individual Prefixes (Ms, Mr...)\";a:6:{s:5:\"title\";s:31:\"Individual Prefixes (Ms, Mr...)\";s:4:\"desc\";s:66:\"Options for individual contact prefixes (e.g. Ms., Mr., Dr. etc.).\";s:2:\"id\";s:27:\"IndividualPrefixes_Ms_Mr...\";s:3:\"url\";s:48:\"/civicrm/admin/options/individual_prefix?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:40:\"{weight}.Individual Suffixes (Jr, Sr...)\";a:6:{s:5:\"title\";s:31:\"Individual Suffixes (Jr, Sr...)\";s:4:\"desc\";s:61:\"Options for individual contact suffixes (e.g. Jr., Sr. etc.).\";s:2:\"id\";s:27:\"IndividualSuffixes_Jr_Sr...\";s:3:\"url\";s:48:\"/civicrm/admin/options/individual_suffix?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:39:\"{weight}.Location Types (Home, Work...)\";a:6:{s:5:\"title\";s:30:\"Location Types (Home, Work...)\";s:4:\"desc\";s:94:\"Options for categorizing contact addresses and phone numbers (e.g. Home, Work, Billing, etc.).\";s:2:\"id\";s:26:\"LocationTypes_Home_Work...\";s:3:\"url\";s:35:\"/civicrm/admin/locationType?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:22:\"{weight}.Website Types\";a:6:{s:5:\"title\";s:13:\"Website Types\";s:4:\"desc\";s:48:\"Options for assigning website types to contacts.\";s:2:\"id\";s:12:\"WebsiteTypes\";s:3:\"url\";s:43:\"/civicrm/admin/options/website_type?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:35:\"{weight}.Instant Messenger Services\";a:6:{s:5:\"title\";s:26:\"Instant Messenger Services\";s:4:\"desc\";s:79:\"List of IM services which can be used when recording screen-names for contacts.\";s:2:\"id\";s:24:\"InstantMessengerServices\";s:3:\"url\";s:56:\"/civicrm/admin/options/instant_messenger_service?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:31:\"{weight}.Mobile Phone Providers\";a:6:{s:5:\"title\";s:22:\"Mobile Phone Providers\";s:4:\"desc\";s:90:\"List of mobile phone providers which can be assigned when recording contact phone numbers.\";s:2:\"id\";s:20:\"MobilePhoneProviders\";s:3:\"url\";s:46:\"/civicrm/admin/options/mobile_provider?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:19:\"{weight}.Phone Type\";a:6:{s:5:\"title\";s:10:\"Phone Type\";s:4:\"desc\";s:80:\"Options for assigning phone type to contacts (e.g Phone,\n    Mobile, Fax, Pager)\";s:2:\"id\";s:9:\"PhoneType\";s:3:\"url\";s:41:\"/civicrm/admin/options/phone_type?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:28:\"{weight}.Display Preferences\";a:6:{s:5:\"title\";s:19:\"Display Preferences\";s:4:\"desc\";N;s:2:\"id\";s:18:\"DisplayPreferences\";s:3:\"url\";s:50:\"/civicrm/admin/setting/preferences/display?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:27:\"{weight}.Search Preferences\";a:6:{s:5:\"title\";s:18:\"Search Preferences\";s:4:\"desc\";N;s:2:\"id\";s:17:\"SearchPreferences\";s:3:\"url\";s:37:\"/civicrm/admin/setting/search?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:24:\"{weight}.Navigation Menu\";a:6:{s:5:\"title\";s:15:\"Navigation Menu\";s:4:\"desc\";s:79:\"Add or remove menu items, and modify the order of items on the navigation menu.\";s:2:\"id\";s:14:\"NavigationMenu\";s:3:\"url\";s:27:\"/civicrm/admin/menu?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:26:\"{weight}.Word Replacements\";a:6:{s:5:\"title\";s:17:\"Word Replacements\";s:4:\"desc\";s:18:\"Word Replacements.\";s:2:\"id\";s:16:\"WordReplacements\";s:3:\"url\";s:47:\"/civicrm/admin/options/wordreplacements?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:31:\"{weight}.Manage Custom Searches\";a:6:{s:5:\"title\";s:22:\"Manage Custom Searches\";s:4:\"desc\";s:225:\"Developers and accidental techies with a bit of PHP and SQL knowledge can create new search forms to handle specific search and reporting needs which aren\'t covered by the built-in Advanced Search and Search Builder features.\";s:2:\"id\";s:20:\"ManageCustomSearches\";s:3:\"url\";s:44:\"/civicrm/admin/options/custom_search?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:13:\"{weight}.Tags\";a:6:{s:5:\"title\";s:4:\"Tags\";s:4:\"desc\";s:158:\"Tags are useful for segmenting the contacts in your database into categories (e.g. Staff Member, Donor, Volunteer, etc.). Create and edit available tags here.\";s:2:\"id\";s:4:\"Tags\";s:3:\"url\";s:20:\"/civicrm/tag?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}}}s:14:\"Communications\";a:2:{s:12:\"component_id\";N;s:6:\"fields\";a:11:{s:46:\"{weight}.Organization Address and Contact Info\";a:6:{s:5:\"title\";s:37:\"Organization Address and Contact Info\";s:4:\"desc\";s:150:\"Configure primary contact name, email, return-path and address information. This information is used by CiviMail to identify the sending organization.\";s:2:\"id\";s:33:\"OrganizationAddressandContactInfo\";s:3:\"url\";s:47:\"/civicrm/admin/domain?action=update&amp;reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:29:\"{weight}.From Email Addresses\";a:6:{s:5:\"title\";s:20:\"From Email Addresses\";s:4:\"desc\";s:74:\"List of Email Addresses which can be used when sending emails to contacts.\";s:2:\"id\";s:18:\"FromEmailAddresses\";s:3:\"url\";s:49:\"/civicrm/admin/options/from_email_address?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:26:\"{weight}.Message Templates\";a:6:{s:5:\"title\";s:17:\"Message Templates\";s:4:\"desc\";s:130:\"Message templates allow you to save and re-use messages with layouts which you can use when sending email to one or more contacts.\";s:2:\"id\";s:16:\"MessageTemplates\";s:3:\"url\";s:39:\"/civicrm/admin/messageTemplates?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:27:\"{weight}.Schedule Reminders\";a:6:{s:5:\"title\";s:18:\"Schedule Reminders\";s:4:\"desc\";s:19:\"Schedule Reminders.\";s:2:\"id\";s:17:\"ScheduleReminders\";s:3:\"url\";s:40:\"/civicrm/admin/scheduleReminders?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:40:\"{weight}.Preferred Communication Methods\";a:6:{s:5:\"title\";s:31:\"Preferred Communication Methods\";s:4:\"desc\";s:117:\"One or more preferred methods of communication can be assigned to each contact. Customize the available options here.\";s:2:\"id\";s:29:\"PreferredCommunicationMethods\";s:3:\"url\";s:61:\"/civicrm/admin/options/preferred_communication_method?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:22:\"{weight}.Label Formats\";a:6:{s:5:\"title\";s:13:\"Label Formats\";s:4:\"desc\";s:67:\"Configure Label Formats that are used when creating mailing labels.\";s:2:\"id\";s:12:\"LabelFormats\";s:3:\"url\";s:35:\"/civicrm/admin/labelFormats?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:33:\"{weight}.Print Page (PDF) Formats\";a:6:{s:5:\"title\";s:24:\"Print Page (PDF) Formats\";s:4:\"desc\";s:95:\"Configure PDF Page Formats that can be assigned to Message Templates when creating PDF letters.\";s:2:\"id\";s:20:\"PrintPage_PDFFormats\";s:3:\"url\";s:33:\"/civicrm/admin/pdfFormats?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:36:\"{weight}.Communication Style Options\";a:6:{s:5:\"title\";s:27:\"Communication Style Options\";s:4:\"desc\";s:42:\"Options for Communication Style selection.\";s:2:\"id\";s:25:\"CommunicationStyleOptions\";s:3:\"url\";s:50:\"/civicrm/admin/options/communication_style?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:31:\"{weight}.Email Greeting Formats\";a:6:{s:5:\"title\";s:22:\"Email Greeting Formats\";s:4:\"desc\";s:75:\"Options for assigning email greetings to individual and household contacts.\";s:2:\"id\";s:20:\"EmailGreetingFormats\";s:3:\"url\";s:45:\"/civicrm/admin/options/email_greeting?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:32:\"{weight}.Postal Greeting Formats\";a:6:{s:5:\"title\";s:23:\"Postal Greeting Formats\";s:4:\"desc\";s:76:\"Options for assigning postal greetings to individual and household contacts.\";s:2:\"id\";s:21:\"PostalGreetingFormats\";s:3:\"url\";s:46:\"/civicrm/admin/options/postal_greeting?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:26:\"{weight}.Addressee Formats\";a:6:{s:5:\"title\";s:17:\"Addressee Formats\";s:4:\"desc\";s:83:\"Options for assigning addressee to individual, household and organization contacts.\";s:2:\"id\";s:16:\"AddresseeFormats\";s:3:\"url\";s:40:\"/civicrm/admin/options/addressee?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}}}s:12:\"Localization\";a:2:{s:12:\"component_id\";N;s:6:\"fields\";a:4:{s:39:\"{weight}.Languages, Currency, Locations\";a:6:{s:5:\"title\";s:30:\"Languages, Currency, Locations\";s:4:\"desc\";N;s:2:\"id\";s:28:\"Languages_Currency_Locations\";s:3:\"url\";s:43:\"/civicrm/admin/setting/localization?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:25:\"{weight}.Address Settings\";a:6:{s:5:\"title\";s:16:\"Address Settings\";s:4:\"desc\";N;s:2:\"id\";s:15:\"AddressSettings\";s:3:\"url\";s:50:\"/civicrm/admin/setting/preferences/address?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:21:\"{weight}.Date Formats\";a:6:{s:5:\"title\";s:12:\"Date Formats\";s:4:\"desc\";N;s:2:\"id\";s:11:\"DateFormats\";s:3:\"url\";s:35:\"/civicrm/admin/setting/date?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:28:\"{weight}.Preferred Languages\";a:6:{s:5:\"title\";s:19:\"Preferred Languages\";s:4:\"desc\";s:30:\"Options for contact languages.\";s:2:\"id\";s:18:\"PreferredLanguages\";s:3:\"url\";s:40:\"/civicrm/admin/options/languages?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}}}s:21:\"Users and Permissions\";a:2:{s:12:\"component_id\";N;s:6:\"fields\";a:2:{s:23:\"{weight}.Access Control\";a:6:{s:5:\"title\";s:14:\"Access Control\";s:4:\"desc\";s:73:\"Grant or deny access to actions (view, edit...), features and components.\";s:2:\"id\";s:13:\"AccessControl\";s:3:\"url\";s:29:\"/civicrm/admin/access?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:38:\"{weight}.Synchronize Users to Contacts\";a:6:{s:5:\"title\";s:29:\"Synchronize Users to Contacts\";s:4:\"desc\";s:71:\"Automatically create a CiviCRM contact record for each CMS user record.\";s:2:\"id\";s:26:\"SynchronizeUserstoContacts\";s:3:\"url\";s:32:\"/civicrm/admin/synchUser?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}}}s:15:\"System Settings\";a:2:{s:12:\"component_id\";N;s:6:\"fields\";a:19:{s:32:\"{weight}.Configuration Checklist\";a:6:{s:5:\"title\";s:23:\"Configuration Checklist\";s:4:\"desc\";s:55:\"List of configuration tasks with links to each setting.\";s:2:\"id\";s:22:\"ConfigurationChecklist\";s:3:\"url\";s:33:\"/civicrm/admin/configtask?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:34:\"{weight}.Enable CiviCRM Components\";a:6:{s:5:\"title\";s:25:\"Enable CiviCRM Components\";s:4:\"desc\";s:269:\"Enable or disable components (e.g. CiviEvent, CiviMember, etc.) for your site based on the features you need. We recommend disabling any components not being used in order to simplify the user interface. You can easily re-enable components at any time from this screen.\";s:2:\"id\";s:23:\"EnableCiviCRMComponents\";s:3:\"url\";s:40:\"/civicrm/admin/setting/component?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:26:\"{weight}.Manage Extensions\";a:6:{s:5:\"title\";s:17:\"Manage Extensions\";s:4:\"desc\";s:0:\"\";s:2:\"id\";s:16:\"ManageExtensions\";s:3:\"url\";s:33:\"/civicrm/admin/extensions?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:32:\"{weight}.Outbound Email Settings\";a:6:{s:5:\"title\";s:23:\"Outbound Email Settings\";s:4:\"desc\";N;s:2:\"id\";s:21:\"OutboundEmailSettings\";s:3:\"url\";s:35:\"/civicrm/admin/setting/smtp?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:37:\"{weight}.Settings - Payment Processor\";a:6:{s:5:\"title\";s:28:\"Settings - Payment Processor\";s:4:\"desc\";s:48:\"Payment Processor setup for CiviCRM transactions\";s:2:\"id\";s:25:\"Settings-PaymentProcessor\";s:3:\"url\";s:39:\"/civicrm/admin/paymentProcessor?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:30:\"{weight}.Mapping and Geocoding\";a:6:{s:5:\"title\";s:21:\"Mapping and Geocoding\";s:4:\"desc\";N;s:2:\"id\";s:19:\"MappingandGeocoding\";s:3:\"url\";s:38:\"/civicrm/admin/setting/mapping?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:53:\"{weight}.Misc (Undelete, PDFs, Limits, Logging, etc.)\";a:6:{s:5:\"title\";s:44:\"Misc (Undelete, PDFs, Limits, Logging, etc.)\";s:4:\"desc\";s:63:\"Enable undelete/move to trash feature, detailed change logging.\";s:2:\"id\";s:38:\"Misc_Undelete_PDFs_Limits_Logging_etc.\";s:3:\"url\";s:35:\"/civicrm/admin/setting/misc?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:20:\"{weight}.Directories\";a:6:{s:5:\"title\";s:11:\"Directories\";s:4:\"desc\";N;s:2:\"id\";s:11:\"Directories\";s:3:\"url\";s:35:\"/civicrm/admin/setting/path?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:22:\"{weight}.Resource URLs\";a:6:{s:5:\"title\";s:13:\"Resource URLs\";s:4:\"desc\";N;s:2:\"id\";s:12:\"ResourceURLs\";s:3:\"url\";s:34:\"/civicrm/admin/setting/url?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:40:\"{weight}.Cleanup Caches and Update Paths\";a:6:{s:5:\"title\";s:31:\"Cleanup Caches and Update Paths\";s:4:\"desc\";s:157:\"Reset the Base Directory Path and Base URL settings - generally when a CiviCRM site is moved to another location in the file system and/or to another domain.\";s:2:\"id\";s:27:\"CleanupCachesandUpdatePaths\";s:3:\"url\";s:50:\"/civicrm/admin/setting/updateConfigBackend?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:33:\"{weight}.CMS Database Integration\";a:6:{s:5:\"title\";s:24:\"CMS Database Integration\";s:4:\"desc\";N;s:2:\"id\";s:22:\"CMSDatabaseIntegration\";s:3:\"url\";s:33:\"/civicrm/admin/setting/uf?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:36:\"{weight}.Safe File Extension Options\";a:6:{s:5:\"title\";s:27:\"Safe File Extension Options\";s:4:\"desc\";s:44:\"File Extensions that can be considered safe.\";s:2:\"id\";s:24:\"SafeFileExtensionOptions\";s:3:\"url\";s:50:\"/civicrm/admin/options/safe_file_extension?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:22:\"{weight}.Option Groups\";a:6:{s:5:\"title\";s:13:\"Option Groups\";s:4:\"desc\";s:35:\"Access all meta-data option groups.\";s:2:\"id\";s:12:\"OptionGroups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:31:\"{weight}.Import/Export Mappings\";a:6:{s:5:\"title\";s:22:\"Import/Export Mappings\";s:4:\"desc\";s:141:\"Import and Export mappings allow you to easily run the same job multiple times. This option allows you to rename or delete existing mappings.\";s:2:\"id\";s:21:\"Import_ExportMappings\";s:3:\"url\";s:30:\"/civicrm/admin/mapping?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:18:\"{weight}.Debugging\";a:6:{s:5:\"title\";s:9:\"Debugging\";s:4:\"desc\";N;s:2:\"id\";s:9:\"Debugging\";s:3:\"url\";s:36:\"/civicrm/admin/setting/debug?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:28:\"{weight}.Multi Site Settings\";a:6:{s:5:\"title\";s:19:\"Multi Site Settings\";s:4:\"desc\";N;s:2:\"id\";s:17:\"MultiSiteSettings\";s:3:\"url\";s:52:\"/civicrm/admin/setting/preferences/multisite?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:23:\"{weight}.Scheduled Jobs\";a:6:{s:5:\"title\";s:14:\"Scheduled Jobs\";s:4:\"desc\";s:35:\"Managing periodially running tasks.\";s:2:\"id\";s:13:\"ScheduledJobs\";s:3:\"url\";s:26:\"/civicrm/admin/job?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:22:\"{weight}.Sms Providers\";a:6:{s:5:\"title\";s:13:\"Sms Providers\";s:4:\"desc\";s:27:\"To configure a sms provider\";s:2:\"id\";s:12:\"SmsProviders\";s:3:\"url\";s:35:\"/civicrm/admin/sms/provider?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:27:\"{weight}.reCAPTCHA Settings\";a:6:{s:5:\"title\";s:18:\"reCAPTCHA Settings\";s:4:\"desc\";s:43:\"Configure anti-abuse/bot-prevention service\";s:2:\"id\";s:17:\"reCAPTCHASettings\";s:3:\"url\";s:40:\"/civicrm/admin/setting/recaptcha?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}}}s:12:\"CiviCampaign\";a:2:{s:12:\"component_id\";N;s:6:\"fields\";a:5:{s:40:\"{weight}.CiviCampaign Component Settings\";a:6:{s:5:\"title\";s:31:\"CiviCampaign Component Settings\";s:4:\"desc\";s:40:\"Configure global CiviCampaign behaviors.\";s:2:\"id\";s:29:\"CiviCampaignComponentSettings\";s:3:\"url\";s:51:\"/civicrm/admin/setting/preferences/campaign?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:21:\"{weight}.Survey Types\";a:6:{s:5:\"title\";s:12:\"Survey Types\";s:4:\"desc\";N;s:2:\"id\";s:11:\"SurveyTypes\";s:3:\"url\";s:42:\"/civicrm/admin/campaign/surveyType?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:23:\"{weight}.Campaign Types\";a:6:{s:5:\"title\";s:14:\"Campaign Types\";s:4:\"desc\";s:47:\"categorize your campaigns using campaign types.\";s:2:\"id\";s:13:\"CampaignTypes\";s:3:\"url\";s:44:\"/civicrm/admin/options/campaign_type?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:24:\"{weight}.Campaign Status\";a:6:{s:5:\"title\";s:15:\"Campaign Status\";s:4:\"desc\";s:34:\"Define statuses for campaign here.\";s:2:\"id\";s:14:\"CampaignStatus\";s:3:\"url\";s:46:\"/civicrm/admin/options/campaign_status?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:25:\"{weight}.Engagement Index\";a:6:{s:5:\"title\";s:16:\"Engagement Index\";s:4:\"desc\";s:18:\"Engagement levels.\";s:2:\"id\";s:15:\"EngagementIndex\";s:3:\"url\";s:47:\"/civicrm/admin/options/engagement_index?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}}}s:9:\"CiviEvent\";a:2:{s:12:\"component_id\";N;s:6:\"fields\";a:9:{s:37:\"{weight}.CiviEvent Component Settings\";a:6:{s:5:\"title\";s:28:\"CiviEvent Component Settings\";s:4:\"desc\";s:37:\"Configure global CiviEvent behaviors.\";s:2:\"id\";s:26:\"CiviEventComponentSettings\";s:3:\"url\";s:48:\"/civicrm/admin/setting/preferences/event?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:33:\"{weight}.Event Name Badge Layouts\";a:6:{s:5:\"title\";s:24:\"Event Name Badge Layouts\";s:4:\"desc\";s:107:\"Configure name badge layouts for event participants, including logos and what data to include on the badge.\";s:2:\"id\";s:21:\"EventNameBadgeLayouts\";s:3:\"url\";s:52:\"/civicrm/admin/badgelayout?action=browse&amp;reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:22:\"{weight}.Manage Events\";a:6:{s:5:\"title\";s:13:\"Manage Events\";s:4:\"desc\";s:136:\"Create and edit event configuration including times, locations, online registration forms, and fees. Links for iCal and RSS syndication.\";s:2:\"id\";s:12:\"ManageEvents\";s:3:\"url\";s:28:\"/civicrm/admin/event?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:24:\"{weight}.Event Templates\";a:6:{s:5:\"title\";s:15:\"Event Templates\";s:4:\"desc\";s:115:\"Administrators can create Event Templates - which are basically master event records pre-filled with default values\";s:2:\"id\";s:14:\"EventTemplates\";s:3:\"url\";s:36:\"/civicrm/admin/eventTemplate?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:20:\"{weight}.Event Types\";a:6:{s:5:\"title\";s:11:\"Event Types\";s:4:\"desc\";s:143:\"Use Event Types to categorize your events. Event feeds can be filtered by Event Type and participant searches can use Event Type as a criteria.\";s:2:\"id\";s:10:\"EventTypes\";s:3:\"url\";s:41:\"/civicrm/admin/options/event_type?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:27:\"{weight}.Participant Status\";a:6:{s:5:\"title\";s:18:\"Participant Status\";s:4:\"desc\";s:154:\"Define statuses for event participants here (e.g. Registered, Attended, Cancelled...). You can then assign statuses and search for participants by status.\";s:2:\"id\";s:17:\"ParticipantStatus\";s:3:\"url\";s:41:\"/civicrm/admin/participant_status?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:25:\"{weight}.Participant Role\";a:6:{s:5:\"title\";s:16:\"Participant Role\";s:4:\"desc\";s:138:\"Define participant roles for events here (e.g. Attendee, Host, Speaker...). You can then assign roles and search for participants by role.\";s:2:\"id\";s:15:\"ParticipantRole\";s:3:\"url\";s:47:\"/civicrm/admin/options/participant_role?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:38:\"{weight}.Participant Listing Templates\";a:6:{s:5:\"title\";s:29:\"Participant Listing Templates\";s:4:\"desc\";s:48:\"Template to control participant listing display.\";s:2:\"id\";s:27:\"ParticipantListingTemplates\";s:3:\"url\";s:50:\"/civicrm/admin/options/participant_listing?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:31:\"{weight}.Conference Slot Labels\";a:6:{s:5:\"title\";s:22:\"Conference Slot Labels\";s:4:\"desc\";s:35:\"Define conference slots and labels.\";s:2:\"id\";s:20:\"ConferenceSlotLabels\";s:3:\"url\";s:46:\"/civicrm/admin/options/conference_slot?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}}}s:8:\"CiviMail\";a:2:{s:12:\"component_id\";N;s:6:\"fields\";a:6:{s:36:\"{weight}.CiviMail Component Settings\";a:6:{s:5:\"title\";s:27:\"CiviMail Component Settings\";s:4:\"desc\";s:36:\"Configure global CiviMail behaviors.\";s:2:\"id\";s:25:\"CiviMailComponentSettings\";s:3:\"url\";s:50:\"/civicrm/admin/setting/preferences/mailing?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:24:\"{weight}.Mailer Settings\";a:6:{s:5:\"title\";s:15:\"Mailer Settings\";s:4:\"desc\";s:61:\"Configure spool period, throttling and other mailer settings.\";s:2:\"id\";s:14:\"MailerSettings\";s:3:\"url\";s:27:\"/civicrm/admin/mail?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:49:\"{weight}.Headers, Footers, and Automated Messages\";a:6:{s:5:\"title\";s:40:\"Headers, Footers, and Automated Messages\";s:4:\"desc\";s:143:\"Configure the header and footer used for mailings. Customize the content of automated Subscribe, Unsubscribe, Resubscribe and Opt-out messages.\";s:2:\"id\";s:36:\"Headers_Footers_andAutomatedMessages\";s:3:\"url\";s:32:\"/civicrm/admin/component?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:29:\"{weight}.From Email Addresses\";a:6:{s:5:\"title\";s:20:\"From Email Addresses\";s:4:\"desc\";s:74:\"List of Email Addresses which can be used when sending emails to contacts.\";s:2:\"id\";s:18:\"FromEmailAddresses\";s:3:\"url\";s:58:\"/civicrm/admin/options/from_email_address/civimail?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:22:\"{weight}.Mail Accounts\";a:6:{s:5:\"title\";s:13:\"Mail Accounts\";s:4:\"desc\";s:32:\"Configure email account setting.\";s:2:\"id\";s:12:\"MailAccounts\";s:3:\"url\";s:35:\"/civicrm/admin/mailSettings?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:28:\"{weight}.Flexmailer Settings\";a:6:{s:5:\"title\";s:19:\"Flexmailer Settings\";s:4:\"desc\";N;s:2:\"id\";s:18:\"FlexmailerSettings\";s:3:\"url\";s:41:\"/civicrm/admin/setting/flexmailer?reset=1\";s:4:\"icon\";s:23:\"admin/small/Profile.png\";s:5:\"extra\";N;}}}s:10:\"CiviMember\";a:2:{s:12:\"component_id\";N;s:6:\"fields\";a:3:{s:38:\"{weight}.CiviMember Component Settings\";a:6:{s:5:\"title\";s:29:\"CiviMember Component Settings\";s:4:\"desc\";s:38:\"Configure global CiviMember behaviors.\";s:2:\"id\";s:27:\"CiviMemberComponentSettings\";s:3:\"url\";s:49:\"/civicrm/admin/setting/preferences/member?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:25:\"{weight}.Membership Types\";a:6:{s:5:\"title\";s:16:\"Membership Types\";s:4:\"desc\";s:174:\"Define the types of memberships you want to offer. For each type, you can specify a \'name\' (Gold Member, Honor Society Member...), a description, duration, and a minimum fee.\";s:2:\"id\";s:15:\"MembershipTypes\";s:3:\"url\";s:44:\"/civicrm/admin/member/membershipType?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:32:\"{weight}.Membership Status Rules\";a:6:{s:5:\"title\";s:23:\"Membership Status Rules\";s:4:\"desc\";s:187:\"Status \'rules\' define the current status for a membership based on that membership\'s start and end dates. You can adjust the default status options and rules as needed to meet your needs.\";s:2:\"id\";s:21:\"MembershipStatusRules\";s:3:\"url\";s:46:\"/civicrm/admin/member/membershipStatus?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}}}s:6:\"Manage\";a:2:{s:12:\"component_id\";N;s:6:\"fields\";a:3:{s:27:\"{weight}.Scheduled Jobs Log\";a:6:{s:5:\"title\";s:18:\"Scheduled Jobs Log\";s:4:\"desc\";s:46:\"Browsing the log of periodially running tasks.\";s:2:\"id\";s:16:\"ScheduledJobsLog\";s:3:\"url\";s:29:\"/civicrm/admin/joblog?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:42:\"{weight}.Find and Merge Duplicate Contacts\";a:6:{s:5:\"title\";s:33:\"Find and Merge Duplicate Contacts\";s:4:\"desc\";s:158:\"Manage the rules used to identify potentially duplicate contact records. Scan for duplicates using a selected rule and merge duplicate contact data as needed.\";s:2:\"id\";s:29:\"FindandMergeDuplicateContacts\";s:3:\"url\";s:36:\"/civicrm/contact/deduperules?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:26:\"{weight}.Dedupe Exceptions\";a:6:{s:5:\"title\";s:17:\"Dedupe Exceptions\";s:4:\"desc\";N;s:2:\"id\";s:16:\"DedupeExceptions\";s:3:\"url\";s:33:\"/civicrm/dedupe/exception?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}}}s:12:\"Option Lists\";a:2:{s:12:\"component_id\";N;s:6:\"fields\";a:1:{s:20:\"{weight}.Grant Types\";a:6:{s:5:\"title\";s:11:\"Grant Types\";s:4:\"desc\";s:148:\"List of types which can be assigned to Grants. (Enable CiviGrant from Administer > Systme Settings > Enable Components if you want to track grants.)\";s:2:\"id\";s:10:\"GrantTypes\";s:3:\"url\";s:41:\"/civicrm/admin/options/grant_type?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}}}s:9:\"Customize\";a:2:{s:12:\"component_id\";N;s:6:\"fields\";a:1:{s:19:\"{weight}.Price Sets\";a:6:{s:5:\"title\";s:10:\"Price Sets\";s:4:\"desc\";s:205:\"Price sets allow you to offer multiple options with associated fees (e.g. pre-conference workshops, additional meals, etc.). Configure Price Sets for events which need more than a single set of fee levels.\";s:2:\"id\";s:9:\"PriceSets\";s:3:\"url\";s:28:\"/civicrm/admin/price?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}}}s:14:\"CiviContribute\";a:2:{s:12:\"component_id\";N;s:6:\"fields\";a:9:{s:32:\"{weight}.Personal Campaign Pages\";a:6:{s:5:\"title\";s:23:\"Personal Campaign Pages\";s:4:\"desc\";s:49:\"View and manage existing personal campaign pages.\";s:2:\"id\";s:21:\"PersonalCampaignPages\";s:3:\"url\";s:49:\"/civicrm/admin/pcp?context=contribute&amp;reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:34:\"{weight}.Manage Contribution Pages\";a:6:{s:5:\"title\";s:25:\"Manage Contribution Pages\";s:4:\"desc\";s:242:\"CiviContribute allows you to create and maintain any number of Online Contribution Pages. You can create different pages for different programs or campaigns - and customize text, amounts, types of information collected from contributors, etc.\";s:2:\"id\";s:23:\"ManageContributionPages\";s:3:\"url\";s:33:\"/civicrm/admin/contribute?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:24:\"{weight}.Manage Premiums\";a:6:{s:5:\"title\";s:15:\"Manage Premiums\";s:4:\"desc\";s:175:\"CiviContribute allows you to configure any number of Premiums which can be offered to contributors as incentives / thank-you gifts. Define the premiums you want to offer here.\";s:2:\"id\";s:14:\"ManagePremiums\";s:3:\"url\";s:48:\"/civicrm/admin/contribute/managePremiums?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:24:\"{weight}.Financial Types\";a:6:{s:5:\"title\";s:15:\"Financial Types\";s:4:\"desc\";s:64:\"Formerly civicrm_contribution_type merged into this table in 4.1\";s:2:\"id\";s:14:\"FinancialTypes\";s:3:\"url\";s:46:\"/civicrm/admin/financial/financialType?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:27:\"{weight}.Financial Accounts\";a:6:{s:5:\"title\";s:18:\"Financial Accounts\";s:4:\"desc\";s:128:\"Financial types are used to categorize contributions for reporting and accounting purposes. These are also referred to as Funds.\";s:2:\"id\";s:17:\"FinancialAccounts\";s:3:\"url\";s:49:\"/civicrm/admin/financial/financialAccount?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:24:\"{weight}.Payment Methods\";a:6:{s:5:\"title\";s:15:\"Payment Methods\";s:4:\"desc\";s:224:\"You may choose to record the payment instrument used for each contribution. Common payment methods are installed by default (e.g. Check, Cash, Credit Card...). If your site requires additional payment methods, add them here.\";s:2:\"id\";s:14:\"PaymentMethods\";s:3:\"url\";s:49:\"/civicrm/admin/options/payment_instrument?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:30:\"{weight}.Accepted Credit Cards\";a:6:{s:5:\"title\";s:21:\"Accepted Credit Cards\";s:4:\"desc\";s:94:\"Credit card options that will be offered to contributors using your Online Contribution pages.\";s:2:\"id\";s:19:\"AcceptedCreditCards\";s:3:\"url\";s:48:\"/civicrm/admin/options/accept_creditcard?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:26:\"{weight}.Soft Credit Types\";a:6:{s:5:\"title\";s:17:\"Soft Credit Types\";s:4:\"desc\";s:86:\"Soft Credit Types that will be offered to contributors during soft credit contribution\";s:2:\"id\";s:15:\"SoftCreditTypes\";s:3:\"url\";s:47:\"/civicrm/admin/options/soft_credit_type?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:42:\"{weight}.CiviContribute Component Settings\";a:6:{s:5:\"title\";s:33:\"CiviContribute Component Settings\";s:4:\"desc\";s:42:\"Configure global CiviContribute behaviors.\";s:2:\"id\";s:31:\"CiviContributeComponentSettings\";s:3:\"url\";s:53:\"/civicrm/admin/setting/preferences/contribute?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}}}s:8:\"CiviCase\";a:2:{s:12:\"component_id\";N;s:6:\"fields\";a:5:{s:26:\"{weight}.CiviCase Settings\";a:6:{s:5:\"title\";s:17:\"CiviCase Settings\";s:4:\"desc\";N;s:2:\"id\";s:16:\"CiviCaseSettings\";s:3:\"url\";s:35:\"/civicrm/admin/setting/case?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:19:\"{weight}.Case Types\";a:6:{s:5:\"title\";s:10:\"Case Types\";s:4:\"desc\";s:137:\"List of types which can be assigned to Cases. (Enable the Cases tab from System Settings - Enable Components if you want to track cases.)\";s:2:\"id\";s:9:\"CaseTypes\";s:3:\"url\";s:40:\"/civicrm/admin/options/case_type?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:24:\"{weight}.Redaction Rules\";a:6:{s:5:\"title\";s:15:\"Redaction Rules\";s:4:\"desc\";s:223:\"List of rules which can be applied to user input strings so that the redacted output can be recognized as repeated instances of the same string or can be identified as a \"semantic type of the data element\" within case data.\";s:2:\"id\";s:14:\"RedactionRules\";s:3:\"url\";s:45:\"/civicrm/admin/options/redaction_rule?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:22:\"{weight}.Case Statuses\";a:6:{s:5:\"title\";s:13:\"Case Statuses\";s:4:\"desc\";s:48:\"List of statuses that can be assigned to a case.\";s:2:\"id\";s:12:\"CaseStatuses\";s:3:\"url\";s:42:\"/civicrm/admin/options/case_status?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:26:\"{weight}.Encounter Mediums\";a:6:{s:5:\"title\";s:17:\"Encounter Mediums\";s:4:\"desc\";s:26:\"List of encounter mediums.\";s:2:\"id\";s:16:\"EncounterMediums\";s:3:\"url\";s:47:\"/civicrm/admin/options/encounter_medium?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}}}s:10:\"CiviReport\";a:2:{s:12:\"component_id\";N;s:6:\"fields\";a:3:{s:40:\"{weight}.Create New Report from Template\";a:6:{s:5:\"title\";s:31:\"Create New Report from Template\";s:4:\"desc\";s:49:\"Component wise listing of all available templates\";s:2:\"id\";s:27:\"CreateNewReportfromTemplate\";s:3:\"url\";s:43:\"/civicrm/admin/report/template/list?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:25:\"{weight}.Manage Templates\";a:6:{s:5:\"title\";s:16:\"Manage Templates\";s:4:\"desc\";s:45:\"Browse, Edit and Delete the Report templates.\";s:2:\"id\";s:15:\"ManageTemplates\";s:3:\"url\";s:53:\"/civicrm/admin/report/options/report_template?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:24:\"{weight}.Reports Listing\";a:6:{s:5:\"title\";s:15:\"Reports Listing\";s:4:\"desc\";s:60:\"Browse existing report, change report criteria and settings.\";s:2:\"id\";s:14:\"ReportsListing\";s:3:\"url\";s:34:\"/civicrm/admin/report/list?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}}}}',NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,NULL,'a:0:{}');
+ (5,1,'civicrm/activity','action=add&context=standalone','New Activity','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:26:\"CRM_Activity_Form_Activity\";','s:14:\"attachUpload=1\";','a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (6,1,'civicrm/activity/view',NULL,'View Activity','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:30:\"CRM_Activity_Form_ActivityView\";','s:14:\"attachUpload=1\";','a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:12:\"New Activity\";s:3:\"url\";s:63:\"/civicrm/activity?reset=1&amp;action=add&amp;context=standalone\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (7,1,'civicrm/ajax/activity',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:22:\"CRM_Activity_Page_AJAX\";i:1;s:15:\"getCaseActivity\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (8,1,'civicrm/ajax/globalrelationships',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:22:\"CRM_Activity_Page_AJAX\";i:1;s:26:\"getCaseGlobalRelationships\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (9,1,'civicrm/ajax/clientrelationships',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:22:\"CRM_Activity_Page_AJAX\";i:1;s:26:\"getCaseClientRelationships\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (10,1,'civicrm/ajax/caseroles',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:22:\"CRM_Activity_Page_AJAX\";i:1;s:12:\"getCaseRoles\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (11,1,'civicrm/ajax/contactactivity',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:22:\"CRM_Activity_Page_AJAX\";i:1;s:18:\"getContactActivity\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (12,1,'civicrm/ajax/activity/convert',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:22:\"CRM_Activity_Page_AJAX\";i:1;s:21:\"convertToCaseActivity\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,3,NULL,'a:0:{}'),
+ (13,1,'civicrm/activity/search',NULL,'Find Activities','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:30:\"CRM_Activity_Controller_Search\";','s:14:\"attachUpload=1\";','a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:12:\"New Activity\";s:3:\"url\";s:63:\"/civicrm/activity?reset=1&amp;action=add&amp;context=standalone\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (14,1,'civicrm/payment/form',NULL,NULL,'s:1:\"1\";','a:2:{i:0;a:1:{i:0;s:21:\"access CiviContribute\";}i:1;s:3:\"and\";}','s:26:\"CRM_Financial_Form_Payment\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:11:\"New Payment\";s:3:\"url\";s:39:\"/civicrm/payment?reset=1&amp;action=add\";}}',NULL,NULL,2,NULL,1,NULL,0,0,1,0,NULL,'a:0:{}'),
+ (15,1,'civicrm/payment/edit',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:21:\"access CiviContribute\";}i:1;s:3:\"and\";}','s:30:\"CRM_Financial_Form_PaymentEdit\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:11:\"New Payment\";s:3:\"url\";s:39:\"/civicrm/payment?reset=1&amp;action=add\";}}',NULL,NULL,2,NULL,NULL,NULL,0,1,1,0,NULL,'a:1:{s:9:\"component\";s:14:\"CiviContribute\";}'),
+ (16,1,'civicrm/tag',NULL,'Tags','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:11:\"manage tags\";}i:1;s:2:\"or\";}','s:16:\"CRM_Tag_Page_Tag\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,25,1,0,NULL,'a:2:{s:4:\"desc\";s:158:\"Tags are useful for segmenting the contacts in your database into categories (e.g. Staff Member, Donor, Volunteer, etc.). Create and edit available tags here.\";s:10:\"adminGroup\";s:26:\"Customize Data and Screens\";}'),
+ (17,1,'civicrm/tag/edit','action=add','New Tag','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:11:\"manage tags\";}i:1;s:2:\"or\";}','s:17:\"CRM_Tag_Form_Edit\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:4:\"Tags\";s:3:\"url\";s:20:\"/civicrm/tag?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (18,1,'civicrm/tag/merge',NULL,'Merge Tags','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:11:\"manage tags\";}i:1;s:2:\"or\";}','s:18:\"CRM_Tag_Form_Merge\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:4:\"Tags\";s:3:\"url\";s:20:\"/civicrm/tag?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (19,1,'civicrm/ajax/tagTree',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:11:\"manage tags\";}i:1;s:2:\"or\";}','a:2:{i:0;s:19:\"CRM_Admin_Page_AJAX\";i:1;s:10:\"getTagTree\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (20,1,'civicrm',NULL,'CiviCRM','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:26:\"CRM_Contact_Page_DashBoard\";',NULL,'a:0:{}',NULL,NULL,NULL,NULL,NULL,NULL,0,0,1,0,NULL,'a:0:{}'),
+ (21,1,'civicrm/dashboard',NULL,'CiviCRM Home','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:26:\"CRM_Contact_Page_DashBoard\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,0,1,1,NULL,'a:0:{}'),
+ (22,1,'civicrm/contact/search',NULL,'Find Contacts','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:29:\"CRM_Contact_Controller_Search\";','s:8:\"mode=256\";','a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,10,1,1,NULL,'a:0:{}'),
+ (23,1,'civicrm/contact/image',NULL,'Process Uploaded Images','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:21:\"access uploaded files\";}i:1;s:3:\"and\";}','a:2:{i:0;s:23:\"CRM_Contact_BAO_Contact\";i:1;s:12:\"processImage\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (24,1,'civicrm/contact/imagefile',NULL,'Get Image File','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"*always allow*\";}i:1;s:3:\"and\";}','s:26:\"CRM_Contact_Page_ImageFile\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (25,1,'civicrm/contact/search/basic',NULL,'Find Contacts','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:29:\"CRM_Contact_Controller_Search\";','s:8:\"mode=256\";','a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:13:\"Find Contacts\";s:3:\"url\";s:31:\"/civicrm/contact/search?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (26,1,'civicrm/contact/search/advanced',NULL,'Advanced Search','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:29:\"CRM_Contact_Controller_Search\";','s:8:\"mode=512\";','a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:13:\"Find Contacts\";s:3:\"url\";s:31:\"/civicrm/contact/search?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,12,1,1,NULL,'a:0:{}'),
+ (27,1,'civicrm/contact/search/builder',NULL,'Search Builder','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:29:\"CRM_Contact_Controller_Search\";','s:9:\"mode=8192\";','a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:13:\"Find Contacts\";s:3:\"url\";s:31:\"/civicrm/contact/search?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,14,1,1,NULL,'a:0:{}'),
+ (28,1,'civicrm/contact/search/custom/list',NULL,'Custom Searches','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:29:\"CRM_Contact_Page_CustomSearch\";','s:10:\"mode=16384\";','a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:13:\"Find Contacts\";s:3:\"url\";s:31:\"/civicrm/contact/search?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Find Contacts\";s:3:\"url\";s:38:\"/civicrm/contact/search/custom?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,16,1,1,NULL,'a:0:{}'),
+ (29,1,'civicrm/contact/add',NULL,'New Contact','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:24:\"CRM_Contact_Form_Contact\";','s:13:\"addSequence=1\";','a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (30,1,'civicrm/contact/add/individual','ct=Individual','New Individual','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:12:\"add contacts\";}i:1;s:3:\"and\";}','s:24:\"CRM_Contact_Form_Contact\";','s:13:\"addSequence=1\";','a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:11:\"New Contact\";s:3:\"url\";s:28:\"/civicrm/contact/add?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (31,1,'civicrm/contact/add/household','ct=Household','New Household','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:12:\"add contacts\";}i:1;s:3:\"and\";}','s:24:\"CRM_Contact_Form_Contact\";','s:13:\"addSequence=1\";','a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:11:\"New Contact\";s:3:\"url\";s:28:\"/civicrm/contact/add?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (32,1,'civicrm/contact/add/organization','ct=Organization','New Organization','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:12:\"add contacts\";}i:1;s:3:\"and\";}','s:24:\"CRM_Contact_Form_Contact\";','s:13:\"addSequence=1\";','a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:11:\"New Contact\";s:3:\"url\";s:28:\"/civicrm/contact/add?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (33,1,'civicrm/contact/relatedcontact',NULL,'Edit Related Contact','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:24:\"access Contact Dashboard\";}i:1;s:3:\"and\";}','s:31:\"CRM_Contact_Form_RelatedContact\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,1,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (34,1,'civicrm/contact/merge',NULL,'Merge Contact','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:24:\"merge duplicate contacts\";}i:1;s:3:\"and\";}','s:22:\"CRM_Contact_Form_Merge\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (35,1,'civicrm/contact/email',NULL,'Email a Contact','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:27:\"CRM_Contact_Form_Task_Email\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (36,1,'civicrm/contact/map',NULL,'Map Location(s)','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:25:\"CRM_Contact_Form_Task_Map\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,1,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (37,1,'civicrm/contact/map/event',NULL,'Map Event Location','s:1:\"1\";','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:31:\"CRM_Contact_Form_Task_Map_Event\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Map Location(s)\";s:3:\"url\";s:28:\"/civicrm/contact/map?reset=1\";}}',NULL,NULL,NULL,NULL,1,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (38,1,'civicrm/contact/view','cid=%%cid%%','Contact Summary','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:29:\"CRM_Contact_Page_View_Summary\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (39,1,'civicrm/contact/view/delete',NULL,'Delete Contact','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:28:\"CRM_Contact_Form_Task_Delete\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:45:\"/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (40,1,'civicrm/contact/view/activity','show=1,cid=%%cid%%','Activities','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:21:\"CRM_Activity_Page_Tab\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:45:\"/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (41,1,'civicrm/activity/add','action=add','Activities','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:26:\"CRM_Activity_Form_Activity\";','s:14:\"attachUpload=1\";','a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:12:\"New Activity\";s:3:\"url\";s:63:\"/civicrm/activity?reset=1&amp;action=add&amp;context=standalone\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (42,1,'civicrm/activity/email/add','action=add','Activities','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:27:\"CRM_Contact_Form_Task_Email\";','s:14:\"attachUpload=1\";','a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:12:\"New Activity\";s:3:\"url\";s:63:\"/civicrm/activity?reset=1&amp;action=add&amp;context=standalone\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (43,1,'civicrm/activity/pdf/add','action=add','Activities','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:25:\"CRM_Contact_Form_Task_PDF\";','s:14:\"attachUpload=1\";','a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:12:\"New Activity\";s:3:\"url\";s:63:\"/civicrm/activity?reset=1&amp;action=add&amp;context=standalone\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (44,1,'civicrm/contact/view/rel','cid=%%cid%%','Relationships','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:34:\"CRM_Contact_Page_View_Relationship\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:45:\"/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (45,1,'civicrm/contact/view/group','cid=%%cid%%','Groups','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:34:\"CRM_Contact_Page_View_GroupContact\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:45:\"/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (46,1,'civicrm/contact/view/smartgroup','cid=%%cid%%','Smart Groups','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:39:\"CRM_Contact_Page_View_ContactSmartGroup\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:45:\"/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (47,1,'civicrm/contact/view/note','cid=%%cid%%','Notes','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:26:\"CRM_Contact_Page_View_Note\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:45:\"/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (48,1,'civicrm/contact/view/tag','cid=%%cid%%','Tags','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:25:\"CRM_Contact_Page_View_Tag\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:45:\"/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (49,1,'civicrm/contact/view/cd',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:32:\"CRM_Contact_Page_View_CustomData\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:45:\"/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (50,1,'civicrm/contact/view/cd/edit',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:27:\"CRM_Contact_Form_CustomData\";','s:13:\"addSequence=1\";','a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:45:\"/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (51,1,'civicrm/contact/view/vcard',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:27:\"CRM_Contact_Page_View_Vcard\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:45:\"/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (52,1,'civicrm/contact/view/print',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:27:\"CRM_Contact_Page_View_Print\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:45:\"/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (53,1,'civicrm/contact/view/log',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:25:\"CRM_Contact_Page_View_Log\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:45:\"/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (54,1,'civicrm/user',NULL,'Contact Dashboard','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:24:\"access Contact Dashboard\";}i:1;s:3:\"and\";}','s:35:\"CRM_Contact_Page_View_UserDashBoard\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,1,NULL,0,0,1,0,NULL,'a:0:{}'),
+ (55,1,'civicrm/dashlet/activity',NULL,'Activity Dashlet','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:25:\"CRM_Dashlet_Page_Activity\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (56,1,'civicrm/dashlet/blog',NULL,'CiviCRM Blog','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:21:\"CRM_Dashlet_Page_Blog\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (57,1,'civicrm/dashlet/getting-started',NULL,'CiviCRM Resources','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:31:\"CRM_Dashlet_Page_GettingStarted\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (58,1,'civicrm/ajax/relation',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:21:\"CRM_Contact_Page_AJAX\";i:1;s:12:\"relationship\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,3,NULL,'a:0:{}'),
+ (59,1,'civicrm/ajax/groupTree',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:21:\"CRM_Contact_Page_AJAX\";i:1;s:9:\"groupTree\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (60,1,'civicrm/ajax/custom',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:21:\"CRM_Contact_Page_AJAX\";i:1;s:11:\"customField\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (61,1,'civicrm/ajax/customvalue',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:21:\"CRM_Contact_Page_AJAX\";i:1;s:17:\"deleteCustomValue\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,3,NULL,'a:0:{}'),
+ (62,1,'civicrm/ajax/cmsuser',NULL,NULL,'s:1:\"1\";','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:21:\"CRM_Contact_Page_AJAX\";i:1;s:13:\"checkUserName\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (63,1,'civicrm/ajax/checkemail',NULL,NULL,'s:1:\"1\";','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:21:\"CRM_Contact_Page_AJAX\";i:1;s:15:\"getContactEmail\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (64,1,'civicrm/ajax/checkphone',NULL,NULL,'s:1:\"1\";','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:21:\"CRM_Contact_Page_AJAX\";i:1;s:15:\"getContactPhone\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (65,1,'civicrm/ajax/subtype',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:21:\"CRM_Contact_Page_AJAX\";i:1;s:13:\"buildSubTypes\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (66,1,'civicrm/ajax/signature',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:21:\"CRM_Contact_Page_AJAX\";i:1;s:12:\"getSignature\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (67,1,'civicrm/ajax/pdfFormat',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:21:\"CRM_Contact_Page_AJAX\";i:1;s:9:\"pdfFormat\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (68,1,'civicrm/ajax/paperSize',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:21:\"CRM_Contact_Page_AJAX\";i:1;s:9:\"paperSize\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (69,1,'civicrm/ajax/contactref',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:31:\"access contact reference fields\";i:1;s:15:\" access CiviCRM\";}i:1;s:2:\"or\";}','a:2:{i:0;s:21:\"CRM_Contact_Page_AJAX\";i:1;s:16:\"contactReference\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (70,1,'civicrm/dashlet/myCases',NULL,'Case Dashlet','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:24:\"CRM_Dashlet_Page_MyCases\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (71,1,'civicrm/dashlet/allCases',NULL,'All Cases Dashlet','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:31:\"access all cases and activities\";}i:1;s:3:\"and\";}','s:25:\"CRM_Dashlet_Page_AllCases\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (72,1,'civicrm/dashlet/casedashboard',NULL,'Case Dashboard Dashlet','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:30:\"CRM_Dashlet_Page_CaseDashboard\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (73,1,'civicrm/contact/deduperules',NULL,'Find and Merge Duplicate Contacts','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:23:\"administer dedupe rules\";i:1;s:24:\"merge duplicate contacts\";}i:1;s:2:\"or\";}','s:28:\"CRM_Contact_Page_DedupeRules\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,105,1,0,NULL,'a:2:{s:4:\"desc\";s:158:\"Manage the rules used to identify potentially duplicate contact records. Scan for duplicates using a selected rule and merge duplicate contact data as needed.\";s:10:\"adminGroup\";s:6:\"Manage\";}'),
+ (74,1,'civicrm/contact/dedupefind',NULL,'Find and Merge Duplicate Contacts','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:24:\"merge duplicate contacts\";}i:1;s:3:\"and\";}','s:27:\"CRM_Contact_Page_DedupeFind\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (75,1,'civicrm/ajax/dedupefind',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:24:\"merge duplicate contacts\";}i:1;s:3:\"and\";}','a:2:{i:0;s:21:\"CRM_Contact_Page_AJAX\";i:1;s:10:\"getDedupes\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (76,1,'civicrm/contact/dedupemerge',NULL,'Batch Merge Duplicate Contacts','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:24:\"merge duplicate contacts\";}i:1;s:3:\"and\";}','s:28:\"CRM_Contact_Page_DedupeMerge\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (77,1,'civicrm/dedupe/exception',NULL,'Dedupe Exceptions','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:32:\"CRM_Contact_Page_DedupeException\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,110,1,0,NULL,'a:1:{s:10:\"adminGroup\";s:6:\"Manage\";}'),
+ (78,1,'civicrm/ajax/dedupeRules',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:21:\"CRM_Contact_Page_AJAX\";i:1;s:16:\"buildDedupeRules\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (79,1,'civicrm/contact/view/useradd','cid=%%cid%%','Add User','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:29:\"CRM_Contact_Page_View_Useradd\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:45:\"/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (80,1,'civicrm/ajax/markSelection',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:21:\"CRM_Contact_Page_AJAX\";i:1;s:22:\"selectUnselectContacts\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (81,1,'civicrm/ajax/toggleDedupeSelect',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:24:\"merge duplicate contacts\";}i:1;s:3:\"and\";}','a:2:{i:0;s:21:\"CRM_Contact_Page_AJAX\";i:1;s:18:\"toggleDedupeSelect\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (82,1,'civicrm/ajax/flipDupePairs',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:24:\"merge duplicate contacts\";}i:1;s:3:\"and\";}','a:2:{i:0;s:21:\"CRM_Contact_Page_AJAX\";i:1;s:13:\"flipDupePairs\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (83,1,'civicrm/activity/sms/add','action=add','Activities','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:8:\"send SMS\";}i:1;s:3:\"and\";}','s:25:\"CRM_Contact_Form_Task_SMS\";','s:14:\"attachUpload=1\";','a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:12:\"New Activity\";s:3:\"url\";s:63:\"/civicrm/activity?reset=1&amp;action=add&amp;context=standalone\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (84,1,'civicrm/ajax/contactrelationships',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"view my contact\";}i:1;s:2:\"or\";}','a:2:{i:0;s:21:\"CRM_Contact_Page_AJAX\";i:1;s:23:\"getContactRelationships\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (85,1,'civicrm/admin/custom/group',NULL,'Custom Data','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:23:\"administer CiviCRM data\";}i:1;s:3:\"and\";}','s:21:\"CRM_Custom_Page_Group\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,10,1,0,NULL,'a:2:{s:4:\"desc\";s:109:\"Configure custom fields to collect and store custom data which is not included in the standard CiviCRM forms.\";s:10:\"adminGroup\";s:26:\"Customize Data and Screens\";}'),
+ (86,1,'civicrm/admin/custom/group/edit',NULL,'Configure Custom Set','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:23:\"administer CiviCRM data\";}i:1;s:3:\"and\";}','s:21:\"CRM_Custom_Form_Group\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:11:\"Custom Data\";s:3:\"url\";s:35:\"/civicrm/admin/custom/group?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:0:{}'),
+ (87,1,'civicrm/admin/custom/group/preview',NULL,'Custom Field Preview','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:23:\"administer CiviCRM data\";}i:1;s:3:\"and\";}','s:23:\"CRM_Custom_Form_Preview\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:11:\"Custom Data\";s:3:\"url\";s:35:\"/civicrm/admin/custom/group?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:0:{}'),
+ (88,1,'civicrm/admin/custom/group/delete',NULL,'Delete Custom Set','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:23:\"administer CiviCRM data\";}i:1;s:3:\"and\";}','s:27:\"CRM_Custom_Form_DeleteGroup\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:11:\"Custom Data\";s:3:\"url\";s:35:\"/civicrm/admin/custom/group?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:0:{}'),
+ (89,1,'civicrm/admin/custom/group/field',NULL,'Custom Data Fields','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:23:\"administer CiviCRM data\";}i:1;s:3:\"and\";}','s:21:\"CRM_Custom_Page_Field\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:11:\"Custom Data\";s:3:\"url\";s:35:\"/civicrm/admin/custom/group?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,11,1,0,0,'a:0:{}'),
+ (90,1,'civicrm/admin/custom/group/field/delete',NULL,'Delete Custom Field','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:23:\"administer CiviCRM data\";}i:1;s:3:\"and\";}','s:27:\"CRM_Custom_Form_DeleteField\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:11:\"Custom Data\";s:3:\"url\";s:35:\"/civicrm/admin/custom/group?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:0:{}'),
+ (91,1,'civicrm/admin/custom/group/field/option',NULL,'Custom Field - Options','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:23:\"administer CiviCRM data\";}i:1;s:3:\"and\";}','s:22:\"CRM_Custom_Page_Option\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:11:\"Custom Data\";s:3:\"url\";s:35:\"/civicrm/admin/custom/group?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:0:{}'),
+ (92,1,'civicrm/admin/custom/group/field/add',NULL,'Custom Field - Add','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:23:\"administer CiviCRM data\";}i:1;s:3:\"and\";}','s:21:\"CRM_Custom_Form_Field\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:11:\"Custom Data\";s:3:\"url\";s:35:\"/civicrm/admin/custom/group?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:0:{}'),
+ (93,1,'civicrm/admin/custom/group/field/update',NULL,'Custom Field - Edit','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:23:\"administer CiviCRM data\";}i:1;s:3:\"and\";}','s:21:\"CRM_Custom_Form_Field\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:11:\"Custom Data\";s:3:\"url\";s:35:\"/civicrm/admin/custom/group?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:0:{}'),
+ (94,1,'civicrm/admin/custom/group/field/move',NULL,'Custom Field - Move','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:23:\"administer CiviCRM data\";}i:1;s:3:\"and\";}','s:25:\"CRM_Custom_Form_MoveField\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:11:\"Custom Data\";s:3:\"url\";s:35:\"/civicrm/admin/custom/group?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:0:{}'),
+ (95,1,'civicrm/admin/uf/group',NULL,'Profiles','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:17:\"CRM_UF_Page_Group\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,20,1,0,NULL,'a:2:{s:4:\"desc\";s:151:\"Profiles allow you to aggregate groups of fields and include them in your site as input forms, contact display pages, and search and listings features.\";s:10:\"adminGroup\";s:26:\"Customize Data and Screens\";}'),
+ (96,1,'civicrm/admin/uf/group/field',NULL,'CiviCRM Profile Fields','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:17:\"CRM_UF_Page_Field\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:8:\"Profiles\";s:3:\"url\";s:31:\"/civicrm/admin/uf/group?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,21,1,0,0,'a:0:{}'),
+ (97,1,'civicrm/admin/uf/group/field/add',NULL,'Add Field','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:17:\"CRM_UF_Form_Field\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:8:\"Profiles\";s:3:\"url\";s:31:\"/civicrm/admin/uf/group?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,22,1,0,NULL,'a:0:{}'),
+ (98,1,'civicrm/admin/uf/group/field/update',NULL,'Edit Field','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:17:\"CRM_UF_Form_Field\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:8:\"Profiles\";s:3:\"url\";s:31:\"/civicrm/admin/uf/group?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,23,1,0,NULL,'a:0:{}'),
+ (99,1,'civicrm/admin/uf/group/add',NULL,'New CiviCRM Profile','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:17:\"CRM_UF_Form_Group\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:8:\"Profiles\";s:3:\"url\";s:31:\"/civicrm/admin/uf/group?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,24,1,0,NULL,'a:0:{}'),
+ (100,1,'civicrm/admin/uf/group/update',NULL,'Profile Settings','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:17:\"CRM_UF_Form_Group\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:8:\"Profiles\";s:3:\"url\";s:31:\"/civicrm/admin/uf/group?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,25,1,0,NULL,'a:0:{}'),
+ (101,1,'civicrm/admin/uf/group/setting',NULL,'AdditionalInfo Form','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:26:\"CRM_UF_Form_AdvanceSetting\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:8:\"Profiles\";s:3:\"url\";s:31:\"/civicrm/admin/uf/group?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,0,1,0,NULL,'a:0:{}'),
+ (102,1,'civicrm/admin/options/activity_type',NULL,'Activity Types','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,30,1,0,NULL,'a:2:{s:4:\"desc\";s:155:\"CiviCRM has several built-in activity types (meetings, phone calls, emails sent). Track other types of interactions by creating custom activity types here.\";s:10:\"adminGroup\";s:26:\"Customize Data and Screens\";}'),
+ (103,1,'civicrm/admin/reltype',NULL,'Relationship Types','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:31:\"CRM_Admin_Page_RelationshipType\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,35,1,0,NULL,'a:2:{s:4:\"desc\";s:148:\"Contacts can be linked to each other through Relationships (e.g. Spouse, Employer, etc.). Define the types of relationships you want to record here.\";s:10:\"adminGroup\";s:26:\"Customize Data and Screens\";}'),
+ (104,1,'civicrm/admin/options/subtype',NULL,'Contact Types','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:26:\"CRM_Admin_Page_ContactType\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,40,1,0,NULL,'a:1:{s:10:\"adminGroup\";s:26:\"Customize Data and Screens\";}'),
+ (105,1,'civicrm/admin/options/gender',NULL,'Gender Options','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,45,1,0,NULL,'a:2:{s:4:\"desc\";s:79:\"Options for assigning gender to individual contacts (e.g. Male, Female, Other).\";s:10:\"adminGroup\";s:26:\"Customize Data and Screens\";}'),
+ (106,1,'civicrm/admin/options/individual_prefix',NULL,'Individual Prefixes (Ms, Mr...)','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,50,1,0,NULL,'a:2:{s:4:\"desc\";s:66:\"Options for individual contact prefixes (e.g. Ms., Mr., Dr. etc.).\";s:10:\"adminGroup\";s:26:\"Customize Data and Screens\";}'),
+ (107,1,'civicrm/admin/options/individual_suffix',NULL,'Individual Suffixes (Jr, Sr...)','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,55,1,0,NULL,'a:2:{s:4:\"desc\";s:61:\"Options for individual contact suffixes (e.g. Jr., Sr. etc.).\";s:10:\"adminGroup\";s:26:\"Customize Data and Screens\";}'),
+ (108,1,'civicrm/admin/locationType',NULL,'Location Types (Home, Work...)','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:27:\"CRM_Admin_Page_LocationType\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,60,1,0,NULL,'a:2:{s:4:\"desc\";s:94:\"Options for categorizing contact addresses and phone numbers (e.g. Home, Work, Billing, etc.).\";s:10:\"adminGroup\";s:26:\"Customize Data and Screens\";}'),
+ (109,1,'civicrm/admin/options/website_type',NULL,'Website Types','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,65,1,0,NULL,'a:2:{s:4:\"desc\";s:48:\"Options for assigning website types to contacts.\";s:10:\"adminGroup\";s:26:\"Customize Data and Screens\";}'),
+ (110,1,'civicrm/admin/options/instant_messenger_service',NULL,'Instant Messenger Services','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,70,1,0,NULL,'a:2:{s:4:\"desc\";s:79:\"List of IM services which can be used when recording screen-names for contacts.\";s:10:\"adminGroup\";s:26:\"Customize Data and Screens\";}'),
+ (111,1,'civicrm/admin/options/mobile_provider',NULL,'Mobile Phone Providers','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,75,1,0,NULL,'a:2:{s:4:\"desc\";s:90:\"List of mobile phone providers which can be assigned when recording contact phone numbers.\";s:10:\"adminGroup\";s:26:\"Customize Data and Screens\";}'),
+ (112,1,'civicrm/admin/options/phone_type',NULL,'Phone Type','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,80,1,0,NULL,'a:2:{s:4:\"desc\";s:80:\"Options for assigning phone type to contacts (e.g Phone,\n    Mobile, Fax, Pager)\";s:10:\"adminGroup\";s:26:\"Customize Data and Screens\";}'),
+ (113,1,'civicrm/admin/setting/preferences/display',NULL,'Display Preferences','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:34:\"CRM_Admin_Form_Preferences_Display\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,90,1,0,NULL,'a:1:{s:10:\"adminGroup\";s:26:\"Customize Data and Screens\";}'),
+ (114,1,'civicrm/admin/setting/search',NULL,'Search Preferences','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:29:\"CRM_Admin_Form_Setting_Search\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,95,1,0,NULL,'a:1:{s:10:\"adminGroup\";s:26:\"Customize Data and Screens\";}'),
+ (115,1,'civicrm/admin/setting/preferences/date',NULL,'View Date Preferences','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:30:\"CRM_Admin_Page_PreferencesDate\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:0:{}'),
+ (116,1,'civicrm/admin/menu',NULL,'Navigation Menu','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:25:\"CRM_Admin_Page_Navigation\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,100,1,0,NULL,'a:2:{s:4:\"desc\";s:79:\"Add or remove menu items, and modify the order of items on the navigation menu.\";s:10:\"adminGroup\";s:26:\"Customize Data and Screens\";}'),
+ (117,1,'civicrm/admin/options/wordreplacements',NULL,'Word Replacements','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:31:\"CRM_Admin_Form_WordReplacements\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,105,1,0,NULL,'a:2:{s:4:\"desc\";s:18:\"Word Replacements.\";s:10:\"adminGroup\";s:26:\"Customize Data and Screens\";}'),
+ (118,1,'civicrm/admin/options/custom_search',NULL,'Manage Custom Searches','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,110,1,0,NULL,'a:2:{s:4:\"desc\";s:225:\"Developers and accidental techies with a bit of PHP and SQL knowledge can create new search forms to handle specific search and reporting needs which aren\'t covered by the built-in Advanced Search and Search Builder features.\";s:10:\"adminGroup\";s:26:\"Customize Data and Screens\";}'),
+ (119,1,'civicrm/admin/domain','action=update','Organization Address and Contact Info','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:23:\"CRM_Contact_Form_Domain\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,10,1,0,NULL,'a:2:{s:4:\"desc\";s:150:\"Configure primary contact name, email, return-path and address information. This information is used by CiviMail to identify the sending organization.\";s:10:\"adminGroup\";s:14:\"Communications\";}'),
+ (120,1,'civicrm/admin/options/from_email_address',NULL,'From Email Addresses','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,20,1,0,NULL,'a:2:{s:4:\"desc\";s:74:\"List of Email Addresses which can be used when sending emails to contacts.\";s:10:\"adminGroup\";s:14:\"Communications\";}'),
+ (121,1,'civicrm/admin/messageTemplates',NULL,'Message Templates','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:22:\"edit message templates\";i:1;s:34:\"edit user-driven message templates\";i:2;s:38:\"edit system workflow message templates\";}i:1;s:2:\"or\";}','s:31:\"CRM_Admin_Page_MessageTemplates\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,30,1,0,NULL,'a:2:{s:4:\"desc\";s:130:\"Message templates allow you to save and re-use messages with layouts which you can use when sending email to one or more contacts.\";s:10:\"adminGroup\";s:14:\"Communications\";}'),
+ (122,1,'civicrm/admin/messageTemplates/add',NULL,'Message Templates','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:22:\"edit message templates\";i:1;s:34:\"edit user-driven message templates\";i:2;s:38:\"edit system workflow message templates\";}i:1;s:2:\"or\";}','s:31:\"CRM_Admin_Form_MessageTemplates\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:17:\"Message Templates\";s:3:\"url\";s:39:\"/civicrm/admin/messageTemplates?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,262,1,0,NULL,'a:1:{s:4:\"desc\";s:26:\"Add/Edit Message Templates\";}'),
+ (123,1,'civicrm/admin/scheduleReminders',NULL,'Schedule Reminders','s:1:\"1\";','a:2:{i:0;a:2:{i:0;s:23:\"administer CiviCRM data\";i:1;s:15:\"edit all events\";}i:1;s:2:\"or\";}','s:32:\"CRM_Admin_Page_ScheduleReminders\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,40,1,0,NULL,'a:2:{s:4:\"desc\";s:19:\"Schedule Reminders.\";s:10:\"adminGroup\";s:14:\"Communications\";}'),
+ (124,1,'civicrm/admin/weight',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:16:\"CRM_Utils_Weight\";i:1;s:8:\"fixOrder\";}',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:0:{}'),
+ (125,1,'civicrm/admin/options/preferred_communication_method',NULL,'Preferred Communication Methods','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,50,1,0,NULL,'a:2:{s:4:\"desc\";s:117:\"One or more preferred methods of communication can be assigned to each contact. Customize the available options here.\";s:10:\"adminGroup\";s:14:\"Communications\";}'),
+ (126,1,'civicrm/admin/labelFormats',NULL,'Label Formats','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:27:\"CRM_Admin_Page_LabelFormats\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,60,1,0,NULL,'a:2:{s:4:\"desc\";s:67:\"Configure Label Formats that are used when creating mailing labels.\";s:10:\"adminGroup\";s:14:\"Communications\";}'),
+ (127,1,'civicrm/admin/pdfFormats',NULL,'Print Page (PDF) Formats','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:25:\"CRM_Admin_Page_PdfFormats\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,70,1,0,NULL,'a:2:{s:4:\"desc\";s:95:\"Configure PDF Page Formats that can be assigned to Message Templates when creating PDF letters.\";s:10:\"adminGroup\";s:14:\"Communications\";}'),
+ (128,1,'civicrm/admin/options/communication_style',NULL,'Communication Style Options','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,75,1,0,NULL,'a:2:{s:4:\"desc\";s:42:\"Options for Communication Style selection.\";s:10:\"adminGroup\";s:14:\"Communications\";}'),
+ (129,1,'civicrm/admin/options/email_greeting',NULL,'Email Greeting Formats','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,80,1,0,NULL,'a:2:{s:4:\"desc\";s:75:\"Options for assigning email greetings to individual and household contacts.\";s:10:\"adminGroup\";s:14:\"Communications\";}'),
+ (130,1,'civicrm/admin/options/postal_greeting',NULL,'Postal Greeting Formats','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,90,1,0,NULL,'a:2:{s:4:\"desc\";s:76:\"Options for assigning postal greetings to individual and household contacts.\";s:10:\"adminGroup\";s:14:\"Communications\";}'),
+ (131,1,'civicrm/admin/options/addressee',NULL,'Addressee Formats','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,100,1,0,NULL,'a:2:{s:4:\"desc\";s:83:\"Options for assigning addressee to individual, household and organization contacts.\";s:10:\"adminGroup\";s:14:\"Communications\";}'),
+ (132,1,'civicrm/admin/setting/localization',NULL,'Languages, Currency, Locations','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:35:\"CRM_Admin_Form_Setting_Localization\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,10,1,0,NULL,'a:1:{s:10:\"adminGroup\";s:12:\"Localization\";}'),
+ (133,1,'civicrm/admin/setting/preferences/address',NULL,'Address Settings','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:34:\"CRM_Admin_Form_Preferences_Address\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,20,1,0,NULL,'a:1:{s:10:\"adminGroup\";s:12:\"Localization\";}'),
+ (134,1,'civicrm/admin/setting/date',NULL,'Date Formats','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:27:\"CRM_Admin_Form_Setting_Date\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,30,1,0,NULL,'a:1:{s:10:\"adminGroup\";s:12:\"Localization\";}'),
+ (135,1,'civicrm/admin/options/languages',NULL,'Preferred Languages','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,40,1,0,NULL,'a:2:{s:4:\"desc\";s:30:\"Options for contact languages.\";s:10:\"adminGroup\";s:12:\"Localization\";}'),
+ (136,1,'civicrm/admin/access',NULL,'Access Control','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:21:\"CRM_Admin_Page_Access\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,10,1,0,NULL,'a:2:{s:4:\"desc\";s:73:\"Grant or deny access to actions (view, edit...), features and components.\";s:10:\"adminGroup\";s:21:\"Users and Permissions\";}'),
+ (137,1,'civicrm/admin/access/wp-permissions',NULL,'WordPress Access Control','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:34:\"CRM_ACL_Form_WordPress_Permissions\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:14:\"Access Control\";s:3:\"url\";s:29:\"/civicrm/admin/access?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,10,1,0,NULL,'a:1:{s:4:\"desc\";s:65:\"Grant access to CiviCRM components and other CiviCRM permissions.\";}'),
+ (138,1,'civicrm/admin/synchUser',NULL,'Synchronize Users to Contacts','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Form_CMSUser\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,20,1,0,NULL,'a:2:{s:4:\"desc\";s:71:\"Automatically create a CiviCRM contact record for each CMS user record.\";s:10:\"adminGroup\";s:21:\"Users and Permissions\";}'),
+ (139,1,'civicrm/admin/configtask',NULL,'Configuration Checklist','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:29:\"CRM_Admin_Page_ConfigTaskList\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}','civicrm/admin/configtask',NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:2:{s:4:\"desc\";s:55:\"List of configuration tasks with links to each setting.\";s:10:\"adminGroup\";s:15:\"System Settings\";}'),
+ (140,1,'civicrm/admin/setting/component',NULL,'Enable CiviCRM Components','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:32:\"CRM_Admin_Form_Setting_Component\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,10,1,0,NULL,'a:2:{s:4:\"desc\";s:269:\"Enable or disable components (e.g. CiviEvent, CiviMember, etc.) for your site based on the features you need. We recommend disabling any components not being used in order to simplify the user interface. You can easily re-enable components at any time from this screen.\";s:10:\"adminGroup\";s:15:\"System Settings\";}'),
+ (141,1,'civicrm/admin/extensions',NULL,'Manage Extensions','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:25:\"administer CiviCRM system\";}i:1;s:3:\"and\";}','s:25:\"CRM_Admin_Page_Extensions\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,120,1,0,NULL,'a:2:{s:4:\"desc\";s:0:\"\";s:10:\"adminGroup\";s:15:\"System Settings\";}'),
+ (142,1,'civicrm/admin/extensions/upgrade',NULL,'Database Upgrades','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:25:\"administer CiviCRM system\";}i:1;s:3:\"and\";}','s:32:\"CRM_Admin_Page_ExtensionsUpgrade\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:17:\"Manage Extensions\";s:3:\"url\";s:33:\"/civicrm/admin/extensions?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:0:{}'),
+ (143,1,'civicrm/admin/setting/smtp',NULL,'Outbound Email Settings','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:25:\"administer CiviCRM system\";}i:1;s:3:\"and\";}','s:27:\"CRM_Admin_Form_Setting_Smtp\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,20,1,0,NULL,'a:1:{s:10:\"adminGroup\";s:15:\"System Settings\";}'),
+ (144,1,'civicrm/admin/paymentProcessor',NULL,'Settings - Payment Processor','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:29:\"administer payment processors\";}i:1;s:3:\"and\";}','s:31:\"CRM_Admin_Page_PaymentProcessor\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,30,1,0,NULL,'a:2:{s:4:\"desc\";s:48:\"Payment Processor setup for CiviCRM transactions\";s:10:\"adminGroup\";s:15:\"System Settings\";}'),
+ (145,1,'civicrm/admin/setting/mapping',NULL,'Mapping and Geocoding','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:30:\"CRM_Admin_Form_Setting_Mapping\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,40,1,0,NULL,'a:1:{s:10:\"adminGroup\";s:15:\"System Settings\";}'),
+ (146,1,'civicrm/admin/setting/misc',NULL,'Misc (Undelete, PDFs, Limits, Logging, etc.)','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:36:\"CRM_Admin_Form_Setting_Miscellaneous\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,50,1,0,NULL,'a:2:{s:4:\"desc\";s:63:\"Enable undelete/move to trash feature, detailed change logging.\";s:10:\"adminGroup\";s:15:\"System Settings\";}'),
+ (147,1,'civicrm/admin/setting/path',NULL,'Directories','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:27:\"CRM_Admin_Form_Setting_Path\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,60,1,0,NULL,'a:1:{s:10:\"adminGroup\";s:15:\"System Settings\";}'),
+ (148,1,'civicrm/admin/setting/url',NULL,'Resource URLs','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:26:\"CRM_Admin_Form_Setting_Url\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,70,1,0,NULL,'a:1:{s:10:\"adminGroup\";s:15:\"System Settings\";}'),
+ (149,1,'civicrm/admin/setting/updateConfigBackend',NULL,'Cleanup Caches and Update Paths','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:42:\"CRM_Admin_Form_Setting_UpdateConfigBackend\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,80,1,0,NULL,'a:2:{s:4:\"desc\";s:157:\"Reset the Base Directory Path and Base URL settings - generally when a CiviCRM site is moved to another location in the file system and/or to another domain.\";s:10:\"adminGroup\";s:15:\"System Settings\";}'),
+ (150,1,'civicrm/admin/setting/uf',NULL,'CMS Database Integration','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:25:\"CRM_Admin_Form_Setting_UF\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,90,1,0,NULL,'a:1:{s:10:\"adminGroup\";s:15:\"System Settings\";}'),
+ (151,1,'civicrm/admin/options/safe_file_extension',NULL,'Safe File Extension Options','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,100,1,0,NULL,'a:2:{s:4:\"desc\";s:44:\"File Extensions that can be considered safe.\";s:10:\"adminGroup\";s:15:\"System Settings\";}'),
+ (152,1,'civicrm/admin/options',NULL,'Option Groups','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,105,1,0,NULL,'a:2:{s:4:\"desc\";s:35:\"Access all meta-data option groups.\";s:10:\"adminGroup\";s:15:\"System Settings\";}'),
+ (153,1,'civicrm/admin/mapping',NULL,'Import/Export Mappings','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Mapping\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,110,1,0,NULL,'a:2:{s:4:\"desc\";s:141:\"Import and Export mappings allow you to easily run the same job multiple times. This option allows you to rename or delete existing mappings.\";s:10:\"adminGroup\";s:15:\"System Settings\";}'),
+ (154,1,'civicrm/admin/setting/debug',NULL,'Debugging','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:32:\"CRM_Admin_Form_Setting_Debugging\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,120,1,0,NULL,'a:1:{s:10:\"adminGroup\";s:15:\"System Settings\";}'),
+ (155,1,'civicrm/admin/setting/preferences/multisite',NULL,'Multi Site Settings','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Form_Generic\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,130,1,0,NULL,'a:1:{s:10:\"adminGroup\";s:15:\"System Settings\";}'),
+ (156,1,'civicrm/admin/setting/preferences/campaign',NULL,'CiviCampaign Component Settings','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Form_Generic\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,10,1,0,NULL,'a:3:{s:4:\"desc\";s:40:\"Configure global CiviCampaign behaviors.\";s:10:\"adminGroup\";s:12:\"CiviCampaign\";s:9:\"component\";s:12:\"CiviCampaign\";}'),
+ (157,1,'civicrm/admin/setting/preferences/event',NULL,'CiviEvent Component Settings','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:16:\"access CiviEvent\";i:1;s:18:\"administer CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Form_Generic\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,420,1,0,NULL,'a:2:{s:4:\"desc\";s:37:\"Configure global CiviEvent behaviors.\";s:10:\"adminGroup\";s:9:\"CiviEvent\";}'),
+ (158,1,'civicrm/admin/setting/preferences/mailing',NULL,'CiviMail Component Settings','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:15:\"access CiviMail\";i:1;s:18:\"administer CiviCRM\";}i:1;s:3:\"and\";}','s:34:\"CRM_Admin_Form_Preferences_Mailing\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,430,1,0,NULL,'a:2:{s:4:\"desc\";s:36:\"Configure global CiviMail behaviors.\";s:10:\"adminGroup\";s:8:\"CiviMail\";}'),
+ (159,1,'civicrm/admin/setting/preferences/member',NULL,'CiviMember Component Settings','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:17:\"access CiviMember\";i:1;s:18:\"administer CiviCRM\";}i:1;s:3:\"and\";}','s:33:\"CRM_Admin_Form_Preferences_Member\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,390,1,0,NULL,'a:2:{s:4:\"desc\";s:38:\"Configure global CiviMember behaviors.\";s:10:\"adminGroup\";s:10:\"CiviMember\";}'),
+ (160,1,'civicrm/admin/runjobs',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:25:\"administer CiviCRM system\";}i:1;s:3:\"and\";}','a:2:{i:0;s:16:\"CRM_Utils_System\";i:1;s:20:\"executeScheduledJobs\";}',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:1:{s:4:\"desc\";s:36:\"URL used for running scheduled jobs.\";}'),
+ (161,1,'civicrm/admin/job',NULL,'Scheduled Jobs','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:25:\"administer CiviCRM system\";}i:1;s:3:\"and\";}','s:18:\"CRM_Admin_Page_Job\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1370,1,0,NULL,'a:2:{s:4:\"desc\";s:35:\"Managing periodially running tasks.\";s:10:\"adminGroup\";s:15:\"System Settings\";}'),
+ (162,1,'civicrm/admin/joblog',NULL,'Scheduled Jobs Log','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:25:\"administer CiviCRM system\";}i:1;s:3:\"and\";}','s:21:\"CRM_Admin_Page_JobLog\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1380,1,0,NULL,'a:2:{s:4:\"desc\";s:46:\"Browsing the log of periodially running tasks.\";s:10:\"adminGroup\";s:6:\"Manage\";}'),
+ (163,1,'civicrm/admin/options/grant_type',NULL,'Grant Types','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,385,1,0,NULL,'a:2:{s:4:\"desc\";s:148:\"List of types which can be assigned to Grants. (Enable CiviGrant from Administer > Systme Settings > Enable Components if you want to track grants.)\";s:10:\"adminGroup\";s:12:\"Option Lists\";}'),
+ (164,1,'civicrm/admin/paymentProcessorType',NULL,'Payment Processor Type','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:35:\"CRM_Admin_Page_PaymentProcessorType\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,390,1,0,NULL,'a:1:{s:4:\"desc\";s:34:\"Payment Processor type information\";}'),
+ (165,1,'civicrm/admin',NULL,'Administer CiviCRM','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:20:\"CRM_Admin_Page_Admin\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,9000,1,1,NULL,'a:0:{}'),
+ (166,1,'civicrm/ajax/navmenu',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:19:\"CRM_Admin_Page_AJAX\";i:1;s:7:\"navMenu\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (167,1,'civicrm/ajax/menutree',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:18:\"administer CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:19:\"CRM_Admin_Page_AJAX\";i:1;s:8:\"menuTree\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,3,NULL,'a:0:{}'),
+ (168,1,'civicrm/ajax/statusmsg',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:19:\"CRM_Admin_Page_AJAX\";i:1;s:12:\"getStatusMsg\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (169,1,'civicrm/admin/price',NULL,'Price Sets','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:18:\"CRM_Price_Page_Set\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,380,1,0,NULL,'a:2:{s:4:\"desc\";s:205:\"Price sets allow you to offer multiple options with associated fees (e.g. pre-conference workshops, additional meals, etc.). Configure Price Sets for events which need more than a single set of fee levels.\";s:10:\"adminGroup\";s:9:\"Customize\";}'),
+ (170,1,'civicrm/admin/price/add','action=add','New Price Set','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:18:\"CRM_Price_Page_Set\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:10:\"Price Sets\";s:3:\"url\";s:28:\"/civicrm/admin/price?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:1:{s:4:\"desc\";s:205:\"Price sets allow you to offer multiple options with associated fees (e.g. pre-conference workshops, additional meals, etc.). Configure Price Sets for events which need more than a single set of fee levels.\";}'),
+ (171,1,'civicrm/admin/price/field',NULL,'Price Fields','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:20:\"CRM_Price_Page_Field\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:10:\"Price Sets\";s:3:\"url\";s:28:\"/civicrm/admin/price?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,0,'a:0:{}'),
+ (172,1,'civicrm/admin/price/field/option',NULL,'Price Field Options','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:21:\"CRM_Price_Page_Option\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:10:\"Price Sets\";s:3:\"url\";s:28:\"/civicrm/admin/price?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:0:{}'),
+ (173,1,'civicrm/ajax/mapping',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:19:\"CRM_Admin_Page_AJAX\";i:1;s:11:\"mappingList\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (174,1,'civicrm/ajax/recipientListing',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:16:\"access CiviEvent\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:19:\"CRM_Admin_Page_AJAX\";i:1;s:16:\"recipientListing\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (175,1,'civicrm/admin/sms/provider',NULL,'Sms Providers','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:18:\"administer CiviCRM\";}i:1;s:3:\"and\";}','s:21:\"CRM_SMS_Page_Provider\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,500,1,0,NULL,'a:2:{s:4:\"desc\";s:27:\"To configure a sms provider\";s:10:\"adminGroup\";s:15:\"System Settings\";}'),
+ (176,1,'civicrm/sms/send',NULL,'New Mass SMS','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:8:\"send SMS\";}i:1;s:3:\"and\";}','s:23:\"CRM_SMS_Controller_Send\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,610,1,1,NULL,'a:0:{}'),
+ (177,1,'civicrm/sms/callback',NULL,NULL,'s:1:\"1\";','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:21:\"CRM_SMS_Page_Callback\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,1,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (178,1,'civicrm/admin/badgelayout','action=browse','Event Name Badge Layouts','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:21:\"CRM_Badge_Page_Layout\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,399,1,0,NULL,'a:2:{s:4:\"desc\";s:107:\"Configure name badge layouts for event participants, including logos and what data to include on the badge.\";s:10:\"adminGroup\";s:9:\"CiviEvent\";}'),
+ (179,1,'civicrm/admin/badgelayout/add',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:18:\"administer CiviCRM\";}i:1;s:3:\"and\";}','s:21:\"CRM_Badge_Form_Layout\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:24:\"Event Name Badge Layouts\";s:3:\"url\";s:52:\"/civicrm/admin/badgelayout?reset=1&amp;action=browse\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:0:{}'),
+ (180,1,'civicrm/ajax/api4',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Api4_Permission\";i:1;s:5:\"check\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:18:\"CRM_Api4_Page_AJAX\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (181,1,'civicrm/api4',NULL,'CiviCRM','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:26:\"CRM_Api4_Page_Api4Explorer\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (182,1,'civicrm/custom/add',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:26:\"CRM_Custom_Form_CustomData\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (183,1,'civicrm/ajax/optionlist',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:20:\"CRM_Custom_Page_AJAX\";i:1;s:13:\"getOptionList\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (184,1,'civicrm/ajax/reorder',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:20:\"CRM_Custom_Page_AJAX\";i:1;s:11:\"fixOrdering\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (185,1,'civicrm/ajax/multirecordfieldlist',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:20:\"CRM_Custom_Page_AJAX\";i:1;s:23:\"getMultiRecordFieldList\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (186,1,'civicrm/profile',NULL,NULL,'s:1:\"1\";','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:23:\"CRM_Profile_Page_Router\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,1,NULL,0,0,1,0,NULL,'a:0:{}'),
+ (187,1,'civicrm/profile/create',NULL,'CiviCRM Profile Create','s:1:\"1\";','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:23:\"CRM_Profile_Page_Router\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,1,NULL,0,0,1,0,NULL,'a:0:{}'),
+ (188,1,'civicrm/profile/view',NULL,NULL,'s:1:\"1\";','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:21:\"CRM_Profile_Page_View\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,1,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (189,1,'civicrm/pcp',NULL,NULL,'s:1:\"1\";','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:16:\"CRM_PCP_Form_PCP\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,1,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (190,1,'civicrm/pcp/campaign',NULL,'Setup a Personal Campaign Page - Account Information','s:1:\"1\";','a:2:{i:0;a:1:{i:0;s:25:\"make online contributions\";}i:1;s:3:\"and\";}','s:22:\"CRM_PCP_Controller_PCP\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,1,NULL,0,0,1,0,NULL,'a:0:{}'),
+ (191,1,'civicrm/pcp/info',NULL,NULL,'s:1:\"1\";','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:20:\"CRM_PCP_Page_PCPInfo\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,1,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (192,1,'civicrm/admin/pcp','context=contribute','Personal Campaign Pages','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:16:\"CRM_PCP_Page_PCP\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,362,1,0,NULL,'a:2:{s:4:\"desc\";s:49:\"View and manage existing personal campaign pages.\";s:10:\"adminGroup\";s:14:\"CiviContribute\";}'),
+ (193,1,'civicrm/custom',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:32:\"CRM_Custom_Form_CustomDataByType\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (194,1,'civicrm/ajax/jqState',NULL,NULL,'s:1:\"1\";','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:27:\"CRM_Core_Page_AJAX_Location\";i:1;s:7:\"jqState\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,1,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (195,1,'civicrm/ajax/jqCounty',NULL,NULL,'s:1:\"1\";','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:27:\"CRM_Core_Page_AJAX_Location\";i:1;s:8:\"jqCounty\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,1,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (196,1,'civicrm/import',NULL,'Import','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:15:\"import contacts\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:29:\"CRM_Contact_Import_Controller\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,400,1,1,NULL,'a:0:{}'),
+ (197,1,'civicrm/import/contact',NULL,'Import Contacts','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:15:\"import contacts\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:29:\"CRM_Contact_Import_Controller\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:6:\"Import\";s:3:\"url\";s:23:\"/civicrm/import?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,410,1,1,NULL,'a:0:{}'),
+ (198,1,'civicrm/import/activity',NULL,'Import Activities','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:15:\"import contacts\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:30:\"CRM_Activity_Import_Controller\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:6:\"Import\";s:3:\"url\";s:23:\"/civicrm/import?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,420,1,1,NULL,'a:0:{}'),
+ (199,1,'civicrm/import/custom','id=%%id%%','Import Multi-value Custom Data','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:28:\"CRM_Custom_Import_Controller\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:6:\"Import\";s:3:\"url\";s:23:\"/civicrm/import?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,420,1,1,NULL,'a:0:{}'),
+ (200,1,'civicrm/ajax/status',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:15:\"import contacts\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:28:\"CRM_Contact_Import_Page_AJAX\";i:1;s:6:\"status\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (201,1,'civicrm/upgrade',NULL,'Upgrade CiviCRM','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:24:\"CRM_Upgrade_Page_Upgrade\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (202,1,'civicrm/export',NULL,'Download Errors','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:21:\"CRM_Export_BAO_Export\";i:1;s:6:\"invoke\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (203,1,'civicrm/export/contact',NULL,'Export Contacts','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:21:\"CRM_Export_BAO_Export\";i:1;s:6:\"invoke\";}',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Download Errors\";s:3:\"url\";s:23:\"/civicrm/export?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,0,1,0,NULL,'a:0:{}'),
+ (204,1,'civicrm/export/standalone',NULL,'Export','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:32:\"CRM_Export_Controller_Standalone\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Download Errors\";s:3:\"url\";s:23:\"/civicrm/export?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (205,1,'civicrm/admin/options/acl_role',NULL,'ACL Roles','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:0:{}'),
+ (206,1,'civicrm/acl',NULL,'Manage ACLs','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:16:\"CRM_ACL_Page_ACL\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (207,1,'civicrm/acl/entityrole',NULL,'Assign Users to ACL Roles','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:23:\"CRM_ACL_Page_EntityRole\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:11:\"Manage ACLs\";s:3:\"url\";s:20:\"/civicrm/acl?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (208,1,'civicrm/acl/basic',NULL,'ACL','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:21:\"CRM_ACL_Page_ACLBasic\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:11:\"Manage ACLs\";s:3:\"url\";s:20:\"/civicrm/acl?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (209,1,'civicrm/file',NULL,'Browse Uploaded files','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:21:\"access uploaded files\";}i:1;s:3:\"and\";}','s:18:\"CRM_Core_Page_File\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (210,1,'civicrm/file/delete',NULL,'Delete File','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:17:\"CRM_Core_BAO_File\";i:1;s:16:\"deleteAttachment\";}',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:21:\"Browse Uploaded files\";s:3:\"url\";s:21:\"/civicrm/file?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (211,1,'civicrm/friend',NULL,'Tell a Friend','s:1:\"1\";','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:15:\"CRM_Friend_Form\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,1,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (212,1,'civicrm/logout',NULL,'Log out','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:16:\"CRM_Utils_System\";i:1;s:6:\"logout\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,9999,1,1,NULL,'a:0:{}'),
+ (213,1,'civicrm/i18n',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:17:\"translate CiviCRM\";}i:1;s:3:\"and\";}','s:18:\"CRM_Core_I18n_Form\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (214,1,'civicrm/ajax/attachment',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"access AJAX API\";}i:1;s:2:\"or\";}','a:2:{i:0;s:29:\"CRM_Core_Page_AJAX_Attachment\";i:1;s:10:\"attachFile\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (215,1,'civicrm/api',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Core_Page_Redirect\";','s:16:\"url=civicrm/api3\";','a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (216,1,'civicrm/api3',NULL,'CiviCRM API v3','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:26:\"CRM_Admin_Page_APIExplorer\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (217,1,'civicrm/ajax/apiexample',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:26:\"CRM_Admin_Page_APIExplorer\";i:1;s:14:\"getExampleFile\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (218,1,'civicrm/ajax/apidoc',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:26:\"CRM_Admin_Page_APIExplorer\";i:1;s:6:\"getDoc\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (219,1,'civicrm/ajax/rest',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"access AJAX API\";}i:1;s:2:\"or\";}','a:2:{i:0;s:14:\"CRM_Utils_REST\";i:1;s:4:\"ajax\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (220,1,'civicrm/api/json',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:14:\"CRM_Utils_REST\";i:1;s:8:\"ajaxJson\";}','s:16:\"url=civicrm/api3\";','a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (221,1,'civicrm/inline',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:14:\"CRM_Utils_REST\";i:1;s:12:\"loadTemplate\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (222,1,'civicrm/ajax/chart',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:38:\"CRM_Contribute_Form_ContributionCharts\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (223,1,'civicrm/asset/builder',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"*always allow*\";}i:1;s:3:\"and\";}','a:2:{i:0;s:23:\"\\Civi\\Core\\AssetBuilder\";i:1;s:7:\"pageRun\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (224,1,'civicrm/contribute/ajax/tableview',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:29:\"CRM_Contribute_Page_DashBoard\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:24:\"CiviContribute Dashboard\";s:3:\"url\";s:27:\"/civicrm/contribute?reset=1\";}}',NULL,NULL,2,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (225,1,'civicrm/payment/ipn',NULL,NULL,'s:1:\"1\";','a:2:{i:0;a:1:{i:0;s:21:\"access CiviContribute\";}i:1;s:3:\"and\";}','a:2:{i:0;s:16:\"CRM_Core_Payment\";i:1;s:9:\"handleIPN\";}',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:11:\"New Payment\";s:3:\"url\";s:39:\"/civicrm/payment?reset=1&amp;action=add\";}}',NULL,NULL,2,NULL,1,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (226,1,'civicrm/batch',NULL,'Batch Data Entry','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:21:\"access CiviContribute\";}i:1;s:3:\"and\";}','s:20:\"CRM_Batch_Page_Batch\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (227,1,'civicrm/batch/add',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:21:\"access CiviContribute\";}i:1;s:3:\"and\";}','s:20:\"CRM_Batch_Form_Batch\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:16:\"Batch Data Entry\";s:3:\"url\";s:22:\"/civicrm/batch?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (228,1,'civicrm/batch/entry',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:21:\"access CiviContribute\";}i:1;s:3:\"and\";}','s:20:\"CRM_Batch_Form_Entry\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:16:\"Batch Data Entry\";s:3:\"url\";s:22:\"/civicrm/batch?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (229,1,'civicrm/ajax/batch',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:21:\"access CiviContribute\";}i:1;s:3:\"and\";}','a:2:{i:0;s:19:\"CRM_Batch_Page_AJAX\";i:1;s:9:\"batchSave\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (230,1,'civicrm/ajax/batchlist',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:19:\"CRM_Batch_Page_AJAX\";i:1;s:12:\"getBatchList\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (231,1,'civicrm/ajax/inline',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:18:\"CRM_Core_Page_AJAX\";i:1;s:3:\"run\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (232,1,'civicrm/dev/qunit',NULL,'QUnit','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:18:\"administer CiviCRM\";}i:1;s:3:\"and\";}','s:19:\"CRM_Core_Page_QUnit\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (233,1,'civicrm/profile-editor/schema',NULL,'ProfileEditor','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:25:\"CRM_UF_Page_ProfileEditor\";i:1;s:13:\"getSchemaJSON\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (234,1,'civicrm/a',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:23:\"\\Civi\\Angular\\Page\\Main\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (235,1,'civicrm/ajax/angular-modules',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"*always allow*\";}i:1;s:3:\"and\";}','s:26:\"\\Civi\\Angular\\Page\\Modules\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (236,1,'civicrm/ajax/recurringentity/update-mode',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:34:\"CRM_Core_Page_AJAX_RecurringEntity\";i:1;s:10:\"updateMode\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (237,1,'civicrm/recurringentity/preview',NULL,'Confirm dates','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:36:\"CRM_Core_Page_RecurringEntityPreview\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (238,1,'civicrm/shortcode',NULL,'Insert CiviCRM Content','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:23:\"CRM_Core_Form_ShortCode\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (239,1,'civicrm/task/add-to-group',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:32:\"CRM_Contact_Form_Task_AddToGroup\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (240,1,'civicrm/task/remove-from-group',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:37:\"CRM_Contact_Form_Task_RemoveFromGroup\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (241,1,'civicrm/task/add-to-tag',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:30:\"CRM_Contact_Form_Task_AddToTag\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (242,1,'civicrm/task/remove-from-tag',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:35:\"CRM_Contact_Form_Task_RemoveFromTag\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (243,1,'civicrm/task/send-email',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:27:\"CRM_Contact_Form_Task_Email\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (244,1,'civicrm/task/make-mailing-label',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:27:\"CRM_Contact_Form_Task_Label\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (245,1,'civicrm/task/pick-profile',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:33:\"CRM_Contact_Form_Task_PickProfile\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (246,1,'civicrm/task/print-document',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:25:\"CRM_Contact_Form_Task_PDF\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (247,1,'civicrm/task/unhold-email',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:28:\"CRM_Contact_Form_Task_Unhold\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (248,1,'civicrm/task/alter-contact-preference',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:38:\"CRM_Contact_Form_Task_AlterPreferences\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (249,1,'civicrm/task/delete-contact',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:28:\"CRM_Contact_Form_Task_Delete\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (250,1,'civicrm/event',NULL,'CiviEvent Dashboard','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:24:\"CRM_Event_Page_DashBoard\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,1,NULL,NULL,NULL,0,800,1,1,NULL,'a:1:{s:9:\"component\";s:9:\"CiviEvent\";}'),
+ (251,1,'civicrm/participant/add','action=add','Register New Participant','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:18:\"CRM_Event_Page_Tab\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:1:{s:9:\"component\";s:9:\"CiviEvent\";}'),
+ (252,1,'civicrm/event/info',NULL,'Event Information','s:1:\"1\";','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:24:\"CRM_Event_Page_EventInfo\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}}',NULL,NULL,1,NULL,1,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (253,1,'civicrm/event/register',NULL,'Event Registration','s:1:\"1\";','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:33:\"CRM_Event_Controller_Registration\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}}',NULL,NULL,1,NULL,1,NULL,1,1,1,0,NULL,'a:0:{}'),
+ (254,1,'civicrm/event/confirm',NULL,'Confirm Event Registration','s:1:\"1\";','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:46:\"CRM_Event_Form_Registration_ParticipantConfirm\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}}',NULL,NULL,1,NULL,1,NULL,1,1,1,0,NULL,'a:0:{}'),
+ (255,1,'civicrm/event/ical',NULL,'Current and Upcoming Events','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:15:\"view event info\";}i:1;s:3:\"and\";}','a:2:{i:0;s:19:\"CRM_Event_ICalendar\";i:1;s:3:\"run\";}',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}}',NULL,NULL,1,NULL,1,NULL,0,0,1,0,NULL,'a:0:{}'),
+ (256,1,'civicrm/event/list',NULL,'Current and Upcoming Events','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:15:\"view event info\";}i:1;s:3:\"and\";}','s:19:\"CRM_Event_Page_List\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}}',NULL,NULL,1,NULL,1,NULL,0,0,1,0,NULL,'a:0:{}'),
+ (257,1,'civicrm/event/participant',NULL,'Event Participants List','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:23:\"view event participants\";}i:1;s:3:\"and\";}','s:33:\"CRM_Event_Page_ParticipantListing\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}}',NULL,NULL,1,NULL,1,NULL,0,0,1,0,NULL,'a:0:{}'),
+ (258,1,'civicrm/admin/event',NULL,'Manage Events','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:26:\"CRM_Event_Page_ManageEvent\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,370,1,0,NULL,'a:2:{s:4:\"desc\";s:136:\"Create and edit event configuration including times, locations, online registration forms, and fees. Links for iCal and RSS syndication.\";s:10:\"adminGroup\";s:9:\"CiviEvent\";}'),
+ (259,1,'civicrm/admin/eventTemplate',NULL,'Event Templates','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:28:\"CRM_Admin_Page_EventTemplate\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,375,1,0,NULL,'a:2:{s:4:\"desc\";s:115:\"Administrators can create Event Templates - which are basically master event records pre-filled with default values\";s:10:\"adminGroup\";s:9:\"CiviEvent\";}'),
+ (260,1,'civicrm/admin/options/event_type',NULL,'Event Types','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,385,1,0,NULL,'a:2:{s:4:\"desc\";s:143:\"Use Event Types to categorize your events. Event feeds can be filtered by Event Type and participant searches can use Event Type as a criteria.\";s:10:\"adminGroup\";s:9:\"CiviEvent\";}'),
+ (261,1,'civicrm/admin/participant_status',NULL,'Participant Status','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:36:\"CRM_Admin_Page_ParticipantStatusType\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,390,1,0,NULL,'a:2:{s:4:\"desc\";s:154:\"Define statuses for event participants here (e.g. Registered, Attended, Cancelled...). You can then assign statuses and search for participants by status.\";s:10:\"adminGroup\";s:9:\"CiviEvent\";}'),
+ (262,1,'civicrm/admin/options/participant_role',NULL,'Participant Role','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,395,1,0,NULL,'a:2:{s:4:\"desc\";s:138:\"Define participant roles for events here (e.g. Attendee, Host, Speaker...). You can then assign roles and search for participants by role.\";s:10:\"adminGroup\";s:9:\"CiviEvent\";}'),
+ (263,1,'civicrm/admin/options/participant_listing',NULL,'Participant Listing Templates','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,398,1,0,NULL,'a:2:{s:4:\"desc\";s:48:\"Template to control participant listing display.\";s:10:\"adminGroup\";s:9:\"CiviEvent\";}'),
+ (264,1,'civicrm/admin/options/conference_slot',NULL,'Conference Slot Labels','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,415,1,0,NULL,'a:2:{s:4:\"desc\";s:35:\"Define conference slots and labels.\";s:10:\"adminGroup\";s:9:\"CiviEvent\";}'),
+ (265,1,'civicrm/event/search',NULL,'Find Participants','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:27:\"CRM_Event_Controller_Search\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}}',NULL,NULL,1,NULL,NULL,NULL,0,810,1,1,NULL,'a:0:{}'),
+ (266,1,'civicrm/event/manage',NULL,'Manage Events','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:26:\"CRM_Event_Page_ManageEvent\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}}',NULL,NULL,1,NULL,NULL,NULL,1,820,1,1,NULL,'a:0:{}'),
+ (267,1,'civicrm/event/badge',NULL,'Print Event Name Badge','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:25:\"CRM_Event_Form_Task_Badge\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}}',NULL,NULL,1,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (268,1,'civicrm/event/manage/settings',NULL,'Event Info and Settings','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:36:\"CRM_Event_Form_ManageEvent_EventInfo\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Manage Events\";s:3:\"url\";s:29:\"/civicrm/event/manage?reset=1\";}}',NULL,NULL,1,NULL,NULL,NULL,1,910,1,0,NULL,'a:0:{}'),
+ (269,1,'civicrm/event/manage/location',NULL,'Event Location','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:35:\"CRM_Event_Form_ManageEvent_Location\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Manage Events\";s:3:\"url\";s:29:\"/civicrm/event/manage?reset=1\";}}',NULL,NULL,1,NULL,NULL,NULL,1,930,1,0,NULL,'a:0:{}'),
+ (270,1,'civicrm/event/manage/fee',NULL,'Event Fees','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:30:\"CRM_Event_Form_ManageEvent_Fee\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Manage Events\";s:3:\"url\";s:29:\"/civicrm/event/manage?reset=1\";}}',NULL,NULL,1,NULL,NULL,NULL,1,920,1,0,NULL,'a:0:{}'),
+ (271,1,'civicrm/event/manage/registration',NULL,'Event Online Registration','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:39:\"CRM_Event_Form_ManageEvent_Registration\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Manage Events\";s:3:\"url\";s:29:\"/civicrm/event/manage?reset=1\";}}',NULL,NULL,1,NULL,NULL,NULL,1,930,1,0,NULL,'a:0:{}'),
+ (272,1,'civicrm/event/manage/friend',NULL,'Tell a Friend','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:21:\"CRM_Friend_Form_Event\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Manage Events\";s:3:\"url\";s:29:\"/civicrm/event/manage?reset=1\";}}',NULL,NULL,1,NULL,NULL,NULL,1,940,1,0,NULL,'a:0:{}'),
+ (273,1,'civicrm/event/manage/reminder',NULL,'Schedule Reminders','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:44:\"CRM_Event_Form_ManageEvent_ScheduleReminders\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Manage Events\";s:3:\"url\";s:29:\"/civicrm/event/manage?reset=1\";}}',NULL,NULL,1,NULL,NULL,NULL,1,950,1,0,NULL,'a:0:{}'),
+ (274,1,'civicrm/event/manage/repeat',NULL,'Repeat Event','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:33:\"CRM_Event_Form_ManageEvent_Repeat\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Manage Events\";s:3:\"url\";s:29:\"/civicrm/event/manage?reset=1\";}}',NULL,NULL,1,NULL,NULL,NULL,1,960,1,0,NULL,'a:0:{}'),
+ (275,1,'civicrm/event/manage/conference',NULL,'Conference Slots','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:37:\"CRM_Event_Form_ManageEvent_Conference\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Manage Events\";s:3:\"url\";s:29:\"/civicrm/event/manage?reset=1\";}}',NULL,NULL,1,NULL,NULL,NULL,1,950,1,0,NULL,'a:0:{}'),
+ (276,1,'civicrm/event/add','action=add','New Event','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:36:\"CRM_Event_Form_ManageEvent_EventInfo\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}}',NULL,NULL,1,NULL,NULL,NULL,0,830,1,0,NULL,'a:0:{}'),
+ (277,1,'civicrm/event/import',NULL,'Import Participants','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:16:\"access CiviEvent\";i:1;s:23:\"edit event participants\";}i:1;s:3:\"and\";}','s:27:\"CRM_Event_Import_Controller\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}}',NULL,NULL,1,NULL,NULL,NULL,0,840,1,1,NULL,'a:0:{}'),
+ (278,1,'civicrm/event/price',NULL,'Manage Price Sets','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:18:\"CRM_Price_Page_Set\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}}',NULL,NULL,1,NULL,NULL,NULL,0,850,1,1,NULL,'a:0:{}'),
+ (279,1,'civicrm/event/selfsvcupdate',NULL,'Self-service Registration Update','s:1:\"1\";','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:28:\"CRM_Event_Form_SelfSvcUpdate\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}}',NULL,NULL,1,NULL,1,NULL,0,880,1,1,NULL,'a:0:{}'),
+ (280,1,'civicrm/event/selfsvctransfer',NULL,'Self-service Registration Transfer','s:1:\"1\";','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:30:\"CRM_Event_Form_SelfSvcTransfer\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}}',NULL,NULL,1,NULL,1,NULL,0,890,1,1,NULL,'a:0:{}'),
+ (281,1,'civicrm/contact/view/participant',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:18:\"CRM_Event_Page_Tab\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:45:\"/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,4,1,0,NULL,'a:0:{}'),
+ (282,1,'civicrm/ajax/eventFee',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','a:2:{i:0;s:19:\"CRM_Event_Page_AJAX\";i:1;s:8:\"eventFee\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (283,1,'civicrm/ajax/locBlock',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','a:2:{i:0;s:27:\"CRM_Core_Page_AJAX_Location\";i:1;s:11:\"getLocBlock\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (284,1,'civicrm/event/participant/feeselection',NULL,'Change Registration Selections','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:38:\"CRM_Event_Form_ParticipantFeeSelection\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}i:2;a:2:{s:5:\"title\";s:23:\"Event Participants List\";s:3:\"url\";s:34:\"/civicrm/event/participant?reset=1\";}}',NULL,NULL,1,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (285,1,'civicrm/event/manage/pcp',NULL,'Personal Campaign Pages','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:18:\"CRM_PCP_Form_Event\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Manage Events\";s:3:\"url\";s:29:\"/civicrm/event/manage?reset=1\";}}',NULL,NULL,1,NULL,NULL,NULL,1,540,1,1,NULL,'a:0:{}'),
+ (286,1,'civicrm/event/pcp',NULL,NULL,'s:1:\"1\";','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:16:\"CRM_PCP_Form_PCP\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}}',NULL,NULL,1,NULL,1,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (287,1,'civicrm/event/campaign',NULL,'Setup a Personal Campaign Page - Account Information','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:25:\"make online contributions\";}i:1;s:3:\"and\";}','s:22:\"CRM_PCP_Controller_PCP\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}}',NULL,NULL,1,NULL,1,NULL,0,0,1,0,NULL,'a:0:{}'),
+ (288,1,'civicrm/contribute',NULL,'CiviContribute Dashboard','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:21:\"access CiviContribute\";}i:1;s:3:\"and\";}','s:29:\"CRM_Contribute_Page_DashBoard\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,2,NULL,NULL,NULL,0,500,1,1,NULL,'a:1:{s:9:\"component\";s:14:\"CiviContribute\";}'),
+ (289,1,'civicrm/contribute/add','action=add','New Contribution','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:21:\"access CiviContribute\";}i:1;s:3:\"and\";}','s:23:\"CRM_Contribute_Page_Tab\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:24:\"CiviContribute Dashboard\";s:3:\"url\";s:27:\"/civicrm/contribute?reset=1\";}}',NULL,NULL,2,NULL,NULL,NULL,0,1,1,1,NULL,'a:1:{s:9:\"component\";s:14:\"CiviContribute\";}'),
+ (290,1,'civicrm/contribute/chart',NULL,'Contribution Summary - Chart View','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:21:\"access CiviContribute\";}i:1;s:3:\"and\";}','s:38:\"CRM_Contribute_Form_ContributionCharts\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:24:\"CiviContribute Dashboard\";s:3:\"url\";s:27:\"/civicrm/contribute?reset=1\";}}',NULL,NULL,2,NULL,NULL,NULL,0,1,1,0,NULL,'a:1:{s:9:\"component\";s:14:\"CiviContribute\";}'),
+ (291,1,'civicrm/contribute/transact',NULL,'CiviContribute','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:25:\"make online contributions\";}i:1;s:3:\"and\";}','s:38:\"CRM_Contribute_Controller_Contribution\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:24:\"CiviContribute Dashboard\";s:3:\"url\";s:27:\"/civicrm/contribute?reset=1\";}}',NULL,NULL,2,NULL,1,NULL,1,0,1,0,NULL,'a:0:{}'),
+ (292,1,'civicrm/admin/contribute',NULL,'Manage Contribution Pages','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:36:\"CRM_Contribute_Page_ContributionPage\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,360,1,0,NULL,'a:2:{s:4:\"desc\";s:242:\"CiviContribute allows you to create and maintain any number of Online Contribution Pages. You can create different pages for different programs or campaigns - and customize text, amounts, types of information collected from contributors, etc.\";s:10:\"adminGroup\";s:14:\"CiviContribute\";}'),
+ (293,1,'civicrm/admin/contribute/settings',NULL,'Title and Settings','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:45:\"CRM_Contribute_Form_ContributionPage_Settings\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:25:\"Manage Contribution Pages\";s:3:\"url\";s:33:\"/civicrm/admin/contribute?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,400,1,0,NULL,'a:0:{}'),
+ (294,1,'civicrm/admin/contribute/amount',NULL,'Contribution Amounts','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:43:\"CRM_Contribute_Form_ContributionPage_Amount\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:25:\"Manage Contribution Pages\";s:3:\"url\";s:33:\"/civicrm/admin/contribute?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,410,1,0,NULL,'a:0:{}'),
+ (295,1,'civicrm/admin/contribute/membership',NULL,'Membership Section','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:31:\"CRM_Member_Form_MembershipBlock\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:25:\"Manage Contribution Pages\";s:3:\"url\";s:33:\"/civicrm/admin/contribute?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,420,1,0,NULL,'a:0:{}'),
+ (296,1,'civicrm/admin/contribute/custom',NULL,'Include Profiles','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:43:\"CRM_Contribute_Form_ContributionPage_Custom\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:25:\"Manage Contribution Pages\";s:3:\"url\";s:33:\"/civicrm/admin/contribute?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,430,1,0,NULL,'a:0:{}'),
+ (297,1,'civicrm/admin/contribute/thankyou',NULL,'Thank-you and Receipting','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:45:\"CRM_Contribute_Form_ContributionPage_ThankYou\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:25:\"Manage Contribution Pages\";s:3:\"url\";s:33:\"/civicrm/admin/contribute?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,430,1,0,NULL,'a:0:{}'),
+ (298,1,'civicrm/admin/contribute/friend',NULL,'Tell a Friend','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:26:\"CRM_Friend_Form_Contribute\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:25:\"Manage Contribution Pages\";s:3:\"url\";s:33:\"/civicrm/admin/contribute?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,440,1,0,NULL,'a:0:{}'),
+ (299,1,'civicrm/admin/contribute/widget',NULL,'Configure Widget','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:43:\"CRM_Contribute_Form_ContributionPage_Widget\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:25:\"Manage Contribution Pages\";s:3:\"url\";s:33:\"/civicrm/admin/contribute?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,460,1,0,NULL,'a:0:{}'),
+ (300,1,'civicrm/admin/contribute/premium',NULL,'Premiums','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:44:\"CRM_Contribute_Form_ContributionPage_Premium\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:25:\"Manage Contribution Pages\";s:3:\"url\";s:33:\"/civicrm/admin/contribute?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,470,1,0,NULL,'a:0:{}'),
+ (301,1,'civicrm/admin/contribute/addProductToPage',NULL,'Add Products to This Page','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:47:\"CRM_Contribute_Form_ContributionPage_AddProduct\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:25:\"Manage Contribution Pages\";s:3:\"url\";s:33:\"/civicrm/admin/contribute?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,480,1,0,NULL,'a:0:{}'),
+ (302,1,'civicrm/admin/contribute/add','action=add','New Contribution Page','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:42:\"CRM_Contribute_Controller_ContributionPage\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:25:\"Manage Contribution Pages\";s:3:\"url\";s:33:\"/civicrm/admin/contribute?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:0:{}'),
+ (303,1,'civicrm/admin/contribute/managePremiums',NULL,'Manage Premiums','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:34:\"CRM_Contribute_Page_ManagePremiums\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:25:\"Manage Contribution Pages\";s:3:\"url\";s:33:\"/civicrm/admin/contribute?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,365,1,0,NULL,'a:2:{s:4:\"desc\";s:175:\"CiviContribute allows you to configure any number of Premiums which can be offered to contributors as incentives / thank-you gifts. Define the premiums you want to offer here.\";s:10:\"adminGroup\";s:14:\"CiviContribute\";}'),
+ (304,1,'civicrm/admin/financial/financialType',NULL,'Financial Types','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:32:\"CRM_Financial_Page_FinancialType\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,580,1,0,NULL,'a:2:{s:4:\"desc\";s:64:\"Formerly civicrm_contribution_type merged into this table in 4.1\";s:10:\"adminGroup\";s:14:\"CiviContribute\";}'),
+ (305,1,'civicrm/payment','action=add','New Payment','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:21:\"access CiviContribute\";}i:1;s:3:\"and\";}','s:37:\"CRM_Contribute_Form_AdditionalPayment\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,2,NULL,NULL,NULL,0,1,1,1,NULL,'a:1:{s:9:\"component\";s:14:\"CiviContribute\";}'),
+ (306,1,'civicrm/admin/financial/financialAccount',NULL,'Financial Accounts','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:35:\"CRM_Financial_Page_FinancialAccount\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,370,1,0,NULL,'a:2:{s:4:\"desc\";s:128:\"Financial types are used to categorize contributions for reporting and accounting purposes. These are also referred to as Funds.\";s:10:\"adminGroup\";s:14:\"CiviContribute\";}'),
+ (307,1,'civicrm/admin/options/payment_instrument',NULL,'Payment Methods','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,380,1,0,NULL,'a:2:{s:4:\"desc\";s:224:\"You may choose to record the payment instrument used for each contribution. Common payment methods are installed by default (e.g. Check, Cash, Credit Card...). If your site requires additional payment methods, add them here.\";s:10:\"adminGroup\";s:14:\"CiviContribute\";}'),
+ (308,1,'civicrm/admin/options/accept_creditcard',NULL,'Accepted Credit Cards','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,395,1,0,NULL,'a:2:{s:4:\"desc\";s:94:\"Credit card options that will be offered to contributors using your Online Contribution pages.\";s:10:\"adminGroup\";s:14:\"CiviContribute\";}'),
+ (309,1,'civicrm/admin/options/soft_credit_type',NULL,'Soft Credit Types','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:2:{s:4:\"desc\";s:86:\"Soft Credit Types that will be offered to contributors during soft credit contribution\";s:10:\"adminGroup\";s:14:\"CiviContribute\";}'),
+ (310,1,'civicrm/contact/view/contribution',NULL,'Contributions','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:23:\"CRM_Contribute_Page_Tab\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:45:\"/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (311,1,'civicrm/contact/view/contributionrecur',NULL,'Recurring Contributions','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:37:\"CRM_Contribute_Page_ContributionRecur\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:45:\"/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (312,1,'civicrm/contact/view/contribution/additionalinfo',NULL,'Additional Info','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:34:\"CRM_Contribute_Form_AdditionalInfo\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:45:\"/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}i:2;a:2:{s:5:\"title\";s:13:\"Contributions\";s:3:\"url\";s:42:\"/civicrm/contact/view/contribution?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (313,1,'civicrm/contribute/search',NULL,'Find Contributions','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:21:\"access CiviContribute\";}i:1;s:3:\"and\";}','s:32:\"CRM_Contribute_Controller_Search\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:24:\"CiviContribute Dashboard\";s:3:\"url\";s:27:\"/civicrm/contribute?reset=1\";}}',NULL,NULL,2,NULL,NULL,NULL,0,510,1,1,NULL,'a:0:{}'),
+ (314,1,'civicrm/contribute/searchBatch',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:21:\"access CiviContribute\";}i:1;s:3:\"and\";}','s:37:\"CRM_Contribute_Controller_SearchBatch\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:24:\"CiviContribute Dashboard\";s:3:\"url\";s:27:\"/civicrm/contribute?reset=1\";}}',NULL,NULL,2,NULL,NULL,NULL,0,588,1,1,NULL,'a:0:{}'),
+ (315,1,'civicrm/contribute/import',NULL,'Import Contributions','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:21:\"access CiviContribute\";i:1;s:18:\"edit contributions\";}i:1;s:3:\"and\";}','s:32:\"CRM_Contribute_Import_Controller\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:24:\"CiviContribute Dashboard\";s:3:\"url\";s:27:\"/civicrm/contribute?reset=1\";}}',NULL,NULL,2,NULL,NULL,NULL,0,520,1,1,NULL,'a:0:{}'),
+ (316,1,'civicrm/contribute/manage',NULL,'Manage Contribution Pages','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:18:\"administer CiviCRM\";i:1;s:21:\"access CiviContribute\";}i:1;s:3:\"and\";}','s:36:\"CRM_Contribute_Page_ContributionPage\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:24:\"CiviContribute Dashboard\";s:3:\"url\";s:27:\"/civicrm/contribute?reset=1\";}}',NULL,NULL,2,NULL,NULL,NULL,0,530,1,1,NULL,'a:0:{}'),
+ (317,1,'civicrm/contribute/additionalinfo',NULL,'AdditionalInfo Form','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:21:\"access CiviContribute\";}i:1;s:3:\"and\";}','s:34:\"CRM_Contribute_Form_AdditionalInfo\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:24:\"CiviContribute Dashboard\";s:3:\"url\";s:27:\"/civicrm/contribute?reset=1\";}}',NULL,NULL,2,NULL,NULL,NULL,0,0,1,0,NULL,'a:0:{}'),
+ (318,1,'civicrm/ajax/permlocation',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:25:\"make online contributions\";}i:1;s:3:\"and\";}','a:2:{i:0;s:27:\"CRM_Core_Page_AJAX_Location\";i:1;s:23:\"getPermissionedLocation\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (319,1,'civicrm/contribute/unsubscribe',NULL,'Cancel Subscription','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:25:\"make online contributions\";}i:1;s:3:\"and\";}','s:38:\"CRM_Contribute_Form_CancelSubscription\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:24:\"CiviContribute Dashboard\";s:3:\"url\";s:27:\"/civicrm/contribute?reset=1\";}}',NULL,NULL,2,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (320,1,'civicrm/contribute/onbehalf',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:25:\"make online contributions\";}i:1;s:3:\"and\";}','s:43:\"CRM_Contribute_Form_Contribution_OnBehalfOf\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:24:\"CiviContribute Dashboard\";s:3:\"url\";s:27:\"/civicrm/contribute?reset=1\";}}',NULL,NULL,2,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (321,1,'civicrm/contribute/updatebilling',NULL,'Update Billing Details','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:25:\"make online contributions\";}i:1;s:3:\"and\";}','s:33:\"CRM_Contribute_Form_UpdateBilling\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:24:\"CiviContribute Dashboard\";s:3:\"url\";s:27:\"/civicrm/contribute?reset=1\";}}',NULL,NULL,2,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (322,1,'civicrm/contribute/updaterecur',NULL,'Update Subscription','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:25:\"make online contributions\";}i:1;s:3:\"and\";}','s:38:\"CRM_Contribute_Form_UpdateSubscription\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:24:\"CiviContribute Dashboard\";s:3:\"url\";s:27:\"/civicrm/contribute?reset=1\";}}',NULL,NULL,2,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (323,1,'civicrm/contribute/subscriptionstatus',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:25:\"make online contributions\";}i:1;s:3:\"and\";}','s:38:\"CRM_Contribute_Page_SubscriptionStatus\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:24:\"CiviContribute Dashboard\";s:3:\"url\";s:27:\"/civicrm/contribute?reset=1\";}}',NULL,NULL,2,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (324,1,'civicrm/admin/financial/financialType/accounts',NULL,'Financial Type Accounts','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:39:\"CRM_Financial_Page_FinancialTypeAccount\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:15:\"Financial Types\";s:3:\"url\";s:46:\"/civicrm/admin/financial/financialType?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,581,1,0,NULL,'a:0:{}'),
+ (325,1,'civicrm/financial/batch',NULL,'Accounting Batch','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:19:\"create manual batch\";}i:1;s:3:\"and\";}','s:33:\"CRM_Financial_Page_FinancialBatch\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,585,1,0,NULL,'a:0:{}'),
+ (326,1,'civicrm/financial/financialbatches',NULL,'Accounting Batches','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:24:\"CRM_Financial_Page_Batch\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,586,1,0,NULL,'a:0:{}'),
+ (327,1,'civicrm/batchtransaction',NULL,'Accounting Batch','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:35:\"CRM_Financial_Page_BatchTransaction\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,600,1,0,NULL,'a:0:{}'),
+ (328,1,'civicrm/financial/batch/export',NULL,'Accounting Batch Export','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:19:\"create manual batch\";}i:1;s:3:\"and\";}','s:25:\"CRM_Financial_Form_Export\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:16:\"Accounting Batch\";s:3:\"url\";s:32:\"/civicrm/financial/batch?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,610,1,0,NULL,'a:0:{}'),
+ (329,1,'civicrm/payment/view','action=view','View Payment','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:21:\"access CiviContribute\";}i:1;s:3:\"and\";}','s:31:\"CRM_Contribute_Page_PaymentInfo\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:11:\"New Payment\";s:3:\"url\";s:39:\"/civicrm/payment?reset=1&amp;action=add\";}}',NULL,NULL,2,NULL,NULL,NULL,0,1,1,1,NULL,'a:1:{s:9:\"component\";s:14:\"CiviContribute\";}'),
+ (330,1,'civicrm/admin/setting/preferences/contribute',NULL,'CiviContribute Component Settings','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:21:\"access CiviContribute\";i:1;s:18:\"administer CiviCRM\";}i:1;s:3:\"and\";}','s:37:\"CRM_Admin_Form_Preferences_Contribute\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:2:{s:4:\"desc\";s:42:\"Configure global CiviContribute behaviors.\";s:10:\"adminGroup\";s:14:\"CiviContribute\";}'),
+ (331,1,'civicrm/contribute/invoice',NULL,'PDF Invoice','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:20:\"checkDownloadInvoice\";}','a:2:{i:0;a:1:{i:0;s:21:\"access CiviContribute\";}i:1;s:3:\"and\";}','a:2:{i:0;s:32:\"CRM_Contribute_Form_Task_Invoice\";i:1;s:11:\"getPrintPDF\";}',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:24:\"CiviContribute Dashboard\";s:3:\"url\";s:27:\"/civicrm/contribute?reset=1\";}}',NULL,NULL,2,NULL,NULL,NULL,0,620,1,1,NULL,'a:1:{s:9:\"component\";s:14:\"CiviContribute\";}'),
+ (332,1,'civicrm/contribute/invoice/email',NULL,'Email Invoice','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:20:\"checkDownloadInvoice\";}','a:2:{i:0;a:1:{i:0;s:21:\"access CiviContribute\";}i:1;s:3:\"and\";}','s:32:\"CRM_Contribute_Form_Task_Invoice\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:24:\"CiviContribute Dashboard\";s:3:\"url\";s:27:\"/civicrm/contribute?reset=1\";}i:2;a:2:{s:5:\"title\";s:11:\"PDF Invoice\";s:3:\"url\";s:35:\"/civicrm/contribute/invoice?reset=1\";}}',NULL,NULL,2,NULL,NULL,NULL,0,630,1,1,NULL,'a:1:{s:9:\"component\";s:14:\"CiviContribute\";}'),
+ (333,1,'civicrm/ajax/softcontributionlist',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:24:\"CRM_Contribute_Page_AJAX\";i:1;s:23:\"getSoftContributionRows\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (334,1,'civicrm/contribute/contributionrecur-payments',NULL,'Recurring Contribution\'s Payments','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:21:\"access CiviContribute\";}i:1;s:3:\"and\";}','s:45:\"CRM_Contribute_Page_ContributionRecurPayments\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:24:\"CiviContribute Dashboard\";s:3:\"url\";s:27:\"/civicrm/contribute?reset=1\";}}',NULL,NULL,2,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (335,1,'civicrm/membership/recurring-contributions',NULL,'Membership Recurring Contributions','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:21:\"access CiviContribute\";}i:1;s:3:\"and\";}','s:38:\"CRM_Member_Page_RecurringContributions\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (336,1,'civicrm/contribute/widget',NULL,'CiviContribute','s:1:\"1\";','a:2:{i:0;a:1:{i:0;s:21:\"access CiviContribute\";}i:1;s:3:\"and\";}','s:26:\"CRM_Contribute_Page_Widget\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:24:\"CiviContribute Dashboard\";s:3:\"url\";s:27:\"/civicrm/contribute?reset=1\";}}',NULL,NULL,2,NULL,1,NULL,0,0,1,0,NULL,'a:0:{}'),
+ (337,1,'civicrm/contribute/task',NULL,'Contribution Task','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:21:\"access CiviContribute\";}i:1;s:3:\"and\";}','s:30:\"CRM_Contribute_Controller_Task\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:24:\"CiviContribute Dashboard\";s:3:\"url\";s:27:\"/civicrm/contribute?reset=1\";}}',NULL,NULL,2,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (338,1,'civicrm/admin/contribute/pcp',NULL,'Personal Campaign Pages','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:23:\"CRM_PCP_Form_Contribute\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:25:\"Manage Contribution Pages\";s:3:\"url\";s:33:\"/civicrm/admin/contribute?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,450,1,0,NULL,'a:0:{}'),
+ (339,1,'civicrm/contribute/campaign',NULL,'Setup a Personal Campaign Page - Account Information','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:25:\"make online contributions\";}i:1;s:3:\"and\";}','s:22:\"CRM_PCP_Controller_PCP\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:24:\"CiviContribute Dashboard\";s:3:\"url\";s:27:\"/civicrm/contribute?reset=1\";}}',NULL,NULL,2,NULL,1,NULL,0,0,1,0,NULL,'a:0:{}'),
+ (340,1,'civicrm/member',NULL,'CiviMember Dashboard','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:17:\"access CiviMember\";}i:1;s:3:\"and\";}','s:25:\"CRM_Member_Page_DashBoard\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,3,NULL,NULL,NULL,0,700,1,1,NULL,'a:1:{s:9:\"component\";s:10:\"CiviMember\";}'),
+ (341,1,'civicrm/member/add','action=add','New Membership','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:17:\"access CiviMember\";}i:1;s:3:\"and\";}','s:19:\"CRM_Member_Page_Tab\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:20:\"CiviMember Dashboard\";s:3:\"url\";s:23:\"/civicrm/member?reset=1\";}}',NULL,NULL,3,NULL,NULL,NULL,0,1,1,0,NULL,'a:1:{s:9:\"component\";s:10:\"CiviMember\";}'),
+ (342,1,'civicrm/admin/member/membershipType',NULL,'Membership Types','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:30:\"CRM_Member_Page_MembershipType\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,370,1,0,NULL,'a:2:{s:4:\"desc\";s:174:\"Define the types of memberships you want to offer. For each type, you can specify a \'name\' (Gold Member, Honor Society Member...), a description, duration, and a minimum fee.\";s:10:\"adminGroup\";s:10:\"CiviMember\";}'),
+ (343,1,'civicrm/admin/member/membershipStatus',NULL,'Membership Status Rules','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:32:\"CRM_Member_Page_MembershipStatus\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,380,1,0,NULL,'a:2:{s:4:\"desc\";s:187:\"Status \'rules\' define the current status for a membership based on that membership\'s start and end dates. You can adjust the default status options and rules as needed to meet your needs.\";s:10:\"adminGroup\";s:10:\"CiviMember\";}'),
+ (344,1,'civicrm/contact/view/membership','force=1,cid=%%cid%%','Memberships','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:19:\"CRM_Member_Page_Tab\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:45:\"/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,2,1,0,NULL,'a:0:{}'),
+ (345,1,'civicrm/membership/view',NULL,'Memberships','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:17:\"access CiviMember\";}i:1;s:3:\"and\";}','s:30:\"CRM_Member_Form_MembershipView\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,390,1,0,NULL,'a:0:{}'),
+ (346,1,'civicrm/member/search',NULL,'Find Memberships','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:17:\"access CiviMember\";}i:1;s:3:\"and\";}','s:28:\"CRM_Member_Controller_Search\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:20:\"CiviMember Dashboard\";s:3:\"url\";s:23:\"/civicrm/member?reset=1\";}}',NULL,NULL,3,NULL,NULL,NULL,0,710,1,1,NULL,'a:0:{}'),
+ (347,1,'civicrm/member/import',NULL,'Import Memberships','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:17:\"access CiviMember\";i:1;s:16:\"edit memberships\";}i:1;s:3:\"and\";}','s:28:\"CRM_Member_Import_Controller\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:20:\"CiviMember Dashboard\";s:3:\"url\";s:23:\"/civicrm/member?reset=1\";}}',NULL,NULL,3,NULL,NULL,NULL,0,720,1,1,NULL,'a:0:{}'),
+ (348,1,'civicrm/ajax/memType',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:17:\"access CiviMember\";}i:1;s:3:\"and\";}','a:2:{i:0;s:20:\"CRM_Member_Page_AJAX\";i:1;s:21:\"getMemberTypeDefaults\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (349,1,'civicrm/admin/member/membershipType/add',NULL,'Membership Types','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:17:\"access CiviMember\";i:1;s:18:\"administer CiviCRM\";}i:1;s:3:\"and\";}','s:30:\"CRM_Member_Form_MembershipType\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:16:\"Membership Types\";s:3:\"url\";s:44:\"/civicrm/admin/member/membershipType?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:0:{}'),
+ (350,1,'civicrm/mailing',NULL,'CiviMail','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:15:\"access CiviMail\";i:1;s:15:\"create mailings\";i:2;s:8:\"send SMS\";}i:1;s:2:\"or\";}','s:23:\"CRM_Mailing_Page_Browse\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,4,NULL,NULL,NULL,0,600,1,1,NULL,'a:1:{s:9:\"component\";s:8:\"CiviMail\";}'),
+ (351,1,'civicrm/admin/mail',NULL,'Mailer Settings','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"access CiviMail\";}i:1;s:3:\"and\";}','s:27:\"CRM_Admin_Form_Setting_Mail\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,400,1,0,NULL,'a:2:{s:4:\"desc\";s:61:\"Configure spool period, throttling and other mailer settings.\";s:10:\"adminGroup\";s:8:\"CiviMail\";}'),
+ (352,1,'civicrm/admin/component',NULL,'Headers, Footers, and Automated Messages','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"access CiviMail\";}i:1;s:3:\"and\";}','s:26:\"CRM_Mailing_Page_Component\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,410,1,0,NULL,'a:2:{s:4:\"desc\";s:143:\"Configure the header and footer used for mailings. Customize the content of automated Subscribe, Unsubscribe, Resubscribe and Opt-out messages.\";s:10:\"adminGroup\";s:8:\"CiviMail\";}'),
+ (353,1,'civicrm/admin/options/from_email_address/civimail',NULL,'From Email Addresses','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:4:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}i:3;a:2:{s:5:\"title\";s:20:\"From Email Addresses\";s:3:\"url\";s:49:\"/civicrm/admin/options/from_email_address?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,415,1,0,NULL,'a:2:{s:4:\"desc\";s:74:\"List of Email Addresses which can be used when sending emails to contacts.\";s:10:\"adminGroup\";s:8:\"CiviMail\";}'),
+ (354,1,'civicrm/admin/mailSettings',NULL,'Mail Accounts','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"access CiviMail\";}i:1;s:3:\"and\";}','s:27:\"CRM_Admin_Page_MailSettings\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,420,1,0,NULL,'a:2:{s:4:\"desc\";s:32:\"Configure email account setting.\";s:10:\"adminGroup\";s:8:\"CiviMail\";}'),
+ (355,1,'civicrm/mailing/send',NULL,'New Mailing','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:15:\"access CiviMail\";i:1;s:15:\"create mailings\";i:2;s:17:\"schedule mailings\";}i:1;s:2:\"or\";}','s:27:\"CRM_Mailing_Controller_Send\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:8:\"CiviMail\";s:3:\"url\";s:24:\"/civicrm/mailing?reset=1\";}}',NULL,NULL,4,NULL,NULL,NULL,0,610,1,1,NULL,'a:0:{}'),
+ (356,1,'civicrm/mailing/browse/scheduled','scheduled=true','Find Mailings','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:5:{i:0;s:15:\"access CiviMail\";i:1;s:16:\"approve mailings\";i:2;s:15:\"create mailings\";i:3;s:17:\"schedule mailings\";i:4;s:8:\"send SMS\";}i:1;s:2:\"or\";}','s:23:\"CRM_Mailing_Page_Browse\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:8:\"CiviMail\";s:3:\"url\";s:24:\"/civicrm/mailing?reset=1\";}}',NULL,NULL,4,NULL,NULL,NULL,0,620,1,1,NULL,'a:0:{}'),
+ (357,1,'civicrm/mailing/browse/unscheduled','scheduled=false','Find Mailings','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:15:\"access CiviMail\";i:1;s:15:\"create mailings\";i:2;s:17:\"schedule mailings\";}i:1;s:2:\"or\";}','s:23:\"CRM_Mailing_Page_Browse\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:8:\"CiviMail\";s:3:\"url\";s:24:\"/civicrm/mailing?reset=1\";}}',NULL,NULL,4,NULL,NULL,NULL,0,620,1,1,NULL,'a:0:{}'),
+ (358,1,'civicrm/mailing/browse/archived',NULL,'Find Mailings','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:15:\"access CiviMail\";i:1;s:15:\"create mailings\";}i:1;s:2:\"or\";}','s:23:\"CRM_Mailing_Page_Browse\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:8:\"CiviMail\";s:3:\"url\";s:24:\"/civicrm/mailing?reset=1\";}}',NULL,NULL,4,NULL,NULL,NULL,0,625,1,1,NULL,'a:0:{}'),
+ (359,1,'civicrm/mailing/component',NULL,'Headers, Footers, and Automated Messages','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:18:\"administer CiviCRM\";}i:1;s:3:\"and\";}','s:26:\"CRM_Mailing_Page_Component\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:8:\"CiviMail\";s:3:\"url\";s:24:\"/civicrm/mailing?reset=1\";}}',NULL,NULL,4,NULL,NULL,NULL,0,630,1,1,NULL,'a:0:{}'),
+ (360,1,'civicrm/mailing/unsubscribe',NULL,'Unsubscribe','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:43:\"access CiviMail subscribe/unsubscribe pages\";}i:1;s:3:\"and\";}','s:28:\"CRM_Mailing_Form_Unsubscribe\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:8:\"CiviMail\";s:3:\"url\";s:24:\"/civicrm/mailing?reset=1\";}}',NULL,NULL,4,NULL,1,NULL,0,640,1,0,NULL,'a:0:{}'),
+ (361,1,'civicrm/mailing/resubscribe',NULL,'Resubscribe','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:43:\"access CiviMail subscribe/unsubscribe pages\";}i:1;s:3:\"and\";}','s:28:\"CRM_Mailing_Page_Resubscribe\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:8:\"CiviMail\";s:3:\"url\";s:24:\"/civicrm/mailing?reset=1\";}}',NULL,NULL,4,NULL,1,NULL,0,645,1,0,NULL,'a:0:{}'),
+ (362,1,'civicrm/mailing/optout',NULL,'Opt-out','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:43:\"access CiviMail subscribe/unsubscribe pages\";}i:1;s:3:\"and\";}','s:23:\"CRM_Mailing_Form_Optout\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:8:\"CiviMail\";s:3:\"url\";s:24:\"/civicrm/mailing?reset=1\";}}',NULL,NULL,4,NULL,1,NULL,0,650,1,0,NULL,'a:0:{}'),
+ (363,1,'civicrm/mailing/confirm',NULL,'Confirm','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:43:\"access CiviMail subscribe/unsubscribe pages\";}i:1;s:3:\"and\";}','s:24:\"CRM_Mailing_Page_Confirm\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:8:\"CiviMail\";s:3:\"url\";s:24:\"/civicrm/mailing?reset=1\";}}',NULL,NULL,4,NULL,1,NULL,0,660,1,0,NULL,'a:0:{}'),
+ (364,1,'civicrm/mailing/subscribe',NULL,'Subscribe','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:43:\"access CiviMail subscribe/unsubscribe pages\";}i:1;s:3:\"and\";}','s:26:\"CRM_Mailing_Form_Subscribe\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:8:\"CiviMail\";s:3:\"url\";s:24:\"/civicrm/mailing?reset=1\";}}',NULL,NULL,4,NULL,1,NULL,0,660,1,0,NULL,'a:0:{}'),
+ (365,1,'civicrm/mailing/preview',NULL,'Preview Mailing','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:4:{i:0;s:15:\"access CiviMail\";i:1;s:16:\"approve mailings\";i:2;s:15:\"create mailings\";i:3;s:17:\"schedule mailings\";}i:1;s:2:\"or\";}','s:24:\"CRM_Mailing_Page_Preview\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:8:\"CiviMail\";s:3:\"url\";s:24:\"/civicrm/mailing?reset=1\";}}',NULL,NULL,4,NULL,NULL,NULL,0,670,1,0,NULL,'a:0:{}'),
+ (366,1,'civicrm/mailing/report','mid=%%mid%%','Mailing Report','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:15:\"access CiviMail\";i:1;s:15:\"create mailings\";}i:1;s:2:\"or\";}','s:23:\"CRM_Mailing_Page_Report\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:8:\"CiviMail\";s:3:\"url\";s:24:\"/civicrm/mailing?reset=1\";}}',NULL,NULL,4,NULL,NULL,NULL,0,680,1,0,NULL,'a:0:{}'),
+ (367,1,'civicrm/mailing/forward',NULL,'Forward Mailing','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:43:\"access CiviMail subscribe/unsubscribe pages\";}i:1;s:3:\"and\";}','s:31:\"CRM_Mailing_Form_ForwardMailing\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:8:\"CiviMail\";s:3:\"url\";s:24:\"/civicrm/mailing?reset=1\";}}',NULL,NULL,4,NULL,1,NULL,0,685,1,0,NULL,'a:0:{}'),
+ (368,1,'civicrm/mailing/queue',NULL,'Sending Mail','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:15:\"access CiviMail\";}i:1;s:3:\"and\";}','s:23:\"CRM_Mailing_Page_Browse\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:8:\"CiviMail\";s:3:\"url\";s:24:\"/civicrm/mailing?reset=1\";}}',NULL,NULL,4,NULL,NULL,NULL,0,690,1,0,NULL,'a:0:{}'),
+ (369,1,'civicrm/mailing/report/event',NULL,'Mailing Event','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:15:\"access CiviMail\";}i:1;s:3:\"and\";}','s:22:\"CRM_Mailing_Page_Event\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:8:\"CiviMail\";s:3:\"url\";s:24:\"/civicrm/mailing?reset=1\";}i:2;a:2:{s:5:\"title\";s:14:\"Mailing Report\";s:3:\"url\";s:47:\"/civicrm/mailing/report?reset=1&amp;mid=%%mid%%\";}}',NULL,NULL,4,NULL,NULL,NULL,0,695,1,0,NULL,'a:0:{}'),
+ (370,1,'civicrm/ajax/template',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:21:\"CRM_Mailing_Page_AJAX\";i:1;s:8:\"template\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (371,1,'civicrm/mailing/view',NULL,'View Mailing','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:28:\"view public CiviMail content\";i:1;s:15:\"access CiviMail\";i:2;s:16:\"approve mailings\";}i:1;s:2:\"or\";}','s:21:\"CRM_Mailing_Page_View\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:8:\"CiviMail\";s:3:\"url\";s:24:\"/civicrm/mailing?reset=1\";}}',NULL,NULL,4,NULL,1,NULL,0,800,1,0,NULL,'a:0:{}'),
+ (372,1,'civicrm/mailing/approve',NULL,'Approve Mailing','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:15:\"access CiviMail\";i:1;s:16:\"approve mailings\";}i:1;s:2:\"or\";}','s:24:\"CRM_Mailing_Form_Approve\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:8:\"CiviMail\";s:3:\"url\";s:24:\"/civicrm/mailing?reset=1\";}}',NULL,NULL,4,NULL,NULL,NULL,0,850,1,0,NULL,'a:0:{}'),
+ (373,1,'civicrm/contact/view/mailing',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:20:\"CRM_Mailing_Page_Tab\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:45:\"/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (374,1,'civicrm/ajax/contactmailing',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:21:\"CRM_Mailing_Page_AJAX\";i:1;s:18:\"getContactMailings\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (375,1,'civicrm/ajax/setupMailAccount',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"access CiviMail\";}i:1;s:3:\"and\";}','a:2:{i:0;s:21:\"CRM_Mailing_Page_AJAX\";i:1;s:5:\"setup\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (376,1,'civicrm/mailing/url',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"*always allow*\";}i:1;s:3:\"and\";}','s:20:\"CRM_Mailing_Page_Url\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:8:\"CiviMail\";s:3:\"url\";s:24:\"/civicrm/mailing?reset=1\";}}',NULL,NULL,4,NULL,1,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (377,1,'civicrm/mailing/open',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"*always allow*\";}i:1;s:3:\"and\";}','s:21:\"CRM_Mailing_Page_Open\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:8:\"CiviMail\";s:3:\"url\";s:24:\"/civicrm/mailing?reset=1\";}}',NULL,NULL,4,NULL,1,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (378,1,'civicrm/pledge',NULL,'CiviPledge Dashboard','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:17:\"access CiviPledge\";}i:1;s:3:\"and\";}','s:25:\"CRM_Pledge_Page_DashBoard\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,6,NULL,NULL,NULL,0,550,1,1,NULL,'a:1:{s:9:\"component\";s:10:\"CiviPledge\";}'),
+ (379,1,'civicrm/pledge/search',NULL,'Find Pledges','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:17:\"access CiviPledge\";}i:1;s:3:\"and\";}','s:28:\"CRM_Pledge_Controller_Search\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:20:\"CiviPledge Dashboard\";s:3:\"url\";s:23:\"/civicrm/pledge?reset=1\";}}',NULL,NULL,6,NULL,NULL,NULL,0,560,1,1,NULL,'a:0:{}'),
+ (380,1,'civicrm/contact/view/pledge','force=1,cid=%%cid%%','Pledges','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:17:\"access CiviPledge\";}i:1;s:3:\"and\";}','s:19:\"CRM_Pledge_Page_Tab\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:45:\"/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,570,1,0,NULL,'a:0:{}'),
+ (381,1,'civicrm/pledge/add','action=add','New Pledge','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:17:\"access CiviPledge\";}i:1;s:3:\"and\";}','s:19:\"CRM_Pledge_Page_Tab\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:20:\"CiviPledge Dashboard\";s:3:\"url\";s:23:\"/civicrm/pledge?reset=1\";}}',NULL,NULL,6,NULL,NULL,NULL,0,1,1,1,NULL,'a:1:{s:9:\"component\";s:10:\"CiviPledge\";}'),
+ (382,1,'civicrm/pledge/payment',NULL,'Pledge Payments','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:17:\"access CiviPledge\";}i:1;s:3:\"and\";}','s:23:\"CRM_Pledge_Page_Payment\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:20:\"CiviPledge Dashboard\";s:3:\"url\";s:23:\"/civicrm/pledge?reset=1\";}}',NULL,NULL,6,NULL,NULL,NULL,0,580,1,0,NULL,'a:0:{}'),
+ (383,1,'civicrm/ajax/pledgeAmount',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:17:\"access CiviPledge\";i:1;s:18:\"administer CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:20:\"CRM_Pledge_Page_AJAX\";i:1;s:17:\"getPledgeDefaults\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (384,1,'civicrm/case',NULL,'CiviCase Dashboard','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:23:\"CRM_Case_Page_DashBoard\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,7,NULL,NULL,NULL,0,900,1,1,NULL,'a:1:{s:9:\"component\";s:8:\"CiviCase\";}'),
+ (385,1,'civicrm/case/add',NULL,'Open Case','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:18:\"CRM_Case_Form_Case\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"CiviCase Dashboard\";s:3:\"url\";s:21:\"/civicrm/case?reset=1\";}}',NULL,NULL,7,NULL,NULL,NULL,0,1,1,1,NULL,'a:1:{s:9:\"component\";s:8:\"CiviCase\";}'),
+ (386,1,'civicrm/case/search',NULL,'Find Cases','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:26:\"CRM_Case_Controller_Search\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"CiviCase Dashboard\";s:3:\"url\";s:21:\"/civicrm/case?reset=1\";}}',NULL,NULL,7,NULL,NULL,NULL,0,910,1,1,NULL,'a:0:{}'),
+ (387,1,'civicrm/case/activity',NULL,'Case Activity','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Case_Form_Activity\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"CiviCase Dashboard\";s:3:\"url\";s:21:\"/civicrm/case?reset=1\";}}',NULL,NULL,7,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (388,1,'civicrm/case/report',NULL,'Case Activity Audit','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:31:\"access all cases and activities\";}i:1;s:3:\"and\";}','s:20:\"CRM_Case_Form_Report\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"CiviCase Dashboard\";s:3:\"url\";s:21:\"/civicrm/case?reset=1\";}}',NULL,NULL,7,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (389,1,'civicrm/case/cd/edit',NULL,'Case Custom Set','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:24:\"CRM_Case_Form_CustomData\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"CiviCase Dashboard\";s:3:\"url\";s:21:\"/civicrm/case?reset=1\";}}',NULL,NULL,7,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (390,1,'civicrm/contact/view/case',NULL,'Case','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:17:\"CRM_Case_Page_Tab\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:45:\"/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (391,1,'civicrm/case/activity/view',NULL,'Activity View','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:26:\"CRM_Case_Form_ActivityView\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"CiviCase Dashboard\";s:3:\"url\";s:21:\"/civicrm/case?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Case Activity\";s:3:\"url\";s:30:\"/civicrm/case/activity?reset=1\";}}',NULL,NULL,7,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (392,1,'civicrm/contact/view/case/editClient',NULL,'Assign to Another Client','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:14:\"access CiviCRM\";i:1;s:15:\"edit my contact\";i:2;s:15:\"view my contact\";}i:1;s:2:\"or\";}','s:24:\"CRM_Case_Form_EditClient\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:15:\"Contact Summary\";s:3:\"url\";s:45:\"/civicrm/contact/view?reset=1&amp;cid=%%cid%%\";}i:2;a:2:{s:5:\"title\";s:4:\"Case\";s:3:\"url\";s:34:\"/civicrm/contact/view/case?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (393,1,'civicrm/case/addToCase',NULL,'File on Case','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:28:\"CRM_Case_Form_ActivityToCase\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"CiviCase Dashboard\";s:3:\"url\";s:21:\"/civicrm/case?reset=1\";}}',NULL,NULL,7,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (394,1,'civicrm/case/details',NULL,'Case Details','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:25:\"CRM_Case_Page_CaseDetails\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"CiviCase Dashboard\";s:3:\"url\";s:21:\"/civicrm/case?reset=1\";}}',NULL,NULL,7,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (395,1,'civicrm/admin/setting/case',NULL,'CiviCase Settings','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:27:\"CRM_Admin_Form_Setting_Case\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,380,1,0,NULL,'a:1:{s:10:\"adminGroup\";s:8:\"CiviCase\";}'),
+ (396,1,'civicrm/admin/options/case_type',NULL,'Case Types','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:19:\"administer CiviCase\";}i:1;s:3:\"and\";}','s:22:\"CRM_Core_Page_Redirect\";','s:24:\"url=civicrm/a/#/caseType\";','a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,390,1,0,NULL,'a:2:{s:4:\"desc\";s:137:\"List of types which can be assigned to Cases. (Enable the Cases tab from System Settings - Enable Components if you want to track cases.)\";s:10:\"adminGroup\";s:8:\"CiviCase\";}'),
+ (397,1,'civicrm/admin/options/redaction_rule',NULL,'Redaction Rules','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:19:\"administer CiviCase\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,400,1,0,NULL,'a:2:{s:4:\"desc\";s:223:\"List of rules which can be applied to user input strings so that the redacted output can be recognized as repeated instances of the same string or can be identified as a \"semantic type of the data element\" within case data.\";s:10:\"adminGroup\";s:8:\"CiviCase\";}'),
+ (398,1,'civicrm/admin/options/case_status',NULL,'Case Statuses','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:19:\"administer CiviCase\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,400,1,0,NULL,'a:2:{s:4:\"desc\";s:48:\"List of statuses that can be assigned to a case.\";s:10:\"adminGroup\";s:8:\"CiviCase\";}'),
+ (399,1,'civicrm/admin/options/encounter_medium',NULL,'Encounter Mediums','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:19:\"administer CiviCase\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,400,1,0,NULL,'a:2:{s:4:\"desc\";s:26:\"List of encounter mediums.\";s:10:\"adminGroup\";s:8:\"CiviCase\";}'),
+ (400,1,'civicrm/case/report/print',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:31:\"access all cases and activities\";}i:1;s:3:\"and\";}','a:2:{i:0;s:28:\"CRM_Case_XMLProcessor_Report\";i:1;s:15:\"printCaseReport\";}',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"CiviCase Dashboard\";s:3:\"url\";s:21:\"/civicrm/case?reset=1\";}i:2;a:2:{s:5:\"title\";s:19:\"Case Activity Audit\";s:3:\"url\";s:28:\"/civicrm/case/report?reset=1\";}}',NULL,NULL,7,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (401,1,'civicrm/case/ajax/addclient',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:18:\"CRM_Case_Page_AJAX\";i:1;s:9:\"addClient\";}',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"CiviCase Dashboard\";s:3:\"url\";s:21:\"/civicrm/case?reset=1\";}}',NULL,NULL,7,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (402,1,'civicrm/case/ajax/processtags',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:18:\"CRM_Case_Page_AJAX\";i:1;s:15:\"processCaseTags\";}',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"CiviCase Dashboard\";s:3:\"url\";s:21:\"/civicrm/case?reset=1\";}}',NULL,NULL,7,NULL,NULL,NULL,0,1,1,3,NULL,'a:0:{}'),
+ (403,1,'civicrm/case/ajax/details',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:18:\"CRM_Case_Page_AJAX\";i:1;s:11:\"CaseDetails\";}',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"CiviCase Dashboard\";s:3:\"url\";s:21:\"/civicrm/case?reset=1\";}}',NULL,NULL,7,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (404,1,'civicrm/ajax/delcaserole',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:18:\"CRM_Case_Page_AJAX\";i:1;s:15:\"deleteCaseRoles\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (405,1,'civicrm/ajax/get-cases',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:18:\"CRM_Case_Page_AJAX\";i:1;s:8:\"getCases\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (406,1,'civicrm/case/email/add','action=add,task=email','Email','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:24:\"CRM_Case_Form_Task_Email\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"CiviCase Dashboard\";s:3:\"url\";s:21:\"/civicrm/case?reset=1\";}}',NULL,NULL,7,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (407,1,'civicrm/report',NULL,'CiviReport','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:17:\"access CiviReport\";}i:1;s:3:\"and\";}','s:22:\"CRM_Report_Page_Report\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,8,NULL,NULL,NULL,0,1200,1,1,NULL,'a:1:{s:9:\"component\";s:10:\"CiviReport\";}'),
+ (408,1,'civicrm/report/list',NULL,'CiviCRM Reports','s:1:\"1\";','a:2:{i:0;a:1:{i:0;s:17:\"access CiviReport\";}i:1;s:3:\"and\";}','s:28:\"CRM_Report_Page_InstanceList\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:10:\"CiviReport\";s:3:\"url\";s:23:\"/civicrm/report?reset=1\";}}',NULL,NULL,8,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (409,1,'civicrm/report/template/list',NULL,'Create New Report from Template','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:18:\"administer Reports\";}i:1;s:3:\"and\";}','s:28:\"CRM_Report_Page_TemplateList\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:10:\"CiviReport\";s:3:\"url\";s:23:\"/civicrm/report?reset=1\";}}',NULL,NULL,8,NULL,NULL,NULL,0,1220,1,1,NULL,'a:0:{}'),
+ (410,1,'civicrm/report/options/report_template',NULL,'Manage Templates','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:18:\"administer Reports\";}i:1;s:3:\"and\";}','s:23:\"CRM_Report_Page_Options\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:10:\"CiviReport\";s:3:\"url\";s:23:\"/civicrm/report?reset=1\";}}',NULL,NULL,8,NULL,NULL,NULL,0,1241,1,1,NULL,'a:0:{}'),
+ (411,1,'civicrm/admin/report/register',NULL,'Register Report','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:18:\"administer Reports\";}i:1;s:3:\"and\";}','s:24:\"CRM_Report_Form_Register\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:1:{s:4:\"desc\";s:30:\"Register the Report templates.\";}'),
+ (412,1,'civicrm/report/instance',NULL,'Report','s:1:\"1\";','a:2:{i:0;a:1:{i:0;s:17:\"access CiviReport\";}i:1;s:3:\"and\";}','s:24:\"CRM_Report_Page_Instance\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:10:\"CiviReport\";s:3:\"url\";s:23:\"/civicrm/report?reset=1\";}}',NULL,NULL,8,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (413,1,'civicrm/admin/report/template/list',NULL,'Create New Report from Template','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:17:\"access CiviReport\";}i:1;s:3:\"and\";}','s:28:\"CRM_Report_Page_TemplateList\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:2:{s:4:\"desc\";s:49:\"Component wise listing of all available templates\";s:10:\"adminGroup\";s:10:\"CiviReport\";}'),
+ (414,1,'civicrm/admin/report/options/report_template',NULL,'Manage Templates','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:17:\"access CiviReport\";}i:1;s:3:\"and\";}','s:23:\"CRM_Report_Page_Options\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:2:{s:4:\"desc\";s:45:\"Browse, Edit and Delete the Report templates.\";s:10:\"adminGroup\";s:10:\"CiviReport\";}'),
+ (415,1,'civicrm/admin/report/list',NULL,'Reports Listing','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:28:\"CRM_Report_Page_InstanceList\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:2:{s:4:\"desc\";s:60:\"Browse existing report, change report criteria and settings.\";s:10:\"adminGroup\";s:10:\"CiviReport\";}'),
+ (416,1,'civicrm/campaign',NULL,'Campaign Dashboard','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:23:\"administer CiviCampaign\";i:1;s:15:\"manage campaign\";}i:1;s:2:\"or\";}','s:27:\"CRM_Campaign_Page_DashBoard\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,9,NULL,NULL,NULL,0,1,1,0,NULL,'a:1:{s:9:\"component\";s:12:\"CiviCampaign\";}'),
+ (417,1,'civicrm/campaign/add',NULL,'New Campaign','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:23:\"administer CiviCampaign\";i:1;s:15:\"manage campaign\";}i:1;s:2:\"or\";}','s:26:\"CRM_Campaign_Form_Campaign\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Campaign Dashboard\";s:3:\"url\";s:25:\"/civicrm/campaign?reset=1\";}}',NULL,NULL,9,NULL,NULL,NULL,0,1,1,0,NULL,'a:1:{s:9:\"component\";s:12:\"CiviCampaign\";}'),
+ (418,1,'civicrm/survey/add',NULL,'New Survey','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:23:\"administer CiviCampaign\";i:1;s:15:\"manage campaign\";}i:1;s:2:\"or\";}','s:29:\"CRM_Campaign_Form_Survey_Main\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:1:{s:9:\"component\";s:12:\"CiviCampaign\";}'),
+ (419,1,'civicrm/campaign/vote',NULL,'Conduct Survey','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:4:{i:0;s:23:\"administer CiviCampaign\";i:1;s:15:\"manage campaign\";i:2;s:25:\"reserve campaign contacts\";i:3;s:27:\"interview campaign contacts\";}i:1;s:2:\"or\";}','s:22:\"CRM_Campaign_Page_Vote\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Campaign Dashboard\";s:3:\"url\";s:25:\"/civicrm/campaign?reset=1\";}}',NULL,NULL,9,NULL,NULL,NULL,0,1,1,0,NULL,'a:1:{s:9:\"component\";s:12:\"CiviCampaign\";}'),
+ (420,1,'civicrm/admin/campaign/surveyType',NULL,'Survey Types','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:23:\"administer CiviCampaign\";}i:1;s:3:\"and\";}','s:28:\"CRM_Campaign_Page_SurveyType\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:2:{s:10:\"adminGroup\";s:12:\"CiviCampaign\";s:9:\"component\";s:12:\"CiviCampaign\";}'),
+ (421,1,'civicrm/admin/options/campaign_type',NULL,'Campaign Types','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,2,1,0,NULL,'a:3:{s:4:\"desc\";s:47:\"categorize your campaigns using campaign types.\";s:10:\"adminGroup\";s:12:\"CiviCampaign\";s:9:\"component\";s:12:\"CiviCampaign\";}'),
+ (422,1,'civicrm/admin/options/campaign_status',NULL,'Campaign Status','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,3,1,0,NULL,'a:3:{s:4:\"desc\";s:34:\"Define statuses for campaign here.\";s:10:\"adminGroup\";s:12:\"CiviCampaign\";s:9:\"component\";s:12:\"CiviCampaign\";}'),
+ (423,1,'civicrm/admin/options/engagement_index',NULL,'Engagement Index','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:25:\"administer CiviCRM system\";i:1;s:23:\"administer CiviCRM data\";i:2;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Page_Options\";',NULL,'a:3:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}i:2;a:2:{s:5:\"title\";s:13:\"Option Groups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,4,1,0,NULL,'a:3:{s:4:\"desc\";s:18:\"Engagement levels.\";s:10:\"adminGroup\";s:12:\"CiviCampaign\";s:9:\"component\";s:12:\"CiviCampaign\";}'),
+ (424,1,'civicrm/survey/search','op=interview','Record Respondents Interview','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:23:\"administer CiviCampaign\";i:1;s:15:\"manage campaign\";i:2;s:27:\"interview campaign contacts\";}i:1;s:2:\"or\";}','s:30:\"CRM_Campaign_Controller_Search\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:1:{s:9:\"component\";s:12:\"CiviCampaign\";}'),
+ (425,1,'civicrm/campaign/gotv',NULL,'GOTV (Track Voters)','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:4:{i:0;s:23:\"administer CiviCampaign\";i:1;s:15:\"manage campaign\";i:2;s:25:\"release campaign contacts\";i:3;s:22:\"gotv campaign contacts\";}i:1;s:2:\"or\";}','s:22:\"CRM_Campaign_Form_Gotv\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Campaign Dashboard\";s:3:\"url\";s:25:\"/civicrm/campaign?reset=1\";}}',NULL,NULL,9,NULL,NULL,NULL,0,1,1,0,NULL,'a:1:{s:9:\"component\";s:12:\"CiviCampaign\";}'),
+ (426,1,'civicrm/petition/add',NULL,'New Petition','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:23:\"administer CiviCampaign\";i:1;s:15:\"manage campaign\";}i:1;s:2:\"or\";}','s:26:\"CRM_Campaign_Form_Petition\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (427,1,'civicrm/petition/sign',NULL,'Sign Petition','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:21:\"sign CiviCRM Petition\";}i:1;s:3:\"and\";}','s:36:\"CRM_Campaign_Form_Petition_Signature\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,1,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (428,1,'civicrm/petition/browse',NULL,'View Petition Signatures','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:26:\"CRM_Campaign_Page_Petition\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (429,1,'civicrm/petition/confirm',NULL,'Email address verified','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:21:\"sign CiviCRM Petition\";}i:1;s:3:\"and\";}','s:34:\"CRM_Campaign_Page_Petition_Confirm\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,1,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (430,1,'civicrm/petition/thankyou',NULL,'Thank You','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:21:\"sign CiviCRM Petition\";}i:1;s:3:\"and\";}','s:35:\"CRM_Campaign_Page_Petition_ThankYou\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,1,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (431,1,'civicrm/campaign/registerInterview',NULL,NULL,'a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:3:{i:0;s:23:\"administer CiviCampaign\";i:1;s:15:\"manage campaign\";i:2;s:27:\"interview campaign contacts\";}i:1;s:2:\"or\";}','a:2:{i:0;s:22:\"CRM_Campaign_Page_AJAX\";i:1;s:17:\"registerInterview\";}',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Campaign Dashboard\";s:3:\"url\";s:25:\"/civicrm/campaign?reset=1\";}}',NULL,NULL,9,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (432,1,'civicrm/survey/configure/main',NULL,'Configure Survey','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:23:\"administer CiviCampaign\";i:1;s:15:\"manage campaign\";}i:1;s:2:\"or\";}','s:29:\"CRM_Campaign_Form_Survey_Main\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (433,1,'civicrm/survey/configure/questions',NULL,'Configure Survey','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:23:\"administer CiviCampaign\";i:1;s:15:\"manage campaign\";}i:1;s:2:\"or\";}','s:34:\"CRM_Campaign_Form_Survey_Questions\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (434,1,'civicrm/survey/configure/results',NULL,'Configure Survey','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:23:\"administer CiviCampaign\";i:1;s:15:\"manage campaign\";}i:1;s:2:\"or\";}','s:32:\"CRM_Campaign_Form_Survey_Results\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (435,1,'civicrm/survey/delete',NULL,'Delete Survey','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:2:{i:0;s:23:\"administer CiviCampaign\";i:1;s:15:\"manage campaign\";}i:1;s:2:\"or\";}','s:31:\"CRM_Campaign_Form_Survey_Delete\";',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (436,1,'civicrm/admin/ckeditor',NULL,'Configure CKEditor 4','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:18:\"administer CiviCRM\";}i:1;s:3:\"and\";}','s:33:\"CRM_Ckeditor4_Form_CKEditorConfig\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:0:{}'),
+ (437,1,'civicrm/ajax/event/add_participant_to_cart',NULL,NULL,'s:1:\"1\";','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:32:\"CRM_Event_Cart_Page_CheckoutAJAX\";i:1;s:23:\"add_participant_to_cart\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,1,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (438,1,'civicrm/ajax/event/remove_participant_from_cart',NULL,NULL,'s:1:\"1\";','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','a:2:{i:0;s:32:\"CRM_Event_Cart_Page_CheckoutAJAX\";i:1;s:28:\"remove_participant_from_cart\";}',NULL,'a:1:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}}',NULL,NULL,NULL,NULL,1,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (439,1,'civicrm/event/add_to_cart',NULL,'Add Event To Cart','s:1:\"1\";','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:29:\"CRM_Event_Cart_Page_AddToCart\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}}',NULL,NULL,1,NULL,1,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (440,1,'civicrm/event/cart_checkout',NULL,'Cart Checkout','s:1:\"1\";','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:34:\"CRM_Event_Cart_Controller_Checkout\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}}',NULL,NULL,1,NULL,1,NULL,1,1,1,0,NULL,'a:0:{}'),
+ (441,1,'civicrm/event/remove_from_cart',NULL,'Remove From Cart','s:1:\"1\";','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:34:\"CRM_Event_Cart_Page_RemoveFromCart\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}}',NULL,NULL,1,NULL,1,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (442,1,'civicrm/event/view_cart',NULL,'View Cart','s:1:\"1\";','a:2:{i:0;a:2:{i:0;s:14:\"access CiviCRM\";i:1;s:16:\"access CiviEvent\";}i:1;s:3:\"and\";}','s:28:\"CRM_Event_Cart_Page_ViewCart\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:19:\"CiviEvent Dashboard\";s:3:\"url\";s:22:\"/civicrm/event?reset=1\";}}',NULL,NULL,1,NULL,1,NULL,0,1,1,0,NULL,'a:0:{}'),
+ (443,1,'civicrm/contact/search/custom',NULL,'Find Contacts','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:14:\"access CiviCRM\";}i:1;s:3:\"and\";}','s:42:\"CRM_Legacycustomsearches_Controller_Search\";','s:10:\"mode=16384\";','a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:13:\"Find Contacts\";s:3:\"url\";s:31:\"/civicrm/contact/search?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,0,10,1,1,NULL,'a:0:{}'),
+ (444,1,'civicrm/admin/setting/flexmailer',NULL,'Flexmailer Settings','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:18:\"administer CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Form_Generic\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:2:{s:10:\"adminGroup\";s:8:\"CiviMail\";s:4:\"icon\";s:23:\"admin/small/Profile.png\";}'),
+ (445,1,'civicrm/admin/setting/recaptcha',NULL,'reCAPTCHA Settings','a:2:{i:0;s:19:\"CRM_Core_Permission\";i:1;s:9:\"checkMenu\";}','a:2:{i:0;a:1:{i:0;s:18:\"administer CiviCRM\";}i:1;s:3:\"and\";}','s:22:\"CRM_Admin_Form_Generic\";',NULL,'a:2:{i:0;a:2:{s:5:\"title\";s:7:\"CiviCRM\";s:3:\"url\";s:16:\"/civicrm?reset=1\";}i:1;a:2:{s:5:\"title\";s:18:\"Administer CiviCRM\";s:3:\"url\";s:22:\"/civicrm/admin?reset=1\";}}',NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,0,NULL,'a:2:{s:4:\"desc\";s:43:\"Configure anti-abuse/bot-prevention service\";s:10:\"adminGroup\";s:15:\"System Settings\";}'),
+ (446,1,'admin',NULL,NULL,NULL,NULL,NULL,NULL,'a:15:{s:26:\"Customize Data and Screens\";a:2:{s:12:\"component_id\";N;s:6:\"fields\";a:19:{s:13:\"{weight}.Tags\";a:6:{s:5:\"title\";s:4:\"Tags\";s:4:\"desc\";s:158:\"Tags are useful for segmenting the contacts in your database into categories (e.g. Staff Member, Donor, Volunteer, etc.). Create and edit available tags here.\";s:2:\"id\";s:4:\"Tags\";s:3:\"url\";s:20:\"/civicrm/tag?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:20:\"{weight}.Custom Data\";a:6:{s:5:\"title\";s:11:\"Custom Data\";s:4:\"desc\";s:109:\"Configure custom fields to collect and store custom data which is not included in the standard CiviCRM forms.\";s:2:\"id\";s:10:\"CustomData\";s:3:\"url\";s:35:\"/civicrm/admin/custom/group?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:17:\"{weight}.Profiles\";a:6:{s:5:\"title\";s:8:\"Profiles\";s:4:\"desc\";s:151:\"Profiles allow you to aggregate groups of fields and include them in your site as input forms, contact display pages, and search and listings features.\";s:2:\"id\";s:8:\"Profiles\";s:3:\"url\";s:31:\"/civicrm/admin/uf/group?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:23:\"{weight}.Activity Types\";a:6:{s:5:\"title\";s:14:\"Activity Types\";s:4:\"desc\";s:155:\"CiviCRM has several built-in activity types (meetings, phone calls, emails sent). Track other types of interactions by creating custom activity types here.\";s:2:\"id\";s:13:\"ActivityTypes\";s:3:\"url\";s:44:\"/civicrm/admin/options/activity_type?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:27:\"{weight}.Relationship Types\";a:6:{s:5:\"title\";s:18:\"Relationship Types\";s:4:\"desc\";s:148:\"Contacts can be linked to each other through Relationships (e.g. Spouse, Employer, etc.). Define the types of relationships you want to record here.\";s:2:\"id\";s:17:\"RelationshipTypes\";s:3:\"url\";s:30:\"/civicrm/admin/reltype?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:22:\"{weight}.Contact Types\";a:6:{s:5:\"title\";s:13:\"Contact Types\";s:4:\"desc\";N;s:2:\"id\";s:12:\"ContactTypes\";s:3:\"url\";s:38:\"/civicrm/admin/options/subtype?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:23:\"{weight}.Gender Options\";a:6:{s:5:\"title\";s:14:\"Gender Options\";s:4:\"desc\";s:79:\"Options for assigning gender to individual contacts (e.g. Male, Female, Other).\";s:2:\"id\";s:13:\"GenderOptions\";s:3:\"url\";s:37:\"/civicrm/admin/options/gender?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:40:\"{weight}.Individual Prefixes (Ms, Mr...)\";a:6:{s:5:\"title\";s:31:\"Individual Prefixes (Ms, Mr...)\";s:4:\"desc\";s:66:\"Options for individual contact prefixes (e.g. Ms., Mr., Dr. etc.).\";s:2:\"id\";s:27:\"IndividualPrefixes_Ms_Mr...\";s:3:\"url\";s:48:\"/civicrm/admin/options/individual_prefix?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:40:\"{weight}.Individual Suffixes (Jr, Sr...)\";a:6:{s:5:\"title\";s:31:\"Individual Suffixes (Jr, Sr...)\";s:4:\"desc\";s:61:\"Options for individual contact suffixes (e.g. Jr., Sr. etc.).\";s:2:\"id\";s:27:\"IndividualSuffixes_Jr_Sr...\";s:3:\"url\";s:48:\"/civicrm/admin/options/individual_suffix?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:39:\"{weight}.Location Types (Home, Work...)\";a:6:{s:5:\"title\";s:30:\"Location Types (Home, Work...)\";s:4:\"desc\";s:94:\"Options for categorizing contact addresses and phone numbers (e.g. Home, Work, Billing, etc.).\";s:2:\"id\";s:26:\"LocationTypes_Home_Work...\";s:3:\"url\";s:35:\"/civicrm/admin/locationType?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:22:\"{weight}.Website Types\";a:6:{s:5:\"title\";s:13:\"Website Types\";s:4:\"desc\";s:48:\"Options for assigning website types to contacts.\";s:2:\"id\";s:12:\"WebsiteTypes\";s:3:\"url\";s:43:\"/civicrm/admin/options/website_type?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:35:\"{weight}.Instant Messenger Services\";a:6:{s:5:\"title\";s:26:\"Instant Messenger Services\";s:4:\"desc\";s:79:\"List of IM services which can be used when recording screen-names for contacts.\";s:2:\"id\";s:24:\"InstantMessengerServices\";s:3:\"url\";s:56:\"/civicrm/admin/options/instant_messenger_service?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:31:\"{weight}.Mobile Phone Providers\";a:6:{s:5:\"title\";s:22:\"Mobile Phone Providers\";s:4:\"desc\";s:90:\"List of mobile phone providers which can be assigned when recording contact phone numbers.\";s:2:\"id\";s:20:\"MobilePhoneProviders\";s:3:\"url\";s:46:\"/civicrm/admin/options/mobile_provider?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:19:\"{weight}.Phone Type\";a:6:{s:5:\"title\";s:10:\"Phone Type\";s:4:\"desc\";s:80:\"Options for assigning phone type to contacts (e.g Phone,\n    Mobile, Fax, Pager)\";s:2:\"id\";s:9:\"PhoneType\";s:3:\"url\";s:41:\"/civicrm/admin/options/phone_type?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:28:\"{weight}.Display Preferences\";a:6:{s:5:\"title\";s:19:\"Display Preferences\";s:4:\"desc\";N;s:2:\"id\";s:18:\"DisplayPreferences\";s:3:\"url\";s:50:\"/civicrm/admin/setting/preferences/display?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:27:\"{weight}.Search Preferences\";a:6:{s:5:\"title\";s:18:\"Search Preferences\";s:4:\"desc\";N;s:2:\"id\";s:17:\"SearchPreferences\";s:3:\"url\";s:37:\"/civicrm/admin/setting/search?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:24:\"{weight}.Navigation Menu\";a:6:{s:5:\"title\";s:15:\"Navigation Menu\";s:4:\"desc\";s:79:\"Add or remove menu items, and modify the order of items on the navigation menu.\";s:2:\"id\";s:14:\"NavigationMenu\";s:3:\"url\";s:27:\"/civicrm/admin/menu?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:26:\"{weight}.Word Replacements\";a:6:{s:5:\"title\";s:17:\"Word Replacements\";s:4:\"desc\";s:18:\"Word Replacements.\";s:2:\"id\";s:16:\"WordReplacements\";s:3:\"url\";s:47:\"/civicrm/admin/options/wordreplacements?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:31:\"{weight}.Manage Custom Searches\";a:6:{s:5:\"title\";s:22:\"Manage Custom Searches\";s:4:\"desc\";s:225:\"Developers and accidental techies with a bit of PHP and SQL knowledge can create new search forms to handle specific search and reporting needs which aren\'t covered by the built-in Advanced Search and Search Builder features.\";s:2:\"id\";s:20:\"ManageCustomSearches\";s:3:\"url\";s:44:\"/civicrm/admin/options/custom_search?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}}}s:6:\"Manage\";a:2:{s:12:\"component_id\";N;s:6:\"fields\";a:3:{s:42:\"{weight}.Find and Merge Duplicate Contacts\";a:6:{s:5:\"title\";s:33:\"Find and Merge Duplicate Contacts\";s:4:\"desc\";s:158:\"Manage the rules used to identify potentially duplicate contact records. Scan for duplicates using a selected rule and merge duplicate contact data as needed.\";s:2:\"id\";s:29:\"FindandMergeDuplicateContacts\";s:3:\"url\";s:36:\"/civicrm/contact/deduperules?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:26:\"{weight}.Dedupe Exceptions\";a:6:{s:5:\"title\";s:17:\"Dedupe Exceptions\";s:4:\"desc\";N;s:2:\"id\";s:16:\"DedupeExceptions\";s:3:\"url\";s:33:\"/civicrm/dedupe/exception?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:27:\"{weight}.Scheduled Jobs Log\";a:6:{s:5:\"title\";s:18:\"Scheduled Jobs Log\";s:4:\"desc\";s:46:\"Browsing the log of periodially running tasks.\";s:2:\"id\";s:16:\"ScheduledJobsLog\";s:3:\"url\";s:29:\"/civicrm/admin/joblog?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}}}s:14:\"Communications\";a:2:{s:12:\"component_id\";N;s:6:\"fields\";a:11:{s:46:\"{weight}.Organization Address and Contact Info\";a:6:{s:5:\"title\";s:37:\"Organization Address and Contact Info\";s:4:\"desc\";s:150:\"Configure primary contact name, email, return-path and address information. This information is used by CiviMail to identify the sending organization.\";s:2:\"id\";s:33:\"OrganizationAddressandContactInfo\";s:3:\"url\";s:47:\"/civicrm/admin/domain?action=update&amp;reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:29:\"{weight}.From Email Addresses\";a:6:{s:5:\"title\";s:20:\"From Email Addresses\";s:4:\"desc\";s:74:\"List of Email Addresses which can be used when sending emails to contacts.\";s:2:\"id\";s:18:\"FromEmailAddresses\";s:3:\"url\";s:49:\"/civicrm/admin/options/from_email_address?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:26:\"{weight}.Message Templates\";a:6:{s:5:\"title\";s:17:\"Message Templates\";s:4:\"desc\";s:130:\"Message templates allow you to save and re-use messages with layouts which you can use when sending email to one or more contacts.\";s:2:\"id\";s:16:\"MessageTemplates\";s:3:\"url\";s:39:\"/civicrm/admin/messageTemplates?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:27:\"{weight}.Schedule Reminders\";a:6:{s:5:\"title\";s:18:\"Schedule Reminders\";s:4:\"desc\";s:19:\"Schedule Reminders.\";s:2:\"id\";s:17:\"ScheduleReminders\";s:3:\"url\";s:40:\"/civicrm/admin/scheduleReminders?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:40:\"{weight}.Preferred Communication Methods\";a:6:{s:5:\"title\";s:31:\"Preferred Communication Methods\";s:4:\"desc\";s:117:\"One or more preferred methods of communication can be assigned to each contact. Customize the available options here.\";s:2:\"id\";s:29:\"PreferredCommunicationMethods\";s:3:\"url\";s:61:\"/civicrm/admin/options/preferred_communication_method?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:22:\"{weight}.Label Formats\";a:6:{s:5:\"title\";s:13:\"Label Formats\";s:4:\"desc\";s:67:\"Configure Label Formats that are used when creating mailing labels.\";s:2:\"id\";s:12:\"LabelFormats\";s:3:\"url\";s:35:\"/civicrm/admin/labelFormats?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:33:\"{weight}.Print Page (PDF) Formats\";a:6:{s:5:\"title\";s:24:\"Print Page (PDF) Formats\";s:4:\"desc\";s:95:\"Configure PDF Page Formats that can be assigned to Message Templates when creating PDF letters.\";s:2:\"id\";s:20:\"PrintPage_PDFFormats\";s:3:\"url\";s:33:\"/civicrm/admin/pdfFormats?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:36:\"{weight}.Communication Style Options\";a:6:{s:5:\"title\";s:27:\"Communication Style Options\";s:4:\"desc\";s:42:\"Options for Communication Style selection.\";s:2:\"id\";s:25:\"CommunicationStyleOptions\";s:3:\"url\";s:50:\"/civicrm/admin/options/communication_style?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:31:\"{weight}.Email Greeting Formats\";a:6:{s:5:\"title\";s:22:\"Email Greeting Formats\";s:4:\"desc\";s:75:\"Options for assigning email greetings to individual and household contacts.\";s:2:\"id\";s:20:\"EmailGreetingFormats\";s:3:\"url\";s:45:\"/civicrm/admin/options/email_greeting?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:32:\"{weight}.Postal Greeting Formats\";a:6:{s:5:\"title\";s:23:\"Postal Greeting Formats\";s:4:\"desc\";s:76:\"Options for assigning postal greetings to individual and household contacts.\";s:2:\"id\";s:21:\"PostalGreetingFormats\";s:3:\"url\";s:46:\"/civicrm/admin/options/postal_greeting?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:26:\"{weight}.Addressee Formats\";a:6:{s:5:\"title\";s:17:\"Addressee Formats\";s:4:\"desc\";s:83:\"Options for assigning addressee to individual, household and organization contacts.\";s:2:\"id\";s:16:\"AddresseeFormats\";s:3:\"url\";s:40:\"/civicrm/admin/options/addressee?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}}}s:12:\"Localization\";a:2:{s:12:\"component_id\";N;s:6:\"fields\";a:4:{s:39:\"{weight}.Languages, Currency, Locations\";a:6:{s:5:\"title\";s:30:\"Languages, Currency, Locations\";s:4:\"desc\";N;s:2:\"id\";s:28:\"Languages_Currency_Locations\";s:3:\"url\";s:43:\"/civicrm/admin/setting/localization?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:25:\"{weight}.Address Settings\";a:6:{s:5:\"title\";s:16:\"Address Settings\";s:4:\"desc\";N;s:2:\"id\";s:15:\"AddressSettings\";s:3:\"url\";s:50:\"/civicrm/admin/setting/preferences/address?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:21:\"{weight}.Date Formats\";a:6:{s:5:\"title\";s:12:\"Date Formats\";s:4:\"desc\";N;s:2:\"id\";s:11:\"DateFormats\";s:3:\"url\";s:35:\"/civicrm/admin/setting/date?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:28:\"{weight}.Preferred Languages\";a:6:{s:5:\"title\";s:19:\"Preferred Languages\";s:4:\"desc\";s:30:\"Options for contact languages.\";s:2:\"id\";s:18:\"PreferredLanguages\";s:3:\"url\";s:40:\"/civicrm/admin/options/languages?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}}}s:21:\"Users and Permissions\";a:2:{s:12:\"component_id\";N;s:6:\"fields\";a:2:{s:23:\"{weight}.Access Control\";a:6:{s:5:\"title\";s:14:\"Access Control\";s:4:\"desc\";s:73:\"Grant or deny access to actions (view, edit...), features and components.\";s:2:\"id\";s:13:\"AccessControl\";s:3:\"url\";s:29:\"/civicrm/admin/access?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:38:\"{weight}.Synchronize Users to Contacts\";a:6:{s:5:\"title\";s:29:\"Synchronize Users to Contacts\";s:4:\"desc\";s:71:\"Automatically create a CiviCRM contact record for each CMS user record.\";s:2:\"id\";s:26:\"SynchronizeUserstoContacts\";s:3:\"url\";s:32:\"/civicrm/admin/synchUser?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}}}s:15:\"System Settings\";a:2:{s:12:\"component_id\";N;s:6:\"fields\";a:19:{s:32:\"{weight}.Configuration Checklist\";a:6:{s:5:\"title\";s:23:\"Configuration Checklist\";s:4:\"desc\";s:55:\"List of configuration tasks with links to each setting.\";s:2:\"id\";s:22:\"ConfigurationChecklist\";s:3:\"url\";s:33:\"/civicrm/admin/configtask?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:34:\"{weight}.Enable CiviCRM Components\";a:6:{s:5:\"title\";s:25:\"Enable CiviCRM Components\";s:4:\"desc\";s:269:\"Enable or disable components (e.g. CiviEvent, CiviMember, etc.) for your site based on the features you need. We recommend disabling any components not being used in order to simplify the user interface. You can easily re-enable components at any time from this screen.\";s:2:\"id\";s:23:\"EnableCiviCRMComponents\";s:3:\"url\";s:40:\"/civicrm/admin/setting/component?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:26:\"{weight}.Manage Extensions\";a:6:{s:5:\"title\";s:17:\"Manage Extensions\";s:4:\"desc\";s:0:\"\";s:2:\"id\";s:16:\"ManageExtensions\";s:3:\"url\";s:33:\"/civicrm/admin/extensions?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:32:\"{weight}.Outbound Email Settings\";a:6:{s:5:\"title\";s:23:\"Outbound Email Settings\";s:4:\"desc\";N;s:2:\"id\";s:21:\"OutboundEmailSettings\";s:3:\"url\";s:35:\"/civicrm/admin/setting/smtp?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:37:\"{weight}.Settings - Payment Processor\";a:6:{s:5:\"title\";s:28:\"Settings - Payment Processor\";s:4:\"desc\";s:48:\"Payment Processor setup for CiviCRM transactions\";s:2:\"id\";s:25:\"Settings-PaymentProcessor\";s:3:\"url\";s:39:\"/civicrm/admin/paymentProcessor?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:30:\"{weight}.Mapping and Geocoding\";a:6:{s:5:\"title\";s:21:\"Mapping and Geocoding\";s:4:\"desc\";N;s:2:\"id\";s:19:\"MappingandGeocoding\";s:3:\"url\";s:38:\"/civicrm/admin/setting/mapping?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:53:\"{weight}.Misc (Undelete, PDFs, Limits, Logging, etc.)\";a:6:{s:5:\"title\";s:44:\"Misc (Undelete, PDFs, Limits, Logging, etc.)\";s:4:\"desc\";s:63:\"Enable undelete/move to trash feature, detailed change logging.\";s:2:\"id\";s:38:\"Misc_Undelete_PDFs_Limits_Logging_etc.\";s:3:\"url\";s:35:\"/civicrm/admin/setting/misc?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:20:\"{weight}.Directories\";a:6:{s:5:\"title\";s:11:\"Directories\";s:4:\"desc\";N;s:2:\"id\";s:11:\"Directories\";s:3:\"url\";s:35:\"/civicrm/admin/setting/path?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:22:\"{weight}.Resource URLs\";a:6:{s:5:\"title\";s:13:\"Resource URLs\";s:4:\"desc\";N;s:2:\"id\";s:12:\"ResourceURLs\";s:3:\"url\";s:34:\"/civicrm/admin/setting/url?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:40:\"{weight}.Cleanup Caches and Update Paths\";a:6:{s:5:\"title\";s:31:\"Cleanup Caches and Update Paths\";s:4:\"desc\";s:157:\"Reset the Base Directory Path and Base URL settings - generally when a CiviCRM site is moved to another location in the file system and/or to another domain.\";s:2:\"id\";s:27:\"CleanupCachesandUpdatePaths\";s:3:\"url\";s:50:\"/civicrm/admin/setting/updateConfigBackend?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:33:\"{weight}.CMS Database Integration\";a:6:{s:5:\"title\";s:24:\"CMS Database Integration\";s:4:\"desc\";N;s:2:\"id\";s:22:\"CMSDatabaseIntegration\";s:3:\"url\";s:33:\"/civicrm/admin/setting/uf?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:36:\"{weight}.Safe File Extension Options\";a:6:{s:5:\"title\";s:27:\"Safe File Extension Options\";s:4:\"desc\";s:44:\"File Extensions that can be considered safe.\";s:2:\"id\";s:24:\"SafeFileExtensionOptions\";s:3:\"url\";s:50:\"/civicrm/admin/options/safe_file_extension?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:22:\"{weight}.Option Groups\";a:6:{s:5:\"title\";s:13:\"Option Groups\";s:4:\"desc\";s:35:\"Access all meta-data option groups.\";s:2:\"id\";s:12:\"OptionGroups\";s:3:\"url\";s:30:\"/civicrm/admin/options?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:31:\"{weight}.Import/Export Mappings\";a:6:{s:5:\"title\";s:22:\"Import/Export Mappings\";s:4:\"desc\";s:141:\"Import and Export mappings allow you to easily run the same job multiple times. This option allows you to rename or delete existing mappings.\";s:2:\"id\";s:21:\"Import_ExportMappings\";s:3:\"url\";s:30:\"/civicrm/admin/mapping?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:18:\"{weight}.Debugging\";a:6:{s:5:\"title\";s:9:\"Debugging\";s:4:\"desc\";N;s:2:\"id\";s:9:\"Debugging\";s:3:\"url\";s:36:\"/civicrm/admin/setting/debug?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:28:\"{weight}.Multi Site Settings\";a:6:{s:5:\"title\";s:19:\"Multi Site Settings\";s:4:\"desc\";N;s:2:\"id\";s:17:\"MultiSiteSettings\";s:3:\"url\";s:52:\"/civicrm/admin/setting/preferences/multisite?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:23:\"{weight}.Scheduled Jobs\";a:6:{s:5:\"title\";s:14:\"Scheduled Jobs\";s:4:\"desc\";s:35:\"Managing periodially running tasks.\";s:2:\"id\";s:13:\"ScheduledJobs\";s:3:\"url\";s:26:\"/civicrm/admin/job?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:22:\"{weight}.Sms Providers\";a:6:{s:5:\"title\";s:13:\"Sms Providers\";s:4:\"desc\";s:27:\"To configure a sms provider\";s:2:\"id\";s:12:\"SmsProviders\";s:3:\"url\";s:35:\"/civicrm/admin/sms/provider?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:27:\"{weight}.reCAPTCHA Settings\";a:6:{s:5:\"title\";s:18:\"reCAPTCHA Settings\";s:4:\"desc\";s:43:\"Configure anti-abuse/bot-prevention service\";s:2:\"id\";s:17:\"reCAPTCHASettings\";s:3:\"url\";s:40:\"/civicrm/admin/setting/recaptcha?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}}}s:12:\"CiviCampaign\";a:2:{s:12:\"component_id\";N;s:6:\"fields\";a:5:{s:40:\"{weight}.CiviCampaign Component Settings\";a:6:{s:5:\"title\";s:31:\"CiviCampaign Component Settings\";s:4:\"desc\";s:40:\"Configure global CiviCampaign behaviors.\";s:2:\"id\";s:29:\"CiviCampaignComponentSettings\";s:3:\"url\";s:51:\"/civicrm/admin/setting/preferences/campaign?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:21:\"{weight}.Survey Types\";a:6:{s:5:\"title\";s:12:\"Survey Types\";s:4:\"desc\";N;s:2:\"id\";s:11:\"SurveyTypes\";s:3:\"url\";s:42:\"/civicrm/admin/campaign/surveyType?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:23:\"{weight}.Campaign Types\";a:6:{s:5:\"title\";s:14:\"Campaign Types\";s:4:\"desc\";s:47:\"categorize your campaigns using campaign types.\";s:2:\"id\";s:13:\"CampaignTypes\";s:3:\"url\";s:44:\"/civicrm/admin/options/campaign_type?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:24:\"{weight}.Campaign Status\";a:6:{s:5:\"title\";s:15:\"Campaign Status\";s:4:\"desc\";s:34:\"Define statuses for campaign here.\";s:2:\"id\";s:14:\"CampaignStatus\";s:3:\"url\";s:46:\"/civicrm/admin/options/campaign_status?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:25:\"{weight}.Engagement Index\";a:6:{s:5:\"title\";s:16:\"Engagement Index\";s:4:\"desc\";s:18:\"Engagement levels.\";s:2:\"id\";s:15:\"EngagementIndex\";s:3:\"url\";s:47:\"/civicrm/admin/options/engagement_index?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}}}s:9:\"CiviEvent\";a:2:{s:12:\"component_id\";N;s:6:\"fields\";a:9:{s:37:\"{weight}.CiviEvent Component Settings\";a:6:{s:5:\"title\";s:28:\"CiviEvent Component Settings\";s:4:\"desc\";s:37:\"Configure global CiviEvent behaviors.\";s:2:\"id\";s:26:\"CiviEventComponentSettings\";s:3:\"url\";s:48:\"/civicrm/admin/setting/preferences/event?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:33:\"{weight}.Event Name Badge Layouts\";a:6:{s:5:\"title\";s:24:\"Event Name Badge Layouts\";s:4:\"desc\";s:107:\"Configure name badge layouts for event participants, including logos and what data to include on the badge.\";s:2:\"id\";s:21:\"EventNameBadgeLayouts\";s:3:\"url\";s:52:\"/civicrm/admin/badgelayout?action=browse&amp;reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:22:\"{weight}.Manage Events\";a:6:{s:5:\"title\";s:13:\"Manage Events\";s:4:\"desc\";s:136:\"Create and edit event configuration including times, locations, online registration forms, and fees. Links for iCal and RSS syndication.\";s:2:\"id\";s:12:\"ManageEvents\";s:3:\"url\";s:28:\"/civicrm/admin/event?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:24:\"{weight}.Event Templates\";a:6:{s:5:\"title\";s:15:\"Event Templates\";s:4:\"desc\";s:115:\"Administrators can create Event Templates - which are basically master event records pre-filled with default values\";s:2:\"id\";s:14:\"EventTemplates\";s:3:\"url\";s:36:\"/civicrm/admin/eventTemplate?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:20:\"{weight}.Event Types\";a:6:{s:5:\"title\";s:11:\"Event Types\";s:4:\"desc\";s:143:\"Use Event Types to categorize your events. Event feeds can be filtered by Event Type and participant searches can use Event Type as a criteria.\";s:2:\"id\";s:10:\"EventTypes\";s:3:\"url\";s:41:\"/civicrm/admin/options/event_type?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:27:\"{weight}.Participant Status\";a:6:{s:5:\"title\";s:18:\"Participant Status\";s:4:\"desc\";s:154:\"Define statuses for event participants here (e.g. Registered, Attended, Cancelled...). You can then assign statuses and search for participants by status.\";s:2:\"id\";s:17:\"ParticipantStatus\";s:3:\"url\";s:41:\"/civicrm/admin/participant_status?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:25:\"{weight}.Participant Role\";a:6:{s:5:\"title\";s:16:\"Participant Role\";s:4:\"desc\";s:138:\"Define participant roles for events here (e.g. Attendee, Host, Speaker...). You can then assign roles and search for participants by role.\";s:2:\"id\";s:15:\"ParticipantRole\";s:3:\"url\";s:47:\"/civicrm/admin/options/participant_role?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:38:\"{weight}.Participant Listing Templates\";a:6:{s:5:\"title\";s:29:\"Participant Listing Templates\";s:4:\"desc\";s:48:\"Template to control participant listing display.\";s:2:\"id\";s:27:\"ParticipantListingTemplates\";s:3:\"url\";s:50:\"/civicrm/admin/options/participant_listing?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:31:\"{weight}.Conference Slot Labels\";a:6:{s:5:\"title\";s:22:\"Conference Slot Labels\";s:4:\"desc\";s:35:\"Define conference slots and labels.\";s:2:\"id\";s:20:\"ConferenceSlotLabels\";s:3:\"url\";s:46:\"/civicrm/admin/options/conference_slot?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}}}s:8:\"CiviMail\";a:2:{s:12:\"component_id\";N;s:6:\"fields\";a:6:{s:36:\"{weight}.CiviMail Component Settings\";a:6:{s:5:\"title\";s:27:\"CiviMail Component Settings\";s:4:\"desc\";s:36:\"Configure global CiviMail behaviors.\";s:2:\"id\";s:25:\"CiviMailComponentSettings\";s:3:\"url\";s:50:\"/civicrm/admin/setting/preferences/mailing?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:24:\"{weight}.Mailer Settings\";a:6:{s:5:\"title\";s:15:\"Mailer Settings\";s:4:\"desc\";s:61:\"Configure spool period, throttling and other mailer settings.\";s:2:\"id\";s:14:\"MailerSettings\";s:3:\"url\";s:27:\"/civicrm/admin/mail?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:49:\"{weight}.Headers, Footers, and Automated Messages\";a:6:{s:5:\"title\";s:40:\"Headers, Footers, and Automated Messages\";s:4:\"desc\";s:143:\"Configure the header and footer used for mailings. Customize the content of automated Subscribe, Unsubscribe, Resubscribe and Opt-out messages.\";s:2:\"id\";s:36:\"Headers_Footers_andAutomatedMessages\";s:3:\"url\";s:32:\"/civicrm/admin/component?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:29:\"{weight}.From Email Addresses\";a:6:{s:5:\"title\";s:20:\"From Email Addresses\";s:4:\"desc\";s:74:\"List of Email Addresses which can be used when sending emails to contacts.\";s:2:\"id\";s:18:\"FromEmailAddresses\";s:3:\"url\";s:58:\"/civicrm/admin/options/from_email_address/civimail?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:22:\"{weight}.Mail Accounts\";a:6:{s:5:\"title\";s:13:\"Mail Accounts\";s:4:\"desc\";s:32:\"Configure email account setting.\";s:2:\"id\";s:12:\"MailAccounts\";s:3:\"url\";s:35:\"/civicrm/admin/mailSettings?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:28:\"{weight}.Flexmailer Settings\";a:6:{s:5:\"title\";s:19:\"Flexmailer Settings\";s:4:\"desc\";N;s:2:\"id\";s:18:\"FlexmailerSettings\";s:3:\"url\";s:41:\"/civicrm/admin/setting/flexmailer?reset=1\";s:4:\"icon\";s:23:\"admin/small/Profile.png\";s:5:\"extra\";N;}}}s:10:\"CiviMember\";a:2:{s:12:\"component_id\";N;s:6:\"fields\";a:3:{s:38:\"{weight}.CiviMember Component Settings\";a:6:{s:5:\"title\";s:29:\"CiviMember Component Settings\";s:4:\"desc\";s:38:\"Configure global CiviMember behaviors.\";s:2:\"id\";s:27:\"CiviMemberComponentSettings\";s:3:\"url\";s:49:\"/civicrm/admin/setting/preferences/member?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:25:\"{weight}.Membership Types\";a:6:{s:5:\"title\";s:16:\"Membership Types\";s:4:\"desc\";s:174:\"Define the types of memberships you want to offer. For each type, you can specify a \'name\' (Gold Member, Honor Society Member...), a description, duration, and a minimum fee.\";s:2:\"id\";s:15:\"MembershipTypes\";s:3:\"url\";s:44:\"/civicrm/admin/member/membershipType?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:32:\"{weight}.Membership Status Rules\";a:6:{s:5:\"title\";s:23:\"Membership Status Rules\";s:4:\"desc\";s:187:\"Status \'rules\' define the current status for a membership based on that membership\'s start and end dates. You can adjust the default status options and rules as needed to meet your needs.\";s:2:\"id\";s:21:\"MembershipStatusRules\";s:3:\"url\";s:46:\"/civicrm/admin/member/membershipStatus?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}}}s:12:\"Option Lists\";a:2:{s:12:\"component_id\";N;s:6:\"fields\";a:1:{s:20:\"{weight}.Grant Types\";a:6:{s:5:\"title\";s:11:\"Grant Types\";s:4:\"desc\";s:148:\"List of types which can be assigned to Grants. (Enable CiviGrant from Administer > Systme Settings > Enable Components if you want to track grants.)\";s:2:\"id\";s:10:\"GrantTypes\";s:3:\"url\";s:41:\"/civicrm/admin/options/grant_type?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}}}s:9:\"Customize\";a:2:{s:12:\"component_id\";N;s:6:\"fields\";a:1:{s:19:\"{weight}.Price Sets\";a:6:{s:5:\"title\";s:10:\"Price Sets\";s:4:\"desc\";s:205:\"Price sets allow you to offer multiple options with associated fees (e.g. pre-conference workshops, additional meals, etc.). Configure Price Sets for events which need more than a single set of fee levels.\";s:2:\"id\";s:9:\"PriceSets\";s:3:\"url\";s:28:\"/civicrm/admin/price?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}}}s:14:\"CiviContribute\";a:2:{s:12:\"component_id\";N;s:6:\"fields\";a:9:{s:32:\"{weight}.Personal Campaign Pages\";a:6:{s:5:\"title\";s:23:\"Personal Campaign Pages\";s:4:\"desc\";s:49:\"View and manage existing personal campaign pages.\";s:2:\"id\";s:21:\"PersonalCampaignPages\";s:3:\"url\";s:49:\"/civicrm/admin/pcp?context=contribute&amp;reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:34:\"{weight}.Manage Contribution Pages\";a:6:{s:5:\"title\";s:25:\"Manage Contribution Pages\";s:4:\"desc\";s:242:\"CiviContribute allows you to create and maintain any number of Online Contribution Pages. You can create different pages for different programs or campaigns - and customize text, amounts, types of information collected from contributors, etc.\";s:2:\"id\";s:23:\"ManageContributionPages\";s:3:\"url\";s:33:\"/civicrm/admin/contribute?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:24:\"{weight}.Manage Premiums\";a:6:{s:5:\"title\";s:15:\"Manage Premiums\";s:4:\"desc\";s:175:\"CiviContribute allows you to configure any number of Premiums which can be offered to contributors as incentives / thank-you gifts. Define the premiums you want to offer here.\";s:2:\"id\";s:14:\"ManagePremiums\";s:3:\"url\";s:48:\"/civicrm/admin/contribute/managePremiums?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:24:\"{weight}.Financial Types\";a:6:{s:5:\"title\";s:15:\"Financial Types\";s:4:\"desc\";s:64:\"Formerly civicrm_contribution_type merged into this table in 4.1\";s:2:\"id\";s:14:\"FinancialTypes\";s:3:\"url\";s:46:\"/civicrm/admin/financial/financialType?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:27:\"{weight}.Financial Accounts\";a:6:{s:5:\"title\";s:18:\"Financial Accounts\";s:4:\"desc\";s:128:\"Financial types are used to categorize contributions for reporting and accounting purposes. These are also referred to as Funds.\";s:2:\"id\";s:17:\"FinancialAccounts\";s:3:\"url\";s:49:\"/civicrm/admin/financial/financialAccount?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:24:\"{weight}.Payment Methods\";a:6:{s:5:\"title\";s:15:\"Payment Methods\";s:4:\"desc\";s:224:\"You may choose to record the payment instrument used for each contribution. Common payment methods are installed by default (e.g. Check, Cash, Credit Card...). If your site requires additional payment methods, add them here.\";s:2:\"id\";s:14:\"PaymentMethods\";s:3:\"url\";s:49:\"/civicrm/admin/options/payment_instrument?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:30:\"{weight}.Accepted Credit Cards\";a:6:{s:5:\"title\";s:21:\"Accepted Credit Cards\";s:4:\"desc\";s:94:\"Credit card options that will be offered to contributors using your Online Contribution pages.\";s:2:\"id\";s:19:\"AcceptedCreditCards\";s:3:\"url\";s:48:\"/civicrm/admin/options/accept_creditcard?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:26:\"{weight}.Soft Credit Types\";a:6:{s:5:\"title\";s:17:\"Soft Credit Types\";s:4:\"desc\";s:86:\"Soft Credit Types that will be offered to contributors during soft credit contribution\";s:2:\"id\";s:15:\"SoftCreditTypes\";s:3:\"url\";s:47:\"/civicrm/admin/options/soft_credit_type?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:42:\"{weight}.CiviContribute Component Settings\";a:6:{s:5:\"title\";s:33:\"CiviContribute Component Settings\";s:4:\"desc\";s:42:\"Configure global CiviContribute behaviors.\";s:2:\"id\";s:31:\"CiviContributeComponentSettings\";s:3:\"url\";s:53:\"/civicrm/admin/setting/preferences/contribute?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}}}s:8:\"CiviCase\";a:2:{s:12:\"component_id\";N;s:6:\"fields\";a:5:{s:26:\"{weight}.CiviCase Settings\";a:6:{s:5:\"title\";s:17:\"CiviCase Settings\";s:4:\"desc\";N;s:2:\"id\";s:16:\"CiviCaseSettings\";s:3:\"url\";s:35:\"/civicrm/admin/setting/case?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:19:\"{weight}.Case Types\";a:6:{s:5:\"title\";s:10:\"Case Types\";s:4:\"desc\";s:137:\"List of types which can be assigned to Cases. (Enable the Cases tab from System Settings - Enable Components if you want to track cases.)\";s:2:\"id\";s:9:\"CaseTypes\";s:3:\"url\";s:40:\"/civicrm/admin/options/case_type?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:24:\"{weight}.Redaction Rules\";a:6:{s:5:\"title\";s:15:\"Redaction Rules\";s:4:\"desc\";s:223:\"List of rules which can be applied to user input strings so that the redacted output can be recognized as repeated instances of the same string or can be identified as a \"semantic type of the data element\" within case data.\";s:2:\"id\";s:14:\"RedactionRules\";s:3:\"url\";s:45:\"/civicrm/admin/options/redaction_rule?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:22:\"{weight}.Case Statuses\";a:6:{s:5:\"title\";s:13:\"Case Statuses\";s:4:\"desc\";s:48:\"List of statuses that can be assigned to a case.\";s:2:\"id\";s:12:\"CaseStatuses\";s:3:\"url\";s:42:\"/civicrm/admin/options/case_status?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:26:\"{weight}.Encounter Mediums\";a:6:{s:5:\"title\";s:17:\"Encounter Mediums\";s:4:\"desc\";s:26:\"List of encounter mediums.\";s:2:\"id\";s:16:\"EncounterMediums\";s:3:\"url\";s:47:\"/civicrm/admin/options/encounter_medium?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}}}s:10:\"CiviReport\";a:2:{s:12:\"component_id\";N;s:6:\"fields\";a:3:{s:40:\"{weight}.Create New Report from Template\";a:6:{s:5:\"title\";s:31:\"Create New Report from Template\";s:4:\"desc\";s:49:\"Component wise listing of all available templates\";s:2:\"id\";s:27:\"CreateNewReportfromTemplate\";s:3:\"url\";s:43:\"/civicrm/admin/report/template/list?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:25:\"{weight}.Manage Templates\";a:6:{s:5:\"title\";s:16:\"Manage Templates\";s:4:\"desc\";s:45:\"Browse, Edit and Delete the Report templates.\";s:2:\"id\";s:15:\"ManageTemplates\";s:3:\"url\";s:53:\"/civicrm/admin/report/options/report_template?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}s:24:\"{weight}.Reports Listing\";a:6:{s:5:\"title\";s:15:\"Reports Listing\";s:4:\"desc\";s:60:\"Browse existing report, change report criteria and settings.\";s:2:\"id\";s:14:\"ReportsListing\";s:3:\"url\";s:34:\"/civicrm/admin/report/list?reset=1\";s:4:\"icon\";N;s:5:\"extra\";N;}}}}',NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,1,1,NULL,'a:0:{}');
 /*!40000 ALTER TABLE `civicrm_menu` ENABLE KEYS */;
 UNLOCK TABLES;
 
@@ -5269,70 +5226,70 @@ UNLOCK TABLES;
 LOCK TABLES `civicrm_msg_template` WRITE;
 /*!40000 ALTER TABLE `civicrm_msg_template` DISABLE KEYS */;
 INSERT INTO `civicrm_msg_template` (`id`, `msg_title`, `msg_subject`, `msg_text`, `msg_html`, `is_active`, `workflow_id`, `workflow_name`, `is_default`, `is_reserved`, `is_sms`, `pdf_format_id`) VALUES
- (1,'Cases - Send Copy of an Activity','{if !empty($idHash)}[case #{$idHash}]{/if} {$activitySubject}\n','===========================================================\n{ts}Activity Summary{/ts} - {$activityTypeName}\n===========================================================\n{if !empty($isCaseActivity)}\n{ts}Your Case Role(s){/ts} : {$contact.role|default:\'\'}\n{if !empty($manageCaseURL)}\n{ts}Manage Case{/ts} : {$manageCaseURL}\n{/if}\n{/if}\n\n{if !empty($editActURL)}\n{ts}Edit activity{/ts} : {$editActURL}\n{/if}\n{if !empty($viewActURL)}\n{ts}View activity{/ts} : {$viewActURL}\n{/if}\n\n{foreach from=$activity.fields item=field}\n{if $field.type eq \'Date\'}\n{$field.label}{if !empty($field.category)}({$field.category}){/if} : {$field.value|crmDate:$config->dateformatDatetime}\n{else}\n{$field.label}{if !empty($field.category)}({$field.category}){/if} : {$field.value}\n{/if}\n{/foreach}\n\n{if !empty($activity.customGroups)}\n{foreach from=$activity.customGroups key=customGroupName item=customGroup}\n==========================================================\n{$customGroupName}\n==========================================================\n{foreach from=$customGroup item=field}\n{if $field.type eq \'Date\'}\n{$field.label} : {$field.value|crmDate:$config->dateformatDatetime}\n{else}\n{$field.label} : {$field.value}\n{/if}\n{/foreach}\n\n{/foreach}\n{/if}\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n  {capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n  {capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n  {capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n    <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n    <!-- BEGIN HEADER -->\n    <!-- You can add table row(s) here with logo or other header elements -->\n    <!-- END HEADER -->\n\n    <!-- BEGIN CONTENT -->\n\n      <tr>\n        <td>\n          <table style=\"border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse; width:100%;\">\n            <tr>\n              <th {$headerStyle}>\n                {ts}Activity Summary{/ts} - {$activityTypeName}\n              </th>\n            </tr>\n            {if !empty($isCaseActivity)}\n              <tr>\n                <td {$labelStyle}>\n                  {ts}Your Case Role(s){/ts}\n                </td>\n                <td {$valueStyle}>\n                  {$contact.role|default:\'\'}\n                </td>\n              </tr>\n              {if !empty($manageCaseURL)}\n                <tr>\n                  <td colspan=\"2\" {$valueStyle}>\n                    <a href=\"{$manageCaseURL}\" title=\"{ts}Manage Case{/ts}\">{ts}Manage Case{/ts}</a>\n                  </td>\n                </tr>\n              {/if}\n            {/if}\n            {if !empty($editActURL)}\n              <tr>\n                <td colspan=\"2\" {$valueStyle}>\n                  <a href=\"{$editActURL}\" title=\"{ts}Edit activity{/ts}\">{ts}Edit activity{/ts}</a>\n                </td>\n              </tr>\n            {/if}\n            {if !empty($viewActURL)}\n              <tr>\n                <td colspan=\"2\" {$valueStyle}>\n                  <a href=\"{$viewActURL}\" title=\"{ts}View activity{/ts}\">{ts}View activity{/ts}</a>\n                </td>\n              </tr>\n            {/if}\n            {foreach from=$activity.fields item=field}\n              <tr>\n                <td {$labelStyle}>\n                  {$field.label}{if !empty($field.category)}({$field.category}){/if}\n                </td>\n                <td {$valueStyle}>\n                  {if $field.type eq \'Date\'}\n                    {$field.value|crmDate:$config->dateformatDatetime}\n                  {else}\n                    {$field.value}\n                  {/if}\n                </td>\n              </tr>\n            {/foreach}\n\n            {if !empty($activity.customGroups)}\n              {foreach from=$activity.customGroups key=customGroupName item=customGroup}\n                <tr>\n                  <th {$headerStyle}>\n                    {$customGroupName}\n                  </th>\n                </tr>\n                {foreach from=$customGroup item=field}\n                  <tr>\n                    <td {$labelStyle}>\n                      {$field.label}\n                    </td>\n                    <td {$valueStyle}>\n                      {if $field.type eq \'Date\'}\n                        {$field.value|crmDate:$config->dateformatDatetime}\n                      {else}\n                        {$field.value}\n                      {/if}\n                    </td>\n                  </tr>\n                {/foreach}\n              {/foreach}\n            {/if}\n          </table>\n        </td>\n      </tr>\n    </table>\n</body>\n</html>\n',1,828,'case_activity',1,0,0,NULL),
- (2,'Cases - Send Copy of an Activity','{if !empty($idHash)}[case #{$idHash}]{/if} {$activitySubject}\n','===========================================================\n{ts}Activity Summary{/ts} - {$activityTypeName}\n===========================================================\n{if !empty($isCaseActivity)}\n{ts}Your Case Role(s){/ts} : {$contact.role|default:\'\'}\n{if !empty($manageCaseURL)}\n{ts}Manage Case{/ts} : {$manageCaseURL}\n{/if}\n{/if}\n\n{if !empty($editActURL)}\n{ts}Edit activity{/ts} : {$editActURL}\n{/if}\n{if !empty($viewActURL)}\n{ts}View activity{/ts} : {$viewActURL}\n{/if}\n\n{foreach from=$activity.fields item=field}\n{if $field.type eq \'Date\'}\n{$field.label}{if !empty($field.category)}({$field.category}){/if} : {$field.value|crmDate:$config->dateformatDatetime}\n{else}\n{$field.label}{if !empty($field.category)}({$field.category}){/if} : {$field.value}\n{/if}\n{/foreach}\n\n{if !empty($activity.customGroups)}\n{foreach from=$activity.customGroups key=customGroupName item=customGroup}\n==========================================================\n{$customGroupName}\n==========================================================\n{foreach from=$customGroup item=field}\n{if $field.type eq \'Date\'}\n{$field.label} : {$field.value|crmDate:$config->dateformatDatetime}\n{else}\n{$field.label} : {$field.value}\n{/if}\n{/foreach}\n\n{/foreach}\n{/if}\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n  {capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n  {capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n  {capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n    <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n    <!-- BEGIN HEADER -->\n    <!-- You can add table row(s) here with logo or other header elements -->\n    <!-- END HEADER -->\n\n    <!-- BEGIN CONTENT -->\n\n      <tr>\n        <td>\n          <table style=\"border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse; width:100%;\">\n            <tr>\n              <th {$headerStyle}>\n                {ts}Activity Summary{/ts} - {$activityTypeName}\n              </th>\n            </tr>\n            {if !empty($isCaseActivity)}\n              <tr>\n                <td {$labelStyle}>\n                  {ts}Your Case Role(s){/ts}\n                </td>\n                <td {$valueStyle}>\n                  {$contact.role|default:\'\'}\n                </td>\n              </tr>\n              {if !empty($manageCaseURL)}\n                <tr>\n                  <td colspan=\"2\" {$valueStyle}>\n                    <a href=\"{$manageCaseURL}\" title=\"{ts}Manage Case{/ts}\">{ts}Manage Case{/ts}</a>\n                  </td>\n                </tr>\n              {/if}\n            {/if}\n            {if !empty($editActURL)}\n              <tr>\n                <td colspan=\"2\" {$valueStyle}>\n                  <a href=\"{$editActURL}\" title=\"{ts}Edit activity{/ts}\">{ts}Edit activity{/ts}</a>\n                </td>\n              </tr>\n            {/if}\n            {if !empty($viewActURL)}\n              <tr>\n                <td colspan=\"2\" {$valueStyle}>\n                  <a href=\"{$viewActURL}\" title=\"{ts}View activity{/ts}\">{ts}View activity{/ts}</a>\n                </td>\n              </tr>\n            {/if}\n            {foreach from=$activity.fields item=field}\n              <tr>\n                <td {$labelStyle}>\n                  {$field.label}{if !empty($field.category)}({$field.category}){/if}\n                </td>\n                <td {$valueStyle}>\n                  {if $field.type eq \'Date\'}\n                    {$field.value|crmDate:$config->dateformatDatetime}\n                  {else}\n                    {$field.value}\n                  {/if}\n                </td>\n              </tr>\n            {/foreach}\n\n            {if !empty($activity.customGroups)}\n              {foreach from=$activity.customGroups key=customGroupName item=customGroup}\n                <tr>\n                  <th {$headerStyle}>\n                    {$customGroupName}\n                  </th>\n                </tr>\n                {foreach from=$customGroup item=field}\n                  <tr>\n                    <td {$labelStyle}>\n                      {$field.label}\n                    </td>\n                    <td {$valueStyle}>\n                      {if $field.type eq \'Date\'}\n                        {$field.value|crmDate:$config->dateformatDatetime}\n                      {else}\n                        {$field.value}\n                      {/if}\n                    </td>\n                  </tr>\n                {/foreach}\n              {/foreach}\n            {/if}\n          </table>\n        </td>\n      </tr>\n    </table>\n</body>\n</html>\n',1,828,'case_activity',0,1,0,NULL),
- (3,'Contributions - Duplicate Organization Alert','{ts}CiviContribute Alert: Possible Duplicate Contact Record{/ts} - {contact.display_name}\n','{ts}A contribution / membership signup was made on behalf of the organization listed below.{/ts}\n{ts}The information provided matched multiple existing database records based on the configured Duplicate Matching Rules for your site.{/ts}\n\n{ts}Organization Name{/ts}: {$onBehalfName}\n{ts}Organization Email{/ts}: {$onBehalfEmail}\n{ts}Organization Contact ID{/ts}: {$onBehalfID}\n\n{ts}If you think this may be a duplicate contact which should be merged with an existing record - Go to \"Contacts >> Find and Merge Duplicate Contacts\". Use the strict rule for Organizations to find the potential duplicates and merge them if appropriate.{/ts}\n\n{if $receiptMessage}\n###########################################################\n{ts}Copy of Contribution Receipt{/ts}\n\n###########################################################\n{$receiptMessage}\n\n{/if}\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n    <p>{ts}A contribution / membership signup was made on behalf of the organization listed below.{/ts}</p>\n    <p>{ts}The information provided matched multiple existing database records based on the configured Duplicate Matching Rules for your site.{/ts}</p>\n   </td>\n  </tr>\n  <tr>\n   <td>\n    <table style=\"border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse; width:100%;\">\n     <tr>\n      <td {$labelStyle}>\n       {ts}Organization Name{/ts}\n      </td>\n      <td {$valueStyle}>\n       {$onBehalfName}\n      </td>\n     </tr>\n     <tr>\n      <td {$labelStyle}>\n       {ts}Organization Email{/ts}\n      </td>\n      <td {$valueStyle}>\n       {$onBehalfEmail}\n      </td>\n     </tr>\n     <tr>\n      <td {$labelStyle}>\n       {ts}Organization Contact ID{/ts}\n      </td>\n      <td {$valueStyle}>\n       {$onBehalfID}\n      </td>\n     </tr>\n    </table>\n   </td>\n  </tr>\n  <tr>\n   <td>\n    <p>{ts}If you think this may be a duplicate contact which should be merged with an existing record - Go to \"Contacts >> Find and Merge Duplicate Contacts\". Use the strict rule for Organizations to find the potential duplicates and merge them if appropriate.{/ts}</p>\n   </td>\n  </tr>\n  {if $receiptMessage}\n   <tr>\n    <td>\n     <table style=\"border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse; width:100%;\">\n      <tr>\n       <th {$headerStyle}>\n        {ts}Copy of Contribution Receipt{/ts}\n       </th>\n      </tr>\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n        {* FIXME: the below is most probably not HTML-ised *}\n        {$receiptMessage}\n       </td>\n      </tr>\n     </table>\n    </td>\n   </tr>\n  {/if}\n </table>\n</body>\n</html>\n',1,829,'contribution_dupalert',1,0,0,NULL),
- (4,'Contributions - Duplicate Organization Alert','{ts}CiviContribute Alert: Possible Duplicate Contact Record{/ts} - {contact.display_name}\n','{ts}A contribution / membership signup was made on behalf of the organization listed below.{/ts}\n{ts}The information provided matched multiple existing database records based on the configured Duplicate Matching Rules for your site.{/ts}\n\n{ts}Organization Name{/ts}: {$onBehalfName}\n{ts}Organization Email{/ts}: {$onBehalfEmail}\n{ts}Organization Contact ID{/ts}: {$onBehalfID}\n\n{ts}If you think this may be a duplicate contact which should be merged with an existing record - Go to \"Contacts >> Find and Merge Duplicate Contacts\". Use the strict rule for Organizations to find the potential duplicates and merge them if appropriate.{/ts}\n\n{if $receiptMessage}\n###########################################################\n{ts}Copy of Contribution Receipt{/ts}\n\n###########################################################\n{$receiptMessage}\n\n{/if}\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n    <p>{ts}A contribution / membership signup was made on behalf of the organization listed below.{/ts}</p>\n    <p>{ts}The information provided matched multiple existing database records based on the configured Duplicate Matching Rules for your site.{/ts}</p>\n   </td>\n  </tr>\n  <tr>\n   <td>\n    <table style=\"border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse; width:100%;\">\n     <tr>\n      <td {$labelStyle}>\n       {ts}Organization Name{/ts}\n      </td>\n      <td {$valueStyle}>\n       {$onBehalfName}\n      </td>\n     </tr>\n     <tr>\n      <td {$labelStyle}>\n       {ts}Organization Email{/ts}\n      </td>\n      <td {$valueStyle}>\n       {$onBehalfEmail}\n      </td>\n     </tr>\n     <tr>\n      <td {$labelStyle}>\n       {ts}Organization Contact ID{/ts}\n      </td>\n      <td {$valueStyle}>\n       {$onBehalfID}\n      </td>\n     </tr>\n    </table>\n   </td>\n  </tr>\n  <tr>\n   <td>\n    <p>{ts}If you think this may be a duplicate contact which should be merged with an existing record - Go to \"Contacts >> Find and Merge Duplicate Contacts\". Use the strict rule for Organizations to find the potential duplicates and merge them if appropriate.{/ts}</p>\n   </td>\n  </tr>\n  {if $receiptMessage}\n   <tr>\n    <td>\n     <table style=\"border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse; width:100%;\">\n      <tr>\n       <th {$headerStyle}>\n        {ts}Copy of Contribution Receipt{/ts}\n       </th>\n      </tr>\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n        {* FIXME: the below is most probably not HTML-ised *}\n        {$receiptMessage}\n       </td>\n      </tr>\n     </table>\n    </td>\n   </tr>\n  {/if}\n </table>\n</body>\n</html>\n',1,829,'contribution_dupalert',0,1,0,NULL),
- (5,'Contributions - Receipt (off-line)','{ts}Contribution Receipt{/ts} - {contact.display_name}\n','{assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}{$greeting},{/if}\n\n{if !empty($formValues.receipt_text)}\n{$formValues.receipt_text}\n{else}{ts}Below you will find a receipt for this contribution.{/ts}{/if}\n\n===========================================================\n{ts}Contribution Information{/ts}\n\n===========================================================\n{ts}Contributor{/ts}: {contact.display_name}\n{if !empty($formValues.contributionType_name)}\n{ts}Financial Type{/ts}: {$formValues.contributionType_name}\n{/if}\n{if $lineItem}\n{foreach from=$lineItem item=value key=priceset}\n---------------------------------------------------------\n{capture assign=ts_item}{ts}Item{/ts}{/capture}\n{capture assign=ts_qty}{ts}Qty{/ts}{/capture}\n{capture assign=ts_each}{ts}Each{/ts}{/capture}\n{if !empty($getTaxDetails)}\n{capture assign=ts_subtotal}{ts}Subtotal{/ts}{/capture}\n{capture assign=ts_taxRate}{ts}Tax Rate{/ts}{/capture}\n{capture assign=ts_taxAmount}{ts}Tax Amount{/ts}{/capture}\n{/if}\n{capture assign=ts_total}{ts}Total{/ts}{/capture}\n{$ts_item|string_format:\"%-30s\"} {$ts_qty|string_format:\"%5s\"} {$ts_each|string_format:\"%10s\"} {if !empty($getTaxDetails)} {$ts_subtotal|string_format:\"%10s\"} {$ts_taxRate} {$ts_taxAmount|string_format:\"%10s\"} {/if} {$ts_total|string_format:\"%10s\"}\n----------------------------------------------------------\n{foreach from=$value item=line}\n{capture assign=ts_item}{if $line.html_type eq \'Text\'}{$line.label}{else}{$line.field_title} - {$line.label}{/if} {if $line.description} {$line.description}{/if}{/capture}{$ts_item|truncate:30:\"...\"|string_format:\"%-30s\"} {$line.qty|string_format:\"%5s\"} {$line.unit_price|crmMoney:$currency|string_format:\"%10s\"} {if !empty($getTaxDetails)}{$line.unit_price*$line.qty|crmMoney:$currency|string_format:\"%10s\"} {if isset($line.tax_rate) and ($line.tax_rate != \"\" || $line.tax_amount != \"\")} {$line.tax_rate|string_format:\"%.2f\"} %   {$line.tax_amount|crmMoney:$currency|string_format:\"%10s\"} {else}                  {/if} {/if}   {$line.line_total+$line.tax_amount|crmMoney:$currency|string_format:\"%10s\"}\n{/foreach}\n{/foreach}\n{/if}\n\n{if !empty($getTaxDetails) && !empty($dataArray)}\n{ts}Amount before Tax{/ts} : {$formValues.total_amount-$totalTaxAmount|crmMoney:$currency}\n\n{foreach from=$dataArray item=value key=priceset}\n{if $priceset ||  $priceset == 0 || $value != \'\'}\n{if isset($taxTerm)}{$taxTerm}{/if} {$priceset|string_format:\"%.2f\"}% : {$value|crmMoney:$currency}\n{else}\n{ts}No{/ts} {if isset($taxTerm)}{$taxTerm}{/if} : {$value|crmMoney:$currency}\n{/if}\n{/foreach}\n{/if}\n\n{if isset($totalTaxAmount) && $totalTaxAmount !== \'null\'}\n{ts}Total Tax Amount{/ts} : {$totalTaxAmount|crmMoney:$currency}\n{/if}\n{ts}Total Amount{/ts} : {$formValues.total_amount|crmMoney:$currency}\n{if !empty($receive_date)}\n{ts}Date Received{/ts}: {$receive_date|truncate:10:\'\'|crmDate}\n{/if}\n{if !empty($receipt_date)}\n{ts}Receipt Date{/ts}: {$receipt_date|truncate:10:\'\'|crmDate}\n{/if}\n{if !empty($formValues.paidBy) and empty($formValues.hidden_CreditCard)}\n{ts}Paid By{/ts}: {$formValues.paidBy}\n{if !empty($formValues.check_number)}\n{ts}Check Number{/ts}: {$formValues.check_number}\n{/if}\n{/if}\n{if !empty($formValues.trxn_id)}\n{ts}Transaction ID{/ts}: {$formValues.trxn_id}\n{/if}\n\n{if !empty($ccContribution)}\n===========================================================\n{ts}Billing Name and Address{/ts}\n\n===========================================================\n{$billingName}\n{$address}\n\n===========================================================\n{ts}Credit Card Information{/ts}\n\n===========================================================\n{$credit_card_type}\n{$credit_card_number}\n{ts}Expires{/ts}: {$credit_card_exp_date|truncate:7:\'\'|crmDate}\n{/if}\n{if !empty($customGroup)}\n{foreach from=$customGroup item=value key=customName}\n===========================================================\n{$customName}\n===========================================================\n{foreach from=$value item=v key=n}\n{$n}: {$v}\n{/foreach}\n{/foreach}\n{/if}\n\n{if !empty($softCreditTypes) and !empty($softCredits)}\n{foreach from=$softCreditTypes item=softCreditType key=n}\n===========================================================\n{$softCreditType}\n===========================================================\n{foreach from=$softCredits.$n item=value key=label}\n{$label}: {$value}\n{/foreach}\n{/foreach}\n{/if}\n\n{if !empty($formValues.product_name)}\n===========================================================\n{ts}Premium Information{/ts}\n\n===========================================================\n{$formValues.product_name}\n{if $formValues.product_option}\n{ts}Option{/ts}: {$formValues.product_option}\n{/if}\n{if $formValues.product_sku}\n{ts}SKU{/ts}: {$formValues.product_sku}\n{/if}\n{if !empty($fulfilled_date)}\n{ts}Sent{/ts}: {$fulfilled_date|crmDate}\n{/if}\n{/if}\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n    {assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}<p>{$greeting},</p>{/if}\n    {if !empty($formValues.receipt_text)}\n     <p>{$formValues.receipt_text|htmlize}</p>\n    {else}\n     <p>{ts}Below you will find a receipt for this contribution.{/ts}</p>\n    {/if}\n   </td>\n  </tr>\n  <tr>\n   <td>\n    <table style=\"border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse; width:100%;\">\n     <tr>\n      <th {$headerStyle}>\n       {ts}Contribution Information{/ts}\n      </th>\n     </tr>\n     <tr>\n      <td {$labelStyle}>\n       {ts}Contributor Name{/ts}\n      </td>\n      <td {$valueStyle}>\n       {contact.display_name}\n      </td>\n     </tr>\n     <tr>\n      {if !empty($formValues.contributionType_name)}\n        <td {$labelStyle}>\n         {ts}Financial Type{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$formValues.contributionType_name}\n        </td>\n      {/if}\n     </tr>\n\n     {if !empty($lineItem) and empty($is_quick_config)}\n      {foreach from=$lineItem item=value key=priceset}\n       <tr>\n        <td colspan=\"2\" {$valueStyle}>\n         <table> {* FIXME: style this table so that it looks like the text version (justification, etc.) *}\n          <tr>\n           <th>{ts}Item{/ts}</th>\n           <th>{ts}Qty{/ts}</th>\n           <th>{ts}Each{/ts}</th>\n           {if !empty($getTaxDetails)}\n             <th>{ts}Subtotal{/ts}</th>\n             <th>{ts}Tax Rate{/ts}</th>\n             <th>{ts}Tax Amount{/ts}</th>\n           {/if}\n           <th>{ts}Total{/ts}</th>\n          </tr>\n          {foreach from=$value item=line}\n           <tr>\n            <td>\n            {if $line.html_type eq \'Text\'}{$line.label}{else}{$line.field_title} - {$line.label}{/if} {if $line.description}<div>{$line.description|truncate:30:\"...\"}</div>{/if}\n            </td>\n            <td>\n             {$line.qty}\n            </td>\n            <td>\n             {$line.unit_price|crmMoney:$currency}\n            </td>\n            {if !empty($getTaxDetails)}\n              <td>\n                {$line.unit_price*$line.qty|crmMoney:$currency}\n              </td>\n              {if isset($line.tax_rate) and ($line.tax_rate != \"\" || $line.tax_amount != \"\")}\n                <td>\n                  {$line.tax_rate|string_format:\"%.2f\"}%\n                </td>\n                <td>\n                  {$line.tax_amount|crmMoney:$currency}\n                </td>\n              {else}\n                <td></td>\n                <td></td>\n              {/if}\n            {/if}\n            <td>\n             {$line.line_total+$line.tax_amount|crmMoney:$currency}\n            </td>\n           </tr>\n          {/foreach}\n         </table>\n        </td>\n       </tr>\n      {/foreach}\n     {/if}\n     {if !empty($getTaxDetails) && !empty($dataArray)}\n       <tr>\n         <td {$labelStyle}>\n           {ts} Amount before Tax : {/ts}\n         </td>\n         <td {$valueStyle}>\n           {$formValues.total_amount-$totalTaxAmount|crmMoney:$currency}\n         </td>\n       </tr>\n\n      {foreach from=$dataArray item=value key=priceset}\n        <tr>\n        {if $priceset ||  $priceset == 0 || $value != \'\'}\n          <td>&nbsp;{if isset($taxTerm)}{$taxTerm}{/if} {$priceset|string_format:\"%.2f\"}%</td>\n          <td>&nbsp;{$value|crmMoney:$currency}</td>\n        {else}\n          <td>&nbsp;{ts}No{/ts} {if isset($taxTerm)}{$taxTerm}{/if}</td>\n          <td>&nbsp;{$value|crmMoney:$currency}</td>\n        {/if}\n        </tr>\n      {/foreach}\n     {/if}\n\n     {if isset($totalTaxAmount) && $totalTaxAmount !== \'null\'}\n      <tr>\n        <td {$labelStyle}>\n          {ts}Total Tax Amount{/ts}\n        </td>\n        <td {$valueStyle}>\n          {$totalTaxAmount|crmMoney:$currency}\n        </td>\n      </tr>\n     {/if}\n\n     <tr>\n      <td {$labelStyle}>\n       {ts}Total Amount{/ts}\n      </td>\n      <td {$valueStyle}>\n       {$formValues.total_amount|crmMoney:$currency}\n      </td>\n     </tr>\n\n     {if !empty($receive_date)}\n      <tr>\n       <td {$labelStyle}>\n        {ts}Date Received{/ts}\n       </td>\n       <td {$valueStyle}>\n        {$receive_date|truncate:10:\'\'|crmDate}\n       </td>\n      </tr>\n     {/if}\n\n      {if !empty($receipt_date)}\n      <tr>\n       <td {$labelStyle}>\n        {ts}Receipt Date{/ts}\n       </td>\n       <td {$valueStyle}>\n        {$receipt_date|truncate:10:\'\'|crmDate}\n       </td>\n      </tr>\n     {/if}\n\n     {if !empty($formValues.paidBy) and empty($formValues.hidden_CreditCard)}\n      <tr>\n       <td {$labelStyle}>\n        {ts}Paid By{/ts}\n       </td>\n       <td {$valueStyle}>\n        {$formValues.paidBy}\n       </td>\n      </tr>\n      {if !empty($formValues.check_number)}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Check Number{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$formValues.check_number}\n        </td>\n       </tr>\n      {/if}\n     {/if}\n\n     {if !empty($formValues.trxn_id)}\n      <tr>\n       <td {$labelStyle}>\n        {ts}Transaction ID{/ts}\n       </td>\n       <td {$valueStyle}>\n        {$formValues.trxn_id}\n       </td>\n      </tr>\n     {/if}\n\n     {if !empty($ccContribution)}\n      <tr>\n       <th {$headerStyle}>\n        {ts}Billing Name and Address{/ts}\n       </th>\n      </tr>\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n        {$billingName}<br />\n        {$address|nl2br}\n       </td>\n      </tr>\n      <tr>\n       <th {$headerStyle}>\n        {ts}Credit Card Information{/ts}\n       </th>\n      </tr>\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n        {$credit_card_type}<br />\n        {$credit_card_number}<br />\n        {ts}Expires{/ts}: {$credit_card_exp_date|truncate:7:\'\'|crmDate}\n       </td>\n      </tr>\n     {/if}\n\n     {if !empty($softCreditTypes) and !empty($softCredits)}\n      {foreach from=$softCreditTypes item=softCreditType key=n}\n       <tr>\n        <th {$headerStyle}>\n         {$softCreditType}\n        </th>\n       </tr>\n       {foreach from=$softCredits.$n item=value key=label}\n         <tr>\n          <td {$labelStyle}>\n           {$label}\n          </td>\n          <td {$valueStyle}>\n           {$value}\n          </td>\n         </tr>\n        {/foreach}\n       {/foreach}\n     {/if}\n\n     {if !empty($customGroup)}\n      {foreach from=$customGroup item=value key=customName}\n       <tr>\n        <th {$headerStyle}>\n         {$customName}\n        </th>\n       </tr>\n       {foreach from=$value item=v key=n}\n        <tr>\n         <td {$labelStyle}>\n          {$n}\n         </td>\n         <td {$valueStyle}>\n          {$v}\n         </td>\n        </tr>\n       {/foreach}\n      {/foreach}\n     {/if}\n\n     {if !empty($formValues.product_name)}\n      <tr>\n       <th {$headerStyle}>\n        {ts}Premium Information{/ts}\n       </th>\n      </tr>\n      <tr>\n       <td colspan=\"2\" {$labelStyle}>\n        {$formValues.product_name}\n       </td>\n      </tr>\n      {if $formValues.product_option}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Option{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$formValues.product_option}\n        </td>\n       </tr>\n      {/if}\n      {if $formValues.product_sku}\n       <tr>\n        <td {$labelStyle}>\n         {ts}SKU{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$formValues.product_sku}\n        </td>\n       </tr>\n      {/if}\n      {if !empty($fulfilled_date)}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Sent{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$fulfilled_date|truncate:10:\'\'|crmDate}\n        </td>\n       </tr>\n      {/if}\n     {/if}\n\n    </table>\n   </td>\n  </tr>\n\n </table>\n\n</body>\n</html>\n',1,830,'contribution_offline_receipt',1,0,0,NULL),
- (6,'Contributions - Receipt (off-line)','{ts}Contribution Receipt{/ts} - {contact.display_name}\n','{assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}{$greeting},{/if}\n\n{if !empty($formValues.receipt_text)}\n{$formValues.receipt_text}\n{else}{ts}Below you will find a receipt for this contribution.{/ts}{/if}\n\n===========================================================\n{ts}Contribution Information{/ts}\n\n===========================================================\n{ts}Contributor{/ts}: {contact.display_name}\n{if !empty($formValues.contributionType_name)}\n{ts}Financial Type{/ts}: {$formValues.contributionType_name}\n{/if}\n{if $lineItem}\n{foreach from=$lineItem item=value key=priceset}\n---------------------------------------------------------\n{capture assign=ts_item}{ts}Item{/ts}{/capture}\n{capture assign=ts_qty}{ts}Qty{/ts}{/capture}\n{capture assign=ts_each}{ts}Each{/ts}{/capture}\n{if !empty($getTaxDetails)}\n{capture assign=ts_subtotal}{ts}Subtotal{/ts}{/capture}\n{capture assign=ts_taxRate}{ts}Tax Rate{/ts}{/capture}\n{capture assign=ts_taxAmount}{ts}Tax Amount{/ts}{/capture}\n{/if}\n{capture assign=ts_total}{ts}Total{/ts}{/capture}\n{$ts_item|string_format:\"%-30s\"} {$ts_qty|string_format:\"%5s\"} {$ts_each|string_format:\"%10s\"} {if !empty($getTaxDetails)} {$ts_subtotal|string_format:\"%10s\"} {$ts_taxRate} {$ts_taxAmount|string_format:\"%10s\"} {/if} {$ts_total|string_format:\"%10s\"}\n----------------------------------------------------------\n{foreach from=$value item=line}\n{capture assign=ts_item}{if $line.html_type eq \'Text\'}{$line.label}{else}{$line.field_title} - {$line.label}{/if} {if $line.description} {$line.description}{/if}{/capture}{$ts_item|truncate:30:\"...\"|string_format:\"%-30s\"} {$line.qty|string_format:\"%5s\"} {$line.unit_price|crmMoney:$currency|string_format:\"%10s\"} {if !empty($getTaxDetails)}{$line.unit_price*$line.qty|crmMoney:$currency|string_format:\"%10s\"} {if isset($line.tax_rate) and ($line.tax_rate != \"\" || $line.tax_amount != \"\")} {$line.tax_rate|string_format:\"%.2f\"} %   {$line.tax_amount|crmMoney:$currency|string_format:\"%10s\"} {else}                  {/if} {/if}   {$line.line_total+$line.tax_amount|crmMoney:$currency|string_format:\"%10s\"}\n{/foreach}\n{/foreach}\n{/if}\n\n{if !empty($getTaxDetails) && !empty($dataArray)}\n{ts}Amount before Tax{/ts} : {$formValues.total_amount-$totalTaxAmount|crmMoney:$currency}\n\n{foreach from=$dataArray item=value key=priceset}\n{if $priceset ||  $priceset == 0 || $value != \'\'}\n{if isset($taxTerm)}{$taxTerm}{/if} {$priceset|string_format:\"%.2f\"}% : {$value|crmMoney:$currency}\n{else}\n{ts}No{/ts} {if isset($taxTerm)}{$taxTerm}{/if} : {$value|crmMoney:$currency}\n{/if}\n{/foreach}\n{/if}\n\n{if isset($totalTaxAmount) && $totalTaxAmount !== \'null\'}\n{ts}Total Tax Amount{/ts} : {$totalTaxAmount|crmMoney:$currency}\n{/if}\n{ts}Total Amount{/ts} : {$formValues.total_amount|crmMoney:$currency}\n{if !empty($receive_date)}\n{ts}Date Received{/ts}: {$receive_date|truncate:10:\'\'|crmDate}\n{/if}\n{if !empty($receipt_date)}\n{ts}Receipt Date{/ts}: {$receipt_date|truncate:10:\'\'|crmDate}\n{/if}\n{if !empty($formValues.paidBy) and empty($formValues.hidden_CreditCard)}\n{ts}Paid By{/ts}: {$formValues.paidBy}\n{if !empty($formValues.check_number)}\n{ts}Check Number{/ts}: {$formValues.check_number}\n{/if}\n{/if}\n{if !empty($formValues.trxn_id)}\n{ts}Transaction ID{/ts}: {$formValues.trxn_id}\n{/if}\n\n{if !empty($ccContribution)}\n===========================================================\n{ts}Billing Name and Address{/ts}\n\n===========================================================\n{$billingName}\n{$address}\n\n===========================================================\n{ts}Credit Card Information{/ts}\n\n===========================================================\n{$credit_card_type}\n{$credit_card_number}\n{ts}Expires{/ts}: {$credit_card_exp_date|truncate:7:\'\'|crmDate}\n{/if}\n{if !empty($customGroup)}\n{foreach from=$customGroup item=value key=customName}\n===========================================================\n{$customName}\n===========================================================\n{foreach from=$value item=v key=n}\n{$n}: {$v}\n{/foreach}\n{/foreach}\n{/if}\n\n{if !empty($softCreditTypes) and !empty($softCredits)}\n{foreach from=$softCreditTypes item=softCreditType key=n}\n===========================================================\n{$softCreditType}\n===========================================================\n{foreach from=$softCredits.$n item=value key=label}\n{$label}: {$value}\n{/foreach}\n{/foreach}\n{/if}\n\n{if !empty($formValues.product_name)}\n===========================================================\n{ts}Premium Information{/ts}\n\n===========================================================\n{$formValues.product_name}\n{if $formValues.product_option}\n{ts}Option{/ts}: {$formValues.product_option}\n{/if}\n{if $formValues.product_sku}\n{ts}SKU{/ts}: {$formValues.product_sku}\n{/if}\n{if !empty($fulfilled_date)}\n{ts}Sent{/ts}: {$fulfilled_date|crmDate}\n{/if}\n{/if}\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n    {assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}<p>{$greeting},</p>{/if}\n    {if !empty($formValues.receipt_text)}\n     <p>{$formValues.receipt_text|htmlize}</p>\n    {else}\n     <p>{ts}Below you will find a receipt for this contribution.{/ts}</p>\n    {/if}\n   </td>\n  </tr>\n  <tr>\n   <td>\n    <table style=\"border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse; width:100%;\">\n     <tr>\n      <th {$headerStyle}>\n       {ts}Contribution Information{/ts}\n      </th>\n     </tr>\n     <tr>\n      <td {$labelStyle}>\n       {ts}Contributor Name{/ts}\n      </td>\n      <td {$valueStyle}>\n       {contact.display_name}\n      </td>\n     </tr>\n     <tr>\n      {if !empty($formValues.contributionType_name)}\n        <td {$labelStyle}>\n         {ts}Financial Type{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$formValues.contributionType_name}\n        </td>\n      {/if}\n     </tr>\n\n     {if !empty($lineItem) and empty($is_quick_config)}\n      {foreach from=$lineItem item=value key=priceset}\n       <tr>\n        <td colspan=\"2\" {$valueStyle}>\n         <table> {* FIXME: style this table so that it looks like the text version (justification, etc.) *}\n          <tr>\n           <th>{ts}Item{/ts}</th>\n           <th>{ts}Qty{/ts}</th>\n           <th>{ts}Each{/ts}</th>\n           {if !empty($getTaxDetails)}\n             <th>{ts}Subtotal{/ts}</th>\n             <th>{ts}Tax Rate{/ts}</th>\n             <th>{ts}Tax Amount{/ts}</th>\n           {/if}\n           <th>{ts}Total{/ts}</th>\n          </tr>\n          {foreach from=$value item=line}\n           <tr>\n            <td>\n            {if $line.html_type eq \'Text\'}{$line.label}{else}{$line.field_title} - {$line.label}{/if} {if $line.description}<div>{$line.description|truncate:30:\"...\"}</div>{/if}\n            </td>\n            <td>\n             {$line.qty}\n            </td>\n            <td>\n             {$line.unit_price|crmMoney:$currency}\n            </td>\n            {if !empty($getTaxDetails)}\n              <td>\n                {$line.unit_price*$line.qty|crmMoney:$currency}\n              </td>\n              {if isset($line.tax_rate) and ($line.tax_rate != \"\" || $line.tax_amount != \"\")}\n                <td>\n                  {$line.tax_rate|string_format:\"%.2f\"}%\n                </td>\n                <td>\n                  {$line.tax_amount|crmMoney:$currency}\n                </td>\n              {else}\n                <td></td>\n                <td></td>\n              {/if}\n            {/if}\n            <td>\n             {$line.line_total+$line.tax_amount|crmMoney:$currency}\n            </td>\n           </tr>\n          {/foreach}\n         </table>\n        </td>\n       </tr>\n      {/foreach}\n     {/if}\n     {if !empty($getTaxDetails) && !empty($dataArray)}\n       <tr>\n         <td {$labelStyle}>\n           {ts} Amount before Tax : {/ts}\n         </td>\n         <td {$valueStyle}>\n           {$formValues.total_amount-$totalTaxAmount|crmMoney:$currency}\n         </td>\n       </tr>\n\n      {foreach from=$dataArray item=value key=priceset}\n        <tr>\n        {if $priceset ||  $priceset == 0 || $value != \'\'}\n          <td>&nbsp;{if isset($taxTerm)}{$taxTerm}{/if} {$priceset|string_format:\"%.2f\"}%</td>\n          <td>&nbsp;{$value|crmMoney:$currency}</td>\n        {else}\n          <td>&nbsp;{ts}No{/ts} {if isset($taxTerm)}{$taxTerm}{/if}</td>\n          <td>&nbsp;{$value|crmMoney:$currency}</td>\n        {/if}\n        </tr>\n      {/foreach}\n     {/if}\n\n     {if isset($totalTaxAmount) && $totalTaxAmount !== \'null\'}\n      <tr>\n        <td {$labelStyle}>\n          {ts}Total Tax Amount{/ts}\n        </td>\n        <td {$valueStyle}>\n          {$totalTaxAmount|crmMoney:$currency}\n        </td>\n      </tr>\n     {/if}\n\n     <tr>\n      <td {$labelStyle}>\n       {ts}Total Amount{/ts}\n      </td>\n      <td {$valueStyle}>\n       {$formValues.total_amount|crmMoney:$currency}\n      </td>\n     </tr>\n\n     {if !empty($receive_date)}\n      <tr>\n       <td {$labelStyle}>\n        {ts}Date Received{/ts}\n       </td>\n       <td {$valueStyle}>\n        {$receive_date|truncate:10:\'\'|crmDate}\n       </td>\n      </tr>\n     {/if}\n\n      {if !empty($receipt_date)}\n      <tr>\n       <td {$labelStyle}>\n        {ts}Receipt Date{/ts}\n       </td>\n       <td {$valueStyle}>\n        {$receipt_date|truncate:10:\'\'|crmDate}\n       </td>\n      </tr>\n     {/if}\n\n     {if !empty($formValues.paidBy) and empty($formValues.hidden_CreditCard)}\n      <tr>\n       <td {$labelStyle}>\n        {ts}Paid By{/ts}\n       </td>\n       <td {$valueStyle}>\n        {$formValues.paidBy}\n       </td>\n      </tr>\n      {if !empty($formValues.check_number)}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Check Number{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$formValues.check_number}\n        </td>\n       </tr>\n      {/if}\n     {/if}\n\n     {if !empty($formValues.trxn_id)}\n      <tr>\n       <td {$labelStyle}>\n        {ts}Transaction ID{/ts}\n       </td>\n       <td {$valueStyle}>\n        {$formValues.trxn_id}\n       </td>\n      </tr>\n     {/if}\n\n     {if !empty($ccContribution)}\n      <tr>\n       <th {$headerStyle}>\n        {ts}Billing Name and Address{/ts}\n       </th>\n      </tr>\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n        {$billingName}<br />\n        {$address|nl2br}\n       </td>\n      </tr>\n      <tr>\n       <th {$headerStyle}>\n        {ts}Credit Card Information{/ts}\n       </th>\n      </tr>\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n        {$credit_card_type}<br />\n        {$credit_card_number}<br />\n        {ts}Expires{/ts}: {$credit_card_exp_date|truncate:7:\'\'|crmDate}\n       </td>\n      </tr>\n     {/if}\n\n     {if !empty($softCreditTypes) and !empty($softCredits)}\n      {foreach from=$softCreditTypes item=softCreditType key=n}\n       <tr>\n        <th {$headerStyle}>\n         {$softCreditType}\n        </th>\n       </tr>\n       {foreach from=$softCredits.$n item=value key=label}\n         <tr>\n          <td {$labelStyle}>\n           {$label}\n          </td>\n          <td {$valueStyle}>\n           {$value}\n          </td>\n         </tr>\n        {/foreach}\n       {/foreach}\n     {/if}\n\n     {if !empty($customGroup)}\n      {foreach from=$customGroup item=value key=customName}\n       <tr>\n        <th {$headerStyle}>\n         {$customName}\n        </th>\n       </tr>\n       {foreach from=$value item=v key=n}\n        <tr>\n         <td {$labelStyle}>\n          {$n}\n         </td>\n         <td {$valueStyle}>\n          {$v}\n         </td>\n        </tr>\n       {/foreach}\n      {/foreach}\n     {/if}\n\n     {if !empty($formValues.product_name)}\n      <tr>\n       <th {$headerStyle}>\n        {ts}Premium Information{/ts}\n       </th>\n      </tr>\n      <tr>\n       <td colspan=\"2\" {$labelStyle}>\n        {$formValues.product_name}\n       </td>\n      </tr>\n      {if $formValues.product_option}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Option{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$formValues.product_option}\n        </td>\n       </tr>\n      {/if}\n      {if $formValues.product_sku}\n       <tr>\n        <td {$labelStyle}>\n         {ts}SKU{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$formValues.product_sku}\n        </td>\n       </tr>\n      {/if}\n      {if !empty($fulfilled_date)}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Sent{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$fulfilled_date|truncate:10:\'\'|crmDate}\n        </td>\n       </tr>\n      {/if}\n     {/if}\n\n    </table>\n   </td>\n  </tr>\n\n </table>\n\n</body>\n</html>\n',1,830,'contribution_offline_receipt',0,1,0,NULL),
- (7,'Contributions - Receipt (on-line)','{if $is_pay_later}{ts}Invoice{/ts}{else}{ts}Receipt{/ts}{/if} - {$title} - {contact.display_name}\n','{assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}{$greeting},{/if}\n{if !empty($receipt_text)}\n{$receipt_text}\n{/if}\n{if $is_pay_later}\n\n===========================================================\n{if isset($pay_later_receipt)}{$pay_later_receipt}{/if}\n===========================================================\n{/if}\n\n{if $amount}\n===========================================================\n{ts}Contribution Information{/ts}\n\n===========================================================\n{if $lineItem and $priceSetID and empty($is_quick_config)}\n{foreach from=$lineItem item=value key=priceset}\n---------------------------------------------------------\n{capture assign=ts_item}{ts}Item{/ts}{/capture}\n{capture assign=ts_qty}{ts}Qty{/ts}{/capture}\n{capture assign=ts_each}{ts}Each{/ts}{/capture}\n{if !empty($dataArray)}\n{capture assign=ts_subtotal}{ts}Subtotal{/ts}{/capture}\n{capture assign=ts_taxRate}{ts}Tax Rate{/ts}{/capture}\n{capture assign=ts_taxAmount}{ts}Tax Amount{/ts}{/capture}\n{/if}\n{capture assign=ts_total}{ts}Total{/ts}{/capture}\n{$ts_item|string_format:\"%-30s\"} {$ts_qty|string_format:\"%5s\"} {$ts_each|string_format:\"%10s\"} {if !empty($dataArray)} {$ts_subtotal|string_format:\"%10s\"} {$ts_taxRate} {$ts_taxAmount|string_format:\"%10s\"} {/if} {$ts_total|string_format:\"%10s\"}\n----------------------------------------------------------\n{foreach from=$value item=line}\n{capture assign=ts_item}{if $line.html_type eq \'Text\'}{$line.label}{else}{$line.field_title} - {$line.label}{/if} {if $line.description} {$line.description}{/if}{/capture}{$ts_item|truncate:30:\"...\"|string_format:\"%-30s\"} {$line.qty|string_format:\"%5s\"} {$line.unit_price|crmMoney:$currency|string_format:\"%10s\"} {if !empty($dataArray)}{$line.unit_price*$line.qty|crmMoney:$currency|string_format:\"%10s\"} {if isset($line.tax_rate) and ($line.tax_rate != \"\" || $line.tax_amount != \"\")}  {$line.tax_rate|string_format:\"%.2f\"} %  {$line.tax_amount|crmMoney:$currency|string_format:\"%10s\"} {else}                  {/if}  {/if} {$line.line_total+$line.tax_amount|crmMoney:$currency|string_format:\"%10s\"}\n{/foreach}\n{/foreach}\n\n{if !empty($dataArray)}\n{ts}Amount before Tax{/ts}: {$amount-$totalTaxAmount|crmMoney:$currency}\n\n{foreach from=$dataArray item=value key=priceset}\n{if $priceset || $priceset == 0}\n{if isset($taxTerm)}{$taxTerm}{/if} {$priceset|string_format:\"%.2f\"}%: {$value|crmMoney:$currency}\n{else}\n{ts}No{/ts} {if isset($taxTerm)}{$taxTerm}{/if}: {$value|crmMoney:$currency}\n{/if}\n{/foreach}\n{/if}\n\n{if isset($totalTaxAmount)}\n{ts}Total Tax Amount{/ts}: {$totalTaxAmount|crmMoney:$currency}\n{/if}\n\n{ts}Total Amount{/ts}: {$amount|crmMoney:$currency}\n{else}\n{ts}Amount{/ts}: {$amount|crmMoney:$currency} {if isset($amount_level) } - {$amount_level} {/if}\n{/if}\n{/if}\n{if !empty($receive_date)}\n\n{ts}Date{/ts}: {$receive_date|crmDate}\n{/if}\n{if !empty($is_monetary) and !empty($trxn_id)}\n{ts}Transaction #{/ts}: {$trxn_id}\n{/if}\n\n{if !empty($is_recur)}\n{ts}This is a recurring contribution.{/ts}\n\n{if $cancelSubscriptionUrl}\n{ts}You can cancel future contributions at:{/ts}\n\n{$cancelSubscriptionUrl}\n\n{/if}\n\n{if $updateSubscriptionBillingUrl}\n{ts}You can update billing details for this recurring contribution at:{/ts}\n\n{$updateSubscriptionBillingUrl}\n\n{/if}\n\n{if $updateSubscriptionUrl}\n{ts}You can update recurring contribution amount or change the number of installments for this recurring contribution at:{/ts}\n\n{$updateSubscriptionUrl}\n\n{/if}\n{/if}\n\n{if $honor_block_is_active}\n===========================================================\n{$soft_credit_type}\n===========================================================\n{foreach from=$honoreeProfile item=value key=label}\n{$label}: {$value}\n{/foreach}\n{elseif !empty($softCreditTypes) and !empty($softCredits)}\n{foreach from=$softCreditTypes item=softCreditType key=n}\n===========================================================\n{$softCreditType}\n===========================================================\n{foreach from=$softCredits.$n item=value key=label}\n{$label}: {$value}\n{/foreach}\n{/foreach}\n{/if}\n{if !empty($pcpBlock)}\n===========================================================\n{ts}Personal Campaign Page{/ts}\n\n===========================================================\n{ts}Display In Honor Roll{/ts}: {if $pcp_display_in_roll}{ts}Yes{/ts}{else}{ts}No{/ts}{/if}\n\n{if $pcp_roll_nickname}{ts}Nickname{/ts}: {$pcp_roll_nickname}{/if}\n\n{if $pcp_personal_note}{ts}Personal Note{/ts}: {$pcp_personal_note}{/if}\n\n{/if}\n{if !empty($onBehalfProfile)}\n===========================================================\n{ts}On Behalf Of{/ts}\n\n===========================================================\n{foreach from=$onBehalfProfile item=onBehalfValue key=onBehalfName}\n{$onBehalfName}: {$onBehalfValue}\n{/foreach}\n{/if}\n\n{if !empty($billingName)}\n===========================================================\n{ts}Billing Name and Address{/ts}\n\n===========================================================\n{$billingName}\n{$address}\n\n{$email}\n{elseif !empty($email)}\n===========================================================\n{ts}Registered Email{/ts}\n\n===========================================================\n{$email}\n{/if} {* End billingName or Email*}\n{if !empty($credit_card_type)}\n\n===========================================================\n{ts}Credit Card Information{/ts}\n\n===========================================================\n{$credit_card_type}\n{$credit_card_number}\n{ts}Expires{/ts}: {$credit_card_exp_date|truncate:7:\'\'|crmDate}\n{/if}\n\n{if !empty($selectPremium )}\n===========================================================\n{ts}Premium Information{/ts}\n\n===========================================================\n{$product_name}\n{if $option}\n{ts}Option{/ts}: {$option}\n{/if}\n{if $sku}\n{ts}SKU{/ts}: {$sku}\n{/if}\n{if $start_date}\n{ts}Start Date{/ts}: {$start_date|crmDate}\n{/if}\n{if $end_date}\n{ts}End Date{/ts}: {$end_date|crmDate}\n{/if}\n{if !empty($contact_email) OR !empty($contact_phone)}\n\n{ts}For information about this premium, contact:{/ts}\n\n{if !empty($contact_email)}\n  {$contact_email}\n{/if}\n{if !empty($contact_phone)}\n  {$contact_phone}\n{/if}\n{/if}\n{if !empty($is_deductible) AND !empty($price)}\n\n{ts 1=$price|crmMoney:$currency}The value of this premium is %1. This may affect the amount of the tax deduction you can claim. Consult your tax advisor for more information.{/ts}{/if}\n{/if}\n\n{if !empty($customPre)}\n===========================================================\n{$customPre_grouptitle}\n\n===========================================================\n{foreach from=$customPre item=customValue key=customName}\n{if ( !empty($trackingFields) and ! in_array( $customName, $trackingFields ) ) or empty($trackingFields)}\n {$customName}: {$customValue}\n{/if}\n{/foreach}\n{/if}\n\n\n{if !empty($customPost)}\n===========================================================\n{$customPost_grouptitle}\n\n===========================================================\n{foreach from=$customPost item=customValue key=customName}\n{if ( !empty($trackingFields) and ! in_array( $customName, $trackingFields ) ) or empty($trackingFields)}\n {$customName}: {$customValue}\n{/if}\n{/foreach}\n{/if}\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n     {assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}<p>{$greeting},</p>{/if}\n    {if !empty($receipt_text)}\n     <p>{$receipt_text|htmlize}</p>\n    {/if}\n\n    {if $is_pay_later}\n     <p>{if isset($pay_later_receipt)}{$pay_later_receipt}{/if}</p> {* FIXME: this might be text rather than HTML *}\n    {/if}\n\n   </td>\n  </tr>\n  </table>\n  <table style=\"width:100%; max-width:500px; border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse;\">\n\n     {if $amount}\n\n\n      <tr>\n       <th {$headerStyle}>\n        {ts}Contribution Information{/ts}\n       </th>\n      </tr>\n\n      {if !empty($lineItem) and !empty($priceSetID) and empty($is_quick_config)}\n\n       {foreach from=$lineItem item=value key=priceset}\n        <tr>\n         <td colspan=\"2\" {$valueStyle}>\n          <table> {* FIXME: style this table so that it looks like the text version (justification, etc.) *}\n           <tr>\n            <th>{ts}Item{/ts}</th>\n            <th>{ts}Qty{/ts}</th>\n            <th>{ts}Each{/ts}</th>\n            {if !empty($dataArray)}\n             <th>{ts}Subtotal{/ts}</th>\n             <th>{ts}Tax Rate{/ts}</th>\n             <th>{ts}Tax Amount{/ts}</th>\n            {/if}\n            <th>{ts}Total{/ts}</th>\n           </tr>\n           {foreach from=$value item=line}\n            <tr>\n             <td>\n             {if $line.html_type eq \'Text\'}{$line.label}{else}{$line.field_title} - {$line.label}{/if} {if $line.description}<div>{$line.description|truncate:30:\"...\"}</div>{/if}\n             </td>\n             <td>\n              {$line.qty}\n             </td>\n             <td>\n              {$line.unit_price|crmMoney:$currency}\n             </td>\n             {if !empty($getTaxDetails)}\n              <td>\n               {$line.unit_price*$line.qty|crmMoney:$currency}\n              </td>\n              {if isset($line.tax_rate) and ($line.tax_rate != \"\" || $line.tax_amount != \"\")}\n               <td>\n                {$line.tax_rate|string_format:\"%.2f\"}%\n               </td>\n               <td>\n                {$line.tax_amount|crmMoney:$currency}\n               </td>\n              {else}\n               <td></td>\n               <td></td>\n              {/if}\n             {/if}\n             <td>\n              {$line.line_total+$line.tax_amount|crmMoney:$currency}\n             </td>\n            </tr>\n           {/foreach}\n          </table>\n         </td>\n        </tr>\n       {/foreach}\n       {if !empty($dataArray)}\n        <tr>\n         <td {$labelStyle}>\n          {ts} Amount before Tax : {/ts}\n         </td>\n         <td {$valueStyle}>\n          {$amount-$totalTaxAmount|crmMoney:$currency}\n         </td>\n        </tr>\n\n        {foreach from=$dataArray item=value key=priceset}\n         <tr>\n          {if $priceset || $priceset == 0}\n           <td>&nbsp;{if isset($taxTerm)}{$taxTerm}{/if} {$priceset|string_format:\"%.2f\"}%</td>\n           <td>&nbsp;{$value|crmMoney:$currency}</td>\n          {else}\n           <td>&nbsp;{ts}No{/ts} {if isset($taxTerm)}{$taxTerm}{/if}</td>\n           <td>&nbsp;{$value|crmMoney:$currency}</td>\n          {/if}\n         </tr>\n        {/foreach}\n\n       {/if}\n       {if isset($totalTaxAmount)}\n        <tr>\n         <td {$labelStyle}>\n          {ts}Total Tax{/ts}\n         </td>\n         <td {$valueStyle}>\n          {$totalTaxAmount|crmMoney:$currency}\n         </td>\n        </tr>\n       {/if}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Total Amount{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$amount|crmMoney:$currency}\n        </td>\n       </tr>\n\n      {else}\n\n      {if !empty($totalTaxAmount)}\n         <tr>\n           <td {$labelStyle}>\n             {ts}Total Tax Amount{/ts}\n           </td>\n           <td {$valueStyle}>\n             {$totalTaxAmount|crmMoney:$currency}\n           </td>\n         </tr>\n       {/if}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Amount{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$amount|crmMoney:$currency} {if isset($amount_level)} - {$amount_level}{/if}\n        </td>\n       </tr>\n\n      {/if}\n\n     {/if}\n\n\n     {if !empty($receive_date)}\n      <tr>\n       <td {$labelStyle}>\n        {ts}Date{/ts}\n       </td>\n       <td {$valueStyle}>\n        {$receive_date|crmDate}\n       </td>\n      </tr>\n     {/if}\n\n     {if !empty($is_monetary) and !empty($trxn_id)}\n      <tr>\n       <td {$labelStyle}>\n        {ts}Transaction #{/ts}\n       </td>\n       <td {$valueStyle}>\n        {$trxn_id}\n       </td>\n      </tr>\n     {/if}\n\n    {if !empty($is_recur)}\n      <tr>\n        <td  colspan=\"2\" {$labelStyle}>\n          {ts}This is a recurring contribution.{/ts}\n          {if $cancelSubscriptionUrl}\n            {ts 1=$cancelSubscriptionUrl}You can cancel future contributions by <a href=\"%1\">visiting this web page</a>.{/ts}\n          {/if}\n        </td>\n      </tr>\n      {if $updateSubscriptionBillingUrl}\n        <tr>\n          <td colspan=\"2\" {$labelStyle}>\n            {ts 1=$updateSubscriptionBillingUrl}You can update billing details for this recurring contribution by <a href=\"%1\">visiting this web page</a>.{/ts}\n          </td>\n        </tr>\n      {/if}\n      {if $updateSubscriptionUrl}\n        <tr>\n          <td colspan=\"2\" {$labelStyle}>\n            {ts 1=$updateSubscriptionUrl}You can update recurring contribution amount or change the number of installments for this recurring contribution by <a href=\"%1\">visiting this web page</a>.{/ts}\n          </td>\n        </tr>\n      {/if}\n    {/if}\n\n     {if $honor_block_is_active}\n      <tr>\n       <th {$headerStyle}>\n        {$soft_credit_type}\n       </th>\n      </tr>\n      {foreach from=$honoreeProfile item=value key=label}\n        <tr>\n         <td {$labelStyle}>\n          {$label}\n         </td>\n         <td {$valueStyle}>\n          {$value}\n         </td>\n        </tr>\n      {/foreach}\n      {elseif !empty($softCreditTypes) and !empty($softCredits)}\n      {foreach from=$softCreditTypes item=softCreditType key=n}\n       <tr>\n        <th {$headerStyle}>\n         {$softCreditType}\n        </th>\n       </tr>\n       {foreach from=$softCredits.$n item=value key=label}\n         <tr>\n          <td {$labelStyle}>\n           {$label}\n          </td>\n          <td {$valueStyle}>\n           {$value}\n          </td>\n         </tr>\n        {/foreach}\n       {/foreach}\n     {/if}\n\n     {if !empty($pcpBlock)}\n      <tr>\n       <th {$headerStyle}>\n        {ts}Personal Campaign Page{/ts}\n       </th>\n      </tr>\n      <tr>\n       <td {$labelStyle}>\n        {ts}Display In Honor Roll{/ts}\n       </td>\n       <td {$valueStyle}>\n        {if $pcp_display_in_roll}{ts}Yes{/ts}{else}{ts}No{/ts}{/if}\n       </td>\n      </tr>\n      {if $pcp_roll_nickname}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Nickname{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$pcp_roll_nickname}\n        </td>\n       </tr>\n      {/if}\n      {if $pcp_personal_note}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Personal Note{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$pcp_personal_note}\n        </td>\n       </tr>\n      {/if}\n     {/if}\n\n     {if !empty($onBehalfProfile)}\n      <tr>\n       <th {$headerStyle}>\n        {$onBehalfProfile_grouptitle}\n       </th>\n      </tr>\n      {foreach from=$onBehalfProfile item=onBehalfValue key=onBehalfName}\n        <tr>\n         <td {$labelStyle}>\n          {$onBehalfName}\n         </td>\n         <td {$valueStyle}>\n          {$onBehalfValue}\n         </td>\n        </tr>\n      {/foreach}\n     {/if}\n\n     {if !empty($isShare)}\n      <tr>\n        <td colspan=\"2\" {$valueStyle}>\n            {capture assign=contributionUrl}{crmURL p=\'civicrm/contribute/transact\' q=\"reset=1&id=`$contributionPageId`\" a=true fe=1 h=1}{/capture}\n            {include file=\"CRM/common/SocialNetwork.tpl\" emailMode=true url=$contributionUrl title=$title pageURL=$contributionUrl}\n        </td>\n      </tr>\n     {/if}\n\n     {if !empty($billingName)}\n       <tr>\n        <th {$headerStyle}>\n         {ts}Billing Name and Address{/ts}\n        </th>\n       </tr>\n       <tr>\n        <td colspan=\"2\" {$valueStyle}>\n         {$billingName}<br />\n         {$address|nl2br}<br />\n         {$email}\n        </td>\n       </tr>\n     {elseif !empty($email)}\n       <tr>\n        <th {$headerStyle}>\n         {ts}Registered Email{/ts}\n        </th>\n       </tr>\n       <tr>\n        <td colspan=\"2\" {$valueStyle}>\n         {$email}\n        </td>\n       </tr>\n     {/if}\n\n     {if !empty($credit_card_type)}\n      <tr>\n       <th {$headerStyle}>\n        {ts}Credit Card Information{/ts}\n       </th>\n      </tr>\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n        {$credit_card_type}<br />\n        {$credit_card_number}<br />\n        {ts}Expires{/ts}: {$credit_card_exp_date|truncate:7:\'\'|crmDate}<br />\n       </td>\n      </tr>\n     {/if}\n\n     {if !empty($selectPremium)}\n      <tr>\n       <th {$headerStyle}>\n        {ts}Premium Information{/ts}\n       </th>\n      </tr>\n      <tr>\n       <td colspan=\"2\" {$labelStyle}>\n        {$product_name}\n       </td>\n      </tr>\n      {if $option}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Option{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$option}\n        </td>\n       </tr>\n      {/if}\n      {if $sku}\n       <tr>\n        <td {$labelStyle}>\n         {ts}SKU{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$sku}\n        </td>\n       </tr>\n      {/if}\n      {if $start_date}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Start Date{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$start_date|crmDate}\n        </td>\n       </tr>\n      {/if}\n      {if $end_date}\n       <tr>\n        <td {$labelStyle}>\n         {ts}End Date{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$end_date|crmDate}\n        </td>\n       </tr>\n      {/if}\n      {if !empty($contact_email) OR !empty($contact_phone)}\n       <tr>\n        <td colspan=\"2\" {$valueStyle}>\n         <p>{ts}For information about this premium, contact:{/ts}</p>\n         {if !empty($contact_email)}\n          <p>{$contact_email}</p>\n         {/if}\n         {if !empty($contact_phone)}\n          <p>{$contact_phone}</p>\n         {/if}\n        </td>\n       </tr>\n      {/if}\n      {if !empty($is_deductible) AND !empty($price)}\n        <tr>\n         <td colspan=\"2\" {$valueStyle}>\n          <p>{ts 1=$price|crmMoney:$currency}The value of this premium is %1. This may affect the amount of the tax deduction you can claim. Consult your tax advisor for more information.{/ts}</p>\n         </td>\n        </tr>\n      {/if}\n     {/if}\n\n     {if !empty($customPre)}\n      <tr>\n       <th {$headerStyle}>\n        {$customPre_grouptitle}\n       </th>\n      </tr>\n      {foreach from=$customPre item=customValue key=customName}\n       {if (!empty($trackingFields) and ! in_array($customName, $trackingFields)) or empty($trackingFields)}\n        <tr>\n         <td {$labelStyle}>\n          {$customName}\n         </td>\n         <td {$valueStyle}>\n          {$customValue}\n         </td>\n        </tr>\n       {/if}\n      {/foreach}\n     {/if}\n\n     {if !empty($customPost)}\n      <tr>\n       <th {$headerStyle}>\n        {$customPost_grouptitle}\n       </th>\n      </tr>\n      {foreach from=$customPost item=customValue key=customName}\n       {if (!empty($trackingFields) and ! in_array($customName, $trackingFields)) or empty($trackingFields)}\n        <tr>\n         <td {$labelStyle}>\n          {$customName}\n         </td>\n         <td {$valueStyle}>\n          {$customValue}\n         </td>\n        </tr>\n       {/if}\n      {/foreach}\n     {/if}\n\n  </table>\n\n</body>\n</html>\n',1,831,'contribution_online_receipt',1,0,0,NULL),
- (8,'Contributions - Receipt (on-line)','{if $is_pay_later}{ts}Invoice{/ts}{else}{ts}Receipt{/ts}{/if} - {$title} - {contact.display_name}\n','{assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}{$greeting},{/if}\n{if !empty($receipt_text)}\n{$receipt_text}\n{/if}\n{if $is_pay_later}\n\n===========================================================\n{if isset($pay_later_receipt)}{$pay_later_receipt}{/if}\n===========================================================\n{/if}\n\n{if $amount}\n===========================================================\n{ts}Contribution Information{/ts}\n\n===========================================================\n{if $lineItem and $priceSetID and empty($is_quick_config)}\n{foreach from=$lineItem item=value key=priceset}\n---------------------------------------------------------\n{capture assign=ts_item}{ts}Item{/ts}{/capture}\n{capture assign=ts_qty}{ts}Qty{/ts}{/capture}\n{capture assign=ts_each}{ts}Each{/ts}{/capture}\n{if !empty($dataArray)}\n{capture assign=ts_subtotal}{ts}Subtotal{/ts}{/capture}\n{capture assign=ts_taxRate}{ts}Tax Rate{/ts}{/capture}\n{capture assign=ts_taxAmount}{ts}Tax Amount{/ts}{/capture}\n{/if}\n{capture assign=ts_total}{ts}Total{/ts}{/capture}\n{$ts_item|string_format:\"%-30s\"} {$ts_qty|string_format:\"%5s\"} {$ts_each|string_format:\"%10s\"} {if !empty($dataArray)} {$ts_subtotal|string_format:\"%10s\"} {$ts_taxRate} {$ts_taxAmount|string_format:\"%10s\"} {/if} {$ts_total|string_format:\"%10s\"}\n----------------------------------------------------------\n{foreach from=$value item=line}\n{capture assign=ts_item}{if $line.html_type eq \'Text\'}{$line.label}{else}{$line.field_title} - {$line.label}{/if} {if $line.description} {$line.description}{/if}{/capture}{$ts_item|truncate:30:\"...\"|string_format:\"%-30s\"} {$line.qty|string_format:\"%5s\"} {$line.unit_price|crmMoney:$currency|string_format:\"%10s\"} {if !empty($dataArray)}{$line.unit_price*$line.qty|crmMoney:$currency|string_format:\"%10s\"} {if isset($line.tax_rate) and ($line.tax_rate != \"\" || $line.tax_amount != \"\")}  {$line.tax_rate|string_format:\"%.2f\"} %  {$line.tax_amount|crmMoney:$currency|string_format:\"%10s\"} {else}                  {/if}  {/if} {$line.line_total+$line.tax_amount|crmMoney:$currency|string_format:\"%10s\"}\n{/foreach}\n{/foreach}\n\n{if !empty($dataArray)}\n{ts}Amount before Tax{/ts}: {$amount-$totalTaxAmount|crmMoney:$currency}\n\n{foreach from=$dataArray item=value key=priceset}\n{if $priceset || $priceset == 0}\n{if isset($taxTerm)}{$taxTerm}{/if} {$priceset|string_format:\"%.2f\"}%: {$value|crmMoney:$currency}\n{else}\n{ts}No{/ts} {if isset($taxTerm)}{$taxTerm}{/if}: {$value|crmMoney:$currency}\n{/if}\n{/foreach}\n{/if}\n\n{if isset($totalTaxAmount)}\n{ts}Total Tax Amount{/ts}: {$totalTaxAmount|crmMoney:$currency}\n{/if}\n\n{ts}Total Amount{/ts}: {$amount|crmMoney:$currency}\n{else}\n{ts}Amount{/ts}: {$amount|crmMoney:$currency} {if isset($amount_level) } - {$amount_level} {/if}\n{/if}\n{/if}\n{if !empty($receive_date)}\n\n{ts}Date{/ts}: {$receive_date|crmDate}\n{/if}\n{if !empty($is_monetary) and !empty($trxn_id)}\n{ts}Transaction #{/ts}: {$trxn_id}\n{/if}\n\n{if !empty($is_recur)}\n{ts}This is a recurring contribution.{/ts}\n\n{if $cancelSubscriptionUrl}\n{ts}You can cancel future contributions at:{/ts}\n\n{$cancelSubscriptionUrl}\n\n{/if}\n\n{if $updateSubscriptionBillingUrl}\n{ts}You can update billing details for this recurring contribution at:{/ts}\n\n{$updateSubscriptionBillingUrl}\n\n{/if}\n\n{if $updateSubscriptionUrl}\n{ts}You can update recurring contribution amount or change the number of installments for this recurring contribution at:{/ts}\n\n{$updateSubscriptionUrl}\n\n{/if}\n{/if}\n\n{if $honor_block_is_active}\n===========================================================\n{$soft_credit_type}\n===========================================================\n{foreach from=$honoreeProfile item=value key=label}\n{$label}: {$value}\n{/foreach}\n{elseif !empty($softCreditTypes) and !empty($softCredits)}\n{foreach from=$softCreditTypes item=softCreditType key=n}\n===========================================================\n{$softCreditType}\n===========================================================\n{foreach from=$softCredits.$n item=value key=label}\n{$label}: {$value}\n{/foreach}\n{/foreach}\n{/if}\n{if !empty($pcpBlock)}\n===========================================================\n{ts}Personal Campaign Page{/ts}\n\n===========================================================\n{ts}Display In Honor Roll{/ts}: {if $pcp_display_in_roll}{ts}Yes{/ts}{else}{ts}No{/ts}{/if}\n\n{if $pcp_roll_nickname}{ts}Nickname{/ts}: {$pcp_roll_nickname}{/if}\n\n{if $pcp_personal_note}{ts}Personal Note{/ts}: {$pcp_personal_note}{/if}\n\n{/if}\n{if !empty($onBehalfProfile)}\n===========================================================\n{ts}On Behalf Of{/ts}\n\n===========================================================\n{foreach from=$onBehalfProfile item=onBehalfValue key=onBehalfName}\n{$onBehalfName}: {$onBehalfValue}\n{/foreach}\n{/if}\n\n{if !empty($billingName)}\n===========================================================\n{ts}Billing Name and Address{/ts}\n\n===========================================================\n{$billingName}\n{$address}\n\n{$email}\n{elseif !empty($email)}\n===========================================================\n{ts}Registered Email{/ts}\n\n===========================================================\n{$email}\n{/if} {* End billingName or Email*}\n{if !empty($credit_card_type)}\n\n===========================================================\n{ts}Credit Card Information{/ts}\n\n===========================================================\n{$credit_card_type}\n{$credit_card_number}\n{ts}Expires{/ts}: {$credit_card_exp_date|truncate:7:\'\'|crmDate}\n{/if}\n\n{if !empty($selectPremium )}\n===========================================================\n{ts}Premium Information{/ts}\n\n===========================================================\n{$product_name}\n{if $option}\n{ts}Option{/ts}: {$option}\n{/if}\n{if $sku}\n{ts}SKU{/ts}: {$sku}\n{/if}\n{if $start_date}\n{ts}Start Date{/ts}: {$start_date|crmDate}\n{/if}\n{if $end_date}\n{ts}End Date{/ts}: {$end_date|crmDate}\n{/if}\n{if !empty($contact_email) OR !empty($contact_phone)}\n\n{ts}For information about this premium, contact:{/ts}\n\n{if !empty($contact_email)}\n  {$contact_email}\n{/if}\n{if !empty($contact_phone)}\n  {$contact_phone}\n{/if}\n{/if}\n{if !empty($is_deductible) AND !empty($price)}\n\n{ts 1=$price|crmMoney:$currency}The value of this premium is %1. This may affect the amount of the tax deduction you can claim. Consult your tax advisor for more information.{/ts}{/if}\n{/if}\n\n{if !empty($customPre)}\n===========================================================\n{$customPre_grouptitle}\n\n===========================================================\n{foreach from=$customPre item=customValue key=customName}\n{if ( !empty($trackingFields) and ! in_array( $customName, $trackingFields ) ) or empty($trackingFields)}\n {$customName}: {$customValue}\n{/if}\n{/foreach}\n{/if}\n\n\n{if !empty($customPost)}\n===========================================================\n{$customPost_grouptitle}\n\n===========================================================\n{foreach from=$customPost item=customValue key=customName}\n{if ( !empty($trackingFields) and ! in_array( $customName, $trackingFields ) ) or empty($trackingFields)}\n {$customName}: {$customValue}\n{/if}\n{/foreach}\n{/if}\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n     {assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}<p>{$greeting},</p>{/if}\n    {if !empty($receipt_text)}\n     <p>{$receipt_text|htmlize}</p>\n    {/if}\n\n    {if $is_pay_later}\n     <p>{if isset($pay_later_receipt)}{$pay_later_receipt}{/if}</p> {* FIXME: this might be text rather than HTML *}\n    {/if}\n\n   </td>\n  </tr>\n  </table>\n  <table style=\"width:100%; max-width:500px; border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse;\">\n\n     {if $amount}\n\n\n      <tr>\n       <th {$headerStyle}>\n        {ts}Contribution Information{/ts}\n       </th>\n      </tr>\n\n      {if !empty($lineItem) and !empty($priceSetID) and empty($is_quick_config)}\n\n       {foreach from=$lineItem item=value key=priceset}\n        <tr>\n         <td colspan=\"2\" {$valueStyle}>\n          <table> {* FIXME: style this table so that it looks like the text version (justification, etc.) *}\n           <tr>\n            <th>{ts}Item{/ts}</th>\n            <th>{ts}Qty{/ts}</th>\n            <th>{ts}Each{/ts}</th>\n            {if !empty($dataArray)}\n             <th>{ts}Subtotal{/ts}</th>\n             <th>{ts}Tax Rate{/ts}</th>\n             <th>{ts}Tax Amount{/ts}</th>\n            {/if}\n            <th>{ts}Total{/ts}</th>\n           </tr>\n           {foreach from=$value item=line}\n            <tr>\n             <td>\n             {if $line.html_type eq \'Text\'}{$line.label}{else}{$line.field_title} - {$line.label}{/if} {if $line.description}<div>{$line.description|truncate:30:\"...\"}</div>{/if}\n             </td>\n             <td>\n              {$line.qty}\n             </td>\n             <td>\n              {$line.unit_price|crmMoney:$currency}\n             </td>\n             {if !empty($getTaxDetails)}\n              <td>\n               {$line.unit_price*$line.qty|crmMoney:$currency}\n              </td>\n              {if isset($line.tax_rate) and ($line.tax_rate != \"\" || $line.tax_amount != \"\")}\n               <td>\n                {$line.tax_rate|string_format:\"%.2f\"}%\n               </td>\n               <td>\n                {$line.tax_amount|crmMoney:$currency}\n               </td>\n              {else}\n               <td></td>\n               <td></td>\n              {/if}\n             {/if}\n             <td>\n              {$line.line_total+$line.tax_amount|crmMoney:$currency}\n             </td>\n            </tr>\n           {/foreach}\n          </table>\n         </td>\n        </tr>\n       {/foreach}\n       {if !empty($dataArray)}\n        <tr>\n         <td {$labelStyle}>\n          {ts} Amount before Tax : {/ts}\n         </td>\n         <td {$valueStyle}>\n          {$amount-$totalTaxAmount|crmMoney:$currency}\n         </td>\n        </tr>\n\n        {foreach from=$dataArray item=value key=priceset}\n         <tr>\n          {if $priceset || $priceset == 0}\n           <td>&nbsp;{if isset($taxTerm)}{$taxTerm}{/if} {$priceset|string_format:\"%.2f\"}%</td>\n           <td>&nbsp;{$value|crmMoney:$currency}</td>\n          {else}\n           <td>&nbsp;{ts}No{/ts} {if isset($taxTerm)}{$taxTerm}{/if}</td>\n           <td>&nbsp;{$value|crmMoney:$currency}</td>\n          {/if}\n         </tr>\n        {/foreach}\n\n       {/if}\n       {if isset($totalTaxAmount)}\n        <tr>\n         <td {$labelStyle}>\n          {ts}Total Tax{/ts}\n         </td>\n         <td {$valueStyle}>\n          {$totalTaxAmount|crmMoney:$currency}\n         </td>\n        </tr>\n       {/if}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Total Amount{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$amount|crmMoney:$currency}\n        </td>\n       </tr>\n\n      {else}\n\n      {if !empty($totalTaxAmount)}\n         <tr>\n           <td {$labelStyle}>\n             {ts}Total Tax Amount{/ts}\n           </td>\n           <td {$valueStyle}>\n             {$totalTaxAmount|crmMoney:$currency}\n           </td>\n         </tr>\n       {/if}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Amount{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$amount|crmMoney:$currency} {if isset($amount_level)} - {$amount_level}{/if}\n        </td>\n       </tr>\n\n      {/if}\n\n     {/if}\n\n\n     {if !empty($receive_date)}\n      <tr>\n       <td {$labelStyle}>\n        {ts}Date{/ts}\n       </td>\n       <td {$valueStyle}>\n        {$receive_date|crmDate}\n       </td>\n      </tr>\n     {/if}\n\n     {if !empty($is_monetary) and !empty($trxn_id)}\n      <tr>\n       <td {$labelStyle}>\n        {ts}Transaction #{/ts}\n       </td>\n       <td {$valueStyle}>\n        {$trxn_id}\n       </td>\n      </tr>\n     {/if}\n\n    {if !empty($is_recur)}\n      <tr>\n        <td  colspan=\"2\" {$labelStyle}>\n          {ts}This is a recurring contribution.{/ts}\n          {if $cancelSubscriptionUrl}\n            {ts 1=$cancelSubscriptionUrl}You can cancel future contributions by <a href=\"%1\">visiting this web page</a>.{/ts}\n          {/if}\n        </td>\n      </tr>\n      {if $updateSubscriptionBillingUrl}\n        <tr>\n          <td colspan=\"2\" {$labelStyle}>\n            {ts 1=$updateSubscriptionBillingUrl}You can update billing details for this recurring contribution by <a href=\"%1\">visiting this web page</a>.{/ts}\n          </td>\n        </tr>\n      {/if}\n      {if $updateSubscriptionUrl}\n        <tr>\n          <td colspan=\"2\" {$labelStyle}>\n            {ts 1=$updateSubscriptionUrl}You can update recurring contribution amount or change the number of installments for this recurring contribution by <a href=\"%1\">visiting this web page</a>.{/ts}\n          </td>\n        </tr>\n      {/if}\n    {/if}\n\n     {if $honor_block_is_active}\n      <tr>\n       <th {$headerStyle}>\n        {$soft_credit_type}\n       </th>\n      </tr>\n      {foreach from=$honoreeProfile item=value key=label}\n        <tr>\n         <td {$labelStyle}>\n          {$label}\n         </td>\n         <td {$valueStyle}>\n          {$value}\n         </td>\n        </tr>\n      {/foreach}\n      {elseif !empty($softCreditTypes) and !empty($softCredits)}\n      {foreach from=$softCreditTypes item=softCreditType key=n}\n       <tr>\n        <th {$headerStyle}>\n         {$softCreditType}\n        </th>\n       </tr>\n       {foreach from=$softCredits.$n item=value key=label}\n         <tr>\n          <td {$labelStyle}>\n           {$label}\n          </td>\n          <td {$valueStyle}>\n           {$value}\n          </td>\n         </tr>\n        {/foreach}\n       {/foreach}\n     {/if}\n\n     {if !empty($pcpBlock)}\n      <tr>\n       <th {$headerStyle}>\n        {ts}Personal Campaign Page{/ts}\n       </th>\n      </tr>\n      <tr>\n       <td {$labelStyle}>\n        {ts}Display In Honor Roll{/ts}\n       </td>\n       <td {$valueStyle}>\n        {if $pcp_display_in_roll}{ts}Yes{/ts}{else}{ts}No{/ts}{/if}\n       </td>\n      </tr>\n      {if $pcp_roll_nickname}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Nickname{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$pcp_roll_nickname}\n        </td>\n       </tr>\n      {/if}\n      {if $pcp_personal_note}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Personal Note{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$pcp_personal_note}\n        </td>\n       </tr>\n      {/if}\n     {/if}\n\n     {if !empty($onBehalfProfile)}\n      <tr>\n       <th {$headerStyle}>\n        {$onBehalfProfile_grouptitle}\n       </th>\n      </tr>\n      {foreach from=$onBehalfProfile item=onBehalfValue key=onBehalfName}\n        <tr>\n         <td {$labelStyle}>\n          {$onBehalfName}\n         </td>\n         <td {$valueStyle}>\n          {$onBehalfValue}\n         </td>\n        </tr>\n      {/foreach}\n     {/if}\n\n     {if !empty($isShare)}\n      <tr>\n        <td colspan=\"2\" {$valueStyle}>\n            {capture assign=contributionUrl}{crmURL p=\'civicrm/contribute/transact\' q=\"reset=1&id=`$contributionPageId`\" a=true fe=1 h=1}{/capture}\n            {include file=\"CRM/common/SocialNetwork.tpl\" emailMode=true url=$contributionUrl title=$title pageURL=$contributionUrl}\n        </td>\n      </tr>\n     {/if}\n\n     {if !empty($billingName)}\n       <tr>\n        <th {$headerStyle}>\n         {ts}Billing Name and Address{/ts}\n        </th>\n       </tr>\n       <tr>\n        <td colspan=\"2\" {$valueStyle}>\n         {$billingName}<br />\n         {$address|nl2br}<br />\n         {$email}\n        </td>\n       </tr>\n     {elseif !empty($email)}\n       <tr>\n        <th {$headerStyle}>\n         {ts}Registered Email{/ts}\n        </th>\n       </tr>\n       <tr>\n        <td colspan=\"2\" {$valueStyle}>\n         {$email}\n        </td>\n       </tr>\n     {/if}\n\n     {if !empty($credit_card_type)}\n      <tr>\n       <th {$headerStyle}>\n        {ts}Credit Card Information{/ts}\n       </th>\n      </tr>\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n        {$credit_card_type}<br />\n        {$credit_card_number}<br />\n        {ts}Expires{/ts}: {$credit_card_exp_date|truncate:7:\'\'|crmDate}<br />\n       </td>\n      </tr>\n     {/if}\n\n     {if !empty($selectPremium)}\n      <tr>\n       <th {$headerStyle}>\n        {ts}Premium Information{/ts}\n       </th>\n      </tr>\n      <tr>\n       <td colspan=\"2\" {$labelStyle}>\n        {$product_name}\n       </td>\n      </tr>\n      {if $option}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Option{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$option}\n        </td>\n       </tr>\n      {/if}\n      {if $sku}\n       <tr>\n        <td {$labelStyle}>\n         {ts}SKU{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$sku}\n        </td>\n       </tr>\n      {/if}\n      {if $start_date}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Start Date{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$start_date|crmDate}\n        </td>\n       </tr>\n      {/if}\n      {if $end_date}\n       <tr>\n        <td {$labelStyle}>\n         {ts}End Date{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$end_date|crmDate}\n        </td>\n       </tr>\n      {/if}\n      {if !empty($contact_email) OR !empty($contact_phone)}\n       <tr>\n        <td colspan=\"2\" {$valueStyle}>\n         <p>{ts}For information about this premium, contact:{/ts}</p>\n         {if !empty($contact_email)}\n          <p>{$contact_email}</p>\n         {/if}\n         {if !empty($contact_phone)}\n          <p>{$contact_phone}</p>\n         {/if}\n        </td>\n       </tr>\n      {/if}\n      {if !empty($is_deductible) AND !empty($price)}\n        <tr>\n         <td colspan=\"2\" {$valueStyle}>\n          <p>{ts 1=$price|crmMoney:$currency}The value of this premium is %1. This may affect the amount of the tax deduction you can claim. Consult your tax advisor for more information.{/ts}</p>\n         </td>\n        </tr>\n      {/if}\n     {/if}\n\n     {if !empty($customPre)}\n      <tr>\n       <th {$headerStyle}>\n        {$customPre_grouptitle}\n       </th>\n      </tr>\n      {foreach from=$customPre item=customValue key=customName}\n       {if (!empty($trackingFields) and ! in_array($customName, $trackingFields)) or empty($trackingFields)}\n        <tr>\n         <td {$labelStyle}>\n          {$customName}\n         </td>\n         <td {$valueStyle}>\n          {$customValue}\n         </td>\n        </tr>\n       {/if}\n      {/foreach}\n     {/if}\n\n     {if !empty($customPost)}\n      <tr>\n       <th {$headerStyle}>\n        {$customPost_grouptitle}\n       </th>\n      </tr>\n      {foreach from=$customPost item=customValue key=customName}\n       {if (!empty($trackingFields) and ! in_array($customName, $trackingFields)) or empty($trackingFields)}\n        <tr>\n         <td {$labelStyle}>\n          {$customName}\n         </td>\n         <td {$valueStyle}>\n          {$customValue}\n         </td>\n        </tr>\n       {/if}\n      {/foreach}\n     {/if}\n\n  </table>\n\n</body>\n</html>\n',1,831,'contribution_online_receipt',0,1,0,NULL),
- (9,'Contributions - Invoice','{if $title}\n  {if $component}\n    {if $component == \'event\'}\n      {ts 1=$title}Event Registration Invoice: %1{/ts}\n    {else}\n      {ts 1=$title}Contribution Invoice: %1{/ts}\n    {/if}\n  {/if}\n{else}\n  {ts}Invoice{/ts}\n{/if}\n - {contact.display_name}\n','{ts}Contribution Invoice{/ts}\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n  <head>\n    <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n      <title></title>\n  </head>\n  <body>\n  <div style=\"padding-top:100px;margin-right:50px;border-style: none;\">\n    {if $config->empoweredBy}\n      <table style=\"margin-top:5px;padding-bottom:50px;\" cellpadding=\"5\" cellspacing=\"0\">\n        <tr>\n          <td><img src=\"{$resourceBase}/i/civi99.png\" height=\"34px\" width=\"99px\"></td>\n        </tr>\n      </table>\n    {/if}\n      <table style=\"font-family: Arial, Verdana, sans-serif;\" width=\"100%\" height=\"100\" border=\"0\" cellpadding=\"5\" cellspacing=\"0\">\n        <tr>\n          <td width=\"30%\"><b><font size=\"4\" align=\"center\">{ts}INVOICE{/ts}</font></b></td>\n          <td width=\"50%\" valign=\"bottom\"><b><font size=\"1\" align=\"center\">{ts}Invoice Date:{/ts}</font></b></td>\n          <td valign=\"bottom\" style=\"white-space: nowrap\"><b><font size=\"1\" align=\"right\">{$domain_organization}</font></b></td>\n        </tr>\n        <tr>\n          {if $organization_name}\n            <td><font size=\"1\" align=\"center\">{contact.display_name}  ({$organization_name})</font></td>\n          {else}\n            <td><font size=\"1\" align=\"center\">{contact.display_name}</font></td>\n          {/if}\n          <td><font size=\"1\" align=\"right\">{$invoice_date}</font></td>\n          <td style=\"white-space: nowrap\">\n            <font size=\"1\" align=\"right\">\n              {if $domain_street_address }{$domain_street_address}{/if}\n              {if $domain_supplemental_address_1 }{$domain_supplemental_address_1}{/if}\n           </font>\n          </td>\n        </tr>\n        <tr>\n          <td><font size=\"1\" align=\"center\">{$street_address} {$supplemental_address_1}</font></td>\n          <td><b><font size=\"1\" align=\"right\">{ts}Invoice Number:{/ts}</font></b></td>\n          <td>\n            <font size=\"1\" align=\"right\">\n              {if $domain_supplemental_address_2 }{$domain_supplemental_address_2}{/if}\n              {if $domain_state }{$domain_state}{/if}\n           </font>\n          </td>\n        </tr>\n        <tr>\n          <td><font size=\"1\" align=\"center\">{$supplemental_address_2} {$stateProvinceAbbreviation}</font></td>\n          <td><font size=\"1\" align=\"right\">{$invoice_number}</font></td>\n          <td style=\"white-space: nowrap\">\n            <font size=\"1\" align=\"right\">\n              {if $domain_city}{$domain_city}{/if}\n              {if $domain_postal_code }{$domain_postal_code}{/if}\n           </font>\n          </td>\n        </tr>\n        <tr>\n          <td><font size=\"1\" align=\"right\">{$city}  {$postal_code}</font></td>\n          <td height=\"10\"><b><font size=\"1\" align=\"right\">{ts}Reference:{/ts}</font></b></td>\n          <td><font size=\"1\" align=\"right\">{if $domain_country}{$domain_country}{/if}</font></td>\n        </tr>\n        <tr>\n          <td><font size=\"1\" align=\"right\"> {$country}</font></td>\n          <td><font size=\"1\" align=\"right\">{if !empty($source)}{$source}{/if}</font></td>\n          <td valign=\"top\" style=\"white-space: nowrap\"><font size=\"1\" align=\"right\">{if $domain_email}{$domain_email}{/if}</font> </td>\n        </tr>\n        <tr>\n          <td></td>\n          <td></td>\n          <td valign=\"top\"><font size=\"1\" align=\"right\">{if $domain_phone}{$domain_phone}{/if}</font> </td>\n        </tr>\n      </table>\n\n             <table style=\"padding-top:75px;font-family: Arial, Verdana, sans-serif;\" width=\"100%\" border=\"0\" cellpadding=\"5\" cellspacing=\"0\">\n              <tr>\n                <th style=\"text-align:left;font-weight:bold;width:100%\"><font size=\"1\">{ts}Description{/ts}</font></th>\n                <th style=\"text-align:right;font-weight:bold;white-space: nowrap\"><font size=\"1\">{ts}Quantity{/ts}</font></th>\n                <th style=\"text-align:right;font-weight:bold;white-space: nowrap\"><font size=\"1\">{ts}Unit Price{/ts}</font></th>\n                <th style=\"text-align:right;font-weight:bold;white-space: nowrap\"><font size=\"1\">{if isset($taxTerm)}{$taxTerm}{/if}</font></th>\n                <th style=\"text-align:right;font-weight:bold;white-space: nowrap\"><font size=\"1\">{ts 1=$currency}Amount %1{/ts}</font></th>\n              </tr>\n              {foreach from=$lineItem item=value key=priceset name=taxpricevalue}\n                {if $smarty.foreach.taxpricevalue.index eq 0}\n                {else}\n                {/if}\n                <tr>\n                  <td style=\"text-align:left;nowrap\"><font size=\"1\">\n                    {if $value.html_type eq \'Text\'}\n                      {$value.label}\n                    {else}\n                      {$value.field_title} - {$value.label}\n                    {/if}\n                    {if $value.description}\n                      <div>{$value.description|truncate:30:\"...\"}</div>\n                    {/if}\n                   </font>\n                  </td>\n                  <td style=\"text-align:right;\"><font size=\"1\">{$value.qty}</font></td>\n                  <td style=\"text-align:right;\"><font size=\"1\">{$value.unit_price|crmMoney:$currency}</font></td>\n                  {if $value.tax_amount != \'\'}\n                    <td style=\"text-align:right;\"><font size=\"1\">{if isset($value.tax_rate)}{$value.tax_rate}%{/if}</font></td>\n                  {else}\n                    <td style=\"text-align:right;\"><font size=\"1\">{if isset($taxTerm)}{ts 1=$taxTerm}-{/ts}{/if}</font></td>\n                  {/if}\n                  <td style=\"text-align:right;\"><font size=\"1\">{$value.subTotal|crmMoney:$currency}</font></td>\n                </tr>\n              {/foreach}\n              <tr>\n                <td colspan=\"3\"></td>\n                <td style=\"text-align:right;\"><font size=\"1\">{ts}Sub Total{/ts}</font></td>\n                <td style=\"text-align:right;\"><font size=\"1\">{$subTotal|crmMoney:$currency}</font></td>\n              </tr>\n              {if !empty($dataArray)}\n              {foreach from=$dataArray item=value key=priceset}\n                <tr>\n                  <td colspan=\"3\"></td>\n                    {if $priceset}\n                      <td style=\"text-align:right;white-space: nowrap\"><font size=\"1\">{if isset($taxTerm)}{ts 1=$taxTerm 2=$priceset}TOTAL %1 %2%{/ts}{/if}</font></td>\n                      <td style=\"text-align:right\"><font size=\"1\" align=\"right\">{$value|crmMoney:$currency}</font> </td>\n                    {elseif $priceset == 0}\n                      <td style=\"text-align:right;white-space: nowrap\"><font size=\"1\">{if isset($taxTerm)}{ts 1=$taxTerm}TOTAL %1{/ts}{/if}</font></td>\n                      <td style=\"text-align:right\"><font size=\"1\" align=\"right\">{$value|crmMoney:$currency}</font> </td>\n                    {/if}\n                </tr>\n              {/foreach}\n              {/if}\n              <tr>\n                <td colspan=\"3\"></td>\n                <td style=\"text-align:right;white-space: nowrap\"><b><font size=\"1\">{ts 1=$currency}TOTAL %1{/ts}</font></b></td>\n                <td style=\"text-align:right;\"><font size=\"1\">{$amount|crmMoney:$currency}</font></td>\n              </tr>\n              <tr>\n                <td colspan=\"3\"></td>\n                <td style=\"text-align:right;white-space: nowrap\"><font size=\"1\">\n                  {if $contribution_status_id == $refundedStatusId}\n                    {ts}Amount Credited{/ts}\n                  {else}\n                    {ts}Amount Paid{/ts}\n                  {/if}\n                 </font>\n                </td>\n                <td style=\"text-align:right;\"><font size=\"1\">{$amountPaid|crmMoney:$currency}</font></td>\n              </tr>\n              <tr>\n                <td colspan=\"3\"></td>\n                <td colspan=\"2\"><hr></hr></td>\n              </tr>\n              <tr>\n                <td colspan=\"3\"></td>\n                <td style=\"text-align:right;white-space: nowrap\" ><b><font size=\"1\">{ts}AMOUNT DUE:{/ts}</font></b></td>\n                <td style=\"text-align:right;\"><b><font size=\"1\">{$amountDue|crmMoney:$currency}</font></b></td>\n              </tr>\n\n              <br/><br/><br/>\n              <tr>\n                <td colspan=\"5\"></td>\n              </tr>\n              {if $contribution_status_id == $pendingStatusId && $is_pay_later == 1}\n                <tr>\n                  <td colspan=\"3\"><b><font size=\"1\" align=\"center\">{ts 1=$dueDate}DUE DATE: %1{/ts}</font></b></td>\n                  <td colspan=\"2\"></td>\n                </tr>\n              {/if}\n            </table>\n          </td>\n        </tr>\n      </table>\n\n      {if $contribution_status_id == $pendingStatusId && $is_pay_later == 1}\n        <table style=\"margin-top:5px;\" width=\"100%\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\">\n          <tr>\n            <td><img src=\"{$resourceBase}/i/contribute/cut_line.png\" height=\"15\"></td>\n          </tr>\n        </table>\n\n        <table style=\"margin-top:5px;font-family: Arial, Verdana, sans-serif\" width=\"100%\" border=\"0\" cellpadding=\"5\" cellspacing=\"0\" id=\"desc\">\n          <tr>\n            <td width=\"60%\"><b><font size=\"4\" align=\"right\">{ts}PAYMENT ADVICE{/ts}</font></b><br/><br/><font size=\"1\" align=\"left\"><b>{ts}To:{/ts}</b><div style=\"width:24em;word-wrap:break-word;\">\n              {$domain_organization}<br />\n              {$domain_street_address} {$domain_supplemental_address_1}<br />\n              {$domain_supplemental_address_2} {$domain_state}<br />\n              {$domain_city} {$domain_postal_code}<br />\n              {$domain_country}<br />\n              {$domain_email}</div>\n              {$domain_phone}<br />\n             </font><br/><br/><font size=\"1\" align=\"left\">{$notes}</font>\n            </td>\n            <td width=\"40%\">\n              <table cellpadding=\"5\" cellspacing=\"0\"  width=\"100%\" border=\"0\">\n                <tr>\n                  <td width=\"100%\"><font size=\"1\" align=\"right\" style=\"font-weight:bold;\">{ts}Customer:{/ts}</font></td>\n                  <td style=\"white-space: nowrap\"><font size=\"1\" align=\"right\">{contact.display_name}</font></td>\n                </tr>\n                <tr>\n                  <td><font size=\"1\" align=\"right\" style=\"font-weight:bold;\">{ts}Invoice Number:{/ts}</font></td>\n                  <td><font size=\"1\" align=\"right\">{$invoice_number}</font></td>\n                </tr>\n                <tr><td colspan=\"5\" style=\"color:#F5F5F5;\"><hr></td></tr>\n                {if $is_pay_later == 1}\n                  <tr>\n                    <td><font size=\"1\" align=\"right\" style=\"font-weight:bold;\">{ts}Amount Due:{/ts}</font></td>\n                    <td><font size=\"1\" align=\"right\" style=\"font-weight:bold;\">{$amount|crmMoney:$currency}</font></td>\n                  </tr>\n                {else}\n                  <tr>\n                    <td><font size=\"1\" align=\"right\" style=\"font-weight:bold;\">{ts}Amount Due:{/ts}</font></td>\n                    <td><font size=\"1\" align=\"right\" style=\"font-weight:bold;\">{$amountDue|crmMoney:$currency}</font></td>\n                  </tr>\n                {/if}\n                <tr>\n                  <td><font size=\"1\" align=\"right\" style=\"font-weight:bold;\">{ts}Due Date:{/ts}</font></td>\n                  <td><font size=\"1\" align=\"right\">{$dueDate}</font></td>\n                </tr>\n                <tr>\n                  <td colspan=\"5\" style=\"color:#F5F5F5;\"><hr></td>\n                </tr>\n              </table>\n      {/if}\n\n      {if $contribution_status_id == $refundedStatusId || $contribution_status_id == $cancelledStatusId}\n      {if $config->empoweredBy}\n        <table style=\"margin-top:2px;padding-left:7px;page-break-before: always;\">\n          <tr>\n            <td><img src=\"{$resourceBase}/i/civi99.png\" height=\"34px\" width=\"99px\"></td>\n          </tr>\n        </table>\n      {/if}\n\n      <table style=\"font-family: Arial, Verdana, sans-serif\" width=\"100%\" height=\"100\" border=\"0\" cellpadding=\"5\" cellspacing=\"5\">\n        <tr>\n          <td style=\"padding-left:15px;\"><b><font size=\"4\" align=\"center\">{ts}CREDIT NOTE{/ts}</font></b></td>\n          <td style=\"padding-left:30px;\"><b><font size=\"1\" align=\"right\">{ts}Date:{/ts}</font></b></td>\n          <td><font size=\"1\" align=\"right\">{$domain_organization}</font></td>\n        </tr>\n        <tr>\n          {if $organization_name}\n            <td style=\"padding-left:17px;\"><font size=\"1\" align=\"center\">{contact.display_name}  ({$organization_name})</font></td>\n          {else}\n            <td style=\"padding-left:17px;\"><font size=\"1\" align=\"center\">{contact.display_name}</font></td>\n          {/if}\n          <td style=\"padding-left:30px;\"><font size=\"1\" align=\"right\">{$invoice_date}</font></td>\n          <td>\n            <font size=\"1\" align=\"right\">\n              {if $domain_street_address }{$domain_street_address}{/if}\n              {if $domain_supplemental_address_1 }{$domain_supplemental_address_1}{/if}\n           </font>\n          </td>\n        </tr>\n        <tr>\n          <td style=\"padding-left:17px;\"><font size=\"1\" align=\"center\">{$street_address}   {$supplemental_address_1}</font></td>\n          <td style=\"padding-left:30px;\"><b><font size=\"1\" align=\"right\">{ts}Credit Note Number:{/ts}</font></b></td>\n          <td>\n            <font size=\"1\" align=\"right\">\n              {if $domain_supplemental_address_2 }{$domain_supplemental_address_2}{/if}\n              {if $domain_state }{$domain_state}{/if}\n           </font>\n          </td>\n        </tr>\n        <tr>\n          <td style=\"padding-left:17px;\"><font size=\"1\" align=\"center\">{$supplemental_address_2}  {$stateProvinceAbbreviation}</font></td>\n          <td style=\"padding-left:30px;\"><font size=\"1\" align=\"right\">{$creditnote_id}</font></td>\n          <td>\n            <font size=\"1\" align=\"right\">\n              {if $domain_city}{$domain_city}{/if}\n              {if $domain_postal_code }{$domain_postal_code}{/if}\n           </font>\n          </td>\n        </tr>\n        <tr>\n          <td style=\"padding-left:17px;\"><font size=\"1\" align=\"right\">{$city}  {$postal_code}</font></td>\n          <td height=\"10\" style=\"padding-left:30px;\"><b><font size=\"1\" align=\"right\">{ts}Reference:{/ts}</font></b></td>\n          <td>\n            <font size=\"1\" align=\"right\">\n              {if $domain_country}{$domain_country}{/if}\n           </font>\n          </td>\n        </tr>\n        <tr>\n          <td></td>\n          <td style=\"padding-left:30px;\"><font size=\"1\" align=\"right\">{$source}</font></td>\n          <td>\n            <font size=\"1\" align=\"right\">\n              {if $domain_email}{$domain_email}{/if}\n           </font>\n          </td>\n        </tr>\n        <tr>\n          <td></td>\n          <td></td>\n          <td>\n            <font size=\"1\" align=\"right\">\n              {if $domain_phone}{$domain_phone}{/if}\n           </font>\n          </td>\n        </tr>\n      </table>\n\n      <table style=\"margin-top:75px;font-family: Arial, Verdana, sans-serif\" width=\"100%\" border=\"0\" cellpadding=\"5\" cellspacing=\"5\" id=\"desc\">\n        <tr>\n          <td colspan=\"2\" {$valueStyle}>\n            <table> {* FIXME: style this table so that it looks like the text version (justification, etc.) *}\n              <tr>\n                <th style=\"padding-right:28px;text-align:left;font-weight:bold;width:200px;\"><font size=\"1\">{ts}Description{/ts}</font></th>\n                <th style=\"padding-left:28px;text-align:right;font-weight:bold;\"><font size=\"1\">{ts}Quantity{/ts}</font></th>\n                <th style=\"padding-left:28px;text-align:right;font-weight:bold;\"><font size=\"1\">{ts}Unit Price{/ts}</font></th>\n                <th style=\"padding-left:28px;text-align:right;font-weight:bold;\"><font size=\"1\">{if isset($taxTerm)}{$taxTerm}{/if}</font></th>\n                <th style=\"padding-left:28px;text-align:right;font-weight:bold;\"><font size=\"1\">{ts 1=$currency}Amount %1{/ts}</font></th>\n              </tr>\n              {foreach from=$lineItem item=value key=priceset name=pricevalue}\n                {if $smarty.foreach.pricevalue.index eq 0}\n                  <tr><td colspan=\"5\"><hr size=\"3\" style=\"color:#000;\"></hr></td></tr>\n                {else}\n                  <tr><td colspan=\"5\" style=\"color:#F5F5F5;\"><hr></hr></td></tr>\n                {/if}\n                <tr>\n                  <td style =\"text-align:left;\"  >\n                    <font size=\"1\">\n                      {if $value.html_type eq \'Text\'}\n                        {$value.label}\n                      {else}\n                        {$value.field_title} - {$value.label}\n                      {/if}\n                      {if $value.description}\n                        <div>{$value.description|truncate:30:\"...\"}</div>\n                      {/if}\n                   </font>\n                  </td>\n                  <td style=\"padding-left:28px;text-align:right;\"><font size=\"1\">{$value.qty}</font></td>\n                  <td style=\"padding-left:28px;text-align:right;\"><font size=\"1\">{$value.unit_price|crmMoney:$currency}</font></td>\n                  {if $value.tax_amount != \'\'}\n                    <td style=\"padding-left:28px;text-align:right;\"><font size=\"1\">{if isset($value.tax_rate)}{$value.tax_rate}%{/if}</font></td>\n                  {else}\n                    <td style=\"padding-left:28px;text-align:right\"><font size=\"1\">{if isset($taxTerm)}{ts 1=$taxTerm}No %1{/ts}{/if}</font></td>\n                  {/if}\n                  <td style=\"padding-left:28px;text-align:right;\"><font size=\"1\">{$value.subTotal|crmMoney:$currency}</font></td>\n                </tr>\n              {/foreach}\n              <tr><td colspan=\"5\" style=\"color:#F5F5F5;\"><hr></hr></td></tr>\n              <tr>\n                <td colspan=\"3\"></td>\n                <td style=\"padding-left:28px;text-align:right;\"><font size=\"1\">{ts}Sub Total{/ts}</font></td>\n                <td style=\"padding-left:28px;text-align:right;\"><font size=\"1\">{$subTotal|crmMoney:$currency}</font></td>\n              </tr>\n              {if !empty($dataArray)}\n              {foreach from=$dataArray item=value key=priceset}\n                <tr>\n                  <td colspan=\"3\"></td>\n                  {if $priceset}\n                    <td style=\"padding-left:28px;text-align:right;\"><font size=\"1\">{if isset($taxTerm)}{ts 1=$taxTerm 2=$priceset}TOTAL %1 %2%{/ts}{/if}</font></td>\n                    <td style=\"padding-left:28px;text-align:right;\"><font size=\"1\" align=\"right\">{$value|crmMoney:$currency}</font> </td>\n                  {elseif $priceset == 0}\n                    <td style=\"padding-left:28px;text-align:right;\"><font size=\"1\">{if isset($taxTerm)}{ts 1=$taxTerm}TOTAL NO %1{/ts}{/if}</font></td>\n                    <td style=\"padding-left:28px;text-align:right;\"><font size=\"1\" align=\"right\">{$value|crmMoney:$currency}</font> </td>\n                  {/if}\n                </tr>\n              {/foreach}\n              {/if}\n              <tr>\n                <td colspan=\"3\"></td>\n                <td colspan=\"2\"><hr></hr></td>\n              </tr>\n              <tr>\n                <td colspan=\"3\"></td>\n                <td style=\"padding-left:28px;text-align:right;\"><b><font size=\"1\">{ts 1=$currency}TOTAL %1{/ts}</font></b></td>\n                <td style=\"padding-left:28px;text-align:right;\"><font size=\"1\">{$amount|crmMoney:$currency}</font></td>\n              </tr>\n              {if $is_pay_later == 0}\n                <tr>\n                  <td colspan=\"3\"></td>\n                  <td style=\"padding-left:28px;text-align:right;\"><font size=\"1\">{ts}LESS Credit to invoice(s){/ts}</font></td>\n                  <td style=\"padding-left:28px;text-align:right;\"><font size=\"1\">{$amount|crmMoney:$currency}</font></td>\n                </tr>\n                <tr>\n                  <td colspan=\"3\"></td>\n                  <td colspan=\"2\"><hr></hr></td>\n                </tr>\n                <tr>\n                  <td colspan=\"3\"></td>\n                  <td style=\"padding-left:28px;text-align:right;\"><b><font size=\"1\">{ts}REMAINING CREDIT{/ts}</font></b></td>\n                  <td style=\"padding-left:28px;text-align:right;\"><b><font size=\"1\">{$amountDue|crmMoney:$currency}</font></b></td>\n                  <td style=\"padding-left:28px;\"><font size=\"1\" align=\"right\"></font></td>\n                </tr>\n              {/if}\n              <br/><br/><br/>\n              <tr>\n                <td colspan=\"3\"></td>\n              </tr>\n              <tr>\n                <td></td>\n                <td colspan=\"3\"></td>\n              </tr>\n            </table>\n          </td>\n        </tr>\n      </table>\n\n      <table width=\"100%\" style=\"margin-top:5px;padding-right:45px;\">\n        <tr>\n          <td><img src=\"{$resourceBase}/i/contribute/cut_line.png\" height=\"15\" width=\"100%\"></td>\n        </tr>\n      </table>\n\n      <table style=\"margin-top:6px;font-family: Arial, Verdana, sans-serif\" width=\"100%\" border=\"0\" cellpadding=\"5\" cellspacing=\"5\" id=\"desc\">\n        <tr>\n          <td width=\"60%\"><font size=\"4\" align=\"right\"><b>{ts}CREDIT ADVICE{/ts}</b><br/><br /><div style=\"font-size:10px;max-width:300px;\">{ts}Please do not pay on this advice. Deduct the amount of this Credit Note from your next payment to us{/ts}</div><br/></font></td>\n          <td width=\"40%\">\n            <table align=\"right\">\n              <tr>\n                <td colspan=\"2\"></td>\n                <td><font size=\"1\" align=\"right\" style=\"font-weight:bold;\">{ts}Customer:{/ts}</font></td>\n                <td><font size=\"1\" align=\"right\">{contact.display_name}</font></td>\n              </tr>\n              <tr>\n                <td colspan=\"2\"></td>\n                <td><font size=\"1\" align=\"right\" style=\"font-weight:bold;\">{ts}Credit Note#:{/ts}</font></td>\n                <td><font size=\"1\" align=\"right\">{$creditnote_id}</font></td>\n              </tr>\n              <tr><td colspan=\"5\"style=\"color:#F5F5F5;\"><hr></hr></td></tr>\n              <tr>\n                <td colspan=\"2\"></td>\n                <td><font size=\"1\" align=\"right\" style=\"font-weight:bold;\">{ts}Credit Amount:{/ts}</font></td>\n                <td width=\'50px\'><font size=\"1\" align=\"right\" style=\"font-weight:bold;\">{$amount|crmMoney:$currency}</font></td>\n              </tr>\n            </table>\n          </td>\n        </tr>\n      </table>\n    {/if}\n\n  </div>\n  </body>\n</html>\n',1,832,'contribution_invoice_receipt',1,0,0,NULL),
- (10,'Contributions - Invoice','{if $title}\n  {if $component}\n    {if $component == \'event\'}\n      {ts 1=$title}Event Registration Invoice: %1{/ts}\n    {else}\n      {ts 1=$title}Contribution Invoice: %1{/ts}\n    {/if}\n  {/if}\n{else}\n  {ts}Invoice{/ts}\n{/if}\n - {contact.display_name}\n','{ts}Contribution Invoice{/ts}\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n  <head>\n    <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n      <title></title>\n  </head>\n  <body>\n  <div style=\"padding-top:100px;margin-right:50px;border-style: none;\">\n    {if $config->empoweredBy}\n      <table style=\"margin-top:5px;padding-bottom:50px;\" cellpadding=\"5\" cellspacing=\"0\">\n        <tr>\n          <td><img src=\"{$resourceBase}/i/civi99.png\" height=\"34px\" width=\"99px\"></td>\n        </tr>\n      </table>\n    {/if}\n      <table style=\"font-family: Arial, Verdana, sans-serif;\" width=\"100%\" height=\"100\" border=\"0\" cellpadding=\"5\" cellspacing=\"0\">\n        <tr>\n          <td width=\"30%\"><b><font size=\"4\" align=\"center\">{ts}INVOICE{/ts}</font></b></td>\n          <td width=\"50%\" valign=\"bottom\"><b><font size=\"1\" align=\"center\">{ts}Invoice Date:{/ts}</font></b></td>\n          <td valign=\"bottom\" style=\"white-space: nowrap\"><b><font size=\"1\" align=\"right\">{$domain_organization}</font></b></td>\n        </tr>\n        <tr>\n          {if $organization_name}\n            <td><font size=\"1\" align=\"center\">{contact.display_name}  ({$organization_name})</font></td>\n          {else}\n            <td><font size=\"1\" align=\"center\">{contact.display_name}</font></td>\n          {/if}\n          <td><font size=\"1\" align=\"right\">{$invoice_date}</font></td>\n          <td style=\"white-space: nowrap\">\n            <font size=\"1\" align=\"right\">\n              {if $domain_street_address }{$domain_street_address}{/if}\n              {if $domain_supplemental_address_1 }{$domain_supplemental_address_1}{/if}\n           </font>\n          </td>\n        </tr>\n        <tr>\n          <td><font size=\"1\" align=\"center\">{$street_address} {$supplemental_address_1}</font></td>\n          <td><b><font size=\"1\" align=\"right\">{ts}Invoice Number:{/ts}</font></b></td>\n          <td>\n            <font size=\"1\" align=\"right\">\n              {if $domain_supplemental_address_2 }{$domain_supplemental_address_2}{/if}\n              {if $domain_state }{$domain_state}{/if}\n           </font>\n          </td>\n        </tr>\n        <tr>\n          <td><font size=\"1\" align=\"center\">{$supplemental_address_2} {$stateProvinceAbbreviation}</font></td>\n          <td><font size=\"1\" align=\"right\">{$invoice_number}</font></td>\n          <td style=\"white-space: nowrap\">\n            <font size=\"1\" align=\"right\">\n              {if $domain_city}{$domain_city}{/if}\n              {if $domain_postal_code }{$domain_postal_code}{/if}\n           </font>\n          </td>\n        </tr>\n        <tr>\n          <td><font size=\"1\" align=\"right\">{$city}  {$postal_code}</font></td>\n          <td height=\"10\"><b><font size=\"1\" align=\"right\">{ts}Reference:{/ts}</font></b></td>\n          <td><font size=\"1\" align=\"right\">{if $domain_country}{$domain_country}{/if}</font></td>\n        </tr>\n        <tr>\n          <td><font size=\"1\" align=\"right\"> {$country}</font></td>\n          <td><font size=\"1\" align=\"right\">{if !empty($source)}{$source}{/if}</font></td>\n          <td valign=\"top\" style=\"white-space: nowrap\"><font size=\"1\" align=\"right\">{if $domain_email}{$domain_email}{/if}</font> </td>\n        </tr>\n        <tr>\n          <td></td>\n          <td></td>\n          <td valign=\"top\"><font size=\"1\" align=\"right\">{if $domain_phone}{$domain_phone}{/if}</font> </td>\n        </tr>\n      </table>\n\n             <table style=\"padding-top:75px;font-family: Arial, Verdana, sans-serif;\" width=\"100%\" border=\"0\" cellpadding=\"5\" cellspacing=\"0\">\n              <tr>\n                <th style=\"text-align:left;font-weight:bold;width:100%\"><font size=\"1\">{ts}Description{/ts}</font></th>\n                <th style=\"text-align:right;font-weight:bold;white-space: nowrap\"><font size=\"1\">{ts}Quantity{/ts}</font></th>\n                <th style=\"text-align:right;font-weight:bold;white-space: nowrap\"><font size=\"1\">{ts}Unit Price{/ts}</font></th>\n                <th style=\"text-align:right;font-weight:bold;white-space: nowrap\"><font size=\"1\">{if isset($taxTerm)}{$taxTerm}{/if}</font></th>\n                <th style=\"text-align:right;font-weight:bold;white-space: nowrap\"><font size=\"1\">{ts 1=$currency}Amount %1{/ts}</font></th>\n              </tr>\n              {foreach from=$lineItem item=value key=priceset name=taxpricevalue}\n                {if $smarty.foreach.taxpricevalue.index eq 0}\n                {else}\n                {/if}\n                <tr>\n                  <td style=\"text-align:left;nowrap\"><font size=\"1\">\n                    {if $value.html_type eq \'Text\'}\n                      {$value.label}\n                    {else}\n                      {$value.field_title} - {$value.label}\n                    {/if}\n                    {if $value.description}\n                      <div>{$value.description|truncate:30:\"...\"}</div>\n                    {/if}\n                   </font>\n                  </td>\n                  <td style=\"text-align:right;\"><font size=\"1\">{$value.qty}</font></td>\n                  <td style=\"text-align:right;\"><font size=\"1\">{$value.unit_price|crmMoney:$currency}</font></td>\n                  {if $value.tax_amount != \'\'}\n                    <td style=\"text-align:right;\"><font size=\"1\">{if isset($value.tax_rate)}{$value.tax_rate}%{/if}</font></td>\n                  {else}\n                    <td style=\"text-align:right;\"><font size=\"1\">{if isset($taxTerm)}{ts 1=$taxTerm}-{/ts}{/if}</font></td>\n                  {/if}\n                  <td style=\"text-align:right;\"><font size=\"1\">{$value.subTotal|crmMoney:$currency}</font></td>\n                </tr>\n              {/foreach}\n              <tr>\n                <td colspan=\"3\"></td>\n                <td style=\"text-align:right;\"><font size=\"1\">{ts}Sub Total{/ts}</font></td>\n                <td style=\"text-align:right;\"><font size=\"1\">{$subTotal|crmMoney:$currency}</font></td>\n              </tr>\n              {if !empty($dataArray)}\n              {foreach from=$dataArray item=value key=priceset}\n                <tr>\n                  <td colspan=\"3\"></td>\n                    {if $priceset}\n                      <td style=\"text-align:right;white-space: nowrap\"><font size=\"1\">{if isset($taxTerm)}{ts 1=$taxTerm 2=$priceset}TOTAL %1 %2%{/ts}{/if}</font></td>\n                      <td style=\"text-align:right\"><font size=\"1\" align=\"right\">{$value|crmMoney:$currency}</font> </td>\n                    {elseif $priceset == 0}\n                      <td style=\"text-align:right;white-space: nowrap\"><font size=\"1\">{if isset($taxTerm)}{ts 1=$taxTerm}TOTAL %1{/ts}{/if}</font></td>\n                      <td style=\"text-align:right\"><font size=\"1\" align=\"right\">{$value|crmMoney:$currency}</font> </td>\n                    {/if}\n                </tr>\n              {/foreach}\n              {/if}\n              <tr>\n                <td colspan=\"3\"></td>\n                <td style=\"text-align:right;white-space: nowrap\"><b><font size=\"1\">{ts 1=$currency}TOTAL %1{/ts}</font></b></td>\n                <td style=\"text-align:right;\"><font size=\"1\">{$amount|crmMoney:$currency}</font></td>\n              </tr>\n              <tr>\n                <td colspan=\"3\"></td>\n                <td style=\"text-align:right;white-space: nowrap\"><font size=\"1\">\n                  {if $contribution_status_id == $refundedStatusId}\n                    {ts}Amount Credited{/ts}\n                  {else}\n                    {ts}Amount Paid{/ts}\n                  {/if}\n                 </font>\n                </td>\n                <td style=\"text-align:right;\"><font size=\"1\">{$amountPaid|crmMoney:$currency}</font></td>\n              </tr>\n              <tr>\n                <td colspan=\"3\"></td>\n                <td colspan=\"2\"><hr></hr></td>\n              </tr>\n              <tr>\n                <td colspan=\"3\"></td>\n                <td style=\"text-align:right;white-space: nowrap\" ><b><font size=\"1\">{ts}AMOUNT DUE:{/ts}</font></b></td>\n                <td style=\"text-align:right;\"><b><font size=\"1\">{$amountDue|crmMoney:$currency}</font></b></td>\n              </tr>\n\n              <br/><br/><br/>\n              <tr>\n                <td colspan=\"5\"></td>\n              </tr>\n              {if $contribution_status_id == $pendingStatusId && $is_pay_later == 1}\n                <tr>\n                  <td colspan=\"3\"><b><font size=\"1\" align=\"center\">{ts 1=$dueDate}DUE DATE: %1{/ts}</font></b></td>\n                  <td colspan=\"2\"></td>\n                </tr>\n              {/if}\n            </table>\n          </td>\n        </tr>\n      </table>\n\n      {if $contribution_status_id == $pendingStatusId && $is_pay_later == 1}\n        <table style=\"margin-top:5px;\" width=\"100%\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\">\n          <tr>\n            <td><img src=\"{$resourceBase}/i/contribute/cut_line.png\" height=\"15\"></td>\n          </tr>\n        </table>\n\n        <table style=\"margin-top:5px;font-family: Arial, Verdana, sans-serif\" width=\"100%\" border=\"0\" cellpadding=\"5\" cellspacing=\"0\" id=\"desc\">\n          <tr>\n            <td width=\"60%\"><b><font size=\"4\" align=\"right\">{ts}PAYMENT ADVICE{/ts}</font></b><br/><br/><font size=\"1\" align=\"left\"><b>{ts}To:{/ts}</b><div style=\"width:24em;word-wrap:break-word;\">\n              {$domain_organization}<br />\n              {$domain_street_address} {$domain_supplemental_address_1}<br />\n              {$domain_supplemental_address_2} {$domain_state}<br />\n              {$domain_city} {$domain_postal_code}<br />\n              {$domain_country}<br />\n              {$domain_email}</div>\n              {$domain_phone}<br />\n             </font><br/><br/><font size=\"1\" align=\"left\">{$notes}</font>\n            </td>\n            <td width=\"40%\">\n              <table cellpadding=\"5\" cellspacing=\"0\"  width=\"100%\" border=\"0\">\n                <tr>\n                  <td width=\"100%\"><font size=\"1\" align=\"right\" style=\"font-weight:bold;\">{ts}Customer:{/ts}</font></td>\n                  <td style=\"white-space: nowrap\"><font size=\"1\" align=\"right\">{contact.display_name}</font></td>\n                </tr>\n                <tr>\n                  <td><font size=\"1\" align=\"right\" style=\"font-weight:bold;\">{ts}Invoice Number:{/ts}</font></td>\n                  <td><font size=\"1\" align=\"right\">{$invoice_number}</font></td>\n                </tr>\n                <tr><td colspan=\"5\" style=\"color:#F5F5F5;\"><hr></td></tr>\n                {if $is_pay_later == 1}\n                  <tr>\n                    <td><font size=\"1\" align=\"right\" style=\"font-weight:bold;\">{ts}Amount Due:{/ts}</font></td>\n                    <td><font size=\"1\" align=\"right\" style=\"font-weight:bold;\">{$amount|crmMoney:$currency}</font></td>\n                  </tr>\n                {else}\n                  <tr>\n                    <td><font size=\"1\" align=\"right\" style=\"font-weight:bold;\">{ts}Amount Due:{/ts}</font></td>\n                    <td><font size=\"1\" align=\"right\" style=\"font-weight:bold;\">{$amountDue|crmMoney:$currency}</font></td>\n                  </tr>\n                {/if}\n                <tr>\n                  <td><font size=\"1\" align=\"right\" style=\"font-weight:bold;\">{ts}Due Date:{/ts}</font></td>\n                  <td><font size=\"1\" align=\"right\">{$dueDate}</font></td>\n                </tr>\n                <tr>\n                  <td colspan=\"5\" style=\"color:#F5F5F5;\"><hr></td>\n                </tr>\n              </table>\n      {/if}\n\n      {if $contribution_status_id == $refundedStatusId || $contribution_status_id == $cancelledStatusId}\n      {if $config->empoweredBy}\n        <table style=\"margin-top:2px;padding-left:7px;page-break-before: always;\">\n          <tr>\n            <td><img src=\"{$resourceBase}/i/civi99.png\" height=\"34px\" width=\"99px\"></td>\n          </tr>\n        </table>\n      {/if}\n\n      <table style=\"font-family: Arial, Verdana, sans-serif\" width=\"100%\" height=\"100\" border=\"0\" cellpadding=\"5\" cellspacing=\"5\">\n        <tr>\n          <td style=\"padding-left:15px;\"><b><font size=\"4\" align=\"center\">{ts}CREDIT NOTE{/ts}</font></b></td>\n          <td style=\"padding-left:30px;\"><b><font size=\"1\" align=\"right\">{ts}Date:{/ts}</font></b></td>\n          <td><font size=\"1\" align=\"right\">{$domain_organization}</font></td>\n        </tr>\n        <tr>\n          {if $organization_name}\n            <td style=\"padding-left:17px;\"><font size=\"1\" align=\"center\">{contact.display_name}  ({$organization_name})</font></td>\n          {else}\n            <td style=\"padding-left:17px;\"><font size=\"1\" align=\"center\">{contact.display_name}</font></td>\n          {/if}\n          <td style=\"padding-left:30px;\"><font size=\"1\" align=\"right\">{$invoice_date}</font></td>\n          <td>\n            <font size=\"1\" align=\"right\">\n              {if $domain_street_address }{$domain_street_address}{/if}\n              {if $domain_supplemental_address_1 }{$domain_supplemental_address_1}{/if}\n           </font>\n          </td>\n        </tr>\n        <tr>\n          <td style=\"padding-left:17px;\"><font size=\"1\" align=\"center\">{$street_address}   {$supplemental_address_1}</font></td>\n          <td style=\"padding-left:30px;\"><b><font size=\"1\" align=\"right\">{ts}Credit Note Number:{/ts}</font></b></td>\n          <td>\n            <font size=\"1\" align=\"right\">\n              {if $domain_supplemental_address_2 }{$domain_supplemental_address_2}{/if}\n              {if $domain_state }{$domain_state}{/if}\n           </font>\n          </td>\n        </tr>\n        <tr>\n          <td style=\"padding-left:17px;\"><font size=\"1\" align=\"center\">{$supplemental_address_2}  {$stateProvinceAbbreviation}</font></td>\n          <td style=\"padding-left:30px;\"><font size=\"1\" align=\"right\">{$creditnote_id}</font></td>\n          <td>\n            <font size=\"1\" align=\"right\">\n              {if $domain_city}{$domain_city}{/if}\n              {if $domain_postal_code }{$domain_postal_code}{/if}\n           </font>\n          </td>\n        </tr>\n        <tr>\n          <td style=\"padding-left:17px;\"><font size=\"1\" align=\"right\">{$city}  {$postal_code}</font></td>\n          <td height=\"10\" style=\"padding-left:30px;\"><b><font size=\"1\" align=\"right\">{ts}Reference:{/ts}</font></b></td>\n          <td>\n            <font size=\"1\" align=\"right\">\n              {if $domain_country}{$domain_country}{/if}\n           </font>\n          </td>\n        </tr>\n        <tr>\n          <td></td>\n          <td style=\"padding-left:30px;\"><font size=\"1\" align=\"right\">{$source}</font></td>\n          <td>\n            <font size=\"1\" align=\"right\">\n              {if $domain_email}{$domain_email}{/if}\n           </font>\n          </td>\n        </tr>\n        <tr>\n          <td></td>\n          <td></td>\n          <td>\n            <font size=\"1\" align=\"right\">\n              {if $domain_phone}{$domain_phone}{/if}\n           </font>\n          </td>\n        </tr>\n      </table>\n\n      <table style=\"margin-top:75px;font-family: Arial, Verdana, sans-serif\" width=\"100%\" border=\"0\" cellpadding=\"5\" cellspacing=\"5\" id=\"desc\">\n        <tr>\n          <td colspan=\"2\" {$valueStyle}>\n            <table> {* FIXME: style this table so that it looks like the text version (justification, etc.) *}\n              <tr>\n                <th style=\"padding-right:28px;text-align:left;font-weight:bold;width:200px;\"><font size=\"1\">{ts}Description{/ts}</font></th>\n                <th style=\"padding-left:28px;text-align:right;font-weight:bold;\"><font size=\"1\">{ts}Quantity{/ts}</font></th>\n                <th style=\"padding-left:28px;text-align:right;font-weight:bold;\"><font size=\"1\">{ts}Unit Price{/ts}</font></th>\n                <th style=\"padding-left:28px;text-align:right;font-weight:bold;\"><font size=\"1\">{if isset($taxTerm)}{$taxTerm}{/if}</font></th>\n                <th style=\"padding-left:28px;text-align:right;font-weight:bold;\"><font size=\"1\">{ts 1=$currency}Amount %1{/ts}</font></th>\n              </tr>\n              {foreach from=$lineItem item=value key=priceset name=pricevalue}\n                {if $smarty.foreach.pricevalue.index eq 0}\n                  <tr><td colspan=\"5\"><hr size=\"3\" style=\"color:#000;\"></hr></td></tr>\n                {else}\n                  <tr><td colspan=\"5\" style=\"color:#F5F5F5;\"><hr></hr></td></tr>\n                {/if}\n                <tr>\n                  <td style =\"text-align:left;\"  >\n                    <font size=\"1\">\n                      {if $value.html_type eq \'Text\'}\n                        {$value.label}\n                      {else}\n                        {$value.field_title} - {$value.label}\n                      {/if}\n                      {if $value.description}\n                        <div>{$value.description|truncate:30:\"...\"}</div>\n                      {/if}\n                   </font>\n                  </td>\n                  <td style=\"padding-left:28px;text-align:right;\"><font size=\"1\">{$value.qty}</font></td>\n                  <td style=\"padding-left:28px;text-align:right;\"><font size=\"1\">{$value.unit_price|crmMoney:$currency}</font></td>\n                  {if $value.tax_amount != \'\'}\n                    <td style=\"padding-left:28px;text-align:right;\"><font size=\"1\">{if isset($value.tax_rate)}{$value.tax_rate}%{/if}</font></td>\n                  {else}\n                    <td style=\"padding-left:28px;text-align:right\"><font size=\"1\">{if isset($taxTerm)}{ts 1=$taxTerm}No %1{/ts}{/if}</font></td>\n                  {/if}\n                  <td style=\"padding-left:28px;text-align:right;\"><font size=\"1\">{$value.subTotal|crmMoney:$currency}</font></td>\n                </tr>\n              {/foreach}\n              <tr><td colspan=\"5\" style=\"color:#F5F5F5;\"><hr></hr></td></tr>\n              <tr>\n                <td colspan=\"3\"></td>\n                <td style=\"padding-left:28px;text-align:right;\"><font size=\"1\">{ts}Sub Total{/ts}</font></td>\n                <td style=\"padding-left:28px;text-align:right;\"><font size=\"1\">{$subTotal|crmMoney:$currency}</font></td>\n              </tr>\n              {if !empty($dataArray)}\n              {foreach from=$dataArray item=value key=priceset}\n                <tr>\n                  <td colspan=\"3\"></td>\n                  {if $priceset}\n                    <td style=\"padding-left:28px;text-align:right;\"><font size=\"1\">{if isset($taxTerm)}{ts 1=$taxTerm 2=$priceset}TOTAL %1 %2%{/ts}{/if}</font></td>\n                    <td style=\"padding-left:28px;text-align:right;\"><font size=\"1\" align=\"right\">{$value|crmMoney:$currency}</font> </td>\n                  {elseif $priceset == 0}\n                    <td style=\"padding-left:28px;text-align:right;\"><font size=\"1\">{if isset($taxTerm)}{ts 1=$taxTerm}TOTAL NO %1{/ts}{/if}</font></td>\n                    <td style=\"padding-left:28px;text-align:right;\"><font size=\"1\" align=\"right\">{$value|crmMoney:$currency}</font> </td>\n                  {/if}\n                </tr>\n              {/foreach}\n              {/if}\n              <tr>\n                <td colspan=\"3\"></td>\n                <td colspan=\"2\"><hr></hr></td>\n              </tr>\n              <tr>\n                <td colspan=\"3\"></td>\n                <td style=\"padding-left:28px;text-align:right;\"><b><font size=\"1\">{ts 1=$currency}TOTAL %1{/ts}</font></b></td>\n                <td style=\"padding-left:28px;text-align:right;\"><font size=\"1\">{$amount|crmMoney:$currency}</font></td>\n              </tr>\n              {if $is_pay_later == 0}\n                <tr>\n                  <td colspan=\"3\"></td>\n                  <td style=\"padding-left:28px;text-align:right;\"><font size=\"1\">{ts}LESS Credit to invoice(s){/ts}</font></td>\n                  <td style=\"padding-left:28px;text-align:right;\"><font size=\"1\">{$amount|crmMoney:$currency}</font></td>\n                </tr>\n                <tr>\n                  <td colspan=\"3\"></td>\n                  <td colspan=\"2\"><hr></hr></td>\n                </tr>\n                <tr>\n                  <td colspan=\"3\"></td>\n                  <td style=\"padding-left:28px;text-align:right;\"><b><font size=\"1\">{ts}REMAINING CREDIT{/ts}</font></b></td>\n                  <td style=\"padding-left:28px;text-align:right;\"><b><font size=\"1\">{$amountDue|crmMoney:$currency}</font></b></td>\n                  <td style=\"padding-left:28px;\"><font size=\"1\" align=\"right\"></font></td>\n                </tr>\n              {/if}\n              <br/><br/><br/>\n              <tr>\n                <td colspan=\"3\"></td>\n              </tr>\n              <tr>\n                <td></td>\n                <td colspan=\"3\"></td>\n              </tr>\n            </table>\n          </td>\n        </tr>\n      </table>\n\n      <table width=\"100%\" style=\"margin-top:5px;padding-right:45px;\">\n        <tr>\n          <td><img src=\"{$resourceBase}/i/contribute/cut_line.png\" height=\"15\" width=\"100%\"></td>\n        </tr>\n      </table>\n\n      <table style=\"margin-top:6px;font-family: Arial, Verdana, sans-serif\" width=\"100%\" border=\"0\" cellpadding=\"5\" cellspacing=\"5\" id=\"desc\">\n        <tr>\n          <td width=\"60%\"><font size=\"4\" align=\"right\"><b>{ts}CREDIT ADVICE{/ts}</b><br/><br /><div style=\"font-size:10px;max-width:300px;\">{ts}Please do not pay on this advice. Deduct the amount of this Credit Note from your next payment to us{/ts}</div><br/></font></td>\n          <td width=\"40%\">\n            <table align=\"right\">\n              <tr>\n                <td colspan=\"2\"></td>\n                <td><font size=\"1\" align=\"right\" style=\"font-weight:bold;\">{ts}Customer:{/ts}</font></td>\n                <td><font size=\"1\" align=\"right\">{contact.display_name}</font></td>\n              </tr>\n              <tr>\n                <td colspan=\"2\"></td>\n                <td><font size=\"1\" align=\"right\" style=\"font-weight:bold;\">{ts}Credit Note#:{/ts}</font></td>\n                <td><font size=\"1\" align=\"right\">{$creditnote_id}</font></td>\n              </tr>\n              <tr><td colspan=\"5\"style=\"color:#F5F5F5;\"><hr></hr></td></tr>\n              <tr>\n                <td colspan=\"2\"></td>\n                <td><font size=\"1\" align=\"right\" style=\"font-weight:bold;\">{ts}Credit Amount:{/ts}</font></td>\n                <td width=\'50px\'><font size=\"1\" align=\"right\" style=\"font-weight:bold;\">{$amount|crmMoney:$currency}</font></td>\n              </tr>\n            </table>\n          </td>\n        </tr>\n      </table>\n    {/if}\n\n  </div>\n  </body>\n</html>\n',1,832,'contribution_invoice_receipt',0,1,0,NULL),
- (11,'Contributions - Recurring Start and End Notification','{ts}Recurring Contribution Notification{/ts} - {contact.display_name}\n','{assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}{$greeting},{/if}\n\n{if $recur_txnType eq \'START\'}\n{if $auto_renew_membership}\n{ts}Thanks for your auto renew membership sign-up.{/ts}\n\n\n{ts 1=$recur_frequency_interval 2=$recur_frequency_unit}This membership will be automatically renewed every %1 %2(s).{/ts}\n\n{if $cancelSubscriptionUrl}\n{ts 1=$cancelSubscriptionUrl}You can cancel the auto-renewal option by <a href=\"%1\">visiting this web page</a>.{/ts}\n\n{/if}\n\n{if $updateSubscriptionBillingUrl}\n{ts 1=$updateSubscriptionBillingUrl}You can update billing details for this automatically renewed membership by <a href=\"%1\">visiting this web page</a>.{/ts}\n\n{/if}\n{else}\n{ts}Thanks for your recurring contribution sign-up.{/ts}\n\n\n{ts 1=$recur_frequency_interval 2=$recur_frequency_unit 3=$recur_installments}This recurring contribution will be automatically processed every %1 %2(s){/ts}{if $recur_installments } {ts 1=$recur_installments} for a total of %1 installment(s){/ts}{/if}.\n\n{ts}Start Date{/ts}:  {$recur_start_date|crmDate}\n\n{if $cancelSubscriptionUrl}\n{ts 1=$cancelSubscriptionUrl}You can cancel the recurring contribution option by <a href=\"%1\">visiting this web page</a>.{/ts}\n\n{/if}\n\n{if $updateSubscriptionBillingUrl}\n{ts 1=$updateSubscriptionBillingUrl}You can update billing details for this recurring contribution by <a href=\"%1\">visiting this web page</a>.{/ts}\n\n{/if}\n\n{if $updateSubscriptionUrl}\n{ts 1=$updateSubscriptionUrl}You can update recurring contribution amount or change the number of installments for this recurring contribution by <a href=\"%1\">visiting this web page</a>.{/ts}\n\n{/if}\n{/if}\n\n{elseif $recur_txnType eq \'END\'}\n{if $auto_renew_membership}\n{ts}Your auto renew membership sign-up has ended and your membership will not be automatically renewed.{/ts}\n\n\n{else}\n{ts}Your recurring contribution term has ended.{/ts}\n\n\n{ts 1=$recur_installments}You have successfully completed %1 recurring contributions. Thank you.{/ts}\n\n\n==================================================\n{ts 1=$recur_installments}Interval of Subscription for %1 installment(s){/ts}\n\n==================================================\n{ts}Start Date{/ts}: {$recur_start_date|crmDate}\n\n{ts}End Date{/ts}: {$recur_end_date|crmDate}\n\n{/if}\n{/if}\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n    {assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}<p>{$greeting},</p>{/if}\n   </td>\n  </tr>\n\n  <tr>\n   <td>&nbsp;</td>\n  </tr>\n\n    {if $recur_txnType eq \'START\'}\n     {if $auto_renew_membership}\n       <tr>\n        <td>\n         <p>{ts}Thanks for your auto renew membership sign-up.{/ts}</p>\n         <p>{ts 1=$recur_frequency_interval 2=$recur_frequency_unit}This membership will be automatically renewed every %1 %2(s). {/ts}</p>\n        </td>\n       </tr>\n       {if $cancelSubscriptionUrl}\n       <tr>\n         <td {$labelStyle}>\n           {ts 1=$cancelSubscriptionUrl}You can cancel the auto-renewal option by <a href=\"%1\">visiting this web page</a>.{/ts}\n         </td>\n       </tr>\n       {/if}\n       {if $updateSubscriptionBillingUrl}\n         <tr>\n          <td {$labelStyle}>\n           {ts 1=$updateSubscriptionBillingUrl}You can update billing details for this automatically renewed membership by <a href=\"%1\">visiting this web page</a>.{/ts}\n          </td>\n         </tr>\n       {/if}\n     {else}\n      <tr>\n       <td>\n        <p>{ts}Thanks for your recurring contribution sign-up.{/ts}</p>\n        <p>{ts 1=$recur_frequency_interval 2=$recur_frequency_unit}This recurring contribution will be automatically processed every %1 %2(s){/ts}{if $recur_installments }{ts 1=$recur_installments} for a total of %1 installment(s){/ts}{/if}.</p>\n        <p>{ts}Start Date{/ts}: {$recur_start_date|crmDate}</p>\n       </td>\n      </tr>\n      {if $cancelSubscriptionUrl}\n      <tr>\n        <td {$labelStyle}>\n          {ts 1=$cancelSubscriptionUrl} You can cancel the recurring contribution option by <a href=\"%1\">visiting this web page</a>.{/ts}\n        </td>\n      </tr>\n      {/if}\n      {if $updateSubscriptionBillingUrl}\n        <tr>\n          <td {$labelStyle}>\n            {ts 1=$updateSubscriptionBillingUrl}You can update billing details for this recurring contribution by <a href=\"%1\">visiting this web page</a>.{/ts}\n          </td>\n        </tr>\n      {/if}\n      {if $updateSubscriptionUrl}\n      <tr>\n        <td {$labelStyle}>\n          {ts 1=$updateSubscriptionUrl}You can update recurring contribution amount or change the number of installments details for this recurring contribution by <a href=\"%1\">visiting this web page</a>.{/ts}\n        </td>\n      </tr>\n      {/if}\n     {/if}\n\n    {elseif $recur_txnType eq \'END\'}\n\n     {if $auto_renew_membership}\n      <tr>\n       <td>\n        <p>{ts}Your auto renew membership sign-up has ended and your membership will not be automatically renewed.{/ts}</p>\n       </td>\n      </tr>\n     {else}\n      <tr>\n       <td>\n        <p>{ts}Your recurring contribution term has ended.{/ts}</p>\n        <p>{ts 1=$recur_installments}You have successfully completed %1 recurring contributions. Thank you.{/ts}</p>\n       </td>\n      </tr>\n      <tr>\n       <td>\n     <table style=\"border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse; width:100%;\">\n      <tr>\n       <th {$headerStyle}>\n        {ts 1=$recur_installments}Interval of Subscription for %1 installment(s){/ts}\n       </th>\n      </tr>\n      <tr>\n       <td {$labelStyle}>\n        {ts}Start Date{/ts}\n       </td>\n       <td {$valueStyle}>\n        {$recur_start_date|crmDate}\n       </td>\n      </tr>\n      <tr>\n       <td {$labelStyle}>\n        {ts}End Date{/ts}\n       </td>\n       <td {$valueStyle}>\n        {$recur_end_date|crmDate}\n       </td>\n      </tr>\n     </table>\n       </td>\n      </tr>\n\n     {/if}\n    {/if}\n\n </table>\n\n</body>\n</html>\n',1,833,'contribution_recurring_notify',1,0,0,NULL),
- (12,'Contributions - Recurring Start and End Notification','{ts}Recurring Contribution Notification{/ts} - {contact.display_name}\n','{assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}{$greeting},{/if}\n\n{if $recur_txnType eq \'START\'}\n{if $auto_renew_membership}\n{ts}Thanks for your auto renew membership sign-up.{/ts}\n\n\n{ts 1=$recur_frequency_interval 2=$recur_frequency_unit}This membership will be automatically renewed every %1 %2(s).{/ts}\n\n{if $cancelSubscriptionUrl}\n{ts 1=$cancelSubscriptionUrl}You can cancel the auto-renewal option by <a href=\"%1\">visiting this web page</a>.{/ts}\n\n{/if}\n\n{if $updateSubscriptionBillingUrl}\n{ts 1=$updateSubscriptionBillingUrl}You can update billing details for this automatically renewed membership by <a href=\"%1\">visiting this web page</a>.{/ts}\n\n{/if}\n{else}\n{ts}Thanks for your recurring contribution sign-up.{/ts}\n\n\n{ts 1=$recur_frequency_interval 2=$recur_frequency_unit 3=$recur_installments}This recurring contribution will be automatically processed every %1 %2(s){/ts}{if $recur_installments } {ts 1=$recur_installments} for a total of %1 installment(s){/ts}{/if}.\n\n{ts}Start Date{/ts}:  {$recur_start_date|crmDate}\n\n{if $cancelSubscriptionUrl}\n{ts 1=$cancelSubscriptionUrl}You can cancel the recurring contribution option by <a href=\"%1\">visiting this web page</a>.{/ts}\n\n{/if}\n\n{if $updateSubscriptionBillingUrl}\n{ts 1=$updateSubscriptionBillingUrl}You can update billing details for this recurring contribution by <a href=\"%1\">visiting this web page</a>.{/ts}\n\n{/if}\n\n{if $updateSubscriptionUrl}\n{ts 1=$updateSubscriptionUrl}You can update recurring contribution amount or change the number of installments for this recurring contribution by <a href=\"%1\">visiting this web page</a>.{/ts}\n\n{/if}\n{/if}\n\n{elseif $recur_txnType eq \'END\'}\n{if $auto_renew_membership}\n{ts}Your auto renew membership sign-up has ended and your membership will not be automatically renewed.{/ts}\n\n\n{else}\n{ts}Your recurring contribution term has ended.{/ts}\n\n\n{ts 1=$recur_installments}You have successfully completed %1 recurring contributions. Thank you.{/ts}\n\n\n==================================================\n{ts 1=$recur_installments}Interval of Subscription for %1 installment(s){/ts}\n\n==================================================\n{ts}Start Date{/ts}: {$recur_start_date|crmDate}\n\n{ts}End Date{/ts}: {$recur_end_date|crmDate}\n\n{/if}\n{/if}\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n    {assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}<p>{$greeting},</p>{/if}\n   </td>\n  </tr>\n\n  <tr>\n   <td>&nbsp;</td>\n  </tr>\n\n    {if $recur_txnType eq \'START\'}\n     {if $auto_renew_membership}\n       <tr>\n        <td>\n         <p>{ts}Thanks for your auto renew membership sign-up.{/ts}</p>\n         <p>{ts 1=$recur_frequency_interval 2=$recur_frequency_unit}This membership will be automatically renewed every %1 %2(s). {/ts}</p>\n        </td>\n       </tr>\n       {if $cancelSubscriptionUrl}\n       <tr>\n         <td {$labelStyle}>\n           {ts 1=$cancelSubscriptionUrl}You can cancel the auto-renewal option by <a href=\"%1\">visiting this web page</a>.{/ts}\n         </td>\n       </tr>\n       {/if}\n       {if $updateSubscriptionBillingUrl}\n         <tr>\n          <td {$labelStyle}>\n           {ts 1=$updateSubscriptionBillingUrl}You can update billing details for this automatically renewed membership by <a href=\"%1\">visiting this web page</a>.{/ts}\n          </td>\n         </tr>\n       {/if}\n     {else}\n      <tr>\n       <td>\n        <p>{ts}Thanks for your recurring contribution sign-up.{/ts}</p>\n        <p>{ts 1=$recur_frequency_interval 2=$recur_frequency_unit}This recurring contribution will be automatically processed every %1 %2(s){/ts}{if $recur_installments }{ts 1=$recur_installments} for a total of %1 installment(s){/ts}{/if}.</p>\n        <p>{ts}Start Date{/ts}: {$recur_start_date|crmDate}</p>\n       </td>\n      </tr>\n      {if $cancelSubscriptionUrl}\n      <tr>\n        <td {$labelStyle}>\n          {ts 1=$cancelSubscriptionUrl} You can cancel the recurring contribution option by <a href=\"%1\">visiting this web page</a>.{/ts}\n        </td>\n      </tr>\n      {/if}\n      {if $updateSubscriptionBillingUrl}\n        <tr>\n          <td {$labelStyle}>\n            {ts 1=$updateSubscriptionBillingUrl}You can update billing details for this recurring contribution by <a href=\"%1\">visiting this web page</a>.{/ts}\n          </td>\n        </tr>\n      {/if}\n      {if $updateSubscriptionUrl}\n      <tr>\n        <td {$labelStyle}>\n          {ts 1=$updateSubscriptionUrl}You can update recurring contribution amount or change the number of installments details for this recurring contribution by <a href=\"%1\">visiting this web page</a>.{/ts}\n        </td>\n      </tr>\n      {/if}\n     {/if}\n\n    {elseif $recur_txnType eq \'END\'}\n\n     {if $auto_renew_membership}\n      <tr>\n       <td>\n        <p>{ts}Your auto renew membership sign-up has ended and your membership will not be automatically renewed.{/ts}</p>\n       </td>\n      </tr>\n     {else}\n      <tr>\n       <td>\n        <p>{ts}Your recurring contribution term has ended.{/ts}</p>\n        <p>{ts 1=$recur_installments}You have successfully completed %1 recurring contributions. Thank you.{/ts}</p>\n       </td>\n      </tr>\n      <tr>\n       <td>\n     <table style=\"border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse; width:100%;\">\n      <tr>\n       <th {$headerStyle}>\n        {ts 1=$recur_installments}Interval of Subscription for %1 installment(s){/ts}\n       </th>\n      </tr>\n      <tr>\n       <td {$labelStyle}>\n        {ts}Start Date{/ts}\n       </td>\n       <td {$valueStyle}>\n        {$recur_start_date|crmDate}\n       </td>\n      </tr>\n      <tr>\n       <td {$labelStyle}>\n        {ts}End Date{/ts}\n       </td>\n       <td {$valueStyle}>\n        {$recur_end_date|crmDate}\n       </td>\n      </tr>\n     </table>\n       </td>\n      </tr>\n\n     {/if}\n    {/if}\n\n </table>\n\n</body>\n</html>\n',1,833,'contribution_recurring_notify',0,1,0,NULL),
- (13,'Contributions - Recurring Cancellation Notification','{ts}Recurring Contribution Cancellation Notification{/ts} - {contact.display_name}\n','{assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}{$greeting},{/if}\n\n{ts 1=$amount 2=$recur_frequency_interval 3=$recur_frequency_unit}Your recurring contribution of %1, every %2 %3 has been cancelled as requested.{/ts}\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n    {assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}<p>{$greeting},</p>{/if}\n    <p>{ts 1=$amount 2=$recur_frequency_interval 3=$recur_frequency_unit}Your recurring contribution of %1, every %2 %3 has been cancelled as requested.{/ts}</p>\n   </td>\n  </tr>\n  <tr>\n </table>\n\n</body>\n</html>\n',1,834,'contribution_recurring_cancelled',1,0,0,NULL),
- (14,'Contributions - Recurring Cancellation Notification','{ts}Recurring Contribution Cancellation Notification{/ts} - {contact.display_name}\n','{assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}{$greeting},{/if}\n\n{ts 1=$amount 2=$recur_frequency_interval 3=$recur_frequency_unit}Your recurring contribution of %1, every %2 %3 has been cancelled as requested.{/ts}\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n    {assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}<p>{$greeting},</p>{/if}\n    <p>{ts 1=$amount 2=$recur_frequency_interval 3=$recur_frequency_unit}Your recurring contribution of %1, every %2 %3 has been cancelled as requested.{/ts}</p>\n   </td>\n  </tr>\n  <tr>\n </table>\n\n</body>\n</html>\n',1,834,'contribution_recurring_cancelled',0,1,0,NULL),
- (15,'Contributions - Recurring Billing Updates','{ts}Recurring Contribution Billing Updates{/ts} - {contact.display_name}\n','{assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}{$greeting},{/if}\n\n{ts 1=$amount 2=$recur_frequency_interval 3=$recur_frequency_unit}Billing details for your recurring contribution of %1, every %2 %3 have been updated.{/ts}\n\n===========================================================\n{ts}Billing Name and Address{/ts}\n\n===========================================================\n{$billingName}\n{$address}\n\n{$email}\n\n===========================================================\n{ts}Credit Card Information{/ts}\n\n===========================================================\n{$credit_card_type}\n{$credit_card_number}\n{ts}Expires{/ts}: {$credit_card_exp_date|truncate:7:\'\'|crmDate}\n\n\n{ts 1=$receipt_from_email}If you have questions please contact us at %1{/ts}\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n    {assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}<p>{$greeting},</p>{/if}\n    <p>{ts 1=$amount 2=$recur_frequency_interval 3=$recur_frequency_unit}Billing details for your recurring contribution of %1, every %2 %3 have been updated.{/ts}</p>\n   </td>\n  </tr>\n  <tr>\n </table>\n\n  <table style=\"width:100%; max-width:500px; border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse;\">\n    <tr>\n        <th {$headerStyle}>\n         {ts}Billing Name and Address{/ts}\n        </th>\n       </tr>\n       <tr>\n        <td colspan=\"2\" {$valueStyle}>\n         {$billingName}<br />\n         {$address|nl2br}<br />\n         {$email}\n        </td>\n       </tr>\n        <tr>\n       <th {$headerStyle}>\n        {ts}Credit Card Information{/ts}\n       </th>\n      </tr>\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n        {$credit_card_type}<br />\n        {$credit_card_number}<br />\n        {ts}Expires{/ts}: {$credit_card_exp_date|truncate:7:\'\'|crmDate}<br />\n       </td>\n      </tr>\n      <tr>\n        <td {$labelStyle}>\n            {ts 1=$receipt_from_email}If you have questions please contact us at %1{/ts}\n        </td>\n       </tr>\n  </table>\n\n</body>\n</html>\n',1,835,'contribution_recurring_billing',1,0,0,NULL),
- (16,'Contributions - Recurring Billing Updates','{ts}Recurring Contribution Billing Updates{/ts} - {contact.display_name}\n','{assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}{$greeting},{/if}\n\n{ts 1=$amount 2=$recur_frequency_interval 3=$recur_frequency_unit}Billing details for your recurring contribution of %1, every %2 %3 have been updated.{/ts}\n\n===========================================================\n{ts}Billing Name and Address{/ts}\n\n===========================================================\n{$billingName}\n{$address}\n\n{$email}\n\n===========================================================\n{ts}Credit Card Information{/ts}\n\n===========================================================\n{$credit_card_type}\n{$credit_card_number}\n{ts}Expires{/ts}: {$credit_card_exp_date|truncate:7:\'\'|crmDate}\n\n\n{ts 1=$receipt_from_email}If you have questions please contact us at %1{/ts}\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n    {assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}<p>{$greeting},</p>{/if}\n    <p>{ts 1=$amount 2=$recur_frequency_interval 3=$recur_frequency_unit}Billing details for your recurring contribution of %1, every %2 %3 have been updated.{/ts}</p>\n   </td>\n  </tr>\n  <tr>\n </table>\n\n  <table style=\"width:100%; max-width:500px; border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse;\">\n    <tr>\n        <th {$headerStyle}>\n         {ts}Billing Name and Address{/ts}\n        </th>\n       </tr>\n       <tr>\n        <td colspan=\"2\" {$valueStyle}>\n         {$billingName}<br />\n         {$address|nl2br}<br />\n         {$email}\n        </td>\n       </tr>\n        <tr>\n       <th {$headerStyle}>\n        {ts}Credit Card Information{/ts}\n       </th>\n      </tr>\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n        {$credit_card_type}<br />\n        {$credit_card_number}<br />\n        {ts}Expires{/ts}: {$credit_card_exp_date|truncate:7:\'\'|crmDate}<br />\n       </td>\n      </tr>\n      <tr>\n        <td {$labelStyle}>\n            {ts 1=$receipt_from_email}If you have questions please contact us at %1{/ts}\n        </td>\n       </tr>\n  </table>\n\n</body>\n</html>\n',1,835,'contribution_recurring_billing',0,1,0,NULL),
- (17,'Contributions - Recurring Updates','{ts}Recurring Contribution Update Notification{/ts} - {contact.display_name}\n','{assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}{$greeting},{/if}\n\n{ts}Your recurring contribution has been updated as requested:{/ts}\n\n{ts 1=$amount 2=$recur_frequency_interval 3=$recur_frequency_unit}Recurring contribution is for %1, every %2 %3(s){/ts}\n{if $installments}{ts 1=$installments} for %1 installments.{/ts}{/if}\n\n{ts 1=$receipt_from_email}If you have questions please contact us at %1.{/ts}\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n    {assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}<p>{$greeting},</p>{/if}\n    <p>{ts}Your recurring contribution has been updated as requested:{/ts}\n    <p>{ts 1=$amount 2=$recur_frequency_interval 3=$recur_frequency_unit}Recurring contribution is for %1, every %2 %3(s){/ts}{if $installments}{ts 1=$installments} for %1 installments{/ts}{/if}.</p>\n\n    <p>{ts 1=$receipt_from_email}If you have questions please contact us at %1.{/ts}</p>\n   </td>\n  </tr>\n  <tr>\n </table>\n\n</body>\n</html>\n',1,836,'contribution_recurring_edit',1,0,0,NULL),
- (18,'Contributions - Recurring Updates','{ts}Recurring Contribution Update Notification{/ts} - {contact.display_name}\n','{assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}{$greeting},{/if}\n\n{ts}Your recurring contribution has been updated as requested:{/ts}\n\n{ts 1=$amount 2=$recur_frequency_interval 3=$recur_frequency_unit}Recurring contribution is for %1, every %2 %3(s){/ts}\n{if $installments}{ts 1=$installments} for %1 installments.{/ts}{/if}\n\n{ts 1=$receipt_from_email}If you have questions please contact us at %1.{/ts}\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n    {assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}<p>{$greeting},</p>{/if}\n    <p>{ts}Your recurring contribution has been updated as requested:{/ts}\n    <p>{ts 1=$amount 2=$recur_frequency_interval 3=$recur_frequency_unit}Recurring contribution is for %1, every %2 %3(s){/ts}{if $installments}{ts 1=$installments} for %1 installments{/ts}{/if}.</p>\n\n    <p>{ts 1=$receipt_from_email}If you have questions please contact us at %1.{/ts}</p>\n   </td>\n  </tr>\n  <tr>\n </table>\n\n</body>\n</html>\n',1,836,'contribution_recurring_edit',0,1,0,NULL),
- (19,'Personal Campaign Pages - Admin Notification','{ts}Personal Campaign Page Notification{/ts} - {contact.display_name}\n','===========================================================\n{ts}Personal Campaign Page Notification{/ts}\n\n===========================================================\n{ts}Action{/ts}: {if $mode EQ \'Update\'}{ts}Updated personal campaign page{/ts}{else}{ts}New personal campaign page{/ts}{/if}\n{ts}Personal Campaign Page Title{/ts}: {$pcpTitle}\n{ts}Current Status{/ts}: {$pcpStatus}\n{capture assign=pcpURL}{crmURL p=\"civicrm/pcp/info\" q=\"reset=1&id=`$pcpId`\" h=0 a=1 fe=1}{/capture}\n{ts}View Page{/ts}:\n>> {$pcpURL}\n\n{ts}Supporter{/ts}: {$supporterName}\n>> {$supporterUrl}\n\n{ts}Linked to Contribution Page{/ts}: {$contribPageTitle}\n>> {$contribPageUrl}\n\n{ts}Manage Personal Campaign Pages{/ts}:\n>> {$managePCPUrl}\n\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n{capture assign=pcpURL     }{crmURL p=\"civicrm/pcp/info\" q=\"reset=1&id=`$pcpId`\" h=0 a=1 fe=1}{/capture}\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n    <table style=\"border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse; width:100%;\">\n     <tr>\n      <th {$headerStyle}>\n       {ts}Personal Campaign Page Notification{/ts}\n      </th>\n     </tr>\n     <tr>\n      <td {$labelStyle}>\n       {ts}Action{/ts}:\n      </td>\n      <td {$valueStyle}>\n       {if $mode EQ \'Update\'}\n        {ts}Updated personal campaign page{/ts}\n       {else}\n        {ts}New personal campaign page{/ts}\n       {/if}\n      </td>\n     </tr>\n     <tr>\n      <td {$labelStyle}>\n       {ts}Personal Campaign Page Title{/ts}\n      </td>\n      <td {$valueStyle}>\n       {$pcpTitle}\n      </td>\n     </tr>\n     <tr>\n      <td {$labelStyle}>\n       {ts}Current Status{/ts}\n      </td>\n      <td {$valueStyle}>\n       {$pcpStatus}\n      </td>\n     </tr>\n\n     <tr>\n      <td {$labelStyle}>\n       <a href=\"{$pcpURL}\">{ts}View Page{/ts}</a>\n      </td>\n      <td></td>\n     </tr>\n     <tr>\n      <td {$labelStyle}>\n       {ts}Supporter{/ts}\n      </td>\n      <td {$valueStyle}>\n       <a href=\"{$supporterUrl}\">{$supporterName}</a>\n      </td>\n     </tr>\n     <tr>\n      <td {$labelStyle}>\n       {ts}Linked to Contribution Page{/ts}\n      </td>\n      <td {$valueStyle}>\n       <a href=\"{$contribPageUrl}\">{$contribPageTitle}</a>\n      </td>\n     </tr>\n     <tr>\n      <td {$labelStyle}>\n       <a href=\"{$managePCPUrl}\">{ts}Manage Personal Campaign Pages{/ts}</a>\n      </td>\n      <td></td>\n     </tr>\n\n    </table>\n   </td>\n  </tr>\n </table>\n\n</body>\n</html>\n',1,837,'pcp_notify',1,0,0,NULL),
- (20,'Personal Campaign Pages - Admin Notification','{ts}Personal Campaign Page Notification{/ts} - {contact.display_name}\n','===========================================================\n{ts}Personal Campaign Page Notification{/ts}\n\n===========================================================\n{ts}Action{/ts}: {if $mode EQ \'Update\'}{ts}Updated personal campaign page{/ts}{else}{ts}New personal campaign page{/ts}{/if}\n{ts}Personal Campaign Page Title{/ts}: {$pcpTitle}\n{ts}Current Status{/ts}: {$pcpStatus}\n{capture assign=pcpURL}{crmURL p=\"civicrm/pcp/info\" q=\"reset=1&id=`$pcpId`\" h=0 a=1 fe=1}{/capture}\n{ts}View Page{/ts}:\n>> {$pcpURL}\n\n{ts}Supporter{/ts}: {$supporterName}\n>> {$supporterUrl}\n\n{ts}Linked to Contribution Page{/ts}: {$contribPageTitle}\n>> {$contribPageUrl}\n\n{ts}Manage Personal Campaign Pages{/ts}:\n>> {$managePCPUrl}\n\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n{capture assign=pcpURL     }{crmURL p=\"civicrm/pcp/info\" q=\"reset=1&id=`$pcpId`\" h=0 a=1 fe=1}{/capture}\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n    <table style=\"border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse; width:100%;\">\n     <tr>\n      <th {$headerStyle}>\n       {ts}Personal Campaign Page Notification{/ts}\n      </th>\n     </tr>\n     <tr>\n      <td {$labelStyle}>\n       {ts}Action{/ts}:\n      </td>\n      <td {$valueStyle}>\n       {if $mode EQ \'Update\'}\n        {ts}Updated personal campaign page{/ts}\n       {else}\n        {ts}New personal campaign page{/ts}\n       {/if}\n      </td>\n     </tr>\n     <tr>\n      <td {$labelStyle}>\n       {ts}Personal Campaign Page Title{/ts}\n      </td>\n      <td {$valueStyle}>\n       {$pcpTitle}\n      </td>\n     </tr>\n     <tr>\n      <td {$labelStyle}>\n       {ts}Current Status{/ts}\n      </td>\n      <td {$valueStyle}>\n       {$pcpStatus}\n      </td>\n     </tr>\n\n     <tr>\n      <td {$labelStyle}>\n       <a href=\"{$pcpURL}\">{ts}View Page{/ts}</a>\n      </td>\n      <td></td>\n     </tr>\n     <tr>\n      <td {$labelStyle}>\n       {ts}Supporter{/ts}\n      </td>\n      <td {$valueStyle}>\n       <a href=\"{$supporterUrl}\">{$supporterName}</a>\n      </td>\n     </tr>\n     <tr>\n      <td {$labelStyle}>\n       {ts}Linked to Contribution Page{/ts}\n      </td>\n      <td {$valueStyle}>\n       <a href=\"{$contribPageUrl}\">{$contribPageTitle}</a>\n      </td>\n     </tr>\n     <tr>\n      <td {$labelStyle}>\n       <a href=\"{$managePCPUrl}\">{ts}Manage Personal Campaign Pages{/ts}</a>\n      </td>\n      <td></td>\n     </tr>\n\n    </table>\n   </td>\n  </tr>\n </table>\n\n</body>\n</html>\n',1,837,'pcp_notify',0,1,0,NULL),
- (21,'Personal Campaign Pages - Supporter Status Change Notification','{ts 1=$contribPageTitle}Your Personal Campaign Page for %1{/ts} - {contact.display_name}\n','{if $pcpStatus eq \'Approved\'}\n============================\n{ts}Your Personal Campaign Page{/ts}\n\n============================\n\n{ts}Your personal campaign page has been approved and is now live.{/ts}\n\n{ts}Whenever you want to preview, update or promote your page{/ts}:\n1. {ts}Login to your account at{/ts}:\n{$loginUrl}\n\n2. {ts}Click or paste this link into your browser to go to your page{/ts}:\n{$pcpInfoURL}\n\n{ts}When you view your campaign page WHILE LOGGED IN, the page includes links to edit your page, tell friends, and update your contact info.{/ts}\n\n{if $isTellFriendEnabled}\n\n{ts}After logging in, you can use this form to promote your fundraising page{/ts}:\n{$pcpTellFriendURL}\n\n{/if}\n\n{if $pcpNotifyEmailAddress}\n{ts}Questions? Send email to{/ts}:\n{$pcpNotifyEmailAddress}\n{/if}\n\n{* Rejected message *}\n{elseif $pcpStatus eq \'Not Approved\'}\n============================\n{ts}Your Personal Campaign Page{/ts}\n\n============================\n\n{ts}Your personal campaign page has been reviewed. There were some issues with the content which prevented us from approving the page. We are sorry for any inconvenience.{/ts}\n\n{if $pcpNotifyEmailAddress}\n\n{ts}Please contact our site administrator for more information{/ts}:\n{$pcpNotifyEmailAddress}\n{/if}\n\n{/if}\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n\n    <h1>{ts}Your Personal Campaign Page{/ts}</h1>\n\n    {if $pcpStatus eq \'Approved\'}\n\n     <p>{ts}Your personal campaign page has been approved and is now live.{/ts}</p>\n     <p>{ts}Whenever you want to preview, update or promote your page{/ts}:</p>\n     <ol>\n      <li><a href=\"{$loginUrl}\">{ts}Login to your account{/ts}</a></li>\n      <li><a href=\"{$pcpInfoURL}\">{ts}Go to your page{/ts}</a></li>\n     </ol>\n     <p>{ts}When you view your campaign page WHILE LOGGED IN, the page includes links to edit your page, tell friends, and update your contact info.{/ts}</p>\n\n     {if $isTellFriendEnabled}\n      <p><a href=\"{$pcpTellFriendURL}\">{ts}After logging in, you can use this form to promote your fundraising page{/ts}</a></p>\n     {/if}\n\n     {if $pcpNotifyEmailAddress}\n      <p>{ts}Questions? Send email to{/ts}: {$pcpNotifyEmailAddress}</p>\n     {/if}\n\n    {elseif $pcpStatus eq \'Not Approved\'}\n\n     <p>{ts}Your personal campaign page has been reviewed. There were some issues with the content which prevented us from approving the page. We are sorry for any inconvenience.{/ts}</p>\n     {if $pcpNotifyEmailAddress}\n      <p>{ts}Please contact our site administrator for more information{/ts}: {$pcpNotifyEmailAddress}</p>\n     {/if}\n\n    {/if}\n\n   </td>\n  </tr>\n\n </table>\n\n</body>\n</html>\n',1,838,'pcp_status_change',1,0,0,NULL),
- (22,'Personal Campaign Pages - Supporter Status Change Notification','{ts 1=$contribPageTitle}Your Personal Campaign Page for %1{/ts} - {contact.display_name}\n','{if $pcpStatus eq \'Approved\'}\n============================\n{ts}Your Personal Campaign Page{/ts}\n\n============================\n\n{ts}Your personal campaign page has been approved and is now live.{/ts}\n\n{ts}Whenever you want to preview, update or promote your page{/ts}:\n1. {ts}Login to your account at{/ts}:\n{$loginUrl}\n\n2. {ts}Click or paste this link into your browser to go to your page{/ts}:\n{$pcpInfoURL}\n\n{ts}When you view your campaign page WHILE LOGGED IN, the page includes links to edit your page, tell friends, and update your contact info.{/ts}\n\n{if $isTellFriendEnabled}\n\n{ts}After logging in, you can use this form to promote your fundraising page{/ts}:\n{$pcpTellFriendURL}\n\n{/if}\n\n{if $pcpNotifyEmailAddress}\n{ts}Questions? Send email to{/ts}:\n{$pcpNotifyEmailAddress}\n{/if}\n\n{* Rejected message *}\n{elseif $pcpStatus eq \'Not Approved\'}\n============================\n{ts}Your Personal Campaign Page{/ts}\n\n============================\n\n{ts}Your personal campaign page has been reviewed. There were some issues with the content which prevented us from approving the page. We are sorry for any inconvenience.{/ts}\n\n{if $pcpNotifyEmailAddress}\n\n{ts}Please contact our site administrator for more information{/ts}:\n{$pcpNotifyEmailAddress}\n{/if}\n\n{/if}\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n\n    <h1>{ts}Your Personal Campaign Page{/ts}</h1>\n\n    {if $pcpStatus eq \'Approved\'}\n\n     <p>{ts}Your personal campaign page has been approved and is now live.{/ts}</p>\n     <p>{ts}Whenever you want to preview, update or promote your page{/ts}:</p>\n     <ol>\n      <li><a href=\"{$loginUrl}\">{ts}Login to your account{/ts}</a></li>\n      <li><a href=\"{$pcpInfoURL}\">{ts}Go to your page{/ts}</a></li>\n     </ol>\n     <p>{ts}When you view your campaign page WHILE LOGGED IN, the page includes links to edit your page, tell friends, and update your contact info.{/ts}</p>\n\n     {if $isTellFriendEnabled}\n      <p><a href=\"{$pcpTellFriendURL}\">{ts}After logging in, you can use this form to promote your fundraising page{/ts}</a></p>\n     {/if}\n\n     {if $pcpNotifyEmailAddress}\n      <p>{ts}Questions? Send email to{/ts}: {$pcpNotifyEmailAddress}</p>\n     {/if}\n\n    {elseif $pcpStatus eq \'Not Approved\'}\n\n     <p>{ts}Your personal campaign page has been reviewed. There were some issues with the content which prevented us from approving the page. We are sorry for any inconvenience.{/ts}</p>\n     {if $pcpNotifyEmailAddress}\n      <p>{ts}Please contact our site administrator for more information{/ts}: {$pcpNotifyEmailAddress}</p>\n     {/if}\n\n    {/if}\n\n   </td>\n  </tr>\n\n </table>\n\n</body>\n</html>\n',1,838,'pcp_status_change',0,1,0,NULL),
- (23,'Personal Campaign Pages - Supporter Welcome','{ts 1=$contribPageTitle}Your Personal Campaign Page for %1{/ts} - {contact.display_name}\n','{assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}{$greeting},{/if}\n\n{ts 1=\"$contribPageTitle\"}Thanks for creating a personal campaign page in support of %1.{/ts}\n\n{if $pcpStatus eq \'Approved\'}\n====================\n{ts}Promoting Your Page{/ts}\n\n====================\n{if $isTellFriendEnabled}\n\n{ts}You can begin your fundraising efforts using our \"Tell a Friend\" form{/ts}:\n\n1. {ts}Login to your account at{/ts}:\n{$loginUrl}\n\n2. {ts}Click or paste this link into your browser and follow the prompts{/ts}:\n{$pcpTellFriendURL}\n{else}\n\n{ts}Send email to family, friends and colleagues with a personal message about this campaign.{/ts}\n{ts}Include this link to your fundraising page in your emails{/ts}:\n{$pcpInfoURL}\n{/if}\n\n===================\n{ts}Managing Your Page{/ts}\n\n===================\n{ts}Whenever you want to preview, update or promote your page{/ts}:\n1. {ts}Login to your account at{/ts}:\n{$loginUrl}\n\n2. {ts}Click or paste this link into your browser to go to your page{/ts}:\n{$pcpInfoURL}\n\n{ts}When you view your campaign page WHILE LOGGED IN, the page includes links to edit your page, tell friends, and update your contact info.{/ts}\n\n\n{elseif $pcpStatus EQ \'Waiting Review\'}\n{ts}Your page requires administrator review before you can begin your fundraising efforts.{/ts}\n\n\n{ts}A notification email has been sent to the site administrator, and you will receive another notification from them as soon as the review process is complete.{/ts}\n\n\n{ts}You can still preview your page prior to approval{/ts}:\n1. {ts}Login to your account at{/ts}:\n{$loginUrl}\n\n2. {ts}Click or paste this link into your browser{/ts}:\n{$pcpInfoURL}\n\n{/if}\n{if $pcpNotifyEmailAddress}\n{ts}Questions? Send email to{/ts}:\n{$pcpNotifyEmailAddress}\n{/if}\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n    {assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}<p>{$greeting},</p>{/if}\n    <p>{ts 1=\"$contribPageTitle\"}Thanks for creating a personal campaign page in support of %1.{/ts}</p>\n   </td>\n  </tr>\n\n  {if $pcpStatus eq \'Approved\'}\n\n    <tr>\n     <td>\n      <table style=\"border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse; width:100%;\">\n       <tr>\n        <th {$headerStyle}>\n         {ts}Promoting Your Page{/ts}\n        </th>\n       </tr>\n       <tr>\n        <td colspan=\"2\" {$valueStyle}>\n         {if $isTellFriendEnabled}\n          <p>{ts}You can begin your fundraising efforts using our \"Tell a Friend\" form{/ts}:</p>\n          <ol>\n           <li><a href=\"{$loginUrl}\">{ts}Login to your account{/ts}</a></li>\n           <li><a href=\"{$pcpTellFriendURL}\">{ts}Click this link and follow the prompts{/ts}</a></li>\n          </ol>\n         {else}\n          <p>{ts}Send email to family, friends and colleagues with a personal message about this campaign.{/ts} {ts}Include this link to your fundraising page in your emails{/ts}: {$pcpInfoURL}</p>\n         {/if}\n        </td>\n       </tr>\n       <tr>\n        <th {$headerStyle}>\n         {ts}Managing Your Page{/ts}\n        </th>\n       <tr>\n        <td colspan=\"2\" {$valueStyle}>\n         <p>{ts}Whenever you want to preview, update or promote your page{/ts}:</p>\n         <ol>\n          <li><a href=\"{$loginUrl}\">{ts}Login to your account{/ts}</a></li>\n          <li><a href=\"{$pcpInfoURL}\">{ts}Go to your page{/ts}</a></li>\n         </ol>\n         <p>{ts}When you view your campaign page WHILE LOGGED IN, the page includes links to edit your page, tell friends, and update your contact info.{/ts}</p>\n        </td>\n       </tr>\n       </tr>\n      </table>\n     </td>\n    </tr>\n\n   {elseif $pcpStatus EQ \'Waiting Review\'}\n\n    <tr>\n     <td>\n      <p>{ts}Your page requires administrator review before you can begin your fundraising efforts.{/ts}</p>\n      <p>{ts}A notification email has been sent to the site administrator, and you will receive another notification from them as soon as the review process is complete.{/ts}</p>\n      <p>{ts}You can still preview your page prior to approval{/ts}:</p>\n      <ol>\n       <li><a href=\"{$loginUrl}\">{ts}Login to your account{/ts}</a></li>\n       <li><a href=\"{$pcpInfoURL}\">{ts}Click this link{/ts}</a></li>\n      </ol>\n     </td>\n    </tr>\n\n   {/if}\n\n   {if $pcpNotifyEmailAddress}\n    <tr>\n     <td>\n      <p>{ts}Questions? Send email to{/ts}: {$pcpNotifyEmailAddress}</p>\n     </td>\n    </tr>\n   {/if}\n\n </table>\n\n</body>\n</html>\n',1,839,'pcp_supporter_notify',1,0,0,NULL),
- (24,'Personal Campaign Pages - Supporter Welcome','{ts 1=$contribPageTitle}Your Personal Campaign Page for %1{/ts} - {contact.display_name}\n','{assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}{$greeting},{/if}\n\n{ts 1=\"$contribPageTitle\"}Thanks for creating a personal campaign page in support of %1.{/ts}\n\n{if $pcpStatus eq \'Approved\'}\n====================\n{ts}Promoting Your Page{/ts}\n\n====================\n{if $isTellFriendEnabled}\n\n{ts}You can begin your fundraising efforts using our \"Tell a Friend\" form{/ts}:\n\n1. {ts}Login to your account at{/ts}:\n{$loginUrl}\n\n2. {ts}Click or paste this link into your browser and follow the prompts{/ts}:\n{$pcpTellFriendURL}\n{else}\n\n{ts}Send email to family, friends and colleagues with a personal message about this campaign.{/ts}\n{ts}Include this link to your fundraising page in your emails{/ts}:\n{$pcpInfoURL}\n{/if}\n\n===================\n{ts}Managing Your Page{/ts}\n\n===================\n{ts}Whenever you want to preview, update or promote your page{/ts}:\n1. {ts}Login to your account at{/ts}:\n{$loginUrl}\n\n2. {ts}Click or paste this link into your browser to go to your page{/ts}:\n{$pcpInfoURL}\n\n{ts}When you view your campaign page WHILE LOGGED IN, the page includes links to edit your page, tell friends, and update your contact info.{/ts}\n\n\n{elseif $pcpStatus EQ \'Waiting Review\'}\n{ts}Your page requires administrator review before you can begin your fundraising efforts.{/ts}\n\n\n{ts}A notification email has been sent to the site administrator, and you will receive another notification from them as soon as the review process is complete.{/ts}\n\n\n{ts}You can still preview your page prior to approval{/ts}:\n1. {ts}Login to your account at{/ts}:\n{$loginUrl}\n\n2. {ts}Click or paste this link into your browser{/ts}:\n{$pcpInfoURL}\n\n{/if}\n{if $pcpNotifyEmailAddress}\n{ts}Questions? Send email to{/ts}:\n{$pcpNotifyEmailAddress}\n{/if}\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n    {assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}<p>{$greeting},</p>{/if}\n    <p>{ts 1=\"$contribPageTitle\"}Thanks for creating a personal campaign page in support of %1.{/ts}</p>\n   </td>\n  </tr>\n\n  {if $pcpStatus eq \'Approved\'}\n\n    <tr>\n     <td>\n      <table style=\"border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse; width:100%;\">\n       <tr>\n        <th {$headerStyle}>\n         {ts}Promoting Your Page{/ts}\n        </th>\n       </tr>\n       <tr>\n        <td colspan=\"2\" {$valueStyle}>\n         {if $isTellFriendEnabled}\n          <p>{ts}You can begin your fundraising efforts using our \"Tell a Friend\" form{/ts}:</p>\n          <ol>\n           <li><a href=\"{$loginUrl}\">{ts}Login to your account{/ts}</a></li>\n           <li><a href=\"{$pcpTellFriendURL}\">{ts}Click this link and follow the prompts{/ts}</a></li>\n          </ol>\n         {else}\n          <p>{ts}Send email to family, friends and colleagues with a personal message about this campaign.{/ts} {ts}Include this link to your fundraising page in your emails{/ts}: {$pcpInfoURL}</p>\n         {/if}\n        </td>\n       </tr>\n       <tr>\n        <th {$headerStyle}>\n         {ts}Managing Your Page{/ts}\n        </th>\n       <tr>\n        <td colspan=\"2\" {$valueStyle}>\n         <p>{ts}Whenever you want to preview, update or promote your page{/ts}:</p>\n         <ol>\n          <li><a href=\"{$loginUrl}\">{ts}Login to your account{/ts}</a></li>\n          <li><a href=\"{$pcpInfoURL}\">{ts}Go to your page{/ts}</a></li>\n         </ol>\n         <p>{ts}When you view your campaign page WHILE LOGGED IN, the page includes links to edit your page, tell friends, and update your contact info.{/ts}</p>\n        </td>\n       </tr>\n       </tr>\n      </table>\n     </td>\n    </tr>\n\n   {elseif $pcpStatus EQ \'Waiting Review\'}\n\n    <tr>\n     <td>\n      <p>{ts}Your page requires administrator review before you can begin your fundraising efforts.{/ts}</p>\n      <p>{ts}A notification email has been sent to the site administrator, and you will receive another notification from them as soon as the review process is complete.{/ts}</p>\n      <p>{ts}You can still preview your page prior to approval{/ts}:</p>\n      <ol>\n       <li><a href=\"{$loginUrl}\">{ts}Login to your account{/ts}</a></li>\n       <li><a href=\"{$pcpInfoURL}\">{ts}Click this link{/ts}</a></li>\n      </ol>\n     </td>\n    </tr>\n\n   {/if}\n\n   {if $pcpNotifyEmailAddress}\n    <tr>\n     <td>\n      <p>{ts}Questions? Send email to{/ts}: {$pcpNotifyEmailAddress}</p>\n     </td>\n    </tr>\n   {/if}\n\n </table>\n\n</body>\n</html>\n',1,839,'pcp_supporter_notify',0,1,0,NULL),
- (25,'Personal Campaign Pages - Owner Notification','{ts}Someone has just donated to your personal campaign page{/ts} - {contact.display_name}\n','===========================================================\n{ts}Personal Campaign Page Owner Notification{/ts}\n\n===========================================================\n{assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}{$greeting},{/if}\n\n{ts}You have received a donation at your personal page{/ts}: {$page_title}\n>> {$pcpInfoURL}\n\n{ts}Your fundraising total has been updated.{/ts}\n{ts}The donor\'s information is listed below.  You can choose to contact them and convey your thanks if you wish.{/ts}\n{if $is_honor_roll_enabled}\n    {ts}The donor\'s name has been added to your honor roll unless they asked not to be included.{/ts}\n{/if}\n\n{ts}Received{/ts}: {$receive_date|crmDate}\n\n{ts}Amount{/ts}: {$total_amount|crmMoney:$currency}\n\n{ts}Name{/ts}: {$donors_display_name}\n\n{ts}Email{/ts}: {$donors_email}\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n  {assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}<p>{$greeting},</p>{/if}\n  <p>{ts}You have received a donation at your personal page{/ts}: <a href=\"{$pcpInfoURL}\">{$page_title}</a></p>\n  <p>{ts}Your fundraising total has been updated.{/ts}<br/>\n    {ts}The donor\'s information is listed below.  You can choose to contact them and convey your thanks if you wish.{/ts} <br/>\n    {if $is_honor_roll_enabled}\n      {ts}The donor\'s name has been added to your honor roll unless they asked not to be included.{/ts}<br/>\n    {/if}\n  </p>\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n    <tr><td>{ts}Received{/ts}:</td><td> {$receive_date|crmDate}</td></tr>\n    <tr><td>{ts}Amount{/ts}:</td><td> {$total_amount|crmMoney:$currency}</td></tr>\n    <tr><td>{ts}Name{/ts}:</td><td> {$donors_display_name}</td></tr>\n    <tr><td>{ts}Email{/ts}:</td><td> {$donors_email}</td></tr>\n  </table>\n</body>\n</html>\n',1,840,'pcp_owner_notify',1,0,0,NULL),
- (26,'Personal Campaign Pages - Owner Notification','{ts}Someone has just donated to your personal campaign page{/ts} - {contact.display_name}\n','===========================================================\n{ts}Personal Campaign Page Owner Notification{/ts}\n\n===========================================================\n{assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}{$greeting},{/if}\n\n{ts}You have received a donation at your personal page{/ts}: {$page_title}\n>> {$pcpInfoURL}\n\n{ts}Your fundraising total has been updated.{/ts}\n{ts}The donor\'s information is listed below.  You can choose to contact them and convey your thanks if you wish.{/ts}\n{if $is_honor_roll_enabled}\n    {ts}The donor\'s name has been added to your honor roll unless they asked not to be included.{/ts}\n{/if}\n\n{ts}Received{/ts}: {$receive_date|crmDate}\n\n{ts}Amount{/ts}: {$total_amount|crmMoney:$currency}\n\n{ts}Name{/ts}: {$donors_display_name}\n\n{ts}Email{/ts}: {$donors_email}\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n  {assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}<p>{$greeting},</p>{/if}\n  <p>{ts}You have received a donation at your personal page{/ts}: <a href=\"{$pcpInfoURL}\">{$page_title}</a></p>\n  <p>{ts}Your fundraising total has been updated.{/ts}<br/>\n    {ts}The donor\'s information is listed below.  You can choose to contact them and convey your thanks if you wish.{/ts} <br/>\n    {if $is_honor_roll_enabled}\n      {ts}The donor\'s name has been added to your honor roll unless they asked not to be included.{/ts}<br/>\n    {/if}\n  </p>\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n    <tr><td>{ts}Received{/ts}:</td><td> {$receive_date|crmDate}</td></tr>\n    <tr><td>{ts}Amount{/ts}:</td><td> {$total_amount|crmMoney:$currency}</td></tr>\n    <tr><td>{ts}Name{/ts}:</td><td> {$donors_display_name}</td></tr>\n    <tr><td>{ts}Email{/ts}:</td><td> {$donors_email}</td></tr>\n  </table>\n</body>\n</html>\n',1,840,'pcp_owner_notify',0,1,0,NULL),
- (27,'Additional Payment Receipt or Refund Notification','{if $isRefund}{ts}Refund Notification{/ts}{else}{ts}Payment Receipt{/ts}{/if}{if $component eq \'event\'} - {$event.title}{/if} - {contact.display_name}\n','{if $emailGreeting}{$emailGreeting},\n{/if}\n\n{if $isRefund}\n{ts}A refund has been issued based on changes in your registration selections.{/ts}\n{else}\n{ts}Below you will find a receipt for this payment.{/ts}\n{/if}\n{if $paymentsComplete}\n{ts}Thank you for completing this payment.{/ts}\n{/if}\n\n{if $isRefund}\n===============================================================================\n\n{ts}Refund Details{/ts}\n\n===============================================================================\n{ts}This Refund Amount{/ts}: {$refundAmount|crmMoney}\n------------------------------------------------------------------------------------\n\n{else}\n===============================================================================\n\n{ts}Payment Details{/ts}\n\n===============================================================================\n{ts}This Payment Amount{/ts}: {$paymentAmount|crmMoney}\n------------------------------------------------------------------------------------\n{/if}\n{if $receive_date}\n{ts}Transaction Date{/ts}: {$receive_date|crmDate}\n{/if}\n{if !empty($trxn_id)}\n{ts}Transaction #{/ts}: {$trxn_id}\n{/if}\n{if !empty($paidBy)}\n{ts}Paid By{/ts}: {$paidBy}\n{/if}\n{if !empty($checkNumber)}\n{ts}Check Number{/ts}: {$checkNumber}\n{/if}\n\n===============================================================================\n\n{ts}Contribution Details{/ts}\n\n===============================================================================\n{if isset($totalAmount)}\n{ts}Total Fee{/ts}: {$totalAmount|crmMoney}\n{/if}\n{if isset($totalPaid)}\n{ts}Total Paid{/ts}: {$totalPaid|crmMoney}\n{/if}\n{if isset($amountOwed)}\n{ts}Balance Owed{/ts}: {$amountOwed|crmMoney} {* This will be zero after final payment. *}\n{/if}\n\n\n{if !empty($billingName) || !empty($address)}\n\n===============================================================================\n\n{ts}Billing Name and Address{/ts}\n\n===============================================================================\n{if !empty($billingName)}\n{$billingName}\n{/if}\n{if !empty($address)}\n{$address}\n{/if}\n{/if}\n\n{if !empty($credit_card_number)}\n===========================================================\n{ts}Credit Card Information{/ts}\n\n===============================================================================\n\n{$credit_card_type}\n{$credit_card_number}\n{ts}Expires{/ts}: {$credit_card_exp_date|truncate:7:\'\'|crmDate}\n{/if}\n{if $component eq \'event\'}\n===============================================================================\n\n{ts}Event Information and Location{/ts}\n\n===============================================================================\n\n{$event.event_title}\n{$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:\"%Y%m%d\" == $event.event_start_date|date_format:\"%Y%m%d\"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if}\n\n{if !empty($event.participant_role)}\n{ts}Participant Role{/ts}: {$event.participant_role}\n{/if}\n\n{if !empty($isShowLocation)}\n{$location.address.1.display|strip_tags:false}\n{/if}{*End of isShowLocation condition*}\n\n{if !empty($location.phone.1.phone) || !empty($location.email.1.email)}\n\n{ts}Event Contacts:{/ts}\n{foreach from=$location.phone item=phone}\n{if $phone.phone}\n\n{if $phone.phone_type}{$phone.phone_type_display}{else}{ts}Phone{/ts}{/if}: {$phone.phone}{/if} {if $phone.phone_ext} {ts}ext.{/ts} {$phone.phone_ext}{/if}\n{/foreach}\n{foreach from=$location.email item=eventEmail}\n{if $eventEmail.email}\n\n{ts}Email{/ts}: {$eventEmail.email}{/if}{/foreach}\n{/if}\n{/if}\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n{capture assign=emptyBlockStyle }style=\"padding: 10px; border-bottom: 1px solid #999;background-color: #f7f7f7;\"{/capture}\n{capture assign=emptyBlockValueStyle }style=\"padding: 10px; border-bottom: 1px solid #999;\"{/capture}\n\n <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n  <tr>\n    <td>\n      {assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}<p>{$greeting},</p>{/if}\n      {if $isRefund}\n        <p>{ts}A refund has been issued based on changes in your registration selections.{/ts}</p>\n      {else}\n        <p>{ts}Below you will find a receipt for this payment.{/ts}</p>\n        {if $paymentsComplete}\n          <p>{ts}Thank you for completing this contribution.{/ts}</p>\n        {/if}\n      {/if}\n    </td>\n  </tr>\n  <tr>\n   <td>\n    <table style=\"border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse; width:100%;\">\n    {if $isRefund}\n      <tr>\n        <th {$headerStyle}>{ts}Refund Details{/ts}</th>\n      </tr>\n      <tr>\n        <td {$labelStyle}>\n        {ts}This Refund Amount{/ts}\n        </td>\n        <td {$valueStyle}>\n        {$refundAmount|crmMoney}\n        </td>\n      </tr>\n    {else}\n      <tr>\n        <th {$headerStyle}>{ts}Payment Details{/ts}</th>\n      </tr>\n      <tr>\n        <td {$labelStyle}>\n        {ts}This Payment Amount{/ts}\n        </td>\n        <td {$valueStyle}>\n        {$paymentAmount|crmMoney}\n        </td>\n      </tr>\n    {/if}\n    {if $receive_date}\n      <tr>\n        <td {$labelStyle}>\n        {ts}Transaction Date{/ts}\n        </td>\n        <td {$valueStyle}>\n        {$receive_date|crmDate}\n        </td>\n      </tr>\n    {/if}\n    {if !empty($trxn_id)}\n      <tr>\n        <td {$labelStyle}>\n        {ts}Transaction #{/ts}\n        </td>\n        <td {$valueStyle}>\n        {$trxn_id}\n        </td>\n      </tr>\n    {/if}\n    {if !empty($paidBy)}\n      <tr>\n        <td {$labelStyle}>\n        {ts}Paid By{/ts}\n        </td>\n        <td {$valueStyle}>\n        {$paidBy}\n        </td>\n      </tr>\n    {/if}\n    {if !empty($checkNumber)}\n      <tr>\n        <td {$labelStyle}>\n        {ts}Check Number{/ts}\n        </td>\n        <td {$valueStyle}>\n        {$checkNumber}\n        </td>\n      </tr>\n    {/if}\n\n  <tr>\n    <th {$headerStyle}>{ts}Contribution Details{/ts}</th>\n  </tr>\n  {if isset($totalAmount)}\n  <tr>\n    <td {$labelStyle}>\n      {ts}Total Fee{/ts}\n    </td>\n    <td {$valueStyle}>\n      {$totalAmount|crmMoney}\n    </td>\n  </tr>\n  {/if}\n  {if isset($totalPaid)}\n  <tr>\n    <td {$labelStyle}>\n      {ts}Total Paid{/ts}\n    </td>\n    <td {$valueStyle}>\n      {$totalPaid|crmMoney}\n    </td>\n  </tr>\n  {/if}\n  {if isset($amountOwed)}\n  <tr>\n    <td {$labelStyle}>\n      {ts}Balance Owed{/ts}\n    </td>\n    <td {$valueStyle}>\n      {$amountOwed|crmMoney}\n    </td> {* This will be zero after final payment. *}\n  </tr>\n  {/if}\n  </table>\n\n  </td>\n  </tr>\n    <tr>\n      <td>\n  <table style=\"border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse; width:100%;\">\n    {if !empty($billingName) || !empty($address)}\n          <tr>\n            <th {$headerStyle}>\n        {ts}Billing Name and Address{/ts}\n            </th>\n          </tr>\n          <tr>\n            <td colspan=\"2\" {$valueStyle}>\n        {if !empty($billingName)}{$billingName}{/if}<br />\n        {if !empty($address)}{$address|nl2br}{/if}\n            </td>\n          </tr>\n    {/if}\n    {if !empty($credit_card_number)}\n          <tr>\n            <th {$headerStyle}>\n        {ts}Credit Card Information{/ts}\n            </th>\n          </tr>\n          <tr>\n            <td colspan=\"2\" {$valueStyle}>\n        {$credit_card_type}<br />\n        {$credit_card_number}<br />\n        {ts}Expires:{/ts} {$credit_card_exp_date|truncate:7:\'\'|crmDate}\n            </td>\n          </tr>\n    {/if}\n    {if $component eq \'event\'}\n    <tr>\n      <th {$headerStyle}>\n        {ts}Event Information and Location{/ts}\n      </th>\n    </tr>\n    <tr>\n      <td colspan=\"2\" {$valueStyle}>\n         {$event.event_title}<br />\n        {$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:\"%Y%m%d\" == $event.event_start_date|date_format:\"%Y%m%d\"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if}\n      </td>\n    </tr>\n\n    {if !empty($event.participant_role)}\n    <tr>\n      <td {$labelStyle}>\n        {ts}Participant Role{/ts}\n      </td>\n      <td {$valueStyle}>\n        {$event.participant_role}\n      </td>\n    </tr>\n    {/if}\n\n    {if !empty($isShowLocation)}\n    <tr>\n      <td colspan=\"2\" {$valueStyle}>\n        {$location.address.1.display|nl2br}\n      </td>\n    </tr>\n    {/if}\n\n    {if !empty($location.phone.1.phone) || !empty($location.email.1.email)}\n    <tr>\n      <td colspan=\"2\" {$labelStyle}>\n        {ts}Event Contacts:{/ts}\n      </td>\n    </tr>\n    {foreach from=$location.phone item=phone}\n    {if $phone.phone}\n          <tr>\n            <td {$labelStyle}>\n        {if $phone.phone_type}\n        {$phone.phone_type_display}\n        {else}\n        {ts}Phone{/ts}\n        {/if}\n            </td>\n            <td {$valueStyle}>\n        {$phone.phone} {if $phone.phone_ext}&nbsp;{ts}ext.{/ts} {$phone.phone_ext}{/if}\n            </td>\n          </tr>\n    {/if}\n    {/foreach}\n    {foreach from=$location.email item=eventEmail}\n    {if $eventEmail.email}\n          <tr>\n            <td {$labelStyle}>\n        {ts}Email{/ts}\n            </td>\n            <td {$valueStyle}>\n        {$eventEmail.email}\n            </td>\n          </tr>\n    {/if}\n    {/foreach}\n    {/if} {*phone block close*}\n    {/if}\n  </table>\n      </td>\n    </tr>\n\n    </table>\n\n </body>\n</html>\n',1,841,'payment_or_refund_notification',1,0,0,NULL),
- (28,'Additional Payment Receipt or Refund Notification','{if $isRefund}{ts}Refund Notification{/ts}{else}{ts}Payment Receipt{/ts}{/if}{if $component eq \'event\'} - {$event.title}{/if} - {contact.display_name}\n','{if $emailGreeting}{$emailGreeting},\n{/if}\n\n{if $isRefund}\n{ts}A refund has been issued based on changes in your registration selections.{/ts}\n{else}\n{ts}Below you will find a receipt for this payment.{/ts}\n{/if}\n{if $paymentsComplete}\n{ts}Thank you for completing this payment.{/ts}\n{/if}\n\n{if $isRefund}\n===============================================================================\n\n{ts}Refund Details{/ts}\n\n===============================================================================\n{ts}This Refund Amount{/ts}: {$refundAmount|crmMoney}\n------------------------------------------------------------------------------------\n\n{else}\n===============================================================================\n\n{ts}Payment Details{/ts}\n\n===============================================================================\n{ts}This Payment Amount{/ts}: {$paymentAmount|crmMoney}\n------------------------------------------------------------------------------------\n{/if}\n{if $receive_date}\n{ts}Transaction Date{/ts}: {$receive_date|crmDate}\n{/if}\n{if !empty($trxn_id)}\n{ts}Transaction #{/ts}: {$trxn_id}\n{/if}\n{if !empty($paidBy)}\n{ts}Paid By{/ts}: {$paidBy}\n{/if}\n{if !empty($checkNumber)}\n{ts}Check Number{/ts}: {$checkNumber}\n{/if}\n\n===============================================================================\n\n{ts}Contribution Details{/ts}\n\n===============================================================================\n{if isset($totalAmount)}\n{ts}Total Fee{/ts}: {$totalAmount|crmMoney}\n{/if}\n{if isset($totalPaid)}\n{ts}Total Paid{/ts}: {$totalPaid|crmMoney}\n{/if}\n{if isset($amountOwed)}\n{ts}Balance Owed{/ts}: {$amountOwed|crmMoney} {* This will be zero after final payment. *}\n{/if}\n\n\n{if !empty($billingName) || !empty($address)}\n\n===============================================================================\n\n{ts}Billing Name and Address{/ts}\n\n===============================================================================\n{if !empty($billingName)}\n{$billingName}\n{/if}\n{if !empty($address)}\n{$address}\n{/if}\n{/if}\n\n{if !empty($credit_card_number)}\n===========================================================\n{ts}Credit Card Information{/ts}\n\n===============================================================================\n\n{$credit_card_type}\n{$credit_card_number}\n{ts}Expires{/ts}: {$credit_card_exp_date|truncate:7:\'\'|crmDate}\n{/if}\n{if $component eq \'event\'}\n===============================================================================\n\n{ts}Event Information and Location{/ts}\n\n===============================================================================\n\n{$event.event_title}\n{$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:\"%Y%m%d\" == $event.event_start_date|date_format:\"%Y%m%d\"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if}\n\n{if !empty($event.participant_role)}\n{ts}Participant Role{/ts}: {$event.participant_role}\n{/if}\n\n{if !empty($isShowLocation)}\n{$location.address.1.display|strip_tags:false}\n{/if}{*End of isShowLocation condition*}\n\n{if !empty($location.phone.1.phone) || !empty($location.email.1.email)}\n\n{ts}Event Contacts:{/ts}\n{foreach from=$location.phone item=phone}\n{if $phone.phone}\n\n{if $phone.phone_type}{$phone.phone_type_display}{else}{ts}Phone{/ts}{/if}: {$phone.phone}{/if} {if $phone.phone_ext} {ts}ext.{/ts} {$phone.phone_ext}{/if}\n{/foreach}\n{foreach from=$location.email item=eventEmail}\n{if $eventEmail.email}\n\n{ts}Email{/ts}: {$eventEmail.email}{/if}{/foreach}\n{/if}\n{/if}\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n{capture assign=emptyBlockStyle }style=\"padding: 10px; border-bottom: 1px solid #999;background-color: #f7f7f7;\"{/capture}\n{capture assign=emptyBlockValueStyle }style=\"padding: 10px; border-bottom: 1px solid #999;\"{/capture}\n\n <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n  <tr>\n    <td>\n      {assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}<p>{$greeting},</p>{/if}\n      {if $isRefund}\n        <p>{ts}A refund has been issued based on changes in your registration selections.{/ts}</p>\n      {else}\n        <p>{ts}Below you will find a receipt for this payment.{/ts}</p>\n        {if $paymentsComplete}\n          <p>{ts}Thank you for completing this contribution.{/ts}</p>\n        {/if}\n      {/if}\n    </td>\n  </tr>\n  <tr>\n   <td>\n    <table style=\"border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse; width:100%;\">\n    {if $isRefund}\n      <tr>\n        <th {$headerStyle}>{ts}Refund Details{/ts}</th>\n      </tr>\n      <tr>\n        <td {$labelStyle}>\n        {ts}This Refund Amount{/ts}\n        </td>\n        <td {$valueStyle}>\n        {$refundAmount|crmMoney}\n        </td>\n      </tr>\n    {else}\n      <tr>\n        <th {$headerStyle}>{ts}Payment Details{/ts}</th>\n      </tr>\n      <tr>\n        <td {$labelStyle}>\n        {ts}This Payment Amount{/ts}\n        </td>\n        <td {$valueStyle}>\n        {$paymentAmount|crmMoney}\n        </td>\n      </tr>\n    {/if}\n    {if $receive_date}\n      <tr>\n        <td {$labelStyle}>\n        {ts}Transaction Date{/ts}\n        </td>\n        <td {$valueStyle}>\n        {$receive_date|crmDate}\n        </td>\n      </tr>\n    {/if}\n    {if !empty($trxn_id)}\n      <tr>\n        <td {$labelStyle}>\n        {ts}Transaction #{/ts}\n        </td>\n        <td {$valueStyle}>\n        {$trxn_id}\n        </td>\n      </tr>\n    {/if}\n    {if !empty($paidBy)}\n      <tr>\n        <td {$labelStyle}>\n        {ts}Paid By{/ts}\n        </td>\n        <td {$valueStyle}>\n        {$paidBy}\n        </td>\n      </tr>\n    {/if}\n    {if !empty($checkNumber)}\n      <tr>\n        <td {$labelStyle}>\n        {ts}Check Number{/ts}\n        </td>\n        <td {$valueStyle}>\n        {$checkNumber}\n        </td>\n      </tr>\n    {/if}\n\n  <tr>\n    <th {$headerStyle}>{ts}Contribution Details{/ts}</th>\n  </tr>\n  {if isset($totalAmount)}\n  <tr>\n    <td {$labelStyle}>\n      {ts}Total Fee{/ts}\n    </td>\n    <td {$valueStyle}>\n      {$totalAmount|crmMoney}\n    </td>\n  </tr>\n  {/if}\n  {if isset($totalPaid)}\n  <tr>\n    <td {$labelStyle}>\n      {ts}Total Paid{/ts}\n    </td>\n    <td {$valueStyle}>\n      {$totalPaid|crmMoney}\n    </td>\n  </tr>\n  {/if}\n  {if isset($amountOwed)}\n  <tr>\n    <td {$labelStyle}>\n      {ts}Balance Owed{/ts}\n    </td>\n    <td {$valueStyle}>\n      {$amountOwed|crmMoney}\n    </td> {* This will be zero after final payment. *}\n  </tr>\n  {/if}\n  </table>\n\n  </td>\n  </tr>\n    <tr>\n      <td>\n  <table style=\"border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse; width:100%;\">\n    {if !empty($billingName) || !empty($address)}\n          <tr>\n            <th {$headerStyle}>\n        {ts}Billing Name and Address{/ts}\n            </th>\n          </tr>\n          <tr>\n            <td colspan=\"2\" {$valueStyle}>\n        {if !empty($billingName)}{$billingName}{/if}<br />\n        {if !empty($address)}{$address|nl2br}{/if}\n            </td>\n          </tr>\n    {/if}\n    {if !empty($credit_card_number)}\n          <tr>\n            <th {$headerStyle}>\n        {ts}Credit Card Information{/ts}\n            </th>\n          </tr>\n          <tr>\n            <td colspan=\"2\" {$valueStyle}>\n        {$credit_card_type}<br />\n        {$credit_card_number}<br />\n        {ts}Expires:{/ts} {$credit_card_exp_date|truncate:7:\'\'|crmDate}\n            </td>\n          </tr>\n    {/if}\n    {if $component eq \'event\'}\n    <tr>\n      <th {$headerStyle}>\n        {ts}Event Information and Location{/ts}\n      </th>\n    </tr>\n    <tr>\n      <td colspan=\"2\" {$valueStyle}>\n         {$event.event_title}<br />\n        {$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:\"%Y%m%d\" == $event.event_start_date|date_format:\"%Y%m%d\"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if}\n      </td>\n    </tr>\n\n    {if !empty($event.participant_role)}\n    <tr>\n      <td {$labelStyle}>\n        {ts}Participant Role{/ts}\n      </td>\n      <td {$valueStyle}>\n        {$event.participant_role}\n      </td>\n    </tr>\n    {/if}\n\n    {if !empty($isShowLocation)}\n    <tr>\n      <td colspan=\"2\" {$valueStyle}>\n        {$location.address.1.display|nl2br}\n      </td>\n    </tr>\n    {/if}\n\n    {if !empty($location.phone.1.phone) || !empty($location.email.1.email)}\n    <tr>\n      <td colspan=\"2\" {$labelStyle}>\n        {ts}Event Contacts:{/ts}\n      </td>\n    </tr>\n    {foreach from=$location.phone item=phone}\n    {if $phone.phone}\n          <tr>\n            <td {$labelStyle}>\n        {if $phone.phone_type}\n        {$phone.phone_type_display}\n        {else}\n        {ts}Phone{/ts}\n        {/if}\n            </td>\n            <td {$valueStyle}>\n        {$phone.phone} {if $phone.phone_ext}&nbsp;{ts}ext.{/ts} {$phone.phone_ext}{/if}\n            </td>\n          </tr>\n    {/if}\n    {/foreach}\n    {foreach from=$location.email item=eventEmail}\n    {if $eventEmail.email}\n          <tr>\n            <td {$labelStyle}>\n        {ts}Email{/ts}\n            </td>\n            <td {$valueStyle}>\n        {$eventEmail.email}\n            </td>\n          </tr>\n    {/if}\n    {/foreach}\n    {/if} {*phone block close*}\n    {/if}\n  </table>\n      </td>\n    </tr>\n\n    </table>\n\n </body>\n</html>\n',1,841,'payment_or_refund_notification',0,1,0,NULL),
- (29,'Events - Registration Confirmation and Receipt (off-line)','{ts}Event Confirmation{/ts} - {$event.title} - {contact.display_name}\n','{assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}{$greeting},{/if}\n{if !empty($event.confirm_email_text) AND (empty($isOnWaitlist) AND empty($isRequireApproval))}\n{$event.confirm_email_text}\n{/if}\n\n{if !empty($isOnWaitlist)}\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{ts}You have been added to the WAIT LIST for this event.{/ts}\n\n{if !empty($isPrimary)}\n{ts}If space becomes available you will receive an email with a link to a web page where you can complete your registration.{/ts}\n\n{/if}\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{elseif !empty($isRequireApproval)}\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{ts}Your registration has been submitted.{/ts}\n\n{if !empty($isPrimary)}\n{ts}Once your registration has been reviewed, you will receive an email with a link to a web page where you can complete the registration process.{/ts}\n\n{/if}\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{elseif !empty($is_pay_later)}\n\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{if isset($pay_later_receipt)}{$pay_later_receipt}{/if}\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{/if}\n\n\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{ts}Event Information and Location{/ts}\n\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{$event.event_title}\n{$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:\"%Y%m%d\" == $event.event_start_date|date_format:\"%Y%m%d\"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if}\n\n{if !empty($event.participant_role) and $event.participant_role neq \'Attendee\' and empty($defaultRole)}\n{ts}Participant Role{/ts}: {$event.participant_role}\n{/if}\n\n{if !empty($isShowLocation)}\n{$location.address.1.display|strip_tags:false}\n{/if}{*End of isShowLocation condition*}\n\n{if !empty($location.phone.1.phone) || !empty($location.email.1.email)}\n\n{ts}Event Contacts:{/ts}\n{foreach from=$location.phone item=phone}\n{if $phone.phone}\n\n{if $phone.phone_type}{$phone.phone_type_display}{else}{ts}Phone{/ts}{/if}: {$phone.phone}{/if} {if $phone.phone_ext} {ts}ext.{/ts} {$phone.phone_ext}{/if}\n{/foreach}\n{foreach from=$location.email item=eventEmail}\n{if $eventEmail.email}\n\n{ts}Email{/ts}: {$eventEmail.email}{/if}{/foreach}\n{/if}\n\n{if !empty($event.is_public)}\n{capture assign=icalFeed}{crmURL p=\'civicrm/event/ical\' q=\"reset=1&id=`$event.id`\" h=0 a=1 fe=1}{/capture}\n{ts}Download iCalendar File:{/ts} {$icalFeed}\n{/if}\n\n{if !empty($email)}\n\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{ts}Registered Email{/ts}\n\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{$email}\n{/if}\n{if !empty($event.is_monetary)} {* This section for Paid events only.*}\n\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{if !empty($event.fee_label)}{$event.fee_label}{/if}\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{if !empty($lineItem)}{foreach from=$lineItem item=value key=priceset}\n\n{if $value neq \'skip\'}\n{if !empty($isPrimary)}\n{if $lineItem|@count GT 1} {* Header for multi participant registration cases. *}\n{ts 1=$priceset+1}Participant %1{/ts}\n{/if}\n{/if}\n---------------------------------------------------------{if !empty($pricesetFieldsCount) }--------------------{/if}\n\n{capture assign=ts_item}{ts}Item{/ts}{/capture}\n{capture assign=ts_qty}{ts}Qty{/ts}{/capture}\n{capture assign=ts_each}{ts}Each{/ts}{/capture}\n{if !empty($dataArray)}\n{capture assign=ts_subtotal}{ts}Subtotal{/ts}{/capture}\n{capture assign=ts_taxRate}{ts}Tax Rate{/ts}{/capture}\n{capture assign=ts_taxAmount}{ts}Tax Amount{/ts}{/capture}\n{/if}\n{capture assign=ts_total}{ts}Total{/ts}{/capture}\n{capture assign=ts_participant_total}{if !empty($pricesetFieldsCount) }{ts}Total Participants{/ts}{/if}{/capture}\n{$ts_item|string_format:\"%-30s\"} {$ts_qty|string_format:\"%5s\"} {$ts_each|string_format:\"%10s\"} {if !empty($dataArray)} {$ts_subtotal|string_format:\"%10s\"} {$ts_taxRate|string_format:\"%10s\"} {$ts_taxAmount|string_format:\"%10s\"} {/if} {$ts_total|string_format:\"%10s\"} {if !empty($ts_participant_total)}{$ts_participant_total|string_format:\"%10s\"}{/if}\n----------------------------------------------------------{if !empty($pricesetFieldsCount) }--------------------{/if}\n\n{foreach from=$value item=line}\n{if !empty($pricesetFieldsCount) }{capture assign=ts_participant_count}{$line.participant_count}{/capture}{/if}\n{capture assign=ts_item}{if $line.html_type eq \'Text\'}{$line.label}{else}{$line.field_title} - {$line.label}{/if} {if $line.description} {$line.description}{/if}{/capture}{$ts_item|truncate:30:\"...\"|string_format:\"%-30s\"} {$line.qty|string_format:\"%5s\"} {$line.unit_price|crmMoney|string_format:\"%10s\"} {if !empty($dataArray)} {$line.unit_price*$line.qty|crmMoney:$currency|string_format:\"%10s\"} {if isset($line.tax_rate) and ($line.tax_rate != \"\" || $line.tax_amount != \"\")}  {$line.tax_rate|string_format:\"%.2f\"} %  {$line.tax_amount|crmMoney:$currency|string_format:\"%10s\"} {else}                  {/if}  {/if}  {$line.line_total+$line.tax_amount|crmMoney|string_format:\"%10s\"} {if !empty($ts_participant_count)}{$ts_participant_count|string_format:\"%10s\"}{/if}\n{/foreach}\n{/if}\n{/foreach}\n\n{if !empty($dataArray)}\n{if isset($totalAmount) and isset($totalTaxAmount)}\n{ts}Amount before Tax{/ts}: {$totalAmount-$totalTaxAmount|crmMoney:$currency}\n{/if}\n\n{foreach from=$dataArray item=value key=priceset}\n{if $priceset || $priceset == 0}\n{if isset($taxTerm)}{$taxTerm}{/if} {$priceset|string_format:\"%.2f\"}%: {$value|crmMoney:$currency}\n{else}\n{ts}No{/ts} {if isset($taxTerm)}{$taxTerm}{/if}: {$value|crmMoney:$currency}\n{/if}\n{/foreach}\n{/if}\n{/if}\n\n{if !empty($amount) && !$lineItem}\n{foreach from=$amount item=amnt key=level}{$amnt.amount|crmMoney} {$amnt.label}\n{/foreach}\n{/if}\n\n{if isset($totalTaxAmount)}\n{ts}Total Tax Amount{/ts}: {$totalTaxAmount|crmMoney:$currency}\n{/if}\n{if !empty($isPrimary)}\n\n{if !empty($balanceAmount)}{ts}Total Paid{/ts}{else}{ts}Total Amount{/ts}{/if}: {if !empty($totalAmount)}{$totalAmount|crmMoney}{/if} {if !empty($hookDiscount.message)}({$hookDiscount.message}){/if}\n\n{if !empty($balanceAmount)}\n{ts}Balance{/ts}: {$balanceAmount|crmMoney}\n{/if}\n\n{if !empty($pricesetFieldsCount) }\n      {assign var=\"count\" value= 0}\n      {foreach from=$lineItem item=pcount}\n      {assign var=\"lineItemCount\" value=0}\n      {if $pcount neq \'skip\'}\n        {foreach from=$pcount item=p_count}\n        {assign var=\"lineItemCount\" value=$lineItemCount+$p_count.participant_count}\n        {/foreach}\n        {if $lineItemCount < 1 }\n        {assign var=\"lineItemCount\" value=1}\n        {/if}\n      {assign var=\"count\" value=$count+$lineItemCount}\n      {/if}\n      {/foreach}\n\n{ts}Total Participants{/ts}: {$count}\n{/if}\n\n{if !empty($is_pay_later) }\n\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{$pay_later_receipt}\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{/if}\n\n{if $register_date}\n{ts}Registration Date{/ts}: {$register_date|crmDate}\n{/if}\n{if $receive_date}\n{ts}Transaction Date{/ts}: {$receive_date|crmDate}\n{/if}\n{if !empty($financialTypeName)}\n{ts}Financial Type{/ts}: {$financialTypeName}\n{/if}\n{if !empty($trxn_id)}\n{ts}Transaction #{/ts}: {$trxn_id}\n{/if}\n{if !empty($paidBy)}\n{ts}Paid By{/ts}: {$paidBy}\n{/if}\n{if !empty($checkNumber)}\n{ts}Check Number{/ts}: {$checkNumber}\n{/if}\n{if !empty($billingName)}\n\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{ts}Billing Name and Address{/ts}\n\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{$billingName}\n{$address}\n{/if}\n\n{if !empty($credit_card_type)}\n===========================================================\n{ts}Credit Card Information{/ts}\n\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{$credit_card_type}\n{$credit_card_number}\n{ts}Expires{/ts}: {$credit_card_exp_date|truncate:7:\'\'|crmDate}\n{/if}\n{/if}\n{/if} {* End of conditional section for Paid events *}\n\n{if !empty($customPre)}\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{$customPre_grouptitle}\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{foreach from=$customPre item=value key=customName}\n{if ( !empty($trackingFields) and ! in_array( $customName, $trackingFields ) ) or empty($trackingFields)}\n{$customName}: {$value}\n{/if}\n{/foreach}\n{/if}\n\n{if !empty($customPost)}\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{$customPost_grouptitle}\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{foreach from=$customPost item=value key=customName}\n{if ( !empty($trackingFields) and ! in_array( $customName, $trackingFields ) ) or empty($trackingFields)}\n{$customName}: {$value}\n{/if}\n{/foreach}\n{/if}\n{if !empty($customProfile)}\n\n{foreach from=$customProfile item=value key=customName}\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{ts 1=$customName+1}Participant Information - Participant %1{/ts}\n\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{foreach from=$value item=val key=field}\n{if $field eq \'additionalCustomPre\' or $field eq \'additionalCustomPost\' }\n{if $field eq \'additionalCustomPre\' }\n----------------------------------------------------------{if !empty($pricesetFieldsCount) }--------------------{/if}\n\n{$additionalCustomPre_grouptitle}\n----------------------------------------------------------{if !empty($pricesetFieldsCount) }--------------------{/if}\n\n{else}\n----------------------------------------------------------{if !empty($pricesetFieldsCount) }--------------------{/if}\n\n{$additionalCustomPost_grouptitle}\n----------------------------------------------------------{if !empty($pricesetFieldsCount) }--------------------{/if}\n\n{/if}\n{foreach from=$val item=v key=f}\n{$f}: {$v}\n{/foreach}\n{/if}\n{/foreach}\n{/foreach}\n{/if}\n{if !empty($customGroup)}\n{foreach from=$customGroup item=value key=customName}\n=========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{$customName}\n=========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{foreach from=$value item=v key=n}\n{$n}: {$v}\n{/foreach}\n{/foreach}\n{/if}\n\n\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n    {assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}<p>{$greeting},</p>{/if}\n\n    {if !empty($event.confirm_email_text) AND (empty($isOnWaitlist) AND empty($isRequireApproval))}\n     <p>{$event.confirm_email_text|htmlize}</p>\n    {/if}\n\n    {if !empty($isOnWaitlist)}\n     <p>{ts}You have been added to the WAIT LIST for this event.{/ts}</p>\n     {if !empty($isPrimary)}\n       <p>{ts}If space becomes available you will receive an email with a link to a web page where you can complete your registration.{/ts}</p>\n     {/if}\n    {elseif !empty($isRequireApproval)}\n     <p>{ts}Your registration has been submitted.{/ts}</p>\n     {if !empty($isPrimary)}\n      <p>{ts}Once your registration has been reviewed, you will receive an email with a link to a web page where you can complete the registration process.{/ts}</p>\n     {/if}\n    {elseif !empty($is_pay_later)}\n     <p>{if isset($pay_later_receipt)}{$pay_later_receipt}{/if}</p> {* FIXME: this might be text rather than HTML *}\n    {/if}\n\n   </td>\n  </tr>\n  <tr>\n   <td>\n    <table style=\"border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse; width:100%;\">\n     <tr>\n      <th {$headerStyle}>\n       {ts}Event Information and Location{/ts}\n      </th>\n     </tr>\n     <tr>\n      <td colspan=\"2\" {$valueStyle}>\n       {$event.event_title}<br />\n       {$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:\"%Y%m%d\" == $event.event_start_date|date_format:\"%Y%m%d\"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if}\n      </td>\n     </tr>\n\n     {if !empty($event.participant_role) and $event.participant_role neq \'Attendee\' and !empty($defaultRole)}\n      <tr>\n       <td {$labelStyle}>\n        {ts}Participant Role{/ts}\n       </td>\n       <td {$valueStyle}>\n        {$event.participant_role}\n       </td>\n      </tr>\n     {/if}\n\n     {if !empty($isShowLocation)}\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n        {$location.address.1.display|nl2br}\n       </td>\n      </tr>\n     {/if}\n\n     {if !empty($location.phone.1.phone) || !empty($location.email.1.email)}\n      <tr>\n       <td colspan=\"2\" {$labelStyle}>\n        {ts}Event Contacts:{/ts}\n       </td>\n      </tr>\n      {foreach from=$location.phone item=phone}\n       {if $phone.phone}\n        <tr>\n         <td {$labelStyle}>\n          {if $phone.phone_type}\n           {$phone.phone_type_display}\n          {else}\n           {ts}Phone{/ts}\n          {/if}\n         </td>\n         <td {$valueStyle}>\n          {$phone.phone} {if $phone.phone_ext}&nbsp;{ts}ext.{/ts} {$phone.phone_ext}{/if}\n         </td>\n        </tr>\n       {/if}\n      {/foreach}\n      {foreach from=$location.email item=eventEmail}\n       {if $eventEmail.email}\n        <tr>\n         <td {$labelStyle}>\n          {ts}Email{/ts}\n         </td>\n         <td {$valueStyle}>\n          {$eventEmail.email}\n         </td>\n        </tr>\n       {/if}\n      {/foreach}\n     {/if}\n\n     {if !empty($event.is_public)}\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n        {capture assign=icalFeed}{crmURL p=\'civicrm/event/ical\' q=\"reset=1&id=`$event.id`\" h=0 a=1 fe=1}{/capture}\n        <a href=\"{$icalFeed}\">{ts}Download iCalendar File{/ts}</a>\n       </td>\n      </tr>\n     {/if}\n\n     {if $email}\n      <tr>\n       <th {$headerStyle}>\n        {ts}Registered Email{/ts}\n       </th>\n      </tr>\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n        {$email}\n       </td>\n      </tr>\n     {/if}\n\n\n     {if !empty($event.is_monetary)}\n\n      <tr>\n       <th {$headerStyle}>\n        {if !empty($event.fee_label)}{$event.fee_label}{/if}\n       </th>\n      </tr>\n\n      {if !empty($lineItem)}\n       {foreach from=$lineItem item=value key=priceset}\n        {if $value neq \'skip\'}\n         {if !empty($isPrimary)}\n          {if $lineItem|@count GT 1} {* Header for multi participant registration cases. *}\n           <tr>\n            <td colspan=\"2\" {$labelStyle}>\n             {ts 1=$priceset+1}Participant %1{/ts}\n            </td>\n           </tr>\n          {/if}\n         {/if}\n         <tr>\n          <td colspan=\"2\" {$valueStyle}>\n           <table> {* FIXME: style this table so that it looks like the text version (justification, etc.) *}\n            <tr>\n             <th>{ts}Item{/ts}</th>\n             <th>{ts}Qty{/ts}</th>\n             <th>{ts}Each{/ts}</th>\n             {if !empty($dataArray)}\n              <th>{ts}SubTotal{/ts}</th>\n              <th>{ts}Tax Rate{/ts}</th>\n              <th>{ts}Tax Amount{/ts}</th>\n             {/if}\n             <th>{ts}Total{/ts}</th>\n       {if !empty($pricesetFieldsCount) }<th>{ts}Total Participants{/ts}</th>{/if}\n            </tr>\n            {foreach from=$value item=line}\n             <tr>\n              <td>\n        {if $line.html_type eq \'Text\'}{$line.label}{else}{$line.field_title} - {$line.label}{/if} {if $line.description}<div>{$line.description|truncate:30:\"...\"}</div>{/if}\n              </td>\n              <td>\n               {$line.qty}\n              </td>\n              <td>\n               {$line.unit_price|crmMoney}\n              </td>\n              {if !empty($dataArray)}\n               <td>\n                {$line.unit_price*$line.qty|crmMoney}\n               </td>\n               {if isset($line.tax_rate) and ($line.tax_rate != \"\" || $line.tax_amount != \"\")}\n                <td>\n                 {$line.tax_rate|string_format:\"%.2f\"}%\n                </td>\n                <td>\n                 {$line.tax_amount|crmMoney}\n                </td>\n               {else}\n                <td></td>\n                <td></td>\n               {/if}\n              {/if}\n              <td>\n               {$line.line_total+$line.tax_amount|crmMoney}\n              </td>\n        {if  !empty($pricesetFieldsCount) }\n        <td>\n    {$line.participant_count}\n              </td>\n        {/if}\n             </tr>\n            {/foreach}\n           </table>\n          </td>\n         </tr>\n        {/if}\n       {/foreach}\n       {if !empty($dataArray)}\n        {if isset($totalAmount) and isset($totalTaxAmount)}\n        <tr>\n         <td {$labelStyle}>\n          {ts}Amount Before Tax:{/ts}\n         </td>\n         <td {$valueStyle}>\n          {$totalAmount-$totalTaxAmount|crmMoney}\n         </td>\n        </tr>\n        {/if}\n        {foreach from=$dataArray item=value key=priceset}\n          <tr>\n           {if $priceset || $priceset == 0}\n            <td>&nbsp;{if isset($taxTerm)}{$taxTerm}{/if} {$priceset|string_format:\"%.2f\"}%</td>\n            <td>&nbsp;{$value|crmMoney:$currency}</td>\n           {else}\n            <td>&nbsp;{ts}No{/ts} {if isset($taxTerm)}{$taxTerm}{/if}</td>\n            <td>&nbsp;{$value|crmMoney:$currency}</td>\n           {/if}\n          </tr>\n        {/foreach}\n       {/if}\n      {/if}\n\n      {if !empty($amount) && !$lineItem}\n       {foreach from=$amount item=amnt key=level}\n        <tr>\n         <td colspan=\"2\" {$valueStyle}>\n          {$amnt.amount|crmMoney} {$amnt.label}\n         </td>\n        </tr>\n       {/foreach}\n      {/if}\n      {if isset($totalTaxAmount)}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Total Tax Amount{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$totalTaxAmount|crmMoney:$currency}\n        </td>\n       </tr>\n      {/if}\n      {if !empty($isPrimary)}\n       <tr>\n        <td {$labelStyle}>\n        {if isset($balanceAmount)}\n           {ts}Total Paid{/ts}\n        {else}\n           {ts}Total Amount{/ts}\n         {/if}\n        </td>\n        <td {$valueStyle}>\n         {if !empty($totalAmount)}{$totalAmount|crmMoney}{/if} {if !empty($hookDiscount.message)}({$hookDiscount.message}){/if}\n        </td>\n       </tr>\n      {if isset($balanceAmount)}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Balance{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$balanceAmount|crmMoney}\n        </td>\n       </tr>\n      {/if}\n       {if !empty($pricesetFieldsCount) }\n     <tr>\n       <td {$labelStyle}>\n   {ts}Total Participants{/ts}</td>\n       <td {$valueStyle}>\n   {assign var=\"count\" value= 0}\n         {foreach from=$lineItem item=pcount}\n         {assign var=\"lineItemCount\" value=0}\n         {if $pcount neq \'skip\'}\n           {foreach from=$pcount item=p_count}\n           {assign var=\"lineItemCount\" value=$lineItemCount+$p_count.participant_count}\n           {/foreach}\n           {if $lineItemCount < 1 }\n           assign var=\"lineItemCount\" value=1}\n           {/if}\n           {assign var=\"count\" value=$count+$lineItemCount}\n         {/if}\n         {/foreach}\n   {$count}\n       </td>\n     </tr>\n     {/if}\n       {if !empty($is_pay_later)}\n        <tr>\n         <td colspan=\"2\" {$labelStyle}>\n          {if isset($pay_later_receipt)}{$pay_later_receipt}{/if}\n         </td>\n        </tr>\n       {/if}\n\n       {if $register_date}\n        <tr>\n         <td {$labelStyle}>\n          {ts}Registration Date{/ts}\n         </td>\n         <td {$valueStyle}>\n          {$register_date|crmDate}\n         </td>\n        </tr>\n       {/if}\n\n       {if !empty($receive_date)}\n        <tr>\n         <td {$labelStyle}>\n          {ts}Transaction Date{/ts}\n         </td>\n         <td {$valueStyle}>\n          {$receive_date|crmDate}\n         </td>\n        </tr>\n       {/if}\n\n       {if !empty($financialTypeName)}\n        <tr>\n         <td {$labelStyle}>\n          {ts}Financial Type{/ts}\n         </td>\n         <td {$valueStyle}>\n          {$financialTypeName}\n         </td>\n        </tr>\n       {/if}\n\n       {if !empty($trxn_id)}\n        <tr>\n         <td {$labelStyle}>\n          {ts}Transaction #{/ts}\n         </td>\n         <td {$valueStyle}>\n          {$trxn_id}\n         </td>\n        </tr>\n       {/if}\n\n       {if !empty($paidBy)}\n        <tr>\n         <td {$labelStyle}>\n          {ts}Paid By{/ts}\n         </td>\n         <td {$valueStyle}>\n         {$paidBy}\n         </td>\n        </tr>\n       {/if}\n\n       {if !empty($checkNumber)}\n        <tr>\n         <td {$labelStyle}>\n          {ts}Check Number{/ts}\n         </td>\n         <td {$valueStyle}>\n          {$checkNumber}\n         </td>\n        </tr>\n       {/if}\n\n       {if !empty($billingName)}\n        <tr>\n         <th {$headerStyle}>\n          {ts}Billing Name and Address{/ts}\n         </th>\n        </tr>\n        <tr>\n         <td colspan=\"2\" {$valueStyle}>\n          {$billingName}<br />\n          {$address|nl2br}\n         </td>\n        </tr>\n       {/if}\n\n       {if !empty($credit_card_type)}\n        <tr>\n         <th {$headerStyle}>\n          {ts}Credit Card Information{/ts}\n         </th>\n        </tr>\n        <tr>\n         <td colspan=\"2\" {$valueStyle}>\n          {$credit_card_type}<br />\n          {$credit_card_number}<br />\n          {ts}Expires{/ts}: {$credit_card_exp_date|truncate:7:\'\'|crmDate}\n         </td>\n        </tr>\n       {/if}\n\n      {/if}\n\n     {/if} {* End of conditional section for Paid events *}\n\n     {if !empty($customPre)}\n      <tr>\n       <th {$headerStyle}>\n        {$customPre_grouptitle}\n       </th>\n      </tr>\n      {foreach from=$customPre item=value key=customName}\n       {if ( !empty($trackingFields) and ! in_array( $customName, $trackingFields ) ) or empty($trackingFields)}\n        <tr>\n         <td {$labelStyle}>\n          {$customName}\n         </td>\n         <td {$valueStyle}>\n          {$value}\n         </td>\n        </tr>\n       {/if}\n      {/foreach}\n     {/if}\n\n     {if !empty($customPost)}\n      <tr>\n       <th {$headerStyle}>\n        {$customPost_grouptitle}\n       </th>\n      </tr>\n      {foreach from=$customPost item=value key=customName}\n       {if ( !empty($trackingFields) and ! in_array( $customName, $trackingFields ) ) or empty($trackingFields)}\n        <tr>\n         <td {$labelStyle}>\n          {$customName}\n         </td>\n         <td {$valueStyle}>\n          {$value}\n         </td>\n        </tr>\n       {/if}\n      {/foreach}\n     {/if}\n\n     {if !empty($customProfile)}\n      {foreach from=$customProfile item=value key=customName}\n       <tr>\n        <th {$headerStyle}>\n         {ts 1=$customName+1}Participant Information - Participant %1{/ts}\n        </th>\n       </tr>\n       {foreach from=$value item=val key=field}\n        {if $field eq \'additionalCustomPre\' or $field eq \'additionalCustomPost\'}\n         <tr>\n          <td colspan=\"2\" {$labelStyle}>\n           {if $field eq \'additionalCustomPre\'}\n            {$additionalCustomPre_grouptitle}\n           {else}\n            {$additionalCustomPost_grouptitle}\n           {/if}\n          </td>\n         </tr>\n         {foreach from=$val item=v key=f}\n          <tr>\n           <td {$labelStyle}>\n            {$f}\n           </td>\n           <td {$valueStyle}>\n            {$v}\n           </td>\n          </tr>\n         {/foreach}\n        {/if}\n       {/foreach}\n      {/foreach}\n     {/if}\n\n     {if !empty($customGroup)}\n      {foreach from=$customGroup item=value key=customName}\n       <tr>\n        <th {$headerStyle}>\n         {$customName}\n        </th>\n       </tr>\n       {foreach from=$value item=v key=n}\n        <tr>\n         <td {$labelStyle}>\n          {$n}\n         </td>\n         <td {$valueStyle}>\n          {$v}\n         </td>\n        </tr>\n       {/foreach}\n      {/foreach}\n     {/if}\n\n    </table>\n   </td>\n  </tr>\n\n </table>\n\n</body>\n</html>\n',1,842,'event_offline_receipt',1,0,0,NULL),
- (30,'Events - Registration Confirmation and Receipt (off-line)','{ts}Event Confirmation{/ts} - {$event.title} - {contact.display_name}\n','{assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}{$greeting},{/if}\n{if !empty($event.confirm_email_text) AND (empty($isOnWaitlist) AND empty($isRequireApproval))}\n{$event.confirm_email_text}\n{/if}\n\n{if !empty($isOnWaitlist)}\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{ts}You have been added to the WAIT LIST for this event.{/ts}\n\n{if !empty($isPrimary)}\n{ts}If space becomes available you will receive an email with a link to a web page where you can complete your registration.{/ts}\n\n{/if}\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{elseif !empty($isRequireApproval)}\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{ts}Your registration has been submitted.{/ts}\n\n{if !empty($isPrimary)}\n{ts}Once your registration has been reviewed, you will receive an email with a link to a web page where you can complete the registration process.{/ts}\n\n{/if}\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{elseif !empty($is_pay_later)}\n\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{if isset($pay_later_receipt)}{$pay_later_receipt}{/if}\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{/if}\n\n\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{ts}Event Information and Location{/ts}\n\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{$event.event_title}\n{$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:\"%Y%m%d\" == $event.event_start_date|date_format:\"%Y%m%d\"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if}\n\n{if !empty($event.participant_role) and $event.participant_role neq \'Attendee\' and empty($defaultRole)}\n{ts}Participant Role{/ts}: {$event.participant_role}\n{/if}\n\n{if !empty($isShowLocation)}\n{$location.address.1.display|strip_tags:false}\n{/if}{*End of isShowLocation condition*}\n\n{if !empty($location.phone.1.phone) || !empty($location.email.1.email)}\n\n{ts}Event Contacts:{/ts}\n{foreach from=$location.phone item=phone}\n{if $phone.phone}\n\n{if $phone.phone_type}{$phone.phone_type_display}{else}{ts}Phone{/ts}{/if}: {$phone.phone}{/if} {if $phone.phone_ext} {ts}ext.{/ts} {$phone.phone_ext}{/if}\n{/foreach}\n{foreach from=$location.email item=eventEmail}\n{if $eventEmail.email}\n\n{ts}Email{/ts}: {$eventEmail.email}{/if}{/foreach}\n{/if}\n\n{if !empty($event.is_public)}\n{capture assign=icalFeed}{crmURL p=\'civicrm/event/ical\' q=\"reset=1&id=`$event.id`\" h=0 a=1 fe=1}{/capture}\n{ts}Download iCalendar File:{/ts} {$icalFeed}\n{/if}\n\n{if !empty($email)}\n\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{ts}Registered Email{/ts}\n\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{$email}\n{/if}\n{if !empty($event.is_monetary)} {* This section for Paid events only.*}\n\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{if !empty($event.fee_label)}{$event.fee_label}{/if}\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{if !empty($lineItem)}{foreach from=$lineItem item=value key=priceset}\n\n{if $value neq \'skip\'}\n{if !empty($isPrimary)}\n{if $lineItem|@count GT 1} {* Header for multi participant registration cases. *}\n{ts 1=$priceset+1}Participant %1{/ts}\n{/if}\n{/if}\n---------------------------------------------------------{if !empty($pricesetFieldsCount) }--------------------{/if}\n\n{capture assign=ts_item}{ts}Item{/ts}{/capture}\n{capture assign=ts_qty}{ts}Qty{/ts}{/capture}\n{capture assign=ts_each}{ts}Each{/ts}{/capture}\n{if !empty($dataArray)}\n{capture assign=ts_subtotal}{ts}Subtotal{/ts}{/capture}\n{capture assign=ts_taxRate}{ts}Tax Rate{/ts}{/capture}\n{capture assign=ts_taxAmount}{ts}Tax Amount{/ts}{/capture}\n{/if}\n{capture assign=ts_total}{ts}Total{/ts}{/capture}\n{capture assign=ts_participant_total}{if !empty($pricesetFieldsCount) }{ts}Total Participants{/ts}{/if}{/capture}\n{$ts_item|string_format:\"%-30s\"} {$ts_qty|string_format:\"%5s\"} {$ts_each|string_format:\"%10s\"} {if !empty($dataArray)} {$ts_subtotal|string_format:\"%10s\"} {$ts_taxRate|string_format:\"%10s\"} {$ts_taxAmount|string_format:\"%10s\"} {/if} {$ts_total|string_format:\"%10s\"} {if !empty($ts_participant_total)}{$ts_participant_total|string_format:\"%10s\"}{/if}\n----------------------------------------------------------{if !empty($pricesetFieldsCount) }--------------------{/if}\n\n{foreach from=$value item=line}\n{if !empty($pricesetFieldsCount) }{capture assign=ts_participant_count}{$line.participant_count}{/capture}{/if}\n{capture assign=ts_item}{if $line.html_type eq \'Text\'}{$line.label}{else}{$line.field_title} - {$line.label}{/if} {if $line.description} {$line.description}{/if}{/capture}{$ts_item|truncate:30:\"...\"|string_format:\"%-30s\"} {$line.qty|string_format:\"%5s\"} {$line.unit_price|crmMoney|string_format:\"%10s\"} {if !empty($dataArray)} {$line.unit_price*$line.qty|crmMoney:$currency|string_format:\"%10s\"} {if isset($line.tax_rate) and ($line.tax_rate != \"\" || $line.tax_amount != \"\")}  {$line.tax_rate|string_format:\"%.2f\"} %  {$line.tax_amount|crmMoney:$currency|string_format:\"%10s\"} {else}                  {/if}  {/if}  {$line.line_total+$line.tax_amount|crmMoney|string_format:\"%10s\"} {if !empty($ts_participant_count)}{$ts_participant_count|string_format:\"%10s\"}{/if}\n{/foreach}\n{/if}\n{/foreach}\n\n{if !empty($dataArray)}\n{if isset($totalAmount) and isset($totalTaxAmount)}\n{ts}Amount before Tax{/ts}: {$totalAmount-$totalTaxAmount|crmMoney:$currency}\n{/if}\n\n{foreach from=$dataArray item=value key=priceset}\n{if $priceset || $priceset == 0}\n{if isset($taxTerm)}{$taxTerm}{/if} {$priceset|string_format:\"%.2f\"}%: {$value|crmMoney:$currency}\n{else}\n{ts}No{/ts} {if isset($taxTerm)}{$taxTerm}{/if}: {$value|crmMoney:$currency}\n{/if}\n{/foreach}\n{/if}\n{/if}\n\n{if !empty($amount) && !$lineItem}\n{foreach from=$amount item=amnt key=level}{$amnt.amount|crmMoney} {$amnt.label}\n{/foreach}\n{/if}\n\n{if isset($totalTaxAmount)}\n{ts}Total Tax Amount{/ts}: {$totalTaxAmount|crmMoney:$currency}\n{/if}\n{if !empty($isPrimary)}\n\n{if !empty($balanceAmount)}{ts}Total Paid{/ts}{else}{ts}Total Amount{/ts}{/if}: {if !empty($totalAmount)}{$totalAmount|crmMoney}{/if} {if !empty($hookDiscount.message)}({$hookDiscount.message}){/if}\n\n{if !empty($balanceAmount)}\n{ts}Balance{/ts}: {$balanceAmount|crmMoney}\n{/if}\n\n{if !empty($pricesetFieldsCount) }\n      {assign var=\"count\" value= 0}\n      {foreach from=$lineItem item=pcount}\n      {assign var=\"lineItemCount\" value=0}\n      {if $pcount neq \'skip\'}\n        {foreach from=$pcount item=p_count}\n        {assign var=\"lineItemCount\" value=$lineItemCount+$p_count.participant_count}\n        {/foreach}\n        {if $lineItemCount < 1 }\n        {assign var=\"lineItemCount\" value=1}\n        {/if}\n      {assign var=\"count\" value=$count+$lineItemCount}\n      {/if}\n      {/foreach}\n\n{ts}Total Participants{/ts}: {$count}\n{/if}\n\n{if !empty($is_pay_later) }\n\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{$pay_later_receipt}\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{/if}\n\n{if $register_date}\n{ts}Registration Date{/ts}: {$register_date|crmDate}\n{/if}\n{if $receive_date}\n{ts}Transaction Date{/ts}: {$receive_date|crmDate}\n{/if}\n{if !empty($financialTypeName)}\n{ts}Financial Type{/ts}: {$financialTypeName}\n{/if}\n{if !empty($trxn_id)}\n{ts}Transaction #{/ts}: {$trxn_id}\n{/if}\n{if !empty($paidBy)}\n{ts}Paid By{/ts}: {$paidBy}\n{/if}\n{if !empty($checkNumber)}\n{ts}Check Number{/ts}: {$checkNumber}\n{/if}\n{if !empty($billingName)}\n\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{ts}Billing Name and Address{/ts}\n\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{$billingName}\n{$address}\n{/if}\n\n{if !empty($credit_card_type)}\n===========================================================\n{ts}Credit Card Information{/ts}\n\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{$credit_card_type}\n{$credit_card_number}\n{ts}Expires{/ts}: {$credit_card_exp_date|truncate:7:\'\'|crmDate}\n{/if}\n{/if}\n{/if} {* End of conditional section for Paid events *}\n\n{if !empty($customPre)}\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{$customPre_grouptitle}\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{foreach from=$customPre item=value key=customName}\n{if ( !empty($trackingFields) and ! in_array( $customName, $trackingFields ) ) or empty($trackingFields)}\n{$customName}: {$value}\n{/if}\n{/foreach}\n{/if}\n\n{if !empty($customPost)}\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{$customPost_grouptitle}\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{foreach from=$customPost item=value key=customName}\n{if ( !empty($trackingFields) and ! in_array( $customName, $trackingFields ) ) or empty($trackingFields)}\n{$customName}: {$value}\n{/if}\n{/foreach}\n{/if}\n{if !empty($customProfile)}\n\n{foreach from=$customProfile item=value key=customName}\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{ts 1=$customName+1}Participant Information - Participant %1{/ts}\n\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{foreach from=$value item=val key=field}\n{if $field eq \'additionalCustomPre\' or $field eq \'additionalCustomPost\' }\n{if $field eq \'additionalCustomPre\' }\n----------------------------------------------------------{if !empty($pricesetFieldsCount) }--------------------{/if}\n\n{$additionalCustomPre_grouptitle}\n----------------------------------------------------------{if !empty($pricesetFieldsCount) }--------------------{/if}\n\n{else}\n----------------------------------------------------------{if !empty($pricesetFieldsCount) }--------------------{/if}\n\n{$additionalCustomPost_grouptitle}\n----------------------------------------------------------{if !empty($pricesetFieldsCount) }--------------------{/if}\n\n{/if}\n{foreach from=$val item=v key=f}\n{$f}: {$v}\n{/foreach}\n{/if}\n{/foreach}\n{/foreach}\n{/if}\n{if !empty($customGroup)}\n{foreach from=$customGroup item=value key=customName}\n=========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{$customName}\n=========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{foreach from=$value item=v key=n}\n{$n}: {$v}\n{/foreach}\n{/foreach}\n{/if}\n\n\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n    {assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}<p>{$greeting},</p>{/if}\n\n    {if !empty($event.confirm_email_text) AND (empty($isOnWaitlist) AND empty($isRequireApproval))}\n     <p>{$event.confirm_email_text|htmlize}</p>\n    {/if}\n\n    {if !empty($isOnWaitlist)}\n     <p>{ts}You have been added to the WAIT LIST for this event.{/ts}</p>\n     {if !empty($isPrimary)}\n       <p>{ts}If space becomes available you will receive an email with a link to a web page where you can complete your registration.{/ts}</p>\n     {/if}\n    {elseif !empty($isRequireApproval)}\n     <p>{ts}Your registration has been submitted.{/ts}</p>\n     {if !empty($isPrimary)}\n      <p>{ts}Once your registration has been reviewed, you will receive an email with a link to a web page where you can complete the registration process.{/ts}</p>\n     {/if}\n    {elseif !empty($is_pay_later)}\n     <p>{if isset($pay_later_receipt)}{$pay_later_receipt}{/if}</p> {* FIXME: this might be text rather than HTML *}\n    {/if}\n\n   </td>\n  </tr>\n  <tr>\n   <td>\n    <table style=\"border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse; width:100%;\">\n     <tr>\n      <th {$headerStyle}>\n       {ts}Event Information and Location{/ts}\n      </th>\n     </tr>\n     <tr>\n      <td colspan=\"2\" {$valueStyle}>\n       {$event.event_title}<br />\n       {$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:\"%Y%m%d\" == $event.event_start_date|date_format:\"%Y%m%d\"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if}\n      </td>\n     </tr>\n\n     {if !empty($event.participant_role) and $event.participant_role neq \'Attendee\' and !empty($defaultRole)}\n      <tr>\n       <td {$labelStyle}>\n        {ts}Participant Role{/ts}\n       </td>\n       <td {$valueStyle}>\n        {$event.participant_role}\n       </td>\n      </tr>\n     {/if}\n\n     {if !empty($isShowLocation)}\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n        {$location.address.1.display|nl2br}\n       </td>\n      </tr>\n     {/if}\n\n     {if !empty($location.phone.1.phone) || !empty($location.email.1.email)}\n      <tr>\n       <td colspan=\"2\" {$labelStyle}>\n        {ts}Event Contacts:{/ts}\n       </td>\n      </tr>\n      {foreach from=$location.phone item=phone}\n       {if $phone.phone}\n        <tr>\n         <td {$labelStyle}>\n          {if $phone.phone_type}\n           {$phone.phone_type_display}\n          {else}\n           {ts}Phone{/ts}\n          {/if}\n         </td>\n         <td {$valueStyle}>\n          {$phone.phone} {if $phone.phone_ext}&nbsp;{ts}ext.{/ts} {$phone.phone_ext}{/if}\n         </td>\n        </tr>\n       {/if}\n      {/foreach}\n      {foreach from=$location.email item=eventEmail}\n       {if $eventEmail.email}\n        <tr>\n         <td {$labelStyle}>\n          {ts}Email{/ts}\n         </td>\n         <td {$valueStyle}>\n          {$eventEmail.email}\n         </td>\n        </tr>\n       {/if}\n      {/foreach}\n     {/if}\n\n     {if !empty($event.is_public)}\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n        {capture assign=icalFeed}{crmURL p=\'civicrm/event/ical\' q=\"reset=1&id=`$event.id`\" h=0 a=1 fe=1}{/capture}\n        <a href=\"{$icalFeed}\">{ts}Download iCalendar File{/ts}</a>\n       </td>\n      </tr>\n     {/if}\n\n     {if $email}\n      <tr>\n       <th {$headerStyle}>\n        {ts}Registered Email{/ts}\n       </th>\n      </tr>\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n        {$email}\n       </td>\n      </tr>\n     {/if}\n\n\n     {if !empty($event.is_monetary)}\n\n      <tr>\n       <th {$headerStyle}>\n        {if !empty($event.fee_label)}{$event.fee_label}{/if}\n       </th>\n      </tr>\n\n      {if !empty($lineItem)}\n       {foreach from=$lineItem item=value key=priceset}\n        {if $value neq \'skip\'}\n         {if !empty($isPrimary)}\n          {if $lineItem|@count GT 1} {* Header for multi participant registration cases. *}\n           <tr>\n            <td colspan=\"2\" {$labelStyle}>\n             {ts 1=$priceset+1}Participant %1{/ts}\n            </td>\n           </tr>\n          {/if}\n         {/if}\n         <tr>\n          <td colspan=\"2\" {$valueStyle}>\n           <table> {* FIXME: style this table so that it looks like the text version (justification, etc.) *}\n            <tr>\n             <th>{ts}Item{/ts}</th>\n             <th>{ts}Qty{/ts}</th>\n             <th>{ts}Each{/ts}</th>\n             {if !empty($dataArray)}\n              <th>{ts}SubTotal{/ts}</th>\n              <th>{ts}Tax Rate{/ts}</th>\n              <th>{ts}Tax Amount{/ts}</th>\n             {/if}\n             <th>{ts}Total{/ts}</th>\n       {if !empty($pricesetFieldsCount) }<th>{ts}Total Participants{/ts}</th>{/if}\n            </tr>\n            {foreach from=$value item=line}\n             <tr>\n              <td>\n        {if $line.html_type eq \'Text\'}{$line.label}{else}{$line.field_title} - {$line.label}{/if} {if $line.description}<div>{$line.description|truncate:30:\"...\"}</div>{/if}\n              </td>\n              <td>\n               {$line.qty}\n              </td>\n              <td>\n               {$line.unit_price|crmMoney}\n              </td>\n              {if !empty($dataArray)}\n               <td>\n                {$line.unit_price*$line.qty|crmMoney}\n               </td>\n               {if isset($line.tax_rate) and ($line.tax_rate != \"\" || $line.tax_amount != \"\")}\n                <td>\n                 {$line.tax_rate|string_format:\"%.2f\"}%\n                </td>\n                <td>\n                 {$line.tax_amount|crmMoney}\n                </td>\n               {else}\n                <td></td>\n                <td></td>\n               {/if}\n              {/if}\n              <td>\n               {$line.line_total+$line.tax_amount|crmMoney}\n              </td>\n        {if  !empty($pricesetFieldsCount) }\n        <td>\n    {$line.participant_count}\n              </td>\n        {/if}\n             </tr>\n            {/foreach}\n           </table>\n          </td>\n         </tr>\n        {/if}\n       {/foreach}\n       {if !empty($dataArray)}\n        {if isset($totalAmount) and isset($totalTaxAmount)}\n        <tr>\n         <td {$labelStyle}>\n          {ts}Amount Before Tax:{/ts}\n         </td>\n         <td {$valueStyle}>\n          {$totalAmount-$totalTaxAmount|crmMoney}\n         </td>\n        </tr>\n        {/if}\n        {foreach from=$dataArray item=value key=priceset}\n          <tr>\n           {if $priceset || $priceset == 0}\n            <td>&nbsp;{if isset($taxTerm)}{$taxTerm}{/if} {$priceset|string_format:\"%.2f\"}%</td>\n            <td>&nbsp;{$value|crmMoney:$currency}</td>\n           {else}\n            <td>&nbsp;{ts}No{/ts} {if isset($taxTerm)}{$taxTerm}{/if}</td>\n            <td>&nbsp;{$value|crmMoney:$currency}</td>\n           {/if}\n          </tr>\n        {/foreach}\n       {/if}\n      {/if}\n\n      {if !empty($amount) && !$lineItem}\n       {foreach from=$amount item=amnt key=level}\n        <tr>\n         <td colspan=\"2\" {$valueStyle}>\n          {$amnt.amount|crmMoney} {$amnt.label}\n         </td>\n        </tr>\n       {/foreach}\n      {/if}\n      {if isset($totalTaxAmount)}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Total Tax Amount{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$totalTaxAmount|crmMoney:$currency}\n        </td>\n       </tr>\n      {/if}\n      {if !empty($isPrimary)}\n       <tr>\n        <td {$labelStyle}>\n        {if isset($balanceAmount)}\n           {ts}Total Paid{/ts}\n        {else}\n           {ts}Total Amount{/ts}\n         {/if}\n        </td>\n        <td {$valueStyle}>\n         {if !empty($totalAmount)}{$totalAmount|crmMoney}{/if} {if !empty($hookDiscount.message)}({$hookDiscount.message}){/if}\n        </td>\n       </tr>\n      {if isset($balanceAmount)}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Balance{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$balanceAmount|crmMoney}\n        </td>\n       </tr>\n      {/if}\n       {if !empty($pricesetFieldsCount) }\n     <tr>\n       <td {$labelStyle}>\n   {ts}Total Participants{/ts}</td>\n       <td {$valueStyle}>\n   {assign var=\"count\" value= 0}\n         {foreach from=$lineItem item=pcount}\n         {assign var=\"lineItemCount\" value=0}\n         {if $pcount neq \'skip\'}\n           {foreach from=$pcount item=p_count}\n           {assign var=\"lineItemCount\" value=$lineItemCount+$p_count.participant_count}\n           {/foreach}\n           {if $lineItemCount < 1 }\n           assign var=\"lineItemCount\" value=1}\n           {/if}\n           {assign var=\"count\" value=$count+$lineItemCount}\n         {/if}\n         {/foreach}\n   {$count}\n       </td>\n     </tr>\n     {/if}\n       {if !empty($is_pay_later)}\n        <tr>\n         <td colspan=\"2\" {$labelStyle}>\n          {if isset($pay_later_receipt)}{$pay_later_receipt}{/if}\n         </td>\n        </tr>\n       {/if}\n\n       {if $register_date}\n        <tr>\n         <td {$labelStyle}>\n          {ts}Registration Date{/ts}\n         </td>\n         <td {$valueStyle}>\n          {$register_date|crmDate}\n         </td>\n        </tr>\n       {/if}\n\n       {if !empty($receive_date)}\n        <tr>\n         <td {$labelStyle}>\n          {ts}Transaction Date{/ts}\n         </td>\n         <td {$valueStyle}>\n          {$receive_date|crmDate}\n         </td>\n        </tr>\n       {/if}\n\n       {if !empty($financialTypeName)}\n        <tr>\n         <td {$labelStyle}>\n          {ts}Financial Type{/ts}\n         </td>\n         <td {$valueStyle}>\n          {$financialTypeName}\n         </td>\n        </tr>\n       {/if}\n\n       {if !empty($trxn_id)}\n        <tr>\n         <td {$labelStyle}>\n          {ts}Transaction #{/ts}\n         </td>\n         <td {$valueStyle}>\n          {$trxn_id}\n         </td>\n        </tr>\n       {/if}\n\n       {if !empty($paidBy)}\n        <tr>\n         <td {$labelStyle}>\n          {ts}Paid By{/ts}\n         </td>\n         <td {$valueStyle}>\n         {$paidBy}\n         </td>\n        </tr>\n       {/if}\n\n       {if !empty($checkNumber)}\n        <tr>\n         <td {$labelStyle}>\n          {ts}Check Number{/ts}\n         </td>\n         <td {$valueStyle}>\n          {$checkNumber}\n         </td>\n        </tr>\n       {/if}\n\n       {if !empty($billingName)}\n        <tr>\n         <th {$headerStyle}>\n          {ts}Billing Name and Address{/ts}\n         </th>\n        </tr>\n        <tr>\n         <td colspan=\"2\" {$valueStyle}>\n          {$billingName}<br />\n          {$address|nl2br}\n         </td>\n        </tr>\n       {/if}\n\n       {if !empty($credit_card_type)}\n        <tr>\n         <th {$headerStyle}>\n          {ts}Credit Card Information{/ts}\n         </th>\n        </tr>\n        <tr>\n         <td colspan=\"2\" {$valueStyle}>\n          {$credit_card_type}<br />\n          {$credit_card_number}<br />\n          {ts}Expires{/ts}: {$credit_card_exp_date|truncate:7:\'\'|crmDate}\n         </td>\n        </tr>\n       {/if}\n\n      {/if}\n\n     {/if} {* End of conditional section for Paid events *}\n\n     {if !empty($customPre)}\n      <tr>\n       <th {$headerStyle}>\n        {$customPre_grouptitle}\n       </th>\n      </tr>\n      {foreach from=$customPre item=value key=customName}\n       {if ( !empty($trackingFields) and ! in_array( $customName, $trackingFields ) ) or empty($trackingFields)}\n        <tr>\n         <td {$labelStyle}>\n          {$customName}\n         </td>\n         <td {$valueStyle}>\n          {$value}\n         </td>\n        </tr>\n       {/if}\n      {/foreach}\n     {/if}\n\n     {if !empty($customPost)}\n      <tr>\n       <th {$headerStyle}>\n        {$customPost_grouptitle}\n       </th>\n      </tr>\n      {foreach from=$customPost item=value key=customName}\n       {if ( !empty($trackingFields) and ! in_array( $customName, $trackingFields ) ) or empty($trackingFields)}\n        <tr>\n         <td {$labelStyle}>\n          {$customName}\n         </td>\n         <td {$valueStyle}>\n          {$value}\n         </td>\n        </tr>\n       {/if}\n      {/foreach}\n     {/if}\n\n     {if !empty($customProfile)}\n      {foreach from=$customProfile item=value key=customName}\n       <tr>\n        <th {$headerStyle}>\n         {ts 1=$customName+1}Participant Information - Participant %1{/ts}\n        </th>\n       </tr>\n       {foreach from=$value item=val key=field}\n        {if $field eq \'additionalCustomPre\' or $field eq \'additionalCustomPost\'}\n         <tr>\n          <td colspan=\"2\" {$labelStyle}>\n           {if $field eq \'additionalCustomPre\'}\n            {$additionalCustomPre_grouptitle}\n           {else}\n            {$additionalCustomPost_grouptitle}\n           {/if}\n          </td>\n         </tr>\n         {foreach from=$val item=v key=f}\n          <tr>\n           <td {$labelStyle}>\n            {$f}\n           </td>\n           <td {$valueStyle}>\n            {$v}\n           </td>\n          </tr>\n         {/foreach}\n        {/if}\n       {/foreach}\n      {/foreach}\n     {/if}\n\n     {if !empty($customGroup)}\n      {foreach from=$customGroup item=value key=customName}\n       <tr>\n        <th {$headerStyle}>\n         {$customName}\n        </th>\n       </tr>\n       {foreach from=$value item=v key=n}\n        <tr>\n         <td {$labelStyle}>\n          {$n}\n         </td>\n         <td {$valueStyle}>\n          {$v}\n         </td>\n        </tr>\n       {/foreach}\n      {/foreach}\n     {/if}\n\n    </table>\n   </td>\n  </tr>\n\n </table>\n\n</body>\n</html>\n',1,842,'event_offline_receipt',0,1,0,NULL),
- (31,'Events - Registration Confirmation and Receipt (on-line)','{if !empty($isOnWaitlist)}{ts}Wait List Confirmation{/ts}{elseif !empty($isRequireApproval)}{ts}Registration Request Confirmation{/ts}{else}{ts}Registration Confirmation{/ts}{/if} - {$event.event_title} - {contact.display_name}\n','{assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}{$greeting},{/if}\n{if !empty($event.confirm_email_text) AND (empty($isOnWaitlist) AND empty($isRequireApproval))}\n{$event.confirm_email_text}\n\n{else}\n  {ts}Thank you for your registration.{/ts}\n  {if $participant_status}{ts 1=$participant_status}This is a confirmation that your registration has been received and your status has been updated to %1.{/ts}\n  {else}{if !empty($isOnWaitlist)}{ts}This is a confirmation that your registration has been received and your status has been updated to waitlisted.{/ts}{else}{ts}This is a confirmation that your registration has been received and your status has been updated to registered.{/ts}{/if}\n  {/if}\n{/if}\n\n{if !empty($isOnWaitlist)}\n==========================================================={if !empty($pricesetFieldsCount)}===================={/if}\n\n{ts}You have been added to the WAIT LIST for this event.{/ts}\n\n{if !empty($isPrimary)}\n{ts}If space becomes available you will receive an email with a link to a web page where you can complete your registration.{/ts}\n{/if}\n==========================================================={if !empty($pricesetFieldsCount)}===================={/if}\n\n{elseif !empty($isRequireApproval)}\n==========================================================={if !empty($pricesetFieldsCount)}===================={/if}\n\n{ts}Your registration has been submitted.{/ts}\n\n{if !empty($isPrimary)}\n{ts}Once your registration has been reviewed, you will receive an email with a link to a web page where you can complete the registration process.{/ts}\n\n{/if}\n==========================================================={if !empty($pricesetFieldsCount)}===================={/if}\n\n{elseif !empty($is_pay_later) && empty($isAmountzero) && empty($isAdditionalParticipant)}\n\n==========================================================={if !empty($pricesetFieldsCount)}===================={/if}\n\n{if isset($pay_later_receipt)}{$pay_later_receipt}{/if}\n==========================================================={if !empty($pricesetFieldsCount)}===================={/if}\n\n{/if}\n\n\n==========================================================={if !empty($pricesetFieldsCount)}===================={/if}\n\n{ts}Event Information and Location{/ts}\n\n==========================================================={if !empty($pricesetFieldsCount)}===================={/if}\n\n{$event.event_title}\n{$event.event_start_date|date_format:\"%A\"} {$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:\"%Y%m%d\" == $event.event_start_date|date_format:\"%Y%m%d\"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|date_format:\"%A\"} {$event.event_end_date|crmDate}{/if}{/if}\n{if !empty($conference_sessions)}\n\n\n{ts}Your schedule:{/ts}\n{assign var=\'group_by_day\' value=\'NA\'}\n{foreach from=$conference_sessions item=session}\n{if $session.start_date|date_format:\"%Y/%m/%d\" != $group_by_day|date_format:\"%Y/%m/%d\"}\n{assign var=\'group_by_day\' value=$session.start_date}\n\n{$group_by_day|date_format:\"%m/%d/%Y\"}\n\n\n{/if}\n{$session.start_date|crmDate:0:1}{if $session.end_date}-{$session.end_date|crmDate:0:1}{/if} {$session.title}\n{if $session.location}    {$session.location}{/if}\n{/foreach}\n{/if}\n\n{if !empty($event.participant_role) and $event.participant_role neq \'Attendee\' and !empty($defaultRole)}\n{ts}Participant Role{/ts}: {$event.participant_role}\n{/if}\n\n{if !empty($isShowLocation)}\n{$location.address.1.display|strip_tags:false}\n{/if}{*End of isShowLocation condition*}\n\n{if !empty($location.phone.1.phone) || !empty($location.email.1.email)}\n\n{ts}Event Contacts:{/ts}\n{foreach from=$location.phone item=phone}\n{if $phone.phone}\n\n{if $phone.phone_type}{$phone.phone_type_display}{else}{ts}Phone{/ts}{/if}: {$phone.phone}{/if} {if $phone.phone_ext} {ts}ext.{/ts} {$phone.phone_ext}{/if}\n{/foreach}\n{foreach from=$location.email item=eventEmail}\n{if $eventEmail.email}\n\n{ts}Email{/ts}: {$eventEmail.email}{/if}{/foreach}\n{/if}\n\n{if !empty($event.is_public)}\n{capture assign=icalFeed}{crmURL p=\'civicrm/event/ical\' q=\"reset=1&id=`$event.id`\" h=0 a=1 fe=1}{/capture}\n{ts}Download iCalendar File:{/ts} {$icalFeed}\n{/if}\n\n{if !empty($payer.name)}\nYou were registered by: {$payer.name}\n{/if}\n{if !empty($event.is_monetary) and empty($isRequireApproval)} {* This section for Paid events only.*}\n\n==========================================================={if !empty($pricesetFieldsCount)}===================={/if}\n\n{if !empty ($event.fee_label)}{$event.fee_label}{/if}\n==========================================================={if !empty($pricesetFieldsCount)}===================={/if}\n\n{if !empty($lineItem)}{foreach from=$lineItem item=value key=priceset}\n\n{if $value neq \'skip\'}\n{if !empty($isPrimary)}\n{if $lineItem|@count GT 1} {* Header for multi participant registration cases. *}\n{ts 1=$priceset+1}Participant %1{/ts} {if !empty($part.$priceset)}{$part.$priceset.info}{/if}\n\n{/if}\n{/if}\n-----------------------------------------------------------{if !empty($pricesetFieldsCount)}-----------------------------------------------------{/if}\n\n{capture assign=ts_item}{ts}Item{/ts}{/capture}\n{capture assign=ts_qty}{ts}Qty{/ts}{/capture}\n{capture assign=ts_each}{ts}Each{/ts}{/capture}\n{if !empty($dataArray)}\n{capture assign=ts_subtotal}{ts}Subtotal{/ts}{/capture}\n{capture assign=ts_taxRate}{ts}Tax Rate{/ts}{/capture}\n{capture assign=ts_taxAmount}{ts}Tax Amount{/ts}{/capture}\n{/if}\n{capture assign=ts_total}{ts}Total{/ts}{/capture}\n{if !empty($pricesetFieldsCount) }{capture assign=ts_participant_total}{ts}Total Participants{/ts}{/capture}{/if}\n{$ts_item|string_format:\"%-30s\"} {$ts_qty|string_format:\"%5s\"} {$ts_each|string_format:\"%10s\"} {if !empty($dataArray)} {$ts_subtotal|string_format:\"%10s\"} {$ts_taxRate|string_format:\"%10s\"} {$ts_taxAmount|string_format:\"%10s\"} {/if} {$ts_total|string_format:\"%10s\"} {if !empty($ts_participant_total)}{$ts_participant_total|string_format:\"%10s\"}{/if}\n-----------------------------------------------------------{if !empty($pricesetFieldsCount)}-----------------------------------------------------{/if}\n\n{foreach from=$value item=line}\n{if !empty($pricesetFieldsCount) }{capture assign=ts_participant_count}{$line.participant_count}{/capture}{/if}\n{capture assign=ts_item}{if $line.html_type eq \'Text\'}{$line.label}{else}{$line.field_title} - {$line.label}{/if} {if $line.description} {$line.description}{/if}{/capture}{$ts_item|truncate:30:\"...\"|string_format:\"%-30s\"} {$line.qty|string_format:\"%5s\"} {$line.unit_price|crmMoney:$currency|string_format:\"%10s\"} {if !empty($dataArray)} {$line.unit_price*$line.qty|crmMoney:$currency|string_format:\"%10s\"} {if isset($line.tax_rate) and ($line.tax_rate != \"\" || $line.tax_amount != \"\")}  {$line.tax_rate|string_format:\"%.2f\"} %  {$line.tax_amount|crmMoney:$currency|string_format:\"%10s\"} {else}                  {/if}  {/if} {$line.line_total+$line.tax_amount|crmMoney:$currency|string_format:\"%10s\"}{if !empty($ts_participant_count)}{$ts_participant_count|string_format:\"%10s\"}{/if}\n{/foreach}\n----------------------------------------------------------------------------------------------------------------\n{if !empty($individual)}{ts}Participant Total{/ts} {$individual.$priceset.totalAmtWithTax-$individual.$priceset.totalTaxAmt|crmMoney:$currency|string_format:\"%29s\"} {$individual.$priceset.totalTaxAmt|crmMoney:$currency|string_format:\"%33s\"} {$individual.$priceset.totalAmtWithTax|crmMoney:$currency|string_format:\"%12s\"}{/if}\n{/if}\n{\"\"|string_format:\"%120s\"}\n{/foreach}\n{\"\"|string_format:\"%120s\"}\n\n{if !empty($dataArray)}\n{if isset($totalAmount) and isset($totalTaxAmount)}\n{ts}Amount before Tax{/ts}: {$totalAmount-$totalTaxAmount|crmMoney:$currency}\n{/if}\n\n{foreach from=$dataArray item=value key=priceset}\n{if $priceset || $priceset == 0}\n{if isset($taxTerm)}{$taxTerm}{/if} {$priceset|string_format:\"%.2f\"}%: {$value|crmMoney:$currency}\n{else}\n{ts}No{/ts} {if isset($taxTerm)}{$taxTerm}{/if}: {$value|crmMoney:$currency}\n{/if}\n{/foreach}\n{/if}\n{/if}\n\n{if !empty($amounts) && empty($lineItem)}\n{foreach from=$amounts item=amnt key=level}{$amnt.amount|crmMoney:$currency} {$amnt.label}\n{/foreach}\n{/if}\n\n{if isset($totalTaxAmount)}\n{ts}Total Tax Amount{/ts}: {$totalTaxAmount|crmMoney:$currency}\n{/if}\n{if !empty($isPrimary) }\n\n{ts}Total Amount{/ts}: {if !empty($totalAmount)}{$totalAmount|crmMoney:$currency}{/if} {if !empty($hookDiscount.message)}({$hookDiscount.message}){/if}\n\n{if !empty($pricesetFieldsCount) }\n      {assign var=\"count\" value= 0}\n      {foreach from=$lineItem item=pcount}\n      {assign var=\"lineItemCount\" value=0}\n      {if $pcount neq \'skip\'}\n        {foreach from=$pcount item=p_count}\n        {assign var=\"lineItemCount\" value=$lineItemCount+$p_count.participant_count}\n        {/foreach}\n      {if $lineItemCount < 1 }\n        {assign var=\"lineItemCount\" value=1}\n      {/if}\n      {assign var=\"count\" value=$count+$lineItemCount}\n      {/if}\n      {/foreach}\n\n{ts}Total Participants{/ts}: {$count}\n{/if}\n\n{if $register_date}\n{ts}Registration Date{/ts}: {$register_date|crmDate}\n{/if}\n{if !empty($receive_date)}\n{ts}Transaction Date{/ts}: {$receive_date|crmDate}\n{/if}\n{if !empty($financialTypeName)}\n{ts}Financial Type{/ts}: {$financialTypeName}\n{/if}\n{if !empty($trxn_id)}\n{ts}Transaction #{/ts}: {$trxn_id}\n{/if}\n{if !empty($paidBy)}\n{ts}Paid By{/ts}: {$paidBy}\n{/if}\n{if !empty($checkNumber)}\n{ts}Check Number{/ts}: {$checkNumber}\n{/if}\n{if !empty($billingName)}\n\n==========================================================={if !empty($pricesetFieldsCount)}===================={/if}\n\n{ts}Billing Name and Address{/ts}\n\n==========================================================={if !empty($pricesetFieldsCount)}===================={/if}\n\n{$billingName}\n{$address}\n{/if}\n\n{if !empty($credit_card_type)}\n==========================================================={if !empty($pricesetFieldsCount)}===================={/if}\n\n{ts}Credit Card Information{/ts}\n\n==========================================================={if !empty($pricesetFieldsCount)}===================={/if}\n\n{$credit_card_type}\n{$credit_card_number}\n{ts}Expires{/ts}: {$credit_card_exp_date|truncate:7:\'\'|crmDate}\n{/if}\n{/if}\n{/if} {* End of conditional section for Paid events *}\n\n{if !empty($customPre)}\n{foreach from=$customPre item=customPr key=i}\n==========================================================={if !empty($pricesetFieldsCount)}===================={/if}\n\n{$customPre_grouptitle.$i}\n==========================================================={if !empty($pricesetFieldsCount)}===================={/if}\n\n{foreach from=$customPr item=customValue key=customName}\n{if ( !empty($trackingFields) and ! in_array( $customName, $trackingFields ) ) or empty($trackingFields)}\n {$customName}: {$customValue}\n{/if}\n{/foreach}\n{/foreach}\n{/if}\n\n{if !empty($customPost)}\n{foreach from=$customPost item=customPos key=j}\n==========================================================={if !empty($pricesetFieldsCount)}===================={/if}\n\n{$customPost_grouptitle.$j}\n==========================================================={if !empty($pricesetFieldsCount)}===================={/if}\n\n{foreach from=$customPos item=customValue key=customName}\n{if ( !empty($trackingFields) and ! in_array( $customName, $trackingFields ) ) or empty($trackingFields)}\n {$customName}: {$customValue}\n{/if}\n{/foreach}\n{/foreach}\n{/if}\n{if !empty($customProfile)}\n\n{foreach from=$customProfile.profile item=eachParticipant key=participantID}\n==========================================================={if !empty($pricesetFieldsCount)}===================={/if}\n\n{ts 1=$participantID+2}Participant Information - Participant %1{/ts}\n\n==========================================================={if !empty($pricesetFieldsCount)}===================={/if}\n\n{foreach from=$eachParticipant item=eachProfile key=pid}\n----------------------------------------------------------{if !empty($pricesetFieldsCount)}--------------------{/if}\n\n{$customProfile.title.$pid}\n----------------------------------------------------------{if !empty($pricesetFieldsCount)}--------------------{/if}\n\n{foreach from=$eachProfile item=val key=field}\n{foreach from=$val item=v key=f}\n{$field}: {$v}\n{/foreach}\n{/foreach}\n{/foreach}\n{/foreach}\n{/if}\n\n{if !empty($event.allow_selfcancelxfer) }\n{ts 1=$selfcancelxfer_time 2=$selfservice_preposition}You may transfer your registration to another participant or cancel your registration up to %1 hours %2 the event.{/ts} {if !empty($totalAmount)}{ts}Cancellations are not refundable.{/ts}{/if}\n   {capture assign=selfService}{crmURL p=\'civicrm/event/selfsvcupdate\' q=\"reset=1&pid=`$participant.id`&{contact.checksum}\"  h=0 a=1 fe=1}{/capture}\n{ts}Transfer or cancel your registration:{/ts} {$selfService}\n{/if}\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n{capture assign=tdfirstStyle}style=\"width: 180px; padding-bottom: 15px;\"{/capture}\n{capture assign=tdStyle}style=\"width: 100px;\"{/capture}\n{capture assign=participantTotal}style=\"margin: 0.5em 0 0.5em;padding: 0.5em;background-color: #999999;font-weight: bold;color: #FAFAFA;border-radius: 2px;\"{/capture}\n\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n     {assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}<p>{$greeting},</p>{/if}\n\n    {if !empty($event.confirm_email_text) AND (empty($isOnWaitlist) AND empty($isRequireApproval))}\n     <p>{$event.confirm_email_text|htmlize}</p>\n\n    {else}\n     <p>{ts}Thank you for your registration.{/ts}\n     {if $participant_status}{ts 1=$participant_status}This is a confirmation that your registration has been received and your status has been updated to <strong> %1</strong>.{/ts}\n     {else}{if $isOnWaitlist}{ts}This is a confirmation that your registration has been received and your status has been updated to <strong>waitlisted</strong>.{/ts}{else}{ts}This is a confirmation that your registration has been received and your status has been updated to <strong>registered<strong>.{/ts}{/if}{/if}</p>\n\n    {/if}\n\n    <p>\n    {if !empty($isOnWaitlist)}\n     <p>{ts}You have been added to the WAIT LIST for this event.{/ts}</p>\n     {if !empty($isPrimary)}\n       <p>{ts}If space becomes available you will receive an email with a link to a web page where you can complete your registration.{/ts}</p>\n     {/if}\n    {elseif !empty($isRequireApproval)}\n     <p>{ts}Your registration has been submitted.{/ts}</p>\n     {if !empty($isPrimary)}\n      <p>{ts}Once your registration has been reviewed, you will receive an email with a link to a web page where you can complete the registration process.{/ts}</p>\n     {/if}\n    {elseif !empty($is_pay_later) && empty($isAmountzero) && empty($isAdditionalParticipant)}\n     <p>{if isset($pay_later_receipt)}{$pay_later_receipt}{/if}</p> {* FIXME: this might be text rather than HTML *}\n    {/if}\n\n   </td>\n  </tr>\n  <tr>\n   <td>\n    <table style=\"width:100%; max-width:700px; border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse;\">\n     <tr>\n      <th {$headerStyle}>\n       {ts}Event Information and Location{/ts}\n      </th>\n     </tr>\n     <tr>\n      <td colspan=\"2\" {$valueStyle}>\n       {$event.event_title}<br />\n       {$event.event_start_date|date_format:\"%A\"} {$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:\"%Y%m%d\" == $event.event_start_date|date_format:\"%Y%m%d\"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|date_format:\"%A\"} {$event.event_end_date|crmDate}{/if}{/if}\n      </td>\n     </tr>\n\n\n     {if $conference_sessions}\n      <tr>\n       <td colspan=\"2\" {$labelStyle}>\n  {ts}Your schedule:{/ts}\n       </td>\n      </tr>\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n  {assign var=\'group_by_day\' value=\'NA\'}\n  {foreach from=$conference_sessions item=session}\n   {if $session.start_date|date_format:\"%Y/%m/%d\" != $group_by_day|date_format:\"%Y/%m/%d\"}\n    {assign var=\'group_by_day\' value=$session.start_date}\n          <em>{$group_by_day|date_format:\"%m/%d/%Y\"}</em><br />\n   {/if}\n   {$session.start_date|crmDate:0:1}{if $session.end_date}-{$session.end_date|crmDate:0:1}{/if} {$session.title}<br />\n   {if $session.location}&nbsp;&nbsp;&nbsp;&nbsp;{$session.location}<br />{/if}\n  {/foreach}\n       </td>\n      </tr>\n     {/if}\n\n     {if !empty($event.participant_role) and $event.participant_role neq \'Attendee\' and !empty($defaultRole)}\n      <tr>\n       <td {$labelStyle}>\n        {ts}Participant Role{/ts}\n       </td>\n       <td {$valueStyle}>\n        {$event.participant_role}\n       </td>\n      </tr>\n     {/if}\n\n     {if !empty($isShowLocation)}\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n        {$location.address.1.display|nl2br}\n       </td>\n      </tr>\n     {/if}\n\n     {if !empty($location.phone.1.phone) || !empty($location.email.1.email)}\n      <tr>\n       <td colspan=\"2\" {$labelStyle}>\n        {ts}Event Contacts:{/ts}\n       </td>\n      </tr>\n      {foreach from=$location.phone item=phone}\n       {if $phone.phone}\n        <tr>\n         <td {$labelStyle}>\n          {if $phone.phone_type}\n           {$phone.phone_type_display}\n          {else}\n           {ts}Phone{/ts}\n          {/if}\n         </td>\n         <td {$valueStyle}>\n          {$phone.phone} {if $phone.phone_ext}&nbsp;{ts}ext.{/ts} {$phone.phone_ext}{/if}\n         </td>\n        </tr>\n       {/if}\n      {/foreach}\n      {foreach from=$location.email item=eventEmail}\n       {if $eventEmail.email}\n        <tr>\n         <td {$labelStyle}>\n          {ts}Email{/ts}\n         </td>\n         <td {$valueStyle}>\n          {$eventEmail.email}\n         </td>\n        </tr>\n       {/if}\n      {/foreach}\n     {/if}\n\n     {if !empty($event.is_public)}\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n        {capture assign=icalFeed}{crmURL p=\'civicrm/event/ical\' q=\"reset=1&id=`$event.id`\" h=0 a=1 fe=1}{/capture}\n        <a href=\"{$icalFeed}\">{ts}Download iCalendar File{/ts}</a>\n       </td>\n      </tr>\n     {/if}\n\n    {if !empty($event.is_share)}\n        <tr>\n            <td colspan=\"2\" {$valueStyle}>\n                {capture assign=eventUrl}{crmURL p=\'civicrm/event/info\' q=\"id=`$event.id`&reset=1\" a=true fe=1 h=1}{/capture}\n                {include file=\"CRM/common/SocialNetwork.tpl\" emailMode=true url=$eventUrl title=$event.title pageURL=$eventUrl}\n            </td>\n        </tr>\n    {/if}\n    {if !empty($payer.name)}\n     <tr>\n       <th {$headerStyle}>\n         {ts}You were registered by:{/ts}\n       </th>\n     </tr>\n     <tr>\n       <td colspan=\"2\" {$valueStyle}>\n        {$payer.name}\n       </td>\n     </tr>\n    {/if}\n    {if !empty($event.is_monetary) and empty($isRequireApproval)}\n\n      <tr>\n       <th {$headerStyle}>\n        {if !empty($event.fee_label)}{$event.fee_label}{/if}\n       </th>\n      </tr>\n\n      {if !empty($lineItem)}\n       {foreach from=$lineItem item=value key=priceset}\n        {if $value neq \'skip\'}\n         {if !empty($isPrimary)}\n          {if $lineItem|@count GT 1} {* Header for multi participant registration cases. *}\n           <tr>\n            <td colspan=\"2\" {$labelStyle}>\n             {ts 1=$priceset+1}Participant %1{/ts} {if !empty($part.$priceset)}{$part.$priceset.info}{/if}\n            </td>\n           </tr>\n          {/if}\n         {/if}\n         <tr>\n          <td colspan=\"2\" {$valueStyle}>\n           <table> {* FIXME: style this table so that it looks like the text version (justification, etc.) *}\n            <tr>\n             <th>{ts}Item{/ts}</th>\n             <th>{ts}Qty{/ts}</th>\n             <th>{ts}Each{/ts}</th>\n             {if !empty($dataArray)}\n              <th>{ts}SubTotal{/ts}</th>\n              <th>{ts}Tax Rate{/ts}</th>\n              <th>{ts}Tax Amount{/ts}</th>\n             {/if}\n             <th>{ts}Total{/ts}</th>\n       {if  !empty($pricesetFieldsCount) }<th>{ts}Total Participants{/ts}</th>{/if}\n            </tr>\n            {foreach from=$value item=line}\n             <tr>\n              <td {$tdfirstStyle}>\n              {if $line.html_type eq \'Text\'}{$line.label}{else}{$line.field_title} - {$line.label}{/if} {if $line.description}<div>{$line.description|truncate:30:\"...\"}</div>{/if}\n              </td>\n              <td {$tdStyle} align=\"middle\">\n               {$line.qty}\n              </td>\n              <td {$tdStyle}>\n               {$line.unit_price|crmMoney:$currency}\n              </td>\n              {if !empty($dataArray)}\n               <td {$tdStyle}>\n                {$line.unit_price*$line.qty|crmMoney}\n               </td>\n               {if isset($line.tax_rate) and ($line.tax_rate != \"\" || $line.tax_amount != \"\")}\n                <td {$tdStyle}>\n                 {$line.tax_rate|string_format:\"%.2f\"}%\n                </td>\n                <td {$tdStyle}>\n                 {$line.tax_amount|crmMoney}\n                </td>\n               {else}\n                <td></td>\n                <td></td>\n               {/if}\n              {/if}\n              <td {$tdStyle}>\n               {$line.line_total+$line.tax_amount|crmMoney:$currency}\n              </td>\n        {if !empty($pricesetFieldsCount) }<td {$tdStyle}>{$line.participant_count}</td> {/if}\n             </tr>\n            {/foreach}\n            {if !empty($individual)}\n              <tr {$participantTotal}>\n                <td colspan=3>{ts}Participant Total{/ts}</td>\n                <td colspan=2>{$individual.$priceset.totalAmtWithTax-$individual.$priceset.totalTaxAmt|crmMoney}</td>\n                <td colspan=1>{$individual.$priceset.totalTaxAmt|crmMoney}</td>\n                <td colspan=2>{$individual.$priceset.totalAmtWithTax|crmMoney}</td>\n              </tr>\n            {/if}\n           </table>\n          </td>\n         </tr>\n        {/if}\n       {/foreach}\n       {if !empty($dataArray)}\n        {if isset($totalAmount) and isset($totalTaxAmount)}\n        <tr>\n         <td {$labelStyle}>\n          {ts} Amount Before Tax: {/ts}\n         </td>\n         <td {$valueStyle}>\n          {$totalAmount-$totalTaxAmount|crmMoney}\n         </td>\n        </tr>\n        {/if}\n        {foreach from=$dataArray item=value key=priceset}\n         <tr>\n          {if $priceset || $priceset == 0}\n           <td>&nbsp;{if isset($taxTerm)}{$taxTerm}{/if} {$priceset|string_format:\"%.2f\"}%</td>\n           <td>&nbsp;{$value|crmMoney:$currency}</td>\n          {else}\n           <td>&nbsp;{ts}No{/ts} {if isset($taxTerm)}{$taxTerm}{/if}</td>\n           <td>&nbsp;{$value|crmMoney:$currency}</td>\n          {/if}\n         </tr>\n        {/foreach}\n       {/if}\n      {/if}\n\n      {if !empty($amounts) && empty($lineItem)}\n       {foreach from=$amounts item=amnt key=level}\n        <tr>\n         <td colspan=\"2\" {$valueStyle}>\n          {$amnt.amount|crmMoney:$currency} {$amnt.label}\n         </td>\n        </tr>\n       {/foreach}\n      {/if}\n\n    {if isset($totalTaxAmount)}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Total Tax Amount{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$totalTaxAmount|crmMoney:$currency}\n        </td>\n       </tr>\n      {/if}\n      {if !empty($isPrimary)}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Total Amount{/ts}\n        </td>\n        <td {$valueStyle}>\n         {if !empty($totalAmount)}{$totalAmount|crmMoney:$currency}{/if} {if !empty($hookDiscount.message)}({$hookDiscount.message}){/if}\n        </td>\n       </tr>\n       {if !empty($pricesetFieldsCount) }\n     <tr>\n       <td {$labelStyle}>\n      {ts}Total Participants{/ts}</td>\n      <td {$valueStyle}>\n      {assign var=\"count\" value= 0}\n      {foreach from=$lineItem item=pcount}\n      {assign var=\"lineItemCount\" value=0}\n      {if $pcount neq \'skip\'}\n        {foreach from=$pcount item=p_count}\n        {assign var=\"lineItemCount\" value=$lineItemCount+$p_count.participant_count}\n        {/foreach}\n      {if $lineItemCount < 1 }\n        {assign var=\"lineItemCount\" value=1}\n      {/if}\n      {assign var=\"count\" value=$count+$lineItemCount}\n      {/if}\n      {/foreach}\n     {$count}\n     </td> </tr>\n      {/if}\n\n       {if $register_date}\n        <tr>\n         <td {$labelStyle}>\n          {ts}Registration Date{/ts}\n         </td>\n         <td {$valueStyle}>\n          {$register_date|crmDate}\n         </td>\n        </tr>\n       {/if}\n\n       {if !empty($receive_date)}\n        <tr>\n         <td {$labelStyle}>\n          {ts}Transaction Date{/ts}\n         </td>\n         <td {$valueStyle}>\n          {$receive_date|crmDate}\n         </td>\n        </tr>\n       {/if}\n\n       {if !empty($financialTypeName)}\n        <tr>\n         <td {$labelStyle}>\n          {ts}Financial Type{/ts}\n         </td>\n         <td {$valueStyle}>\n          {$financialTypeName}\n         </td>\n        </tr>\n       {/if}\n\n       {if !empty($trxn_id)}\n        <tr>\n         <td {$labelStyle}>\n          {ts}Transaction #{/ts}\n         </td>\n         <td {$valueStyle}>\n          {$trxn_id}\n         </td>\n        </tr>\n       {/if}\n\n       {if !empty($paidBy)}\n        <tr>\n         <td {$labelStyle}>\n          {ts}Paid By{/ts}\n         </td>\n         <td {$valueStyle}>\n         {$paidBy}\n         </td>\n        </tr>\n       {/if}\n\n       {if !empty($checkNumber)}\n        <tr>\n         <td {$labelStyle}>\n          {ts}Check Number{/ts}\n         </td>\n         <td {$valueStyle}>\n          {$checkNumber}\n         </td>\n        </tr>\n       {/if}\n\n       {if !empty($billingName)}\n        <tr>\n         <th {$headerStyle}>\n          {ts}Billing Name and Address{/ts}\n         </th>\n        </tr>\n        <tr>\n         <td colspan=\"2\" {$valueStyle}>\n          {$billingName}<br />\n          {$address|nl2br}\n         </td>\n        </tr>\n       {/if}\n\n       {if !empty($credit_card_type)}\n        <tr>\n         <th {$headerStyle}>\n          {ts}Credit Card Information{/ts}\n         </th>\n        </tr>\n        <tr>\n         <td colspan=\"2\" {$valueStyle}>\n          {$credit_card_type}<br />\n          {$credit_card_number}<br />\n          {ts}Expires{/ts}: {$credit_card_exp_date|truncate:7:\'\'|crmDate}\n         </td>\n        </tr>\n       {/if}\n\n      {/if}\n\n     {/if} {* End of conditional section for Paid events *}\n\n\n{if !empty($customPre)}\n{foreach from=$customPre item=customPr key=i}\n   <tr> <th {$headerStyle}>{$customPre_grouptitle.$i}</th></tr>\n   {foreach from=$customPr item=customValue key=customName}\n   {if ( !empty($trackingFields) and ! in_array( $customName, $trackingFields ) ) or empty($trackingFields)}\n     <tr>\n         <td {$labelStyle}>{$customName}</td>\n         <td {$valueStyle}>{$customValue}</td>\n     </tr>\n   {/if}\n   {/foreach}\n{/foreach}\n{/if}\n\n{if !empty($customPost)}\n{foreach from=$customPost item=customPos key=j}\n   <tr> <th {$headerStyle}>{$customPost_grouptitle.$j}</th></tr>\n   {foreach from=$customPos item=customValue key=customName}\n   {if (!empty($trackingFields) and ! in_array( $customName, $trackingFields ) ) or empty($trackingFields)}\n     <tr>\n         <td {$labelStyle}>{$customName}</td>\n         <td {$valueStyle}>{$customValue}</td>\n     </tr>\n{/if}\n{/foreach}\n{/foreach}\n{/if}\n\n{if !empty($customProfile)}\n{foreach from=$customProfile.profile item=eachParticipant key=participantID}\n     <tr><th {$headerStyle}>{ts 1=$participantID+2}Participant %1{/ts} </th></tr>\n     {foreach from=$eachParticipant item=eachProfile key=pid}\n     <tr><th {$headerStyle}>{$customProfile.title.$pid}</th></tr>\n     {foreach from=$eachProfile item=val key=field}\n     <tr>{foreach from=$val item=v key=f}\n         <td {$labelStyle}>{$field}</td>\n         <td {$valueStyle}>{$v}</td>\n         {/foreach}\n     </tr>\n     {/foreach}\n{/foreach}\n{/foreach}\n{/if}\n\n    </table>\n    {if !empty($event.allow_selfcancelxfer) }\n     <tr>\n      <td colspan=\"2\" {$valueStyle}>\n        {ts 1=$selfcancelxfer_time 2=$selfservice_preposition}You may transfer your registration to another participant or cancel your registration up to %1 hours %2 the event.{/ts} {if !empty($totalAmount)}{ts}Cancellations are not refundable.{/ts}{/if}<br />\n        {capture assign=selfService}{crmURL p=\'civicrm/event/selfsvcupdate\' q=\"reset=1&pid=`$participant.id`&{contact.checksum}\"  h=0 a=1 fe=1}{/capture}\n        <a href=\"{$selfService}\">{ts}Click here to transfer or cancel your registration.{/ts}</a>\n      </td>\n     </tr>\n    {/if}\n </table>\n\n</body>\n</html>\n',1,843,'event_online_receipt',1,0,0,NULL),
- (32,'Events - Registration Confirmation and Receipt (on-line)','{if !empty($isOnWaitlist)}{ts}Wait List Confirmation{/ts}{elseif !empty($isRequireApproval)}{ts}Registration Request Confirmation{/ts}{else}{ts}Registration Confirmation{/ts}{/if} - {$event.event_title} - {contact.display_name}\n','{assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}{$greeting},{/if}\n{if !empty($event.confirm_email_text) AND (empty($isOnWaitlist) AND empty($isRequireApproval))}\n{$event.confirm_email_text}\n\n{else}\n  {ts}Thank you for your registration.{/ts}\n  {if $participant_status}{ts 1=$participant_status}This is a confirmation that your registration has been received and your status has been updated to %1.{/ts}\n  {else}{if !empty($isOnWaitlist)}{ts}This is a confirmation that your registration has been received and your status has been updated to waitlisted.{/ts}{else}{ts}This is a confirmation that your registration has been received and your status has been updated to registered.{/ts}{/if}\n  {/if}\n{/if}\n\n{if !empty($isOnWaitlist)}\n==========================================================={if !empty($pricesetFieldsCount)}===================={/if}\n\n{ts}You have been added to the WAIT LIST for this event.{/ts}\n\n{if !empty($isPrimary)}\n{ts}If space becomes available you will receive an email with a link to a web page where you can complete your registration.{/ts}\n{/if}\n==========================================================={if !empty($pricesetFieldsCount)}===================={/if}\n\n{elseif !empty($isRequireApproval)}\n==========================================================={if !empty($pricesetFieldsCount)}===================={/if}\n\n{ts}Your registration has been submitted.{/ts}\n\n{if !empty($isPrimary)}\n{ts}Once your registration has been reviewed, you will receive an email with a link to a web page where you can complete the registration process.{/ts}\n\n{/if}\n==========================================================={if !empty($pricesetFieldsCount)}===================={/if}\n\n{elseif !empty($is_pay_later) && empty($isAmountzero) && empty($isAdditionalParticipant)}\n\n==========================================================={if !empty($pricesetFieldsCount)}===================={/if}\n\n{if isset($pay_later_receipt)}{$pay_later_receipt}{/if}\n==========================================================={if !empty($pricesetFieldsCount)}===================={/if}\n\n{/if}\n\n\n==========================================================={if !empty($pricesetFieldsCount)}===================={/if}\n\n{ts}Event Information and Location{/ts}\n\n==========================================================={if !empty($pricesetFieldsCount)}===================={/if}\n\n{$event.event_title}\n{$event.event_start_date|date_format:\"%A\"} {$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:\"%Y%m%d\" == $event.event_start_date|date_format:\"%Y%m%d\"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|date_format:\"%A\"} {$event.event_end_date|crmDate}{/if}{/if}\n{if !empty($conference_sessions)}\n\n\n{ts}Your schedule:{/ts}\n{assign var=\'group_by_day\' value=\'NA\'}\n{foreach from=$conference_sessions item=session}\n{if $session.start_date|date_format:\"%Y/%m/%d\" != $group_by_day|date_format:\"%Y/%m/%d\"}\n{assign var=\'group_by_day\' value=$session.start_date}\n\n{$group_by_day|date_format:\"%m/%d/%Y\"}\n\n\n{/if}\n{$session.start_date|crmDate:0:1}{if $session.end_date}-{$session.end_date|crmDate:0:1}{/if} {$session.title}\n{if $session.location}    {$session.location}{/if}\n{/foreach}\n{/if}\n\n{if !empty($event.participant_role) and $event.participant_role neq \'Attendee\' and !empty($defaultRole)}\n{ts}Participant Role{/ts}: {$event.participant_role}\n{/if}\n\n{if !empty($isShowLocation)}\n{$location.address.1.display|strip_tags:false}\n{/if}{*End of isShowLocation condition*}\n\n{if !empty($location.phone.1.phone) || !empty($location.email.1.email)}\n\n{ts}Event Contacts:{/ts}\n{foreach from=$location.phone item=phone}\n{if $phone.phone}\n\n{if $phone.phone_type}{$phone.phone_type_display}{else}{ts}Phone{/ts}{/if}: {$phone.phone}{/if} {if $phone.phone_ext} {ts}ext.{/ts} {$phone.phone_ext}{/if}\n{/foreach}\n{foreach from=$location.email item=eventEmail}\n{if $eventEmail.email}\n\n{ts}Email{/ts}: {$eventEmail.email}{/if}{/foreach}\n{/if}\n\n{if !empty($event.is_public)}\n{capture assign=icalFeed}{crmURL p=\'civicrm/event/ical\' q=\"reset=1&id=`$event.id`\" h=0 a=1 fe=1}{/capture}\n{ts}Download iCalendar File:{/ts} {$icalFeed}\n{/if}\n\n{if !empty($payer.name)}\nYou were registered by: {$payer.name}\n{/if}\n{if !empty($event.is_monetary) and empty($isRequireApproval)} {* This section for Paid events only.*}\n\n==========================================================={if !empty($pricesetFieldsCount)}===================={/if}\n\n{if !empty ($event.fee_label)}{$event.fee_label}{/if}\n==========================================================={if !empty($pricesetFieldsCount)}===================={/if}\n\n{if !empty($lineItem)}{foreach from=$lineItem item=value key=priceset}\n\n{if $value neq \'skip\'}\n{if !empty($isPrimary)}\n{if $lineItem|@count GT 1} {* Header for multi participant registration cases. *}\n{ts 1=$priceset+1}Participant %1{/ts} {if !empty($part.$priceset)}{$part.$priceset.info}{/if}\n\n{/if}\n{/if}\n-----------------------------------------------------------{if !empty($pricesetFieldsCount)}-----------------------------------------------------{/if}\n\n{capture assign=ts_item}{ts}Item{/ts}{/capture}\n{capture assign=ts_qty}{ts}Qty{/ts}{/capture}\n{capture assign=ts_each}{ts}Each{/ts}{/capture}\n{if !empty($dataArray)}\n{capture assign=ts_subtotal}{ts}Subtotal{/ts}{/capture}\n{capture assign=ts_taxRate}{ts}Tax Rate{/ts}{/capture}\n{capture assign=ts_taxAmount}{ts}Tax Amount{/ts}{/capture}\n{/if}\n{capture assign=ts_total}{ts}Total{/ts}{/capture}\n{if !empty($pricesetFieldsCount) }{capture assign=ts_participant_total}{ts}Total Participants{/ts}{/capture}{/if}\n{$ts_item|string_format:\"%-30s\"} {$ts_qty|string_format:\"%5s\"} {$ts_each|string_format:\"%10s\"} {if !empty($dataArray)} {$ts_subtotal|string_format:\"%10s\"} {$ts_taxRate|string_format:\"%10s\"} {$ts_taxAmount|string_format:\"%10s\"} {/if} {$ts_total|string_format:\"%10s\"} {if !empty($ts_participant_total)}{$ts_participant_total|string_format:\"%10s\"}{/if}\n-----------------------------------------------------------{if !empty($pricesetFieldsCount)}-----------------------------------------------------{/if}\n\n{foreach from=$value item=line}\n{if !empty($pricesetFieldsCount) }{capture assign=ts_participant_count}{$line.participant_count}{/capture}{/if}\n{capture assign=ts_item}{if $line.html_type eq \'Text\'}{$line.label}{else}{$line.field_title} - {$line.label}{/if} {if $line.description} {$line.description}{/if}{/capture}{$ts_item|truncate:30:\"...\"|string_format:\"%-30s\"} {$line.qty|string_format:\"%5s\"} {$line.unit_price|crmMoney:$currency|string_format:\"%10s\"} {if !empty($dataArray)} {$line.unit_price*$line.qty|crmMoney:$currency|string_format:\"%10s\"} {if isset($line.tax_rate) and ($line.tax_rate != \"\" || $line.tax_amount != \"\")}  {$line.tax_rate|string_format:\"%.2f\"} %  {$line.tax_amount|crmMoney:$currency|string_format:\"%10s\"} {else}                  {/if}  {/if} {$line.line_total+$line.tax_amount|crmMoney:$currency|string_format:\"%10s\"}{if !empty($ts_participant_count)}{$ts_participant_count|string_format:\"%10s\"}{/if}\n{/foreach}\n----------------------------------------------------------------------------------------------------------------\n{if !empty($individual)}{ts}Participant Total{/ts} {$individual.$priceset.totalAmtWithTax-$individual.$priceset.totalTaxAmt|crmMoney:$currency|string_format:\"%29s\"} {$individual.$priceset.totalTaxAmt|crmMoney:$currency|string_format:\"%33s\"} {$individual.$priceset.totalAmtWithTax|crmMoney:$currency|string_format:\"%12s\"}{/if}\n{/if}\n{\"\"|string_format:\"%120s\"}\n{/foreach}\n{\"\"|string_format:\"%120s\"}\n\n{if !empty($dataArray)}\n{if isset($totalAmount) and isset($totalTaxAmount)}\n{ts}Amount before Tax{/ts}: {$totalAmount-$totalTaxAmount|crmMoney:$currency}\n{/if}\n\n{foreach from=$dataArray item=value key=priceset}\n{if $priceset || $priceset == 0}\n{if isset($taxTerm)}{$taxTerm}{/if} {$priceset|string_format:\"%.2f\"}%: {$value|crmMoney:$currency}\n{else}\n{ts}No{/ts} {if isset($taxTerm)}{$taxTerm}{/if}: {$value|crmMoney:$currency}\n{/if}\n{/foreach}\n{/if}\n{/if}\n\n{if !empty($amounts) && empty($lineItem)}\n{foreach from=$amounts item=amnt key=level}{$amnt.amount|crmMoney:$currency} {$amnt.label}\n{/foreach}\n{/if}\n\n{if isset($totalTaxAmount)}\n{ts}Total Tax Amount{/ts}: {$totalTaxAmount|crmMoney:$currency}\n{/if}\n{if !empty($isPrimary) }\n\n{ts}Total Amount{/ts}: {if !empty($totalAmount)}{$totalAmount|crmMoney:$currency}{/if} {if !empty($hookDiscount.message)}({$hookDiscount.message}){/if}\n\n{if !empty($pricesetFieldsCount) }\n      {assign var=\"count\" value= 0}\n      {foreach from=$lineItem item=pcount}\n      {assign var=\"lineItemCount\" value=0}\n      {if $pcount neq \'skip\'}\n        {foreach from=$pcount item=p_count}\n        {assign var=\"lineItemCount\" value=$lineItemCount+$p_count.participant_count}\n        {/foreach}\n      {if $lineItemCount < 1 }\n        {assign var=\"lineItemCount\" value=1}\n      {/if}\n      {assign var=\"count\" value=$count+$lineItemCount}\n      {/if}\n      {/foreach}\n\n{ts}Total Participants{/ts}: {$count}\n{/if}\n\n{if $register_date}\n{ts}Registration Date{/ts}: {$register_date|crmDate}\n{/if}\n{if !empty($receive_date)}\n{ts}Transaction Date{/ts}: {$receive_date|crmDate}\n{/if}\n{if !empty($financialTypeName)}\n{ts}Financial Type{/ts}: {$financialTypeName}\n{/if}\n{if !empty($trxn_id)}\n{ts}Transaction #{/ts}: {$trxn_id}\n{/if}\n{if !empty($paidBy)}\n{ts}Paid By{/ts}: {$paidBy}\n{/if}\n{if !empty($checkNumber)}\n{ts}Check Number{/ts}: {$checkNumber}\n{/if}\n{if !empty($billingName)}\n\n==========================================================={if !empty($pricesetFieldsCount)}===================={/if}\n\n{ts}Billing Name and Address{/ts}\n\n==========================================================={if !empty($pricesetFieldsCount)}===================={/if}\n\n{$billingName}\n{$address}\n{/if}\n\n{if !empty($credit_card_type)}\n==========================================================={if !empty($pricesetFieldsCount)}===================={/if}\n\n{ts}Credit Card Information{/ts}\n\n==========================================================={if !empty($pricesetFieldsCount)}===================={/if}\n\n{$credit_card_type}\n{$credit_card_number}\n{ts}Expires{/ts}: {$credit_card_exp_date|truncate:7:\'\'|crmDate}\n{/if}\n{/if}\n{/if} {* End of conditional section for Paid events *}\n\n{if !empty($customPre)}\n{foreach from=$customPre item=customPr key=i}\n==========================================================={if !empty($pricesetFieldsCount)}===================={/if}\n\n{$customPre_grouptitle.$i}\n==========================================================={if !empty($pricesetFieldsCount)}===================={/if}\n\n{foreach from=$customPr item=customValue key=customName}\n{if ( !empty($trackingFields) and ! in_array( $customName, $trackingFields ) ) or empty($trackingFields)}\n {$customName}: {$customValue}\n{/if}\n{/foreach}\n{/foreach}\n{/if}\n\n{if !empty($customPost)}\n{foreach from=$customPost item=customPos key=j}\n==========================================================={if !empty($pricesetFieldsCount)}===================={/if}\n\n{$customPost_grouptitle.$j}\n==========================================================={if !empty($pricesetFieldsCount)}===================={/if}\n\n{foreach from=$customPos item=customValue key=customName}\n{if ( !empty($trackingFields) and ! in_array( $customName, $trackingFields ) ) or empty($trackingFields)}\n {$customName}: {$customValue}\n{/if}\n{/foreach}\n{/foreach}\n{/if}\n{if !empty($customProfile)}\n\n{foreach from=$customProfile.profile item=eachParticipant key=participantID}\n==========================================================={if !empty($pricesetFieldsCount)}===================={/if}\n\n{ts 1=$participantID+2}Participant Information - Participant %1{/ts}\n\n==========================================================={if !empty($pricesetFieldsCount)}===================={/if}\n\n{foreach from=$eachParticipant item=eachProfile key=pid}\n----------------------------------------------------------{if !empty($pricesetFieldsCount)}--------------------{/if}\n\n{$customProfile.title.$pid}\n----------------------------------------------------------{if !empty($pricesetFieldsCount)}--------------------{/if}\n\n{foreach from=$eachProfile item=val key=field}\n{foreach from=$val item=v key=f}\n{$field}: {$v}\n{/foreach}\n{/foreach}\n{/foreach}\n{/foreach}\n{/if}\n\n{if !empty($event.allow_selfcancelxfer) }\n{ts 1=$selfcancelxfer_time 2=$selfservice_preposition}You may transfer your registration to another participant or cancel your registration up to %1 hours %2 the event.{/ts} {if !empty($totalAmount)}{ts}Cancellations are not refundable.{/ts}{/if}\n   {capture assign=selfService}{crmURL p=\'civicrm/event/selfsvcupdate\' q=\"reset=1&pid=`$participant.id`&{contact.checksum}\"  h=0 a=1 fe=1}{/capture}\n{ts}Transfer or cancel your registration:{/ts} {$selfService}\n{/if}\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n{capture assign=tdfirstStyle}style=\"width: 180px; padding-bottom: 15px;\"{/capture}\n{capture assign=tdStyle}style=\"width: 100px;\"{/capture}\n{capture assign=participantTotal}style=\"margin: 0.5em 0 0.5em;padding: 0.5em;background-color: #999999;font-weight: bold;color: #FAFAFA;border-radius: 2px;\"{/capture}\n\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n     {assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}<p>{$greeting},</p>{/if}\n\n    {if !empty($event.confirm_email_text) AND (empty($isOnWaitlist) AND empty($isRequireApproval))}\n     <p>{$event.confirm_email_text|htmlize}</p>\n\n    {else}\n     <p>{ts}Thank you for your registration.{/ts}\n     {if $participant_status}{ts 1=$participant_status}This is a confirmation that your registration has been received and your status has been updated to <strong> %1</strong>.{/ts}\n     {else}{if $isOnWaitlist}{ts}This is a confirmation that your registration has been received and your status has been updated to <strong>waitlisted</strong>.{/ts}{else}{ts}This is a confirmation that your registration has been received and your status has been updated to <strong>registered<strong>.{/ts}{/if}{/if}</p>\n\n    {/if}\n\n    <p>\n    {if !empty($isOnWaitlist)}\n     <p>{ts}You have been added to the WAIT LIST for this event.{/ts}</p>\n     {if !empty($isPrimary)}\n       <p>{ts}If space becomes available you will receive an email with a link to a web page where you can complete your registration.{/ts}</p>\n     {/if}\n    {elseif !empty($isRequireApproval)}\n     <p>{ts}Your registration has been submitted.{/ts}</p>\n     {if !empty($isPrimary)}\n      <p>{ts}Once your registration has been reviewed, you will receive an email with a link to a web page where you can complete the registration process.{/ts}</p>\n     {/if}\n    {elseif !empty($is_pay_later) && empty($isAmountzero) && empty($isAdditionalParticipant)}\n     <p>{if isset($pay_later_receipt)}{$pay_later_receipt}{/if}</p> {* FIXME: this might be text rather than HTML *}\n    {/if}\n\n   </td>\n  </tr>\n  <tr>\n   <td>\n    <table style=\"width:100%; max-width:700px; border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse;\">\n     <tr>\n      <th {$headerStyle}>\n       {ts}Event Information and Location{/ts}\n      </th>\n     </tr>\n     <tr>\n      <td colspan=\"2\" {$valueStyle}>\n       {$event.event_title}<br />\n       {$event.event_start_date|date_format:\"%A\"} {$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:\"%Y%m%d\" == $event.event_start_date|date_format:\"%Y%m%d\"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|date_format:\"%A\"} {$event.event_end_date|crmDate}{/if}{/if}\n      </td>\n     </tr>\n\n\n     {if $conference_sessions}\n      <tr>\n       <td colspan=\"2\" {$labelStyle}>\n  {ts}Your schedule:{/ts}\n       </td>\n      </tr>\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n  {assign var=\'group_by_day\' value=\'NA\'}\n  {foreach from=$conference_sessions item=session}\n   {if $session.start_date|date_format:\"%Y/%m/%d\" != $group_by_day|date_format:\"%Y/%m/%d\"}\n    {assign var=\'group_by_day\' value=$session.start_date}\n          <em>{$group_by_day|date_format:\"%m/%d/%Y\"}</em><br />\n   {/if}\n   {$session.start_date|crmDate:0:1}{if $session.end_date}-{$session.end_date|crmDate:0:1}{/if} {$session.title}<br />\n   {if $session.location}&nbsp;&nbsp;&nbsp;&nbsp;{$session.location}<br />{/if}\n  {/foreach}\n       </td>\n      </tr>\n     {/if}\n\n     {if !empty($event.participant_role) and $event.participant_role neq \'Attendee\' and !empty($defaultRole)}\n      <tr>\n       <td {$labelStyle}>\n        {ts}Participant Role{/ts}\n       </td>\n       <td {$valueStyle}>\n        {$event.participant_role}\n       </td>\n      </tr>\n     {/if}\n\n     {if !empty($isShowLocation)}\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n        {$location.address.1.display|nl2br}\n       </td>\n      </tr>\n     {/if}\n\n     {if !empty($location.phone.1.phone) || !empty($location.email.1.email)}\n      <tr>\n       <td colspan=\"2\" {$labelStyle}>\n        {ts}Event Contacts:{/ts}\n       </td>\n      </tr>\n      {foreach from=$location.phone item=phone}\n       {if $phone.phone}\n        <tr>\n         <td {$labelStyle}>\n          {if $phone.phone_type}\n           {$phone.phone_type_display}\n          {else}\n           {ts}Phone{/ts}\n          {/if}\n         </td>\n         <td {$valueStyle}>\n          {$phone.phone} {if $phone.phone_ext}&nbsp;{ts}ext.{/ts} {$phone.phone_ext}{/if}\n         </td>\n        </tr>\n       {/if}\n      {/foreach}\n      {foreach from=$location.email item=eventEmail}\n       {if $eventEmail.email}\n        <tr>\n         <td {$labelStyle}>\n          {ts}Email{/ts}\n         </td>\n         <td {$valueStyle}>\n          {$eventEmail.email}\n         </td>\n        </tr>\n       {/if}\n      {/foreach}\n     {/if}\n\n     {if !empty($event.is_public)}\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n        {capture assign=icalFeed}{crmURL p=\'civicrm/event/ical\' q=\"reset=1&id=`$event.id`\" h=0 a=1 fe=1}{/capture}\n        <a href=\"{$icalFeed}\">{ts}Download iCalendar File{/ts}</a>\n       </td>\n      </tr>\n     {/if}\n\n    {if !empty($event.is_share)}\n        <tr>\n            <td colspan=\"2\" {$valueStyle}>\n                {capture assign=eventUrl}{crmURL p=\'civicrm/event/info\' q=\"id=`$event.id`&reset=1\" a=true fe=1 h=1}{/capture}\n                {include file=\"CRM/common/SocialNetwork.tpl\" emailMode=true url=$eventUrl title=$event.title pageURL=$eventUrl}\n            </td>\n        </tr>\n    {/if}\n    {if !empty($payer.name)}\n     <tr>\n       <th {$headerStyle}>\n         {ts}You were registered by:{/ts}\n       </th>\n     </tr>\n     <tr>\n       <td colspan=\"2\" {$valueStyle}>\n        {$payer.name}\n       </td>\n     </tr>\n    {/if}\n    {if !empty($event.is_monetary) and empty($isRequireApproval)}\n\n      <tr>\n       <th {$headerStyle}>\n        {if !empty($event.fee_label)}{$event.fee_label}{/if}\n       </th>\n      </tr>\n\n      {if !empty($lineItem)}\n       {foreach from=$lineItem item=value key=priceset}\n        {if $value neq \'skip\'}\n         {if !empty($isPrimary)}\n          {if $lineItem|@count GT 1} {* Header for multi participant registration cases. *}\n           <tr>\n            <td colspan=\"2\" {$labelStyle}>\n             {ts 1=$priceset+1}Participant %1{/ts} {if !empty($part.$priceset)}{$part.$priceset.info}{/if}\n            </td>\n           </tr>\n          {/if}\n         {/if}\n         <tr>\n          <td colspan=\"2\" {$valueStyle}>\n           <table> {* FIXME: style this table so that it looks like the text version (justification, etc.) *}\n            <tr>\n             <th>{ts}Item{/ts}</th>\n             <th>{ts}Qty{/ts}</th>\n             <th>{ts}Each{/ts}</th>\n             {if !empty($dataArray)}\n              <th>{ts}SubTotal{/ts}</th>\n              <th>{ts}Tax Rate{/ts}</th>\n              <th>{ts}Tax Amount{/ts}</th>\n             {/if}\n             <th>{ts}Total{/ts}</th>\n       {if  !empty($pricesetFieldsCount) }<th>{ts}Total Participants{/ts}</th>{/if}\n            </tr>\n            {foreach from=$value item=line}\n             <tr>\n              <td {$tdfirstStyle}>\n              {if $line.html_type eq \'Text\'}{$line.label}{else}{$line.field_title} - {$line.label}{/if} {if $line.description}<div>{$line.description|truncate:30:\"...\"}</div>{/if}\n              </td>\n              <td {$tdStyle} align=\"middle\">\n               {$line.qty}\n              </td>\n              <td {$tdStyle}>\n               {$line.unit_price|crmMoney:$currency}\n              </td>\n              {if !empty($dataArray)}\n               <td {$tdStyle}>\n                {$line.unit_price*$line.qty|crmMoney}\n               </td>\n               {if isset($line.tax_rate) and ($line.tax_rate != \"\" || $line.tax_amount != \"\")}\n                <td {$tdStyle}>\n                 {$line.tax_rate|string_format:\"%.2f\"}%\n                </td>\n                <td {$tdStyle}>\n                 {$line.tax_amount|crmMoney}\n                </td>\n               {else}\n                <td></td>\n                <td></td>\n               {/if}\n              {/if}\n              <td {$tdStyle}>\n               {$line.line_total+$line.tax_amount|crmMoney:$currency}\n              </td>\n        {if !empty($pricesetFieldsCount) }<td {$tdStyle}>{$line.participant_count}</td> {/if}\n             </tr>\n            {/foreach}\n            {if !empty($individual)}\n              <tr {$participantTotal}>\n                <td colspan=3>{ts}Participant Total{/ts}</td>\n                <td colspan=2>{$individual.$priceset.totalAmtWithTax-$individual.$priceset.totalTaxAmt|crmMoney}</td>\n                <td colspan=1>{$individual.$priceset.totalTaxAmt|crmMoney}</td>\n                <td colspan=2>{$individual.$priceset.totalAmtWithTax|crmMoney}</td>\n              </tr>\n            {/if}\n           </table>\n          </td>\n         </tr>\n        {/if}\n       {/foreach}\n       {if !empty($dataArray)}\n        {if isset($totalAmount) and isset($totalTaxAmount)}\n        <tr>\n         <td {$labelStyle}>\n          {ts} Amount Before Tax: {/ts}\n         </td>\n         <td {$valueStyle}>\n          {$totalAmount-$totalTaxAmount|crmMoney}\n         </td>\n        </tr>\n        {/if}\n        {foreach from=$dataArray item=value key=priceset}\n         <tr>\n          {if $priceset || $priceset == 0}\n           <td>&nbsp;{if isset($taxTerm)}{$taxTerm}{/if} {$priceset|string_format:\"%.2f\"}%</td>\n           <td>&nbsp;{$value|crmMoney:$currency}</td>\n          {else}\n           <td>&nbsp;{ts}No{/ts} {if isset($taxTerm)}{$taxTerm}{/if}</td>\n           <td>&nbsp;{$value|crmMoney:$currency}</td>\n          {/if}\n         </tr>\n        {/foreach}\n       {/if}\n      {/if}\n\n      {if !empty($amounts) && empty($lineItem)}\n       {foreach from=$amounts item=amnt key=level}\n        <tr>\n         <td colspan=\"2\" {$valueStyle}>\n          {$amnt.amount|crmMoney:$currency} {$amnt.label}\n         </td>\n        </tr>\n       {/foreach}\n      {/if}\n\n    {if isset($totalTaxAmount)}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Total Tax Amount{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$totalTaxAmount|crmMoney:$currency}\n        </td>\n       </tr>\n      {/if}\n      {if !empty($isPrimary)}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Total Amount{/ts}\n        </td>\n        <td {$valueStyle}>\n         {if !empty($totalAmount)}{$totalAmount|crmMoney:$currency}{/if} {if !empty($hookDiscount.message)}({$hookDiscount.message}){/if}\n        </td>\n       </tr>\n       {if !empty($pricesetFieldsCount) }\n     <tr>\n       <td {$labelStyle}>\n      {ts}Total Participants{/ts}</td>\n      <td {$valueStyle}>\n      {assign var=\"count\" value= 0}\n      {foreach from=$lineItem item=pcount}\n      {assign var=\"lineItemCount\" value=0}\n      {if $pcount neq \'skip\'}\n        {foreach from=$pcount item=p_count}\n        {assign var=\"lineItemCount\" value=$lineItemCount+$p_count.participant_count}\n        {/foreach}\n      {if $lineItemCount < 1 }\n        {assign var=\"lineItemCount\" value=1}\n      {/if}\n      {assign var=\"count\" value=$count+$lineItemCount}\n      {/if}\n      {/foreach}\n     {$count}\n     </td> </tr>\n      {/if}\n\n       {if $register_date}\n        <tr>\n         <td {$labelStyle}>\n          {ts}Registration Date{/ts}\n         </td>\n         <td {$valueStyle}>\n          {$register_date|crmDate}\n         </td>\n        </tr>\n       {/if}\n\n       {if !empty($receive_date)}\n        <tr>\n         <td {$labelStyle}>\n          {ts}Transaction Date{/ts}\n         </td>\n         <td {$valueStyle}>\n          {$receive_date|crmDate}\n         </td>\n        </tr>\n       {/if}\n\n       {if !empty($financialTypeName)}\n        <tr>\n         <td {$labelStyle}>\n          {ts}Financial Type{/ts}\n         </td>\n         <td {$valueStyle}>\n          {$financialTypeName}\n         </td>\n        </tr>\n       {/if}\n\n       {if !empty($trxn_id)}\n        <tr>\n         <td {$labelStyle}>\n          {ts}Transaction #{/ts}\n         </td>\n         <td {$valueStyle}>\n          {$trxn_id}\n         </td>\n        </tr>\n       {/if}\n\n       {if !empty($paidBy)}\n        <tr>\n         <td {$labelStyle}>\n          {ts}Paid By{/ts}\n         </td>\n         <td {$valueStyle}>\n         {$paidBy}\n         </td>\n        </tr>\n       {/if}\n\n       {if !empty($checkNumber)}\n        <tr>\n         <td {$labelStyle}>\n          {ts}Check Number{/ts}\n         </td>\n         <td {$valueStyle}>\n          {$checkNumber}\n         </td>\n        </tr>\n       {/if}\n\n       {if !empty($billingName)}\n        <tr>\n         <th {$headerStyle}>\n          {ts}Billing Name and Address{/ts}\n         </th>\n        </tr>\n        <tr>\n         <td colspan=\"2\" {$valueStyle}>\n          {$billingName}<br />\n          {$address|nl2br}\n         </td>\n        </tr>\n       {/if}\n\n       {if !empty($credit_card_type)}\n        <tr>\n         <th {$headerStyle}>\n          {ts}Credit Card Information{/ts}\n         </th>\n        </tr>\n        <tr>\n         <td colspan=\"2\" {$valueStyle}>\n          {$credit_card_type}<br />\n          {$credit_card_number}<br />\n          {ts}Expires{/ts}: {$credit_card_exp_date|truncate:7:\'\'|crmDate}\n         </td>\n        </tr>\n       {/if}\n\n      {/if}\n\n     {/if} {* End of conditional section for Paid events *}\n\n\n{if !empty($customPre)}\n{foreach from=$customPre item=customPr key=i}\n   <tr> <th {$headerStyle}>{$customPre_grouptitle.$i}</th></tr>\n   {foreach from=$customPr item=customValue key=customName}\n   {if ( !empty($trackingFields) and ! in_array( $customName, $trackingFields ) ) or empty($trackingFields)}\n     <tr>\n         <td {$labelStyle}>{$customName}</td>\n         <td {$valueStyle}>{$customValue}</td>\n     </tr>\n   {/if}\n   {/foreach}\n{/foreach}\n{/if}\n\n{if !empty($customPost)}\n{foreach from=$customPost item=customPos key=j}\n   <tr> <th {$headerStyle}>{$customPost_grouptitle.$j}</th></tr>\n   {foreach from=$customPos item=customValue key=customName}\n   {if (!empty($trackingFields) and ! in_array( $customName, $trackingFields ) ) or empty($trackingFields)}\n     <tr>\n         <td {$labelStyle}>{$customName}</td>\n         <td {$valueStyle}>{$customValue}</td>\n     </tr>\n{/if}\n{/foreach}\n{/foreach}\n{/if}\n\n{if !empty($customProfile)}\n{foreach from=$customProfile.profile item=eachParticipant key=participantID}\n     <tr><th {$headerStyle}>{ts 1=$participantID+2}Participant %1{/ts} </th></tr>\n     {foreach from=$eachParticipant item=eachProfile key=pid}\n     <tr><th {$headerStyle}>{$customProfile.title.$pid}</th></tr>\n     {foreach from=$eachProfile item=val key=field}\n     <tr>{foreach from=$val item=v key=f}\n         <td {$labelStyle}>{$field}</td>\n         <td {$valueStyle}>{$v}</td>\n         {/foreach}\n     </tr>\n     {/foreach}\n{/foreach}\n{/foreach}\n{/if}\n\n    </table>\n    {if !empty($event.allow_selfcancelxfer) }\n     <tr>\n      <td colspan=\"2\" {$valueStyle}>\n        {ts 1=$selfcancelxfer_time 2=$selfservice_preposition}You may transfer your registration to another participant or cancel your registration up to %1 hours %2 the event.{/ts} {if !empty($totalAmount)}{ts}Cancellations are not refundable.{/ts}{/if}<br />\n        {capture assign=selfService}{crmURL p=\'civicrm/event/selfsvcupdate\' q=\"reset=1&pid=`$participant.id`&{contact.checksum}\"  h=0 a=1 fe=1}{/capture}\n        <a href=\"{$selfService}\">{ts}Click here to transfer or cancel your registration.{/ts}</a>\n      </td>\n     </tr>\n    {/if}\n </table>\n\n</body>\n</html>\n',1,843,'event_online_receipt',0,1,0,NULL),
- (33,'Events - Receipt only','Receipt for {if $events_in_cart} Event Registration{/if} - {contact.display_name}\n','{assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}{$greeting},{/if}\n\n{if $is_pay_later}\n  This is being sent to you as an acknowledgement that you have registered one or more members for the following workshop, event or purchase. Please note, however, that the status of your payment is pending, and the registration for this event will not be completed until your payment is received.\n{else}\n  This is being sent to you as a {if !empty($is_refund)}confirmation of refund{else}receipt of payment made{/if} for the following workshop, event registration or purchase.\n{/if}\n\n{if $is_pay_later}\n  {if isset($pay_later_receipt)}{$pay_later_receipt}{/if}\n{/if}\n\n  Your order number is #{$transaction_id}. {if !empty($line_items) && empty($is_refund)} Information about the workshops will be sent separately to each participant.{/if}\n Here\'s a summary of your transaction placed on {$transaction_date|date_format:\"%D %I:%M %p %Z\"}:\n\n{if $billing_name}\n===========================================================\n{ts}Billing Name and Address{/ts}\n\n===========================================================\n{$billing_name}\n\n{$billing_street_address}\n\n{$billing_city}, {$billing_state} {$billing_postal_code}\n\n{$email}\n{/if}\n\n{if !empty($source)}\n{$source}\n{/if}\n\n\n{foreach from=$line_items item=line_item}\n{$line_item.event->title} ({$line_item.event->start_date|date_format:\"%D\"})\n{if $line_item.event->is_show_location}\n  {$line_item.location.address.1.display|strip_tags:false}\n{/if}{*End of isShowLocation condition*}\n{$line_item.event->start_date|date_format:\"%D %I:%M %p\"} - {$line_item.event->end_date|date_format:\"%I:%M %p\"}\n\n  Quantity: {$line_item.num_participants}\n\n{if $line_item.num_participants > 0}\n  {foreach from=$line_item.participants item=participant}\n    {$participant.display_name}\n  {/foreach}\n{/if}\n{if $line_item.num_waiting_participants > 0}\n  Waitlisted:\n    {foreach from=$line_item.waiting_participants item=participant}\n      {$participant.display_name}\n    {/foreach}\n{/if}\nCost: {$line_item.cost|crmMoney:$currency|string_format:\"%10s\"}\nTotal For This Event: {$line_item.amount|crmMoney:$currency|string_format:\"%10s\"}\n\n{/foreach}\n\n{if $discounts}\nSubtotal: {$sub_total|crmMoney:$currency|string_format:\"%10s\"}\n--------------------------------------\nDiscounts\n{foreach from=$discounts key=myId item=i}\n  {$i.title}: -{$i.amount|crmMoney:$currency|string_format:\"%10s\"}\n{/foreach}\n{/if}\n======================================\nTotal: {$total|crmMoney:$currency|string_format:\"%10s\"}\n\n{if $credit_card_type}\n===========================================================\n{ts}Payment Information{/ts}\n\n===========================================================\n{$credit_card_type}\n{$credit_card_number}\n{ts}Expires{/ts}: {$credit_card_exp_date.M}/{$credit_card_exp_date.Y}\n{/if}\n\n  If you have questions about the status of your registration or purchase please feel free to contact us.\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n  <head>\n    <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n    <title></title>\n  </head>\n  <body>\n    {capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n    {capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n    {capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n    {assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}<p>{$greeting},</p>{/if}\n    {if $is_pay_later}\n      <p>\n        This is being sent to you as an acknowledgement that you have registered one or more members for the following workshop, event or purchase. Please note, however, that the status of your payment is pending, and the registration for this event will not be completed until your payment is received.\n      </p>\n    {else}\n      <p>\n        This is being sent to you as a {if !empty($is_refund)}confirmation of refund{else}receipt of payment made{/if} for the following workshop, event registration or purchase.\n      </p>\n    {/if}\n\n    {if $is_pay_later}\n      <p>{if isset($pay_later_receipt)}{$pay_later_receipt}{/if}</p>\n    {/if}\n\n    <p>Your order number is #{$transaction_id}. {if !empty($line_items) && empty($is_refund)} Information about the workshops will be sent separately to each participant.{/if}\n  Here\'s a summary of your transaction placed on {$transaction_date|date_format:\"%D %I:%M %p %Z\"}:</p>\n\n{if $billing_name}\n  <table class=\"billing-info\">\n      <tr>\n    <th style=\"text-align: left;\">\n      {ts}Billing Name and Address{/ts}\n    </th>\n      </tr>\n      <tr>\n    <td>\n      {$billing_name}<br />\n      {$billing_street_address}<br />\n      {$billing_city}, {$billing_state} {$billing_postal_code}<br/>\n      <br/>\n      {$email}\n    </td>\n    </tr>\n    </table>\n{/if}\n{if $credit_card_type}\n  <p>&nbsp;</p>\n  <table class=\"billing-info\">\n      <tr>\n    <th style=\"text-align: left;\">\n      {ts}Credit Card Information{/ts}\n    </th>\n      </tr>\n      <tr>\n    <td>\n      {$credit_card_type}<br />\n      {$credit_card_number}<br />\n      {ts}Expires{/ts}: {$credit_card_exp_date.M}/{$credit_card_exp_date.Y}\n    </td>\n    </tr>\n    </table>\n{/if}\n{if !empty($source)}\n    <p>&nbsp;</p>\n    {$source}\n{/if}\n    <p>&nbsp;</p>\n    <table width=\"700\">\n      <thead>\n    <tr>\n{if $line_items}\n      <th style=\"text-align: left;\">\n      Event\n      </th>\n      <th style=\"text-align: left;\">\n      Participants\n      </th>\n{/if}\n      <th style=\"text-align: left;\">\n      Price\n      </th>\n      <th style=\"text-align: left;\">\n      Total\n      </th>\n    </tr>\n    </thead>\n      <tbody>\n  {foreach from=$line_items item=line_item}\n  <tr>\n    <td style=\"width: 220px\">\n      {$line_item.event->title} ({$line_item.event->start_date|date_format:\"%D\"})<br />\n      {if $line_item.event->is_show_location}\n        {$line_item.location.address.1.display|nl2br}\n      {/if}{*End of isShowLocation condition*}<br /><br />\n      {$line_item.event->start_date|date_format:\"%D %I:%M %p\"} - {$line_item.event->end_date|date_format:\"%I:%M %p\"}\n    </td>\n    <td style=\"width: 180px\">\n    {$line_item.num_participants}\n      {if $line_item.num_participants > 0}\n      <div class=\"participants\" style=\"padding-left: 10px;\">\n        {foreach from=$line_item.participants item=participant}\n        {$participant.display_name}<br />\n        {/foreach}\n      </div>\n      {/if}\n      {if $line_item.num_waiting_participants > 0}\n      Waitlisted:<br/>\n      <div class=\"participants\" style=\"padding-left: 10px;\">\n        {foreach from=$line_item.waiting_participants item=participant}\n        {$participant.display_name}<br />\n        {/foreach}\n      </div>\n      {/if}\n    </td>\n    <td style=\"width: 100px\">\n      {$line_item.cost|crmMoney:$currency|string_format:\"%10s\"}\n    </td>\n    <td style=\"width: 100px\">\n      &nbsp;{$line_item.amount|crmMoney:$currency|string_format:\"%10s\"}\n    </td>\n  </tr>\n  {/foreach}\n      </tbody>\n      <tfoot>\n  {if $discounts}\n  <tr>\n    <td>\n    </td>\n    <td>\n    </td>\n    <td>\n      Subtotal:\n    </td>\n    <td>\n      &nbsp;{$sub_total|crmMoney:$currency|string_format:\"%10s\"}\n    </td>\n  </tr>\n  {foreach from=$discounts key=myId item=i}\n  <tr>\n    <td>\n      {$i.title}\n    </td>\n    <td>\n    </td>\n    <td>\n    </td>\n    <td>\n      -{$i.amount}\n    </td>\n  </tr>\n  {/foreach}\n  {/if}\n  <tr>\n{if $line_items}\n    <td>\n    </td>\n    <td>\n    </td>\n{/if}\n    <td>\n      <strong>Total:</strong>\n    </td>\n    <td>\n      <strong>&nbsp;{$total|crmMoney:$currency|string_format:\"%10s\"}</strong>\n    </td>\n  </tr>\n      </tfoot>\n    </table>\n\n    If you have questions about the status of your registration or purchase please feel free to contact us.\n  </body>\n</html>\n',1,844,'event_registration_receipt',1,0,0,NULL),
- (34,'Events - Receipt only','Receipt for {if $events_in_cart} Event Registration{/if} - {contact.display_name}\n','{assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}{$greeting},{/if}\n\n{if $is_pay_later}\n  This is being sent to you as an acknowledgement that you have registered one or more members for the following workshop, event or purchase. Please note, however, that the status of your payment is pending, and the registration for this event will not be completed until your payment is received.\n{else}\n  This is being sent to you as a {if !empty($is_refund)}confirmation of refund{else}receipt of payment made{/if} for the following workshop, event registration or purchase.\n{/if}\n\n{if $is_pay_later}\n  {if isset($pay_later_receipt)}{$pay_later_receipt}{/if}\n{/if}\n\n  Your order number is #{$transaction_id}. {if !empty($line_items) && empty($is_refund)} Information about the workshops will be sent separately to each participant.{/if}\n Here\'s a summary of your transaction placed on {$transaction_date|date_format:\"%D %I:%M %p %Z\"}:\n\n{if $billing_name}\n===========================================================\n{ts}Billing Name and Address{/ts}\n\n===========================================================\n{$billing_name}\n\n{$billing_street_address}\n\n{$billing_city}, {$billing_state} {$billing_postal_code}\n\n{$email}\n{/if}\n\n{if !empty($source)}\n{$source}\n{/if}\n\n\n{foreach from=$line_items item=line_item}\n{$line_item.event->title} ({$line_item.event->start_date|date_format:\"%D\"})\n{if $line_item.event->is_show_location}\n  {$line_item.location.address.1.display|strip_tags:false}\n{/if}{*End of isShowLocation condition*}\n{$line_item.event->start_date|date_format:\"%D %I:%M %p\"} - {$line_item.event->end_date|date_format:\"%I:%M %p\"}\n\n  Quantity: {$line_item.num_participants}\n\n{if $line_item.num_participants > 0}\n  {foreach from=$line_item.participants item=participant}\n    {$participant.display_name}\n  {/foreach}\n{/if}\n{if $line_item.num_waiting_participants > 0}\n  Waitlisted:\n    {foreach from=$line_item.waiting_participants item=participant}\n      {$participant.display_name}\n    {/foreach}\n{/if}\nCost: {$line_item.cost|crmMoney:$currency|string_format:\"%10s\"}\nTotal For This Event: {$line_item.amount|crmMoney:$currency|string_format:\"%10s\"}\n\n{/foreach}\n\n{if $discounts}\nSubtotal: {$sub_total|crmMoney:$currency|string_format:\"%10s\"}\n--------------------------------------\nDiscounts\n{foreach from=$discounts key=myId item=i}\n  {$i.title}: -{$i.amount|crmMoney:$currency|string_format:\"%10s\"}\n{/foreach}\n{/if}\n======================================\nTotal: {$total|crmMoney:$currency|string_format:\"%10s\"}\n\n{if $credit_card_type}\n===========================================================\n{ts}Payment Information{/ts}\n\n===========================================================\n{$credit_card_type}\n{$credit_card_number}\n{ts}Expires{/ts}: {$credit_card_exp_date.M}/{$credit_card_exp_date.Y}\n{/if}\n\n  If you have questions about the status of your registration or purchase please feel free to contact us.\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n  <head>\n    <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n    <title></title>\n  </head>\n  <body>\n    {capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n    {capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n    {capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n    {assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}<p>{$greeting},</p>{/if}\n    {if $is_pay_later}\n      <p>\n        This is being sent to you as an acknowledgement that you have registered one or more members for the following workshop, event or purchase. Please note, however, that the status of your payment is pending, and the registration for this event will not be completed until your payment is received.\n      </p>\n    {else}\n      <p>\n        This is being sent to you as a {if !empty($is_refund)}confirmation of refund{else}receipt of payment made{/if} for the following workshop, event registration or purchase.\n      </p>\n    {/if}\n\n    {if $is_pay_later}\n      <p>{if isset($pay_later_receipt)}{$pay_later_receipt}{/if}</p>\n    {/if}\n\n    <p>Your order number is #{$transaction_id}. {if !empty($line_items) && empty($is_refund)} Information about the workshops will be sent separately to each participant.{/if}\n  Here\'s a summary of your transaction placed on {$transaction_date|date_format:\"%D %I:%M %p %Z\"}:</p>\n\n{if $billing_name}\n  <table class=\"billing-info\">\n      <tr>\n    <th style=\"text-align: left;\">\n      {ts}Billing Name and Address{/ts}\n    </th>\n      </tr>\n      <tr>\n    <td>\n      {$billing_name}<br />\n      {$billing_street_address}<br />\n      {$billing_city}, {$billing_state} {$billing_postal_code}<br/>\n      <br/>\n      {$email}\n    </td>\n    </tr>\n    </table>\n{/if}\n{if $credit_card_type}\n  <p>&nbsp;</p>\n  <table class=\"billing-info\">\n      <tr>\n    <th style=\"text-align: left;\">\n      {ts}Credit Card Information{/ts}\n    </th>\n      </tr>\n      <tr>\n    <td>\n      {$credit_card_type}<br />\n      {$credit_card_number}<br />\n      {ts}Expires{/ts}: {$credit_card_exp_date.M}/{$credit_card_exp_date.Y}\n    </td>\n    </tr>\n    </table>\n{/if}\n{if !empty($source)}\n    <p>&nbsp;</p>\n    {$source}\n{/if}\n    <p>&nbsp;</p>\n    <table width=\"700\">\n      <thead>\n    <tr>\n{if $line_items}\n      <th style=\"text-align: left;\">\n      Event\n      </th>\n      <th style=\"text-align: left;\">\n      Participants\n      </th>\n{/if}\n      <th style=\"text-align: left;\">\n      Price\n      </th>\n      <th style=\"text-align: left;\">\n      Total\n      </th>\n    </tr>\n    </thead>\n      <tbody>\n  {foreach from=$line_items item=line_item}\n  <tr>\n    <td style=\"width: 220px\">\n      {$line_item.event->title} ({$line_item.event->start_date|date_format:\"%D\"})<br />\n      {if $line_item.event->is_show_location}\n        {$line_item.location.address.1.display|nl2br}\n      {/if}{*End of isShowLocation condition*}<br /><br />\n      {$line_item.event->start_date|date_format:\"%D %I:%M %p\"} - {$line_item.event->end_date|date_format:\"%I:%M %p\"}\n    </td>\n    <td style=\"width: 180px\">\n    {$line_item.num_participants}\n      {if $line_item.num_participants > 0}\n      <div class=\"participants\" style=\"padding-left: 10px;\">\n        {foreach from=$line_item.participants item=participant}\n        {$participant.display_name}<br />\n        {/foreach}\n      </div>\n      {/if}\n      {if $line_item.num_waiting_participants > 0}\n      Waitlisted:<br/>\n      <div class=\"participants\" style=\"padding-left: 10px;\">\n        {foreach from=$line_item.waiting_participants item=participant}\n        {$participant.display_name}<br />\n        {/foreach}\n      </div>\n      {/if}\n    </td>\n    <td style=\"width: 100px\">\n      {$line_item.cost|crmMoney:$currency|string_format:\"%10s\"}\n    </td>\n    <td style=\"width: 100px\">\n      &nbsp;{$line_item.amount|crmMoney:$currency|string_format:\"%10s\"}\n    </td>\n  </tr>\n  {/foreach}\n      </tbody>\n      <tfoot>\n  {if $discounts}\n  <tr>\n    <td>\n    </td>\n    <td>\n    </td>\n    <td>\n      Subtotal:\n    </td>\n    <td>\n      &nbsp;{$sub_total|crmMoney:$currency|string_format:\"%10s\"}\n    </td>\n  </tr>\n  {foreach from=$discounts key=myId item=i}\n  <tr>\n    <td>\n      {$i.title}\n    </td>\n    <td>\n    </td>\n    <td>\n    </td>\n    <td>\n      -{$i.amount}\n    </td>\n  </tr>\n  {/foreach}\n  {/if}\n  <tr>\n{if $line_items}\n    <td>\n    </td>\n    <td>\n    </td>\n{/if}\n    <td>\n      <strong>Total:</strong>\n    </td>\n    <td>\n      <strong>&nbsp;{$total|crmMoney:$currency|string_format:\"%10s\"}</strong>\n    </td>\n  </tr>\n      </tfoot>\n    </table>\n\n    If you have questions about the status of your registration or purchase please feel free to contact us.\n  </body>\n</html>\n',1,844,'event_registration_receipt',0,1,0,NULL),
- (35,'Events - Registration Cancellation Notice','{ts 1=$event.event_title}Event Registration Cancelled for %1{/ts} - {contact.display_name}\n','{assign var=\"greeting\" value=\"{contact.email_greeting_display}\"}{if $greeting}{$greeting},{/if}\n\n{ts}Your Event Registration has been cancelled.{/ts}\n\n\n===========================================================\n{ts}Event Information and Location{/ts}\n\n===========================================================\n{$event.event_title}\n{$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|crmDate:\"shortdate\" == $event.event_start_date|crmDate:\"shortdate\"}{$event.event_end_date|crmDate:\"Time\"}{else}{$event.event_end_date|crmDate}{/if}{/if}\n\n{ts}Participant Role{/ts}: {participant.role_id:label}\n\n{if $isShowLocation}\n{$event.location.address.1.display|strip_tags:false}\n{/if}{*End of isShowLocation condition*}\n\n{if !empty($event.location.phone.1.phone) || !empty($event.location.email.1.email)}\n\n{ts}Event Contacts:{/ts}\n{foreach from=$event.location.phone item=phone}\n{if $phone.phone}\n\n{if $phone.phone_type}{$phone.phone_type_display}{else}{ts}Phone{/ts}{/if}: {$phone.phone}{/if}\n{/foreach}\n{foreach from=$event.location.email item=eventEmail}\n{if $eventEmail.email}\n\n{ts}Email{/ts}: {$eventEmail.email}{/if}{/foreach}\n{/if}\n\n{if \'{contact.email}\'}\n\n===========================================================\n{ts}Registered Email{/ts}\n\n===========================================================\n{contact.email}\n{/if}\n\n{if !empty(\'{participant.register_date}\')}\n{ts}Registration Date{/ts}: {participant.register_date}\n{/if}\n\n{ts 1=\'{domain.phone}\' 2=\'{domain.email}\'}Please contact us at %1 or send email to %2 if you have questions.{/ts}\n\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n    {assign var=\"greeting\" value=\"{contact.email_greeting_display}\"}{if $greeting}<p>{$greeting},</p>{/if}\n    <p>{ts}Your Event Registration has been cancelled.{/ts}</p>\n   </td>\n  </tr>\n  <tr>\n   <td>\n    <table style=\"border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse; width:100%;\">\n     <tr>\n      <th {$headerStyle}>\n       {ts}Event Information and Location{/ts}\n      </th>\n     </tr>\n     <tr>\n      <td colspan=\"2\" {$valueStyle}>\n       {$event.event_title}<br />\n       {$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|crmDate:\"shortdate\" == $event.event_start_date|crmDate:\"shortdate\"}{$event.event_end_date|crmDate:\"Time\"}{else}{$event.event_end_date|crmDate}{/if}{/if}\n      </td>\n     </tr>\n     <tr>\n      <td {$labelStyle}>\n       {ts}Participant Role{/ts}:\n      </td>\n      <td {$valueStyle}>\n       {participant.role_id:label}\n      </td>\n     </tr>\n\n     {if $isShowLocation}\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n        {$event.location.address.1.display|nl2br}\n       </td>\n      </tr>\n     {/if}\n\n     {if !empty($event.location.phone.1.phone) || !empty($event.location.email.1.email)}\n      <tr>\n       <td colspan=\"2\" {$labelStyle}>\n        {ts}Event Contacts:{/ts}\n       </td>\n      </tr>\n      {foreach from=$event.location.phone item=phone}\n       {if $phone.phone}\n        <tr>\n         <td {$labelStyle}>\n          {if $phone.phone_type}{$phone.phone_type_display}{else}{ts}Phone{/ts}{/if}\n         </td>\n         <td {$valueStyle}>\n          {$phone.phone}\n         </td>\n        </tr>\n       {/if}\n      {/foreach}\n      {foreach from=$event.location.email item=eventEmail}\n       {if $eventEmail.email}\n        <tr>\n         <td {$labelStyle}>\n          {ts}Email{/ts}\n         </td>\n         <td {$valueStyle}>\n          {$eventEmail.email}\n         </td>\n        </tr>\n       {/if}\n      {/foreach}\n     {/if}\n\n     {if \'{contact.email}\'}\n      <tr>\n       <th {$headerStyle}>\n        {ts}Registered Email{/ts}\n       </th>\n      </tr>\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n        {contact.email}\n       </td>\n      </tr>\n     {/if}\n\n     {if !empty(\'{participant.register_date}\')}\n      <tr>\n       <td {$labelStyle}>\n        {ts}Registration Date{/ts}\n       </td>\n       <td {$valueStyle}>\n        {participant.register_date}\n       </td>\n      </tr>\n     {/if}\n\n    </table>\n   </td>\n  </tr>\n\n  <tr>\n   <td>\n    <p>{ts 1=\'{domain.phone}\' 2=\'{domain.email}\'}Please contact us at %1 or send email to %2 if you have questions.{/ts}</p>\n   </td>\n  </tr>\n\n </table>\n\n</body>\n</html>\n',1,845,'participant_cancelled',1,0,0,NULL),
- (36,'Events - Registration Cancellation Notice','{ts 1=$event.event_title}Event Registration Cancelled for %1{/ts} - {contact.display_name}\n','{assign var=\"greeting\" value=\"{contact.email_greeting_display}\"}{if $greeting}{$greeting},{/if}\n\n{ts}Your Event Registration has been cancelled.{/ts}\n\n\n===========================================================\n{ts}Event Information and Location{/ts}\n\n===========================================================\n{$event.event_title}\n{$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|crmDate:\"shortdate\" == $event.event_start_date|crmDate:\"shortdate\"}{$event.event_end_date|crmDate:\"Time\"}{else}{$event.event_end_date|crmDate}{/if}{/if}\n\n{ts}Participant Role{/ts}: {participant.role_id:label}\n\n{if $isShowLocation}\n{$event.location.address.1.display|strip_tags:false}\n{/if}{*End of isShowLocation condition*}\n\n{if !empty($event.location.phone.1.phone) || !empty($event.location.email.1.email)}\n\n{ts}Event Contacts:{/ts}\n{foreach from=$event.location.phone item=phone}\n{if $phone.phone}\n\n{if $phone.phone_type}{$phone.phone_type_display}{else}{ts}Phone{/ts}{/if}: {$phone.phone}{/if}\n{/foreach}\n{foreach from=$event.location.email item=eventEmail}\n{if $eventEmail.email}\n\n{ts}Email{/ts}: {$eventEmail.email}{/if}{/foreach}\n{/if}\n\n{if \'{contact.email}\'}\n\n===========================================================\n{ts}Registered Email{/ts}\n\n===========================================================\n{contact.email}\n{/if}\n\n{if !empty(\'{participant.register_date}\')}\n{ts}Registration Date{/ts}: {participant.register_date}\n{/if}\n\n{ts 1=\'{domain.phone}\' 2=\'{domain.email}\'}Please contact us at %1 or send email to %2 if you have questions.{/ts}\n\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n    {assign var=\"greeting\" value=\"{contact.email_greeting_display}\"}{if $greeting}<p>{$greeting},</p>{/if}\n    <p>{ts}Your Event Registration has been cancelled.{/ts}</p>\n   </td>\n  </tr>\n  <tr>\n   <td>\n    <table style=\"border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse; width:100%;\">\n     <tr>\n      <th {$headerStyle}>\n       {ts}Event Information and Location{/ts}\n      </th>\n     </tr>\n     <tr>\n      <td colspan=\"2\" {$valueStyle}>\n       {$event.event_title}<br />\n       {$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|crmDate:\"shortdate\" == $event.event_start_date|crmDate:\"shortdate\"}{$event.event_end_date|crmDate:\"Time\"}{else}{$event.event_end_date|crmDate}{/if}{/if}\n      </td>\n     </tr>\n     <tr>\n      <td {$labelStyle}>\n       {ts}Participant Role{/ts}:\n      </td>\n      <td {$valueStyle}>\n       {participant.role_id:label}\n      </td>\n     </tr>\n\n     {if $isShowLocation}\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n        {$event.location.address.1.display|nl2br}\n       </td>\n      </tr>\n     {/if}\n\n     {if !empty($event.location.phone.1.phone) || !empty($event.location.email.1.email)}\n      <tr>\n       <td colspan=\"2\" {$labelStyle}>\n        {ts}Event Contacts:{/ts}\n       </td>\n      </tr>\n      {foreach from=$event.location.phone item=phone}\n       {if $phone.phone}\n        <tr>\n         <td {$labelStyle}>\n          {if $phone.phone_type}{$phone.phone_type_display}{else}{ts}Phone{/ts}{/if}\n         </td>\n         <td {$valueStyle}>\n          {$phone.phone}\n         </td>\n        </tr>\n       {/if}\n      {/foreach}\n      {foreach from=$event.location.email item=eventEmail}\n       {if $eventEmail.email}\n        <tr>\n         <td {$labelStyle}>\n          {ts}Email{/ts}\n         </td>\n         <td {$valueStyle}>\n          {$eventEmail.email}\n         </td>\n        </tr>\n       {/if}\n      {/foreach}\n     {/if}\n\n     {if \'{contact.email}\'}\n      <tr>\n       <th {$headerStyle}>\n        {ts}Registered Email{/ts}\n       </th>\n      </tr>\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n        {contact.email}\n       </td>\n      </tr>\n     {/if}\n\n     {if !empty(\'{participant.register_date}\')}\n      <tr>\n       <td {$labelStyle}>\n        {ts}Registration Date{/ts}\n       </td>\n       <td {$valueStyle}>\n        {participant.register_date}\n       </td>\n      </tr>\n     {/if}\n\n    </table>\n   </td>\n  </tr>\n\n  <tr>\n   <td>\n    <p>{ts 1=\'{domain.phone}\' 2=\'{domain.email}\'}Please contact us at %1 or send email to %2 if you have questions.{/ts}</p>\n   </td>\n  </tr>\n\n </table>\n\n</body>\n</html>\n',1,845,'participant_cancelled',0,1,0,NULL),
- (37,'Events - Registration Confirmation Invite','{ts 1=$event.event_title}Confirm your registration for %1{/ts} - {contact.display_name}\n','{assign var=\"greeting\" value=\"{contact.email_greeting_display}\"}{if $greeting}{$greeting},{/if}\n\n{ts}This is an invitation to complete your registration that was initially waitlisted.{/ts}\n\n{if !$isAdditional and $participant.id}\n\n===========================================================\n{ts}Confirm Your Registration{/ts}\n\n===========================================================\n{capture assign=confirmUrl}{crmURL p=\'civicrm/event/confirm\' q=\"reset=1&participantId=`$participant.id`&cs=`$checksumValue`\" a=true h=0 fe=1}{/capture}\nClick this link to go to a web page where you can confirm your registration online:\n{$confirmUrl}\n{/if}\n{if $event.allow_selfcancelxfer }\n{ts 1=$selfcancelxfer_time 2=$selfservice_preposition}You may transfer your registration to another participant or cancel your registration up to %1 hours %2 the event.{/ts} {if $totalAmount}{ts}Cancellations are not refundable.{/ts}{/if}\n   {capture assign=selfService}{crmURL p=\'civicrm/event/selfsvcupdate\' q=\"reset=1&pid=`$participant.id`&{contact.checksum}\"  h=0 a=1 fe=1}{/capture}\n{ts}Transfer or cancel your registration:{/ts} {$selfService}\n{/if}\n===========================================================\n{ts}Event Information and Location{/ts}\n\n===========================================================\n{$event.event_title}\n{$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:\"%Y%m%d\" == $event.event_start_date|date_format:\"%Y%m%d\"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if}\n{if $conference_sessions}\n\n\n{ts}Your schedule:{/ts}\n{assign var=\'group_by_day\' value=\'NA\'}\n{foreach from=$conference_sessions item=session}\n{if $session.start_date|date_format:\"%Y/%m/%d\" != $group_by_day|date_format:\"%Y/%m/%d\"}\n{assign var=\'group_by_day\' value=$session.start_date}\n\n{$group_by_day|date_format:\"%m/%d/%Y\"}\n\n\n{/if}\n{$session.start_date|crmDate:0:1}{if $session.end_date}-{$session.end_date|crmDate:0:1}{/if} {$session.title}\n{if $session.location}    {$session.location}{/if}\n{/foreach}\n{/if}\n\n\n{ts}Participant Role{/ts}: {$participant.role}\n\n{if $isShowLocation}\n{$event.location.address.1.display|strip_tags:false}\n{/if}{*End of isShowLocation condition*}\n\n{if $event.location.phone.1.phone || $event.location.email.1.email}\n\n{ts}Event Contacts:{/ts}\n{foreach from=$event.location.phone item=phone}\n{if $phone.phone}\n\n{if $phone.phone_type}{$phone.phone_type_display}{else}{ts}Phone{/ts}{/if}: {$phone.phone}{/if}\n{/foreach}\n{foreach from=$event.location.email item=eventEmail}\n{if $eventEmail.email}\n\n{ts}Email{/ts}: {$eventEmail.email}{/if}{/foreach}\n{/if}\n\n{if $event.is_public}\n{capture assign=icalFeed}{crmURL p=\'civicrm/event/ical\' q=\"reset=1&id=`$event.id`\" h=0 a=1 fe=1}{/capture}\n{ts}Download iCalendar File:{/ts} {$icalFeed}\n{/if}\n\n{if \'{contact.email}\'}\n\n===========================================================\n{ts}Registered Email{/ts}\n\n===========================================================\n{contact.email}\n{/if}\n\n{if $register_date}\n{ts}Registration Date{/ts}: {$participant.register_date|crmDate}\n{/if}\n\n{ts 1=\'{domain.phone}\' 2=\'{domain.email}\'}Please contact us at %1 or send email to %2 if you have questions.{/ts}\n\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n    {assign var=\"greeting\" value=\"{contact.email_greeting_display}\"}{if $greeting}<p>{$greeting},</p>{/if}\n    <p>{ts}This is an invitation to complete your registration that was initially waitlisted.{/ts}</p>\n   </td>\n  </tr>\n  {if !$isAdditional and $participant.id}\n   <tr>\n    <th {$headerStyle}>\n     {ts}Confirm Your Registration{/ts}\n    </th>\n   </tr>\n   <tr>\n    <td colspan=\"2\" {$valueStyle}>\n     {capture assign=confirmUrl}{crmURL p=\'civicrm/event/confirm\' q=\"reset=1&participantId=`$participant.id`&cs=`$checksumValue`\" a=true h=0 fe=1}{/capture}\n     <a href=\"{$confirmUrl}\">{ts}Click here to confirm and complete your registration{/ts}</a>\n    </td>\n   </tr>\n  {/if}\n  {if $event.allow_selfcancelxfer }\n  {ts}This event allows for{/ts}\n  {capture assign=selfService}{crmURL p=\'civicrm/event/selfsvcupdate\' q=\"reset=1&pid=`$participant.id`&{contact.checksum}\" h=0 a=1 fe=1}{/capture}\n       <a href=\"{$selfService}\"> {ts}self service cancel or transfer{/ts}</a>\n  {/if}\n\n  <tr>\n   <td>\n    <table style=\"border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse; width:100%;\">\n     <tr>\n      <th {$headerStyle}>\n       {ts}Event Information and Location{/ts}\n      </th>\n     </tr>\n     <tr>\n      <td colspan=\"2\" {$valueStyle}>\n       {$event.event_title}<br />\n       {$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:\"%Y%m%d\" == $event.event_start_date|date_format:\"%Y%m%d\"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if}\n      </td>\n     </tr>\n     {if $conference_sessions}\n      <tr>\n       <td colspan=\"2\" {$labelStyle}>\n  {ts}Your schedule:{/ts}\n       </td>\n      </tr>\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n  {assign var=\'group_by_day\' value=\'NA\'}\n  {foreach from=$conference_sessions item=session}\n   {if $session.start_date|date_format:\"%Y/%m/%d\" != $group_by_day|date_format:\"%Y/%m/%d\"}\n    {assign var=\'group_by_day\' value=$session.start_date}\n          <em>{$group_by_day|date_format:\"%m/%d/%Y\"}</em><br />\n   {/if}\n   {$session.start_date|crmDate:0:1}{if $session.end_date}-{$session.end_date|crmDate:0:1}{/if} {$session.title}<br />\n   {if $session.location}&nbsp;&nbsp;&nbsp;&nbsp;{$session.location}<br />{/if}\n  {/foreach}\n       </td>\n      </tr>\n     {/if}\n     <tr>\n      <td {$labelStyle}>\n       {ts}Participant Role{/ts}:\n      </td>\n      <td {$valueStyle}>\n       {$participant.role}\n      </td>\n     </tr>\n\n     {if $isShowLocation}\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n        {$event.location.address.1.display|nl2br}\n       </td>\n      </tr>\n     {/if}\n\n     {if $event.location.phone.1.phone || $event.location.email.1.email}\n      <tr>\n       <td colspan=\"2\" {$labelStyle}>\n        {ts}Event Contacts:{/ts}\n       </td>\n      </tr>\n      {foreach from=$event.location.phone item=phone}\n       {if $phone.phone}\n        <tr>\n         <td {$labelStyle}>\n          {if $phone.phone_type}{$phone.phone_type_display}{else}{ts}Phone{/ts}{/if}\n         </td>\n         <td {$valueStyle}>\n          {$phone.phone}\n         </td>\n        </tr>\n       {/if}\n      {/foreach}\n      {foreach from=$event.location.email item=eventEmail}\n       {if $eventEmail.email}\n        <tr>\n         <td {$labelStyle}>\n          {ts}Email{/ts}\n         </td>\n         <td {$valueStyle}>\n          {$eventEmail.email}\n         </td>\n        </tr>\n       {/if}\n      {/foreach}\n     {/if}\n\n     {if $event.is_public}\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n        {capture assign=icalFeed}{crmURL p=\'civicrm/event/ical\' q=\"reset=1&id=`$event.id`\" h=0 a=1 fe=1}{/capture}\n        <a href=\"{$icalFeed}\">{ts}Download iCalendar File{/ts}</a>\n       </td>\n      </tr>\n     {/if}\n\n     {if \'{contact.email}\'}\n      <tr>\n       <th {$headerStyle}>\n        {ts}Registered Email{/ts}\n       </th>\n      </tr>\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n        {contact.email}\n       </td>\n      </tr>\n     {/if}\n\n     {if $register_date}\n      <tr>\n       <td {$labelStyle}>\n        {ts}Registration Date{/ts}\n       </td>\n       <td {$valueStyle}>\n        {$participant.register_date|crmDate}\n       </td>\n      </tr>\n     {/if}\n\n    </table>\n   </td>\n  </tr>\n  {if $event.allow_selfcancelxfer }\n   <tr>\n     <td colspan=\"2\" {$valueStyle}>\n       {ts 1=$selfcancelxfer_time 2=$selfservice_preposition}You may transfer your registration to another participant or cancel your registration up to %1 hours %2 the event.{/ts} {if $totalAmount}{ts}Cancellations are not refundable.{/ts}{/if}<br />\n         {capture assign=selfService}{crmURL p=\'civicrm/event/selfsvcupdate\' q=\"reset=1&pid=`$participant.id`&{contact.checksum}\"  h=0 a=1 fe=1}{/capture}\n       <a href=\"{$selfService}\">{ts}Click here to transfer or cancel your registration.{/ts}</a>\n     </td>\n   </tr>\n  {/if}\n  <tr>\n   <td colspan=\"2\" {$valueStyle}>\n    <p>{ts 1=\'{domain.phone}\' 2=\'{domain.email}\'}Please contact us at %1 or send email to %2 if you have questions.{/ts}</p>\n   </td>\n  </tr>\n\n </table>\n\n</body>\n</html>\n',1,846,'participant_confirm',1,0,0,NULL),
- (38,'Events - Registration Confirmation Invite','{ts 1=$event.event_title}Confirm your registration for %1{/ts} - {contact.display_name}\n','{assign var=\"greeting\" value=\"{contact.email_greeting_display}\"}{if $greeting}{$greeting},{/if}\n\n{ts}This is an invitation to complete your registration that was initially waitlisted.{/ts}\n\n{if !$isAdditional and $participant.id}\n\n===========================================================\n{ts}Confirm Your Registration{/ts}\n\n===========================================================\n{capture assign=confirmUrl}{crmURL p=\'civicrm/event/confirm\' q=\"reset=1&participantId=`$participant.id`&cs=`$checksumValue`\" a=true h=0 fe=1}{/capture}\nClick this link to go to a web page where you can confirm your registration online:\n{$confirmUrl}\n{/if}\n{if $event.allow_selfcancelxfer }\n{ts 1=$selfcancelxfer_time 2=$selfservice_preposition}You may transfer your registration to another participant or cancel your registration up to %1 hours %2 the event.{/ts} {if $totalAmount}{ts}Cancellations are not refundable.{/ts}{/if}\n   {capture assign=selfService}{crmURL p=\'civicrm/event/selfsvcupdate\' q=\"reset=1&pid=`$participant.id`&{contact.checksum}\"  h=0 a=1 fe=1}{/capture}\n{ts}Transfer or cancel your registration:{/ts} {$selfService}\n{/if}\n===========================================================\n{ts}Event Information and Location{/ts}\n\n===========================================================\n{$event.event_title}\n{$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:\"%Y%m%d\" == $event.event_start_date|date_format:\"%Y%m%d\"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if}\n{if $conference_sessions}\n\n\n{ts}Your schedule:{/ts}\n{assign var=\'group_by_day\' value=\'NA\'}\n{foreach from=$conference_sessions item=session}\n{if $session.start_date|date_format:\"%Y/%m/%d\" != $group_by_day|date_format:\"%Y/%m/%d\"}\n{assign var=\'group_by_day\' value=$session.start_date}\n\n{$group_by_day|date_format:\"%m/%d/%Y\"}\n\n\n{/if}\n{$session.start_date|crmDate:0:1}{if $session.end_date}-{$session.end_date|crmDate:0:1}{/if} {$session.title}\n{if $session.location}    {$session.location}{/if}\n{/foreach}\n{/if}\n\n\n{ts}Participant Role{/ts}: {$participant.role}\n\n{if $isShowLocation}\n{$event.location.address.1.display|strip_tags:false}\n{/if}{*End of isShowLocation condition*}\n\n{if $event.location.phone.1.phone || $event.location.email.1.email}\n\n{ts}Event Contacts:{/ts}\n{foreach from=$event.location.phone item=phone}\n{if $phone.phone}\n\n{if $phone.phone_type}{$phone.phone_type_display}{else}{ts}Phone{/ts}{/if}: {$phone.phone}{/if}\n{/foreach}\n{foreach from=$event.location.email item=eventEmail}\n{if $eventEmail.email}\n\n{ts}Email{/ts}: {$eventEmail.email}{/if}{/foreach}\n{/if}\n\n{if $event.is_public}\n{capture assign=icalFeed}{crmURL p=\'civicrm/event/ical\' q=\"reset=1&id=`$event.id`\" h=0 a=1 fe=1}{/capture}\n{ts}Download iCalendar File:{/ts} {$icalFeed}\n{/if}\n\n{if \'{contact.email}\'}\n\n===========================================================\n{ts}Registered Email{/ts}\n\n===========================================================\n{contact.email}\n{/if}\n\n{if $register_date}\n{ts}Registration Date{/ts}: {$participant.register_date|crmDate}\n{/if}\n\n{ts 1=\'{domain.phone}\' 2=\'{domain.email}\'}Please contact us at %1 or send email to %2 if you have questions.{/ts}\n\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n    {assign var=\"greeting\" value=\"{contact.email_greeting_display}\"}{if $greeting}<p>{$greeting},</p>{/if}\n    <p>{ts}This is an invitation to complete your registration that was initially waitlisted.{/ts}</p>\n   </td>\n  </tr>\n  {if !$isAdditional and $participant.id}\n   <tr>\n    <th {$headerStyle}>\n     {ts}Confirm Your Registration{/ts}\n    </th>\n   </tr>\n   <tr>\n    <td colspan=\"2\" {$valueStyle}>\n     {capture assign=confirmUrl}{crmURL p=\'civicrm/event/confirm\' q=\"reset=1&participantId=`$participant.id`&cs=`$checksumValue`\" a=true h=0 fe=1}{/capture}\n     <a href=\"{$confirmUrl}\">{ts}Click here to confirm and complete your registration{/ts}</a>\n    </td>\n   </tr>\n  {/if}\n  {if $event.allow_selfcancelxfer }\n  {ts}This event allows for{/ts}\n  {capture assign=selfService}{crmURL p=\'civicrm/event/selfsvcupdate\' q=\"reset=1&pid=`$participant.id`&{contact.checksum}\" h=0 a=1 fe=1}{/capture}\n       <a href=\"{$selfService}\"> {ts}self service cancel or transfer{/ts}</a>\n  {/if}\n\n  <tr>\n   <td>\n    <table style=\"border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse; width:100%;\">\n     <tr>\n      <th {$headerStyle}>\n       {ts}Event Information and Location{/ts}\n      </th>\n     </tr>\n     <tr>\n      <td colspan=\"2\" {$valueStyle}>\n       {$event.event_title}<br />\n       {$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:\"%Y%m%d\" == $event.event_start_date|date_format:\"%Y%m%d\"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if}\n      </td>\n     </tr>\n     {if $conference_sessions}\n      <tr>\n       <td colspan=\"2\" {$labelStyle}>\n  {ts}Your schedule:{/ts}\n       </td>\n      </tr>\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n  {assign var=\'group_by_day\' value=\'NA\'}\n  {foreach from=$conference_sessions item=session}\n   {if $session.start_date|date_format:\"%Y/%m/%d\" != $group_by_day|date_format:\"%Y/%m/%d\"}\n    {assign var=\'group_by_day\' value=$session.start_date}\n          <em>{$group_by_day|date_format:\"%m/%d/%Y\"}</em><br />\n   {/if}\n   {$session.start_date|crmDate:0:1}{if $session.end_date}-{$session.end_date|crmDate:0:1}{/if} {$session.title}<br />\n   {if $session.location}&nbsp;&nbsp;&nbsp;&nbsp;{$session.location}<br />{/if}\n  {/foreach}\n       </td>\n      </tr>\n     {/if}\n     <tr>\n      <td {$labelStyle}>\n       {ts}Participant Role{/ts}:\n      </td>\n      <td {$valueStyle}>\n       {$participant.role}\n      </td>\n     </tr>\n\n     {if $isShowLocation}\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n        {$event.location.address.1.display|nl2br}\n       </td>\n      </tr>\n     {/if}\n\n     {if $event.location.phone.1.phone || $event.location.email.1.email}\n      <tr>\n       <td colspan=\"2\" {$labelStyle}>\n        {ts}Event Contacts:{/ts}\n       </td>\n      </tr>\n      {foreach from=$event.location.phone item=phone}\n       {if $phone.phone}\n        <tr>\n         <td {$labelStyle}>\n          {if $phone.phone_type}{$phone.phone_type_display}{else}{ts}Phone{/ts}{/if}\n         </td>\n         <td {$valueStyle}>\n          {$phone.phone}\n         </td>\n        </tr>\n       {/if}\n      {/foreach}\n      {foreach from=$event.location.email item=eventEmail}\n       {if $eventEmail.email}\n        <tr>\n         <td {$labelStyle}>\n          {ts}Email{/ts}\n         </td>\n         <td {$valueStyle}>\n          {$eventEmail.email}\n         </td>\n        </tr>\n       {/if}\n      {/foreach}\n     {/if}\n\n     {if $event.is_public}\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n        {capture assign=icalFeed}{crmURL p=\'civicrm/event/ical\' q=\"reset=1&id=`$event.id`\" h=0 a=1 fe=1}{/capture}\n        <a href=\"{$icalFeed}\">{ts}Download iCalendar File{/ts}</a>\n       </td>\n      </tr>\n     {/if}\n\n     {if \'{contact.email}\'}\n      <tr>\n       <th {$headerStyle}>\n        {ts}Registered Email{/ts}\n       </th>\n      </tr>\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n        {contact.email}\n       </td>\n      </tr>\n     {/if}\n\n     {if $register_date}\n      <tr>\n       <td {$labelStyle}>\n        {ts}Registration Date{/ts}\n       </td>\n       <td {$valueStyle}>\n        {$participant.register_date|crmDate}\n       </td>\n      </tr>\n     {/if}\n\n    </table>\n   </td>\n  </tr>\n  {if $event.allow_selfcancelxfer }\n   <tr>\n     <td colspan=\"2\" {$valueStyle}>\n       {ts 1=$selfcancelxfer_time 2=$selfservice_preposition}You may transfer your registration to another participant or cancel your registration up to %1 hours %2 the event.{/ts} {if $totalAmount}{ts}Cancellations are not refundable.{/ts}{/if}<br />\n         {capture assign=selfService}{crmURL p=\'civicrm/event/selfsvcupdate\' q=\"reset=1&pid=`$participant.id`&{contact.checksum}\"  h=0 a=1 fe=1}{/capture}\n       <a href=\"{$selfService}\">{ts}Click here to transfer or cancel your registration.{/ts}</a>\n     </td>\n   </tr>\n  {/if}\n  <tr>\n   <td colspan=\"2\" {$valueStyle}>\n    <p>{ts 1=\'{domain.phone}\' 2=\'{domain.email}\'}Please contact us at %1 or send email to %2 if you have questions.{/ts}</p>\n   </td>\n  </tr>\n\n </table>\n\n</body>\n</html>\n',1,846,'participant_confirm',0,1,0,NULL),
- (39,'Events - Pending Registration Expiration Notice','{ts 1=$event.event_title}Event registration has expired for %1{/ts} - {contact.display_name}\n','{assign var=\"greeting\" value=\"{contact.email_greeting_display}\"}{if $greeting}{$greeting},{/if}\n\n{ts 1=$event.event_title}Your pending event registration for %1 has expired\nbecause you did not confirm your registration.{/ts}\n\n\n{ts 1=\'{domain.phone}\' 2=\'{domain.email}\'}Please contact us at %1 or send email to %2 if you have questions\nor want to inquire about reinstating your registration for this event.{/ts}\n\n===========================================================\n{ts}Event Information and Location{/ts}\n\n===========================================================\n{$event.event_title}\n{$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:\"%Y%m%d\" == $event.event_start_date|date_format:\"%Y%m%d\"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if}\n\n{ts}Participant Role{/ts}: {$participant.role}\n\n{if $isShowLocation}\n{$event.location.address.1.display|strip_tags:false}\n{/if}{*End of isShowLocation condition*}\n\n{if !empty($event.location.phone.1.phone) || !empty($event.location.email.1.email)}\n\n{ts}Event Contacts:{/ts}\n{foreach from=$event.location.phone item=phone}\n{if $phone.phone}\n\n{if $phone.phone_type}{$phone.phone_type_display}{else}{ts}Phone{/ts}{/if}: {$phone.phone}{/if}\n{/foreach}\n{foreach from=$event.location.email item=eventEmail}\n{if $eventEmail.email}\n\n{ts}Email{/ts}: {$eventEmail.email}{/if}{/foreach}\n{/if}\n\n{if \'{contact.email}\'}\n\n===========================================================\n{ts}Registered Email{/ts}\n\n===========================================================\n{contact.email}\n{/if}\n\n{if $register_date}\n{ts}Registration Date{/ts}: {$participant.register_date|crmDate}\n{/if}\n\n{ts 1=\'{domain.phone}\' 2=\'{domain.email}\'}Please contact us at %1 or send email to %2 if you have questions.{/ts}\n\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n    {assign var=\"greeting\" value=\"{contact.email_greeting_display}\"}{if $greeting}<p>{$greeting},</p>{/if}\n    <p>{ts 1=$event.event_title}Your pending event registration for %1 has expired\nbecause you did not confirm your registration.{/ts}</p>\n    <p>{ts 1=\'{domain.phone}\' 2=\'{domain.email}\'}Please contact us at %1 or send email to %2 if you have questions\nor want to inquire about reinstating your registration for this event.{/ts}</p>\n   </td>\n  </tr>\n  <tr>\n   <td>\n    <table style=\"border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse; width:100%;\">\n     <tr>\n      <th {$headerStyle}>\n       {ts}Event Information and Location{/ts}\n      </th>\n     </tr>\n     <tr>\n      <td colspan=\"2\" {$valueStyle}>\n       {$event.event_title}<br />\n       {$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:\"%Y%m%d\" == $event.event_start_date|date_format:\"%Y%m%d\"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if}\n      </td>\n     </tr>\n     <tr>\n      <td {$labelStyle}>\n       {ts}Participant Role{/ts}:\n      </td>\n      <td {$valueStyle}>\n       {$participant.role}\n      </td>\n     </tr>\n\n     {if $isShowLocation}\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n        {$event.location.address.1.display|nl2br}\n       </td>\n      </tr>\n     {/if}\n\n     {if !empty($event.location.phone.1.phone) || !empty($event.location.email.1.email)}\n      <tr>\n       <td colspan=\"2\" {$labelStyle}>\n        {ts}Event Contacts:{/ts}\n       </td>\n      </tr>\n      {foreach from=$event.location.phone item=phone}\n       {if $phone.phone}\n        <tr>\n         <td {$labelStyle}>\n          {if $phone.phone_type}{$phone.phone_type_display}{else}{ts}Phone{/ts}{/if}\n         </td>\n         <td {$valueStyle}>\n          {$phone.phone}\n         </td>\n        </tr>\n       {/if}\n      {/foreach}\n      {foreach from=$event.location.email item=eventEmail}\n       {if $eventEmail.email}\n        <tr>\n         <td {$labelStyle}>\n          {ts}Email{/ts}\n         </td>\n         <td {$valueStyle}>\n          {$eventEmail.email}\n         </td>\n        </tr>\n       {/if}\n      {/foreach}\n     {/if}\n\n     {if \'{contact.email}\'}\n      <tr>\n       <th {$headerStyle}>\n        {ts}Registered Email{/ts}\n       </th>\n      </tr>\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n        {contact.email}\n       </td>\n      </tr>\n     {/if}\n\n     {if $register_date}\n      <tr>\n       <td {$labelStyle}>\n        {ts}Registration Date{/ts}\n       </td>\n       <td {$valueStyle}>\n        {$participant.register_date|crmDate}\n       </td>\n      </tr>\n     {/if}\n\n    </table>\n   </td>\n  </tr>\n\n  <tr>\n   <td>\n    <p>{ts 1=\'{domain.phone}\' 2=\'{domain.email}\'}Please contact us at %1 or send email to %2 if you have questions.{/ts}</p>\n   </td>\n  </tr>\n\n </table>\n\n</body>\n</html>\n',1,847,'participant_expired',1,0,0,NULL),
- (40,'Events - Pending Registration Expiration Notice','{ts 1=$event.event_title}Event registration has expired for %1{/ts} - {contact.display_name}\n','{assign var=\"greeting\" value=\"{contact.email_greeting_display}\"}{if $greeting}{$greeting},{/if}\n\n{ts 1=$event.event_title}Your pending event registration for %1 has expired\nbecause you did not confirm your registration.{/ts}\n\n\n{ts 1=\'{domain.phone}\' 2=\'{domain.email}\'}Please contact us at %1 or send email to %2 if you have questions\nor want to inquire about reinstating your registration for this event.{/ts}\n\n===========================================================\n{ts}Event Information and Location{/ts}\n\n===========================================================\n{$event.event_title}\n{$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:\"%Y%m%d\" == $event.event_start_date|date_format:\"%Y%m%d\"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if}\n\n{ts}Participant Role{/ts}: {$participant.role}\n\n{if $isShowLocation}\n{$event.location.address.1.display|strip_tags:false}\n{/if}{*End of isShowLocation condition*}\n\n{if !empty($event.location.phone.1.phone) || !empty($event.location.email.1.email)}\n\n{ts}Event Contacts:{/ts}\n{foreach from=$event.location.phone item=phone}\n{if $phone.phone}\n\n{if $phone.phone_type}{$phone.phone_type_display}{else}{ts}Phone{/ts}{/if}: {$phone.phone}{/if}\n{/foreach}\n{foreach from=$event.location.email item=eventEmail}\n{if $eventEmail.email}\n\n{ts}Email{/ts}: {$eventEmail.email}{/if}{/foreach}\n{/if}\n\n{if \'{contact.email}\'}\n\n===========================================================\n{ts}Registered Email{/ts}\n\n===========================================================\n{contact.email}\n{/if}\n\n{if $register_date}\n{ts}Registration Date{/ts}: {$participant.register_date|crmDate}\n{/if}\n\n{ts 1=\'{domain.phone}\' 2=\'{domain.email}\'}Please contact us at %1 or send email to %2 if you have questions.{/ts}\n\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n    {assign var=\"greeting\" value=\"{contact.email_greeting_display}\"}{if $greeting}<p>{$greeting},</p>{/if}\n    <p>{ts 1=$event.event_title}Your pending event registration for %1 has expired\nbecause you did not confirm your registration.{/ts}</p>\n    <p>{ts 1=\'{domain.phone}\' 2=\'{domain.email}\'}Please contact us at %1 or send email to %2 if you have questions\nor want to inquire about reinstating your registration for this event.{/ts}</p>\n   </td>\n  </tr>\n  <tr>\n   <td>\n    <table style=\"border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse; width:100%;\">\n     <tr>\n      <th {$headerStyle}>\n       {ts}Event Information and Location{/ts}\n      </th>\n     </tr>\n     <tr>\n      <td colspan=\"2\" {$valueStyle}>\n       {$event.event_title}<br />\n       {$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:\"%Y%m%d\" == $event.event_start_date|date_format:\"%Y%m%d\"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if}\n      </td>\n     </tr>\n     <tr>\n      <td {$labelStyle}>\n       {ts}Participant Role{/ts}:\n      </td>\n      <td {$valueStyle}>\n       {$participant.role}\n      </td>\n     </tr>\n\n     {if $isShowLocation}\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n        {$event.location.address.1.display|nl2br}\n       </td>\n      </tr>\n     {/if}\n\n     {if !empty($event.location.phone.1.phone) || !empty($event.location.email.1.email)}\n      <tr>\n       <td colspan=\"2\" {$labelStyle}>\n        {ts}Event Contacts:{/ts}\n       </td>\n      </tr>\n      {foreach from=$event.location.phone item=phone}\n       {if $phone.phone}\n        <tr>\n         <td {$labelStyle}>\n          {if $phone.phone_type}{$phone.phone_type_display}{else}{ts}Phone{/ts}{/if}\n         </td>\n         <td {$valueStyle}>\n          {$phone.phone}\n         </td>\n        </tr>\n       {/if}\n      {/foreach}\n      {foreach from=$event.location.email item=eventEmail}\n       {if $eventEmail.email}\n        <tr>\n         <td {$labelStyle}>\n          {ts}Email{/ts}\n         </td>\n         <td {$valueStyle}>\n          {$eventEmail.email}\n         </td>\n        </tr>\n       {/if}\n      {/foreach}\n     {/if}\n\n     {if \'{contact.email}\'}\n      <tr>\n       <th {$headerStyle}>\n        {ts}Registered Email{/ts}\n       </th>\n      </tr>\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n        {contact.email}\n       </td>\n      </tr>\n     {/if}\n\n     {if $register_date}\n      <tr>\n       <td {$labelStyle}>\n        {ts}Registration Date{/ts}\n       </td>\n       <td {$valueStyle}>\n        {$participant.register_date|crmDate}\n       </td>\n      </tr>\n     {/if}\n\n    </table>\n   </td>\n  </tr>\n\n  <tr>\n   <td>\n    <p>{ts 1=\'{domain.phone}\' 2=\'{domain.email}\'}Please contact us at %1 or send email to %2 if you have questions.{/ts}</p>\n   </td>\n  </tr>\n\n </table>\n\n</body>\n</html>\n',1,847,'participant_expired',0,1,0,NULL),
- (41,'Events - Registration Transferred Notice','{ts 1=$event.event_title}Event Registration Transferred for %1{/ts} - {contact.display_name}\n','{assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}{$greeting},{/if}\n\n{ts 1=$to_participant}Your Event Registration has been transferred to %1.{/ts}\n\n===========================================================\n{ts}Event Information and Location{/ts}\n\n===========================================================\n{$event.event_title}\n{$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:\"%Y%m%d\" == $event.event_start_date|date_format:\"%Y%m%d\"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if}\n\n{ts}Participant Role{/ts}: {$participant.role}\n\n{if $isShowLocation}\n{$event.location.address.1.display|strip_tags:false}\n{/if}{*End of isShowLocation condition*}\n\n{if !empty($event.location.phone.1.phone) || !empty($event.location.email.1.email)}\n\n{ts}Event Contacts:{/ts}\n{foreach from=$event.location.phone item=phone}\n{if $phone.phone}\n\n{if $phone.phone_type}{$phone.phone_type_display}{else}{ts}Phone{/ts}{/if}: {$phone.phone}{/if}\n{/foreach}\n{foreach from=$event.location.email item=eventEmail}\n{if $eventEmail.email}\n\n{ts}Email{/ts}: {$eventEmail.email}{/if}{/foreach}\n{/if}\n\n{if \'{contact.email}\'}\n\n===========================================================\n{ts}Registered Email{/ts}\n\n===========================================================\n{contact.email}\n{/if}\n\n{if $register_date}\n{ts}Registration Date{/ts}: {$participant.register_date|crmDate}\n{/if}\n\n{ts 1=\'{domain.phone}\' 2=\'{domain.email}\'}Please contact us at %1 or send email to %2 if you have questions.{/ts}\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n    {assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}<p>{$greeting},</p>{/if}\n    <p>{ts 1=$to_participant}Your Event Registration has been Transferred to %1.{/ts}</p>\n   </td>\n  </tr>\n  <tr>\n   <td>\n    <table style=\"border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse; width:100%;\">\n     <tr>\n      <th {$headerStyle}>\n       {ts}Event Information and Location{/ts}\n      </th>\n     </tr>\n     <tr>\n      <td colspan=\"2\" {$valueStyle}>\n       {$event.event_title}<br />\n       {$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:\"%Y%m%d\" == $event.event_start_date|date_format:\"%Y%m%d\"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if}\n      </td>\n     </tr>\n     <tr>\n      <td {$labelStyle}>\n       {ts}Participant Role{/ts}:\n      </td>\n      <td {$valueStyle}>\n       {$participant.role}\n      </td>\n     </tr>\n\n     {if $isShowLocation}\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n        {$event.location.address.1.display|nl2br}\n       </td>\n      </tr>\n     {/if}\n\n     {if !empty($event.location.phone.1.phone) || !empty($event.location.email.1.email)}\n      <tr>\n       <td colspan=\"2\" {$labelStyle}>\n        {ts}Event Contacts:{/ts}\n       </td>\n      </tr>\n      {foreach from=$event.location.phone item=phone}\n       {if $phone.phone}\n        <tr>\n         <td {$labelStyle}>\n          {if $phone.phone_type}{$phone.phone_type_display}{else}{ts}Phone{/ts}{/if}\n         </td>\n         <td {$valueStyle}>\n          {$phone.phone}\n         </td>\n        </tr>\n       {/if}\n      {/foreach}\n      {foreach from=$event.location.email item=eventEmail}\n       {if $eventEmail.email}\n        <tr>\n         <td {$labelStyle}>\n          {ts}Email{/ts}\n         </td>\n         <td {$valueStyle}>\n          {$eventEmail.email}\n         </td>\n        </tr>\n       {/if}\n      {/foreach}\n     {/if}\n\n     {if \'{contact.email}\'}\n      <tr>\n       <th {$headerStyle}>\n        {ts}Registered Email{/ts}\n       </th>\n      </tr>\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n        {contact.email}\n       </td>\n      </tr>\n     {/if}\n\n     {if $register_date}\n      <tr>\n       <td {$labelStyle}>\n        {ts}Registration Date{/ts}\n       </td>\n       <td {$valueStyle}>\n        {$participant.register_date|crmDate}\n       </td>\n      </tr>\n     {/if}\n\n    </table>\n   </td>\n  </tr>\n\n  <tr>\n   <td>\n    <p>{ts 1=\'{domain.phone}\' 2=\'{domain.email}\'}Please contact us at %1 or send email to %2 if you have questions.{/ts}</p>\n   </td>\n  </tr>\n\n </table>\n\n</body>\n</html>\n',1,848,'participant_transferred',1,0,0,NULL),
- (42,'Events - Registration Transferred Notice','{ts 1=$event.event_title}Event Registration Transferred for %1{/ts} - {contact.display_name}\n','{assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}{$greeting},{/if}\n\n{ts 1=$to_participant}Your Event Registration has been transferred to %1.{/ts}\n\n===========================================================\n{ts}Event Information and Location{/ts}\n\n===========================================================\n{$event.event_title}\n{$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:\"%Y%m%d\" == $event.event_start_date|date_format:\"%Y%m%d\"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if}\n\n{ts}Participant Role{/ts}: {$participant.role}\n\n{if $isShowLocation}\n{$event.location.address.1.display|strip_tags:false}\n{/if}{*End of isShowLocation condition*}\n\n{if !empty($event.location.phone.1.phone) || !empty($event.location.email.1.email)}\n\n{ts}Event Contacts:{/ts}\n{foreach from=$event.location.phone item=phone}\n{if $phone.phone}\n\n{if $phone.phone_type}{$phone.phone_type_display}{else}{ts}Phone{/ts}{/if}: {$phone.phone}{/if}\n{/foreach}\n{foreach from=$event.location.email item=eventEmail}\n{if $eventEmail.email}\n\n{ts}Email{/ts}: {$eventEmail.email}{/if}{/foreach}\n{/if}\n\n{if \'{contact.email}\'}\n\n===========================================================\n{ts}Registered Email{/ts}\n\n===========================================================\n{contact.email}\n{/if}\n\n{if $register_date}\n{ts}Registration Date{/ts}: {$participant.register_date|crmDate}\n{/if}\n\n{ts 1=\'{domain.phone}\' 2=\'{domain.email}\'}Please contact us at %1 or send email to %2 if you have questions.{/ts}\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n    {assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}<p>{$greeting},</p>{/if}\n    <p>{ts 1=$to_participant}Your Event Registration has been Transferred to %1.{/ts}</p>\n   </td>\n  </tr>\n  <tr>\n   <td>\n    <table style=\"border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse; width:100%;\">\n     <tr>\n      <th {$headerStyle}>\n       {ts}Event Information and Location{/ts}\n      </th>\n     </tr>\n     <tr>\n      <td colspan=\"2\" {$valueStyle}>\n       {$event.event_title}<br />\n       {$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:\"%Y%m%d\" == $event.event_start_date|date_format:\"%Y%m%d\"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if}\n      </td>\n     </tr>\n     <tr>\n      <td {$labelStyle}>\n       {ts}Participant Role{/ts}:\n      </td>\n      <td {$valueStyle}>\n       {$participant.role}\n      </td>\n     </tr>\n\n     {if $isShowLocation}\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n        {$event.location.address.1.display|nl2br}\n       </td>\n      </tr>\n     {/if}\n\n     {if !empty($event.location.phone.1.phone) || !empty($event.location.email.1.email)}\n      <tr>\n       <td colspan=\"2\" {$labelStyle}>\n        {ts}Event Contacts:{/ts}\n       </td>\n      </tr>\n      {foreach from=$event.location.phone item=phone}\n       {if $phone.phone}\n        <tr>\n         <td {$labelStyle}>\n          {if $phone.phone_type}{$phone.phone_type_display}{else}{ts}Phone{/ts}{/if}\n         </td>\n         <td {$valueStyle}>\n          {$phone.phone}\n         </td>\n        </tr>\n       {/if}\n      {/foreach}\n      {foreach from=$event.location.email item=eventEmail}\n       {if $eventEmail.email}\n        <tr>\n         <td {$labelStyle}>\n          {ts}Email{/ts}\n         </td>\n         <td {$valueStyle}>\n          {$eventEmail.email}\n         </td>\n        </tr>\n       {/if}\n      {/foreach}\n     {/if}\n\n     {if \'{contact.email}\'}\n      <tr>\n       <th {$headerStyle}>\n        {ts}Registered Email{/ts}\n       </th>\n      </tr>\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n        {contact.email}\n       </td>\n      </tr>\n     {/if}\n\n     {if $register_date}\n      <tr>\n       <td {$labelStyle}>\n        {ts}Registration Date{/ts}\n       </td>\n       <td {$valueStyle}>\n        {$participant.register_date|crmDate}\n       </td>\n      </tr>\n     {/if}\n\n    </table>\n   </td>\n  </tr>\n\n  <tr>\n   <td>\n    <p>{ts 1=\'{domain.phone}\' 2=\'{domain.email}\'}Please contact us at %1 or send email to %2 if you have questions.{/ts}</p>\n   </td>\n  </tr>\n\n </table>\n\n</body>\n</html>\n',1,848,'participant_transferred',0,1,0,NULL),
- (43,'Tell-a-Friend Email','{ts 1=$senderContactName 2=$title}%1 wants you to know about %2{/ts}\n','{$senderMessage}\n\n{if $generalLink}{ts}For more information, visit:{/ts}\n>> {$generalLink}\n\n{/if}\n{if $contribute}{ts}To make a contribution, go to:{/ts}\n>> {$pageURL}\n\n{/if}\n{if $event}{ts}To find out more about this event, go to:{/ts}\n>> {$pageURL}\n{/if}\n\n\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n    <p>{$senderMessage}</p>\n    {if $generalLink}\n     <p><a href=\"{$generalLink}\">{ts}More information{/ts}</a></p>\n    {/if}\n    {if $contribute}\n     <p><a href=\"{$pageURL}\">{ts}Make a contribution{/ts}</a></p>\n    {/if}\n    {if $event}\n     <p><a href=\"{$pageURL}\">{ts}Find out more about this event{/ts}</a></p>\n    {/if}\n   </td>\n  </tr>\n </table>\n\n</body>\n</html>\n',1,849,'friend',1,0,0,NULL),
- (44,'Tell-a-Friend Email','{ts 1=$senderContactName 2=$title}%1 wants you to know about %2{/ts}\n','{$senderMessage}\n\n{if $generalLink}{ts}For more information, visit:{/ts}\n>> {$generalLink}\n\n{/if}\n{if $contribute}{ts}To make a contribution, go to:{/ts}\n>> {$pageURL}\n\n{/if}\n{if $event}{ts}To find out more about this event, go to:{/ts}\n>> {$pageURL}\n{/if}\n\n\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n    <p>{$senderMessage}</p>\n    {if $generalLink}\n     <p><a href=\"{$generalLink}\">{ts}More information{/ts}</a></p>\n    {/if}\n    {if $contribute}\n     <p><a href=\"{$pageURL}\">{ts}Make a contribution{/ts}</a></p>\n    {/if}\n    {if $event}\n     <p><a href=\"{$pageURL}\">{ts}Find out more about this event{/ts}</a></p>\n    {/if}\n   </td>\n  </tr>\n </table>\n\n</body>\n</html>\n',1,849,'friend',0,1,0,NULL),
- (45,'Memberships - Signup and Renewal Receipts (off-line)','{if $receiptType EQ \'membership signup\'}\n{ts}Membership Confirmation and Receipt{/ts}\n{elseif $receiptType EQ \'membership renewal\'}\n{ts}Membership Renewal Confirmation and Receipt{/ts}\n{/if} - {contact.display_name}\n','{assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}{$greeting},{/if}\n\n{if !empty($formValues.receipt_text_signup)}\n{$formValues.receipt_text_signup}\n{elseif !empty($formValues.receipt_text_renewal)}\n{$formValues.receipt_text_renewal}\n{else}{ts}Thank you for this contribution.{/ts}{/if}\n\n{if empty($lineItem)}\n===========================================================\n{ts}Membership Information{/ts}\n\n===========================================================\n{ts}Membership Type{/ts}: {$membership_name}\n{/if}\n{if empty($cancelled)}\n{if empty($lineItem)}\n{ts}Membership Start Date{/ts}: {$mem_start_date}\n{ts}Membership End Date{/ts}: {$mem_end_date}\n{/if}\n\n{if $formValues.total_amount OR $formValues.total_amount eq 0 }\n===========================================================\n{ts}Membership Fee{/ts}\n\n===========================================================\n{if !empty($formValues.contributionType_name)}\n{ts}Financial Type{/ts}: {$formValues.contributionType_name}\n{/if}\n{if !empty($lineItem)}\n{foreach from=$lineItem item=value key=priceset}\n{capture assign=ts_item}{ts}Item{/ts}{/capture}\n{capture assign=ts_total}{ts}Fee{/ts}{/capture}\n{if !empty($dataArray)}\n{capture assign=ts_subtotal}{ts}Subtotal{/ts}{/capture}\n{capture assign=ts_taxRate}{ts}Tax Rate{/ts}{/capture}\n{capture assign=ts_taxAmount}{ts}Tax Amount{/ts}{/capture}\n{capture assign=ts_total}{ts}Total{/ts}{/capture}\n{/if}\n{capture assign=ts_start_date}{ts}Membership Start Date{/ts}{/capture}\n{capture assign=ts_end_date}{ts}Membership End Date{/ts}{/capture}\n{$ts_item|string_format:\"%-30s\"} {$ts_total|string_format:\"%10s\"} {if !empty($dataArray)} {$ts_subtotal|string_format:\"%10s\"} {$ts_taxRate|string_format:\"%10s\"} {$ts_taxAmount|string_format:\"%10s\"} {$ts_total|string_format:\"%10s\"} {/if} {$ts_start_date|string_format:\"%20s\"} {$ts_end_date|string_format:\"%20s\"}\n--------------------------------------------------------------------------------------------------\n\n{foreach from=$value item=line}\n{capture assign=ts_item}{if $line.html_type eq \'Text\'}{$line.label}{else}{$line.field_title} - {$line.label}{/if} {if $line.description} {$line.description}{/if}{/capture}{$ts_item|truncate:30:\"...\"|string_format:\"%-30s\"} {$line.line_total|crmMoney|string_format:\"%10s\"}  {if !empty($dataArray)} {$line.unit_price*$line.qty|crmMoney:$currency|string_format:\"%10s\"} {if isset($line.tax_rate) and ($line.tax_rate != \"\" || $line.tax_amount != \"\")}  {$line.tax_rate|string_format:\"%.2f\"} %  {$line.tax_amount|crmMoney:$currency|string_format:\"%10s\"}  {else}                  {/if}   {$line.line_total+$line.tax_amount|crmMoney|string_format:\"%10s\"} {/if} {$line.start_date|string_format:\"%20s\"} {$line.end_date|string_format:\"%20s\"}\n{/foreach}\n{/foreach}\n\n{if !empty($dataArray)}\n{ts}Amount before Tax{/ts}: {$formValues.total_amount-$totalTaxAmount|crmMoney:$currency}\n\n{foreach from=$dataArray item=value key=priceset}\n{if $priceset}\n{if isset($taxTerm)}{$taxTerm}{/if} {$priceset|string_format:\"%.2f\"} %: {$value|crmMoney:$currency}\n{elseif  $priceset == 0}\n{ts}No{/ts} {if isset($taxTerm)}{$taxTerm}{/if}: {$value|crmMoney:$currency}\n{/if}\n{/foreach}\n{/if}\n--------------------------------------------------------------------------------------------------\n{/if}\n\n{if isset($totalTaxAmount)}\n{ts}Total Tax Amount{/ts}: {$totalTaxAmount|crmMoney:$currency}\n{/if}\n\n{ts}Amount{/ts}: {$formValues.total_amount|crmMoney}\n{if !empty($receive_date)}\n{ts}Date Received{/ts}: {$receive_date|truncate:10:\'\'|crmDate}\n{/if}\n{if !empty($formValues.paidBy)}\n{ts}Paid By{/ts}: {$formValues.paidBy}\n{if !empty($formValues.check_number)}\n{ts}Check Number{/ts}: {$formValues.check_number}\n{/if}\n{/if}\n{/if}\n{/if}\n\n{if !empty($isPrimary) }\n{if !empty($billingName)}\n\n===========================================================\n{ts}Billing Name and Address{/ts}\n\n===========================================================\n{$billingName}\n{$address}\n{/if}\n\n{if !empty($credit_card_type)}\n===========================================================\n{ts}Credit Card Information{/ts}\n\n===========================================================\n{$credit_card_type}\n{$credit_card_number}\n{ts}Expires{/ts}: {$credit_card_exp_date|truncate:7:\'\'|crmDate}\n{/if}\n{/if}\n\n{if !empty($customValues)}\n===========================================================\n{ts}Membership Options{/ts}\n\n===========================================================\n{foreach from=$customValues item=value key=customName}\n {$customName} : {$value}\n{/foreach}\n{/if}\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\"\n        \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n  <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\"/>\n  <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n  <table id=\"crm-event_receipt\"\n         style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n    <!-- BEGIN HEADER -->\n    <!-- You can add table row(s) here with logo or other header elements -->\n    <!-- END HEADER -->\n\n    <!-- BEGIN CONTENT -->\n\n    <tr>\n      <td>\n        {assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}<p>{$greeting},</p>{/if}\n        {if !empty($formValues.receipt_text_signup)}\n          <p>{$formValues.receipt_text_signup|htmlize}</p>\n        {elseif !empty($formValues.receipt_text_renewal)}\n          <p>{$formValues.receipt_text_renewal|htmlize}</p>\n        {else}\n          <p>{ts}Thank you for this contribution.{/ts}</p>\n        {/if}\n      </td>\n    </tr>\n    <tr>\n      <td>\n        <table style=\"border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse; width:100%;\">\n          {if empty($lineItem)}\n            <tr>\n              <th {$headerStyle}>\n                {ts}Membership Information{/ts}\n              </th>\n            </tr>\n            <tr>\n              <td {$labelStyle}>\n                {ts}Membership Type{/ts}\n              </td>\n              <td {$valueStyle}>\n                {$membership_name}\n              </td>\n            </tr>\n          {/if}\n          {if empty($cancelled)}\n            {if empty($lineItem)}\n              <tr>\n                <td {$labelStyle}>\n                  {ts}Membership Start Date{/ts}\n                </td>\n                <td {$valueStyle}>\n                  {$mem_start_date}\n                </td>\n              </tr>\n              <tr>\n                <td {$labelStyle}>\n                  {ts}Membership End Date{/ts}\n                </td>\n                <td {$valueStyle}>\n                  {$mem_end_date}\n                </td>\n              </tr>\n            {/if}\n            {if $formValues.total_amount OR $formValues.total_amount eq 0 }\n              <tr>\n                <th {$headerStyle}>\n                  {ts}Membership Fee{/ts}\n                </th>\n              </tr>\n              {if !empty($formValues.contributionType_name)}\n                <tr>\n                  <td {$labelStyle}>\n                    {ts}Financial Type{/ts}\n                  </td>\n                  <td {$valueStyle}>\n                    {$formValues.contributionType_name}\n                  </td>\n                </tr>\n              {/if}\n\n              {if !empty($lineItem)}\n                {foreach from=$lineItem item=value key=priceset}\n                  <tr>\n                    <td colspan=\"2\" {$valueStyle}>\n                      <table> {* FIXME: style this table so that it looks like the text version (justification, etc.) *}\n                        <tr>\n                          <th>{ts}Item{/ts}</th>\n                          <th>{ts}Fee{/ts}</th>\n                          {if !empty($dataArray)}\n                            <th>{ts}SubTotal{/ts}</th>\n                            <th>{ts}Tax Rate{/ts}</th>\n                            <th>{ts}Tax Amount{/ts}</th>\n                            <th>{ts}Total{/ts}</th>\n                          {/if}\n                          <th>{ts}Membership Start Date{/ts}</th>\n                          <th>{ts}Membership End Date{/ts}</th>\n                        </tr>\n                        {foreach from=$value item=line}\n                          <tr>\n                            <td>\n                              {if $line.html_type eq \'Text\'}{$line.label}{else}{$line.field_title} - {$line.label}{/if} {if $line.description}\n                                <div>{$line.description|truncate:30:\"...\"}</div>{/if}\n                            </td>\n                            <td>\n                              {$line.line_total|crmMoney}\n                            </td>\n                            {if !empty($dataArray)}\n                              <td>\n                                {$line.unit_price*$line.qty|crmMoney}\n                              </td>\n                              {if isset($line.tax_rate) and ($line.tax_rate != \"\" || $line.tax_amount != \"\")}\n                                <td>\n                                  {$line.tax_rate|string_format:\"%.2f\"}%\n                                </td>\n                                <td>\n                                  {$line.tax_amount|crmMoney}\n                                </td>\n                              {else}\n                                <td></td>\n                                <td></td>\n                              {/if}\n                              <td>\n                                {$line.line_total+$line.tax_amount|crmMoney}\n                              </td>\n                            {/if}\n                            <td>\n                              {$line.start_date}\n                            </td>\n                            <td>\n                              {$line.end_date}\n                            </td>\n                          </tr>\n                        {/foreach}\n                      </table>\n                    </td>\n                  </tr>\n                {/foreach}\n                {if !empty($dataArray)}\n                  {if isset($formValues.total_amount) and isset($totalTaxAmount)}\n                  <tr>\n                    <td {$labelStyle}>\n                      {ts}Amount Before Tax:{/ts}\n                    </td>\n                    <td {$valueStyle}>\n                      {$formValues.total_amount-$totalTaxAmount|crmMoney}\n                    </td>\n                  </tr>\n                  {/if}\n                  {foreach from=$dataArray item=value key=priceset}\n                    <tr>\n                      {if $priceset}\n                        <td>&nbsp;{if isset($taxTerm)}{$taxTerm}{/if} {$priceset|string_format:\"%.2f\"}%</td>\n                        <td>&nbsp;{$value|crmMoney:$currency}</td>\n                      {elseif  $priceset == 0}\n                        <td>&nbsp;{ts}No{/ts} {if isset($taxTerm)}{$taxTerm}{/if}</td>\n                        <td>&nbsp;{$value|crmMoney:$currency}</td>\n                      {/if}\n                    </tr>\n                  {/foreach}\n                {/if}\n              {/if}\n              {if isset($totalTaxAmount)}\n                <tr>\n                  <td {$labelStyle}>\n                    {ts}Total Tax Amount{/ts}\n                  </td>\n                  <td {$valueStyle}>\n                    {$totalTaxAmount|crmMoney:$currency}\n                  </td>\n                </tr>\n              {/if}\n              <tr>\n                <td {$labelStyle}>\n                  {ts}Amount{/ts}\n                </td>\n                <td {$valueStyle}>\n                  {$formValues.total_amount|crmMoney}\n                </td>\n              </tr>\n              {if !empty($receive_date)}\n                <tr>\n                  <td {$labelStyle}>\n                    {ts}Date Received{/ts}\n                  </td>\n                  <td {$valueStyle}>\n                    {$receive_date|truncate:10:\'\'|crmDate}\n                  </td>\n                </tr>\n              {/if}\n              {if !empty($formValues.paidBy)}\n                <tr>\n                  <td {$labelStyle}>\n                    {ts}Paid By{/ts}\n                  </td>\n                  <td {$valueStyle}>\n                    {$formValues.paidBy}\n                  </td>\n                </tr>\n                {if !empty($formValues.check_number)}\n                  <tr>\n                    <td {$labelStyle}>\n                      {ts}Check Number{/ts}\n                    </td>\n                    <td {$valueStyle}>\n                      {$formValues.check_number}\n                    </td>\n                  </tr>\n                {/if}\n              {/if}\n            {/if}\n          {/if}\n        </table>\n      </td>\n    </tr>\n\n    {if !empty($isPrimary)}\n      <tr>\n        <td>\n          <table style=\"border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse; width:100%;\">\n\n            {if !empty($billingName)}\n              <tr>\n                <th {$headerStyle}>\n                  {ts}Billing Name and Address{/ts}\n                </th>\n              </tr>\n              <tr>\n                <td {$labelStyle}>\n                  {$billingName}<br/>\n                  {$address}\n                </td>\n              </tr>\n            {/if}\n\n            {if !empty($credit_card_type)}\n              <tr>\n                <th {$headerStyle}>\n                  {ts}Credit Card Information{/ts}\n                </th>\n              </tr>\n              <tr>\n                <td {$valueStyle}>\n                  {$credit_card_type}<br/>\n                  {$credit_card_number}\n                </td>\n              </tr>\n              <tr>\n                <td {$labelStyle}>\n                  {ts}Expires{/ts}\n                </td>\n                <td {$valueStyle}>\n                  {$credit_card_exp_date|truncate:7:\'\'|crmDate}\n                </td>\n              </tr>\n            {/if}\n\n          </table>\n        </td>\n      </tr>\n    {/if}\n\n    {if !empty($customValues)}\n      <tr>\n        <td>\n          <table style=\"border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse; width:100%;\">\n            <tr>\n              <th {$headerStyle}>\n                {ts}Membership Options{/ts}\n              </th>\n            </tr>\n            {foreach from=$customValues item=value key=customName}\n              <tr>\n                <td {$labelStyle}>\n                  {$customName}\n                </td>\n                <td {$valueStyle}>\n                  {$value}\n                </td>\n              </tr>\n            {/foreach}\n          </table>\n        </td>\n      </tr>\n    {/if}\n\n  </table>\n\n</body>\n</html>\n',1,850,'membership_offline_receipt',1,0,0,NULL),
- (46,'Memberships - Signup and Renewal Receipts (off-line)','{if $receiptType EQ \'membership signup\'}\n{ts}Membership Confirmation and Receipt{/ts}\n{elseif $receiptType EQ \'membership renewal\'}\n{ts}Membership Renewal Confirmation and Receipt{/ts}\n{/if} - {contact.display_name}\n','{assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}{$greeting},{/if}\n\n{if !empty($formValues.receipt_text_signup)}\n{$formValues.receipt_text_signup}\n{elseif !empty($formValues.receipt_text_renewal)}\n{$formValues.receipt_text_renewal}\n{else}{ts}Thank you for this contribution.{/ts}{/if}\n\n{if empty($lineItem)}\n===========================================================\n{ts}Membership Information{/ts}\n\n===========================================================\n{ts}Membership Type{/ts}: {$membership_name}\n{/if}\n{if empty($cancelled)}\n{if empty($lineItem)}\n{ts}Membership Start Date{/ts}: {$mem_start_date}\n{ts}Membership End Date{/ts}: {$mem_end_date}\n{/if}\n\n{if $formValues.total_amount OR $formValues.total_amount eq 0 }\n===========================================================\n{ts}Membership Fee{/ts}\n\n===========================================================\n{if !empty($formValues.contributionType_name)}\n{ts}Financial Type{/ts}: {$formValues.contributionType_name}\n{/if}\n{if !empty($lineItem)}\n{foreach from=$lineItem item=value key=priceset}\n{capture assign=ts_item}{ts}Item{/ts}{/capture}\n{capture assign=ts_total}{ts}Fee{/ts}{/capture}\n{if !empty($dataArray)}\n{capture assign=ts_subtotal}{ts}Subtotal{/ts}{/capture}\n{capture assign=ts_taxRate}{ts}Tax Rate{/ts}{/capture}\n{capture assign=ts_taxAmount}{ts}Tax Amount{/ts}{/capture}\n{capture assign=ts_total}{ts}Total{/ts}{/capture}\n{/if}\n{capture assign=ts_start_date}{ts}Membership Start Date{/ts}{/capture}\n{capture assign=ts_end_date}{ts}Membership End Date{/ts}{/capture}\n{$ts_item|string_format:\"%-30s\"} {$ts_total|string_format:\"%10s\"} {if !empty($dataArray)} {$ts_subtotal|string_format:\"%10s\"} {$ts_taxRate|string_format:\"%10s\"} {$ts_taxAmount|string_format:\"%10s\"} {$ts_total|string_format:\"%10s\"} {/if} {$ts_start_date|string_format:\"%20s\"} {$ts_end_date|string_format:\"%20s\"}\n--------------------------------------------------------------------------------------------------\n\n{foreach from=$value item=line}\n{capture assign=ts_item}{if $line.html_type eq \'Text\'}{$line.label}{else}{$line.field_title} - {$line.label}{/if} {if $line.description} {$line.description}{/if}{/capture}{$ts_item|truncate:30:\"...\"|string_format:\"%-30s\"} {$line.line_total|crmMoney|string_format:\"%10s\"}  {if !empty($dataArray)} {$line.unit_price*$line.qty|crmMoney:$currency|string_format:\"%10s\"} {if isset($line.tax_rate) and ($line.tax_rate != \"\" || $line.tax_amount != \"\")}  {$line.tax_rate|string_format:\"%.2f\"} %  {$line.tax_amount|crmMoney:$currency|string_format:\"%10s\"}  {else}                  {/if}   {$line.line_total+$line.tax_amount|crmMoney|string_format:\"%10s\"} {/if} {$line.start_date|string_format:\"%20s\"} {$line.end_date|string_format:\"%20s\"}\n{/foreach}\n{/foreach}\n\n{if !empty($dataArray)}\n{ts}Amount before Tax{/ts}: {$formValues.total_amount-$totalTaxAmount|crmMoney:$currency}\n\n{foreach from=$dataArray item=value key=priceset}\n{if $priceset}\n{if isset($taxTerm)}{$taxTerm}{/if} {$priceset|string_format:\"%.2f\"} %: {$value|crmMoney:$currency}\n{elseif  $priceset == 0}\n{ts}No{/ts} {if isset($taxTerm)}{$taxTerm}{/if}: {$value|crmMoney:$currency}\n{/if}\n{/foreach}\n{/if}\n--------------------------------------------------------------------------------------------------\n{/if}\n\n{if isset($totalTaxAmount)}\n{ts}Total Tax Amount{/ts}: {$totalTaxAmount|crmMoney:$currency}\n{/if}\n\n{ts}Amount{/ts}: {$formValues.total_amount|crmMoney}\n{if !empty($receive_date)}\n{ts}Date Received{/ts}: {$receive_date|truncate:10:\'\'|crmDate}\n{/if}\n{if !empty($formValues.paidBy)}\n{ts}Paid By{/ts}: {$formValues.paidBy}\n{if !empty($formValues.check_number)}\n{ts}Check Number{/ts}: {$formValues.check_number}\n{/if}\n{/if}\n{/if}\n{/if}\n\n{if !empty($isPrimary) }\n{if !empty($billingName)}\n\n===========================================================\n{ts}Billing Name and Address{/ts}\n\n===========================================================\n{$billingName}\n{$address}\n{/if}\n\n{if !empty($credit_card_type)}\n===========================================================\n{ts}Credit Card Information{/ts}\n\n===========================================================\n{$credit_card_type}\n{$credit_card_number}\n{ts}Expires{/ts}: {$credit_card_exp_date|truncate:7:\'\'|crmDate}\n{/if}\n{/if}\n\n{if !empty($customValues)}\n===========================================================\n{ts}Membership Options{/ts}\n\n===========================================================\n{foreach from=$customValues item=value key=customName}\n {$customName} : {$value}\n{/foreach}\n{/if}\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\"\n        \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n  <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\"/>\n  <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n  <table id=\"crm-event_receipt\"\n         style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n    <!-- BEGIN HEADER -->\n    <!-- You can add table row(s) here with logo or other header elements -->\n    <!-- END HEADER -->\n\n    <!-- BEGIN CONTENT -->\n\n    <tr>\n      <td>\n        {assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}<p>{$greeting},</p>{/if}\n        {if !empty($formValues.receipt_text_signup)}\n          <p>{$formValues.receipt_text_signup|htmlize}</p>\n        {elseif !empty($formValues.receipt_text_renewal)}\n          <p>{$formValues.receipt_text_renewal|htmlize}</p>\n        {else}\n          <p>{ts}Thank you for this contribution.{/ts}</p>\n        {/if}\n      </td>\n    </tr>\n    <tr>\n      <td>\n        <table style=\"border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse; width:100%;\">\n          {if empty($lineItem)}\n            <tr>\n              <th {$headerStyle}>\n                {ts}Membership Information{/ts}\n              </th>\n            </tr>\n            <tr>\n              <td {$labelStyle}>\n                {ts}Membership Type{/ts}\n              </td>\n              <td {$valueStyle}>\n                {$membership_name}\n              </td>\n            </tr>\n          {/if}\n          {if empty($cancelled)}\n            {if empty($lineItem)}\n              <tr>\n                <td {$labelStyle}>\n                  {ts}Membership Start Date{/ts}\n                </td>\n                <td {$valueStyle}>\n                  {$mem_start_date}\n                </td>\n              </tr>\n              <tr>\n                <td {$labelStyle}>\n                  {ts}Membership End Date{/ts}\n                </td>\n                <td {$valueStyle}>\n                  {$mem_end_date}\n                </td>\n              </tr>\n            {/if}\n            {if $formValues.total_amount OR $formValues.total_amount eq 0 }\n              <tr>\n                <th {$headerStyle}>\n                  {ts}Membership Fee{/ts}\n                </th>\n              </tr>\n              {if !empty($formValues.contributionType_name)}\n                <tr>\n                  <td {$labelStyle}>\n                    {ts}Financial Type{/ts}\n                  </td>\n                  <td {$valueStyle}>\n                    {$formValues.contributionType_name}\n                  </td>\n                </tr>\n              {/if}\n\n              {if !empty($lineItem)}\n                {foreach from=$lineItem item=value key=priceset}\n                  <tr>\n                    <td colspan=\"2\" {$valueStyle}>\n                      <table> {* FIXME: style this table so that it looks like the text version (justification, etc.) *}\n                        <tr>\n                          <th>{ts}Item{/ts}</th>\n                          <th>{ts}Fee{/ts}</th>\n                          {if !empty($dataArray)}\n                            <th>{ts}SubTotal{/ts}</th>\n                            <th>{ts}Tax Rate{/ts}</th>\n                            <th>{ts}Tax Amount{/ts}</th>\n                            <th>{ts}Total{/ts}</th>\n                          {/if}\n                          <th>{ts}Membership Start Date{/ts}</th>\n                          <th>{ts}Membership End Date{/ts}</th>\n                        </tr>\n                        {foreach from=$value item=line}\n                          <tr>\n                            <td>\n                              {if $line.html_type eq \'Text\'}{$line.label}{else}{$line.field_title} - {$line.label}{/if} {if $line.description}\n                                <div>{$line.description|truncate:30:\"...\"}</div>{/if}\n                            </td>\n                            <td>\n                              {$line.line_total|crmMoney}\n                            </td>\n                            {if !empty($dataArray)}\n                              <td>\n                                {$line.unit_price*$line.qty|crmMoney}\n                              </td>\n                              {if isset($line.tax_rate) and ($line.tax_rate != \"\" || $line.tax_amount != \"\")}\n                                <td>\n                                  {$line.tax_rate|string_format:\"%.2f\"}%\n                                </td>\n                                <td>\n                                  {$line.tax_amount|crmMoney}\n                                </td>\n                              {else}\n                                <td></td>\n                                <td></td>\n                              {/if}\n                              <td>\n                                {$line.line_total+$line.tax_amount|crmMoney}\n                              </td>\n                            {/if}\n                            <td>\n                              {$line.start_date}\n                            </td>\n                            <td>\n                              {$line.end_date}\n                            </td>\n                          </tr>\n                        {/foreach}\n                      </table>\n                    </td>\n                  </tr>\n                {/foreach}\n                {if !empty($dataArray)}\n                  {if isset($formValues.total_amount) and isset($totalTaxAmount)}\n                  <tr>\n                    <td {$labelStyle}>\n                      {ts}Amount Before Tax:{/ts}\n                    </td>\n                    <td {$valueStyle}>\n                      {$formValues.total_amount-$totalTaxAmount|crmMoney}\n                    </td>\n                  </tr>\n                  {/if}\n                  {foreach from=$dataArray item=value key=priceset}\n                    <tr>\n                      {if $priceset}\n                        <td>&nbsp;{if isset($taxTerm)}{$taxTerm}{/if} {$priceset|string_format:\"%.2f\"}%</td>\n                        <td>&nbsp;{$value|crmMoney:$currency}</td>\n                      {elseif  $priceset == 0}\n                        <td>&nbsp;{ts}No{/ts} {if isset($taxTerm)}{$taxTerm}{/if}</td>\n                        <td>&nbsp;{$value|crmMoney:$currency}</td>\n                      {/if}\n                    </tr>\n                  {/foreach}\n                {/if}\n              {/if}\n              {if isset($totalTaxAmount)}\n                <tr>\n                  <td {$labelStyle}>\n                    {ts}Total Tax Amount{/ts}\n                  </td>\n                  <td {$valueStyle}>\n                    {$totalTaxAmount|crmMoney:$currency}\n                  </td>\n                </tr>\n              {/if}\n              <tr>\n                <td {$labelStyle}>\n                  {ts}Amount{/ts}\n                </td>\n                <td {$valueStyle}>\n                  {$formValues.total_amount|crmMoney}\n                </td>\n              </tr>\n              {if !empty($receive_date)}\n                <tr>\n                  <td {$labelStyle}>\n                    {ts}Date Received{/ts}\n                  </td>\n                  <td {$valueStyle}>\n                    {$receive_date|truncate:10:\'\'|crmDate}\n                  </td>\n                </tr>\n              {/if}\n              {if !empty($formValues.paidBy)}\n                <tr>\n                  <td {$labelStyle}>\n                    {ts}Paid By{/ts}\n                  </td>\n                  <td {$valueStyle}>\n                    {$formValues.paidBy}\n                  </td>\n                </tr>\n                {if !empty($formValues.check_number)}\n                  <tr>\n                    <td {$labelStyle}>\n                      {ts}Check Number{/ts}\n                    </td>\n                    <td {$valueStyle}>\n                      {$formValues.check_number}\n                    </td>\n                  </tr>\n                {/if}\n              {/if}\n            {/if}\n          {/if}\n        </table>\n      </td>\n    </tr>\n\n    {if !empty($isPrimary)}\n      <tr>\n        <td>\n          <table style=\"border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse; width:100%;\">\n\n            {if !empty($billingName)}\n              <tr>\n                <th {$headerStyle}>\n                  {ts}Billing Name and Address{/ts}\n                </th>\n              </tr>\n              <tr>\n                <td {$labelStyle}>\n                  {$billingName}<br/>\n                  {$address}\n                </td>\n              </tr>\n            {/if}\n\n            {if !empty($credit_card_type)}\n              <tr>\n                <th {$headerStyle}>\n                  {ts}Credit Card Information{/ts}\n                </th>\n              </tr>\n              <tr>\n                <td {$valueStyle}>\n                  {$credit_card_type}<br/>\n                  {$credit_card_number}\n                </td>\n              </tr>\n              <tr>\n                <td {$labelStyle}>\n                  {ts}Expires{/ts}\n                </td>\n                <td {$valueStyle}>\n                  {$credit_card_exp_date|truncate:7:\'\'|crmDate}\n                </td>\n              </tr>\n            {/if}\n\n          </table>\n        </td>\n      </tr>\n    {/if}\n\n    {if !empty($customValues)}\n      <tr>\n        <td>\n          <table style=\"border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse; width:100%;\">\n            <tr>\n              <th {$headerStyle}>\n                {ts}Membership Options{/ts}\n              </th>\n            </tr>\n            {foreach from=$customValues item=value key=customName}\n              <tr>\n                <td {$labelStyle}>\n                  {$customName}\n                </td>\n                <td {$valueStyle}>\n                  {$value}\n                </td>\n              </tr>\n            {/foreach}\n          </table>\n        </td>\n      </tr>\n    {/if}\n\n  </table>\n\n</body>\n</html>\n',1,850,'membership_offline_receipt',0,1,0,NULL),
- (47,'Memberships - Receipt (on-line)','{if $is_pay_later}{ts}Invoice{/ts}{else}{ts}Receipt{/ts}{/if} - {$title} - {contact.display_name}\n','{assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}{$greeting},{/if}\n{if !empty($receipt_text)}\n{$receipt_text}\n{/if}\n{if $is_pay_later}\n\n===========================================================\n{if isset($pay_later_receipt)}{$pay_later_receipt}{/if}\n===========================================================\n{/if}\n\n{if $membership_assign && !$useForMember}\n===========================================================\n{ts}Membership Information{/ts}\n\n===========================================================\n{ts}Membership Type{/ts}: {$membership_name}\n{if $mem_start_date}{ts}Membership Start Date{/ts}: {$mem_start_date|crmDate}\n{/if}\n{if $mem_end_date}{ts}Membership End Date{/ts}: {$mem_end_date|crmDate}\n{/if}\n\n{/if}\n{if $amount}\n===========================================================\n{ts}Membership Fee{/ts}\n\n===========================================================\n{if !$useForMember && isset($membership_amount) && !empty($is_quick_config)}\n{ts 1=$membership_name}%1 Membership{/ts}: {$membership_amount|crmMoney}\n{if $amount && !$is_separate_payment }\n{ts}Contribution Amount{/ts}: {$amount|crmMoney}\n-------------------------------------------\n{ts}Total{/ts}: {$amount+$membership_amount|crmMoney}\n{/if}\n{elseif !$useForMember && !empty($lineItem) and !empty($priceSetID) & empty($is_quick_config)}\n{foreach from=$lineItem item=value key=priceset}\n---------------------------------------------------------\n{capture assign=ts_item}{ts}Item{/ts}{/capture}\n{capture assign=ts_qty}{ts}Qty{/ts}{/capture}\n{capture assign=ts_each}{ts}Each{/ts}{/capture}\n{capture assign=ts_total}{ts}Total{/ts}{/capture}\n{$ts_item|string_format:\"%-30s\"} {$ts_qty|string_format:\"%5s\"} {$ts_each|string_format:\"%10s\"} {$ts_total|string_format:\"%10s\"}\n----------------------------------------------------------\n{foreach from=$value item=line}\n{$line.description|truncate:30:\"...\"|string_format:\"%-30s\"} {$line.qty|string_format:\"%5s\"} {$line.unit_price|crmMoney|string_format:\"%10s\"} {$line.line_total|crmMoney|string_format:\"%10s\"}\n{/foreach}\n{/foreach}\n\n{ts}Total Amount{/ts}: {$amount|crmMoney}\n{else}\n{if $useForMember && $lineItem && empty($is_quick_config)}\n{foreach from=$lineItem item=value key=priceset}\n{capture assign=ts_item}{ts}Item{/ts}{/capture}\n{capture assign=ts_total}{ts}Fee{/ts}{/capture}\n{if !empty($dataArray)}\n{capture assign=ts_subtotal}{ts}Subtotal{/ts}{/capture}\n{capture assign=ts_taxRate}{ts}Tax Rate{/ts}{/capture}\n{capture assign=ts_taxAmount}{ts}Tax Amount{/ts}{/capture}\n{capture assign=ts_total}{ts}Total{/ts}{/capture}\n{/if}\n{capture assign=ts_start_date}{ts}Membership Start Date{/ts}{/capture}\n{capture assign=ts_end_date}{ts}Membership End Date{/ts}{/capture}\n{$ts_item|string_format:\"%-30s\"} {$ts_total|string_format:\"%10s\"} {if !empty($dataArray)} {$ts_subtotal|string_format:\"%10s\"} {$ts_taxRate|string_format:\"%10s\"} {$ts_taxAmount|string_format:\"%10s\"} {$ts_total|string_format:\"%10s\"} {/if} {$ts_start_date|string_format:\"%20s\"} {$ts_end_date|string_format:\"%20s\"}\n--------------------------------------------------------------------------------------------------\n\n{foreach from=$value item=line}\n{capture assign=ts_item}{if $line.html_type eq \'Text\'}{$line.label}{else}{$line.field_title} - {$line.label}{/if} {if $line.description} {$line.description}{/if}{/capture}{$ts_item|truncate:30:\"...\"|string_format:\"%-30s\"} {$line.line_total|crmMoney|string_format:\"%10s\"}  {if !empty($dataArray)} {$line.unit_price*$line.qty|crmMoney:$currency|string_format:\"%10s\"} {if isset($line.tax_rate) and ($line.tax_rate != \"\" || $line.tax_amount != \"\")}  {$line.tax_rate|string_format:\"%.2f\"} %  {$line.tax_amount|crmMoney:$currency|string_format:\"%10s\"} {else}                  {/if}   {$line.line_total+$line.tax_amount|crmMoney|string_format:\"%10s\"} {/if} {$line.start_date|string_format:\"%20s\"} {$line.end_date|string_format:\"%20s\"}\n{/foreach}\n{/foreach}\n\n{if !empty($dataArray)}\n{ts}Amount before Tax{/ts}: {$amount-$totalTaxAmount|crmMoney:$currency}\n\n{foreach from=$dataArray item=value key=priceset}\n{if $priceset || $priceset == 0}\n{if isset($taxTerm)}{$taxTerm}{/if} {$priceset|string_format:\"%.2f\"}%: {$value|crmMoney:$currency}\n{else}\n{ts}No{/ts} {if isset($taxTerm)}{$taxTerm}{/if}: {$value|crmMoney:$currency}\n{/if}\n{/foreach}\n{/if}\n--------------------------------------------------------------------------------------------------\n{/if}\n\n{if isset($totalTaxAmount)}\n{ts}Total Tax Amount{/ts}: {$totalTaxAmount|crmMoney:$currency}\n{/if}\n\n{ts}Amount{/ts}: {$amount|crmMoney} {if isset($amount_level) } - {$amount_level} {/if}\n{/if}\n{elseif isset($membership_amount)}\n===========================================================\n{ts}Membership Fee{/ts}\n\n===========================================================\n{ts 1=$membership_name}%1 Membership{/ts}: {$membership_amount|crmMoney}\n{/if}\n\n{if !empty($receive_date)}\n\n{ts}Date{/ts}: {$receive_date|crmDate}\n{/if}\n{if !empty($is_monetary) and !empty($trxn_id)}\n{ts}Transaction #{/ts}: {$trxn_id}\n\n{/if}\n{if !empty($membership_trx_id)}\n{ts}Membership Transaction #{/ts}: {$membership_trx_id}\n\n{/if}\n{if !empty($is_recur)}\n{ts}This membership will be renewed automatically.{/ts}\n{if $cancelSubscriptionUrl}\n\n{ts 1=$cancelSubscriptionUrl}You can cancel the auto-renewal option by visiting this web page: %1.{/ts}\n\n{/if}\n\n{if $updateSubscriptionBillingUrl}\n\n{ts 1=$updateSubscriptionBillingUrl}You can update billing details for this automatically renewed membership by <a href=\"%1\">visiting this web page</a>.{/ts}\n{/if}\n{/if}\n\n{if $honor_block_is_active }\n===========================================================\n{$soft_credit_type}\n===========================================================\n{foreach from=$honoreeProfile item=value key=label}\n{$label}: {$value}\n{/foreach}\n\n{/if}\n{if !empty($pcpBlock)}\n===========================================================\n{ts}Personal Campaign Page{/ts}\n\n===========================================================\n{ts}Display In Honor Roll{/ts}: {if $pcp_display_in_roll}{ts}Yes{/ts}{else}{ts}No{/ts}{/if}\n\n{if $pcp_roll_nickname}{ts}Nickname{/ts}: {$pcp_roll_nickname}{/if}\n\n{if $pcp_personal_note}{ts}Personal Note{/ts}: {$pcp_personal_note}{/if}\n\n{/if}\n{if !empty($onBehalfProfile)}\n===========================================================\n{ts}On Behalf Of{/ts}\n\n===========================================================\n{foreach from=$onBehalfProfile item=onBehalfValue key=onBehalfName}\n{$onBehalfName}: {$onBehalfValue}\n{/foreach}\n{/if}\n\n{if !empty($billingName)}\n===========================================================\n{ts}Billing Name and Address{/ts}\n\n===========================================================\n{$billingName}\n{$address}\n\n{$email}\n{elseif !empty($email)}\n===========================================================\n{ts}Registered Email{/ts}\n\n===========================================================\n{$email}\n{/if} {* End billingName or email *}\n{if !empty($credit_card_type)}\n\n===========================================================\n{ts}Credit Card Information{/ts}\n\n===========================================================\n{$credit_card_type}\n{$credit_card_number}\n{ts}Expires{/ts}: {$credit_card_exp_date|truncate:7:\'\'|crmDate}\n{/if}\n\n{if !empty($selectPremium)}\n===========================================================\n{ts}Premium Information{/ts}\n\n===========================================================\n{$product_name}\n{if $option}\n{ts}Option{/ts}: {$option}\n{/if}\n{if $sku}\n{ts}SKU{/ts}: {$sku}\n{/if}\n{if $start_date}\n{ts}Start Date{/ts}: {$start_date|crmDate}\n{/if}\n{if $end_date}\n{ts}End Date{/ts}: {$end_date|crmDate}\n{/if}\n{if !empty($contact_email) OR !empty($contact_phone)}\n\n{ts}For information about this premium, contact:{/ts}\n\n{if !empty($contact_email)}\n  {$contact_email}\n{/if}\n{if !empty($contact_phone)}\n  {$contact_phone}\n{/if}\n{/if}\n{if !empty($is_deductible) AND !empty($price)}\n\n{ts 1=$price|crmMoney}The value of this premium is %1. This may affect the amount of the tax deduction you can claim. Consult your tax advisor for more information.{/ts}{/if}\n{/if}\n\n{if !empty($customPre)}\n===========================================================\n{$customPre_grouptitle}\n\n===========================================================\n{foreach from=$customPre item=customValue key=customName}\n{if ( !empty($trackingFields) and ! in_array( $customName, $trackingFields ) ) or empty($trackingFields)}\n {$customName}: {$customValue}\n{/if}\n{/foreach}\n{/if}\n\n\n{if !empty($customPost)}\n===========================================================\n{$customPost_grouptitle}\n\n===========================================================\n{foreach from=$customPost item=customValue key=customName}\n{if ( !empty($trackingFields) and ! in_array( $customName, $trackingFields ) ) or empty($trackingFields)}\n {$customName}: {$customValue}\n{/if}\n{/foreach}\n{/if}\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n     {assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}<p>{$greeting},</p>{/if}\n    {if !empty($receipt_text)}\n     <p>{$receipt_text|htmlize}</p>\n    {/if}\n\n    {if $is_pay_later}\n     <p>{if isset($pay_later_receipt)}{$pay_later_receipt}{/if}</p> {* FIXME: this might be text rather than HTML *}\n    {/if}\n\n   </td>\n  </tr>\n  </table>\n  <table style=\"width:100%; max-width:500px; border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse;\">\n\n     {if $membership_assign && !$useForMember}\n      <tr>\n       <th {$headerStyle}>\n        {ts}Membership Information{/ts}\n       </th>\n      </tr>\n      <tr>\n       <td {$labelStyle}>\n        {ts}Membership Type{/ts}\n       </td>\n       <td {$valueStyle}>\n        {$membership_name}\n       </td>\n      </tr>\n      {if $mem_start_date}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Membership Start Date{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$mem_start_date|crmDate}\n        </td>\n       </tr>\n      {/if}\n      {if $mem_end_date}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Membership End Date{/ts}\n        </td>\n        <td {$valueStyle}>\n          {$mem_end_date|crmDate}\n        </td>\n       </tr>\n      {/if}\n     {/if}\n\n\n     {if $amount}\n      <tr>\n       <th {$headerStyle}>\n        {ts}Membership Fee{/ts}\n       </th>\n      </tr>\n\n      {if !$useForMember and isset($membership_amount) and !empty($is_quick_config)}\n\n       <tr>\n        <td {$labelStyle}>\n         {ts 1=$membership_name}%1 Membership{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$membership_amount|crmMoney}\n        </td>\n       </tr>\n       {if $amount && !$is_separate_payment }\n         <tr>\n          <td {$labelStyle}>\n           {ts}Contribution Amount{/ts}\n          </td>\n          <td {$valueStyle}>\n           {$amount|crmMoney}\n          </td>\n         </tr>\n         <tr>\n           <td {$labelStyle}>\n           {ts}Total{/ts}\n            </td>\n            <td {$valueStyle}>\n            {$amount+$membership_amount|crmMoney}\n           </td>\n         </tr>\n       {/if}\n\n      {elseif empty($useForMember) && !empty($lineItem) and $priceSetID and empty($is_quick_config)}\n\n       {foreach from=$lineItem item=value key=priceset}\n        <tr>\n         <td colspan=\"2\" {$valueStyle}>\n          <table> {* FIXME: style this table so that it looks like the text version (justification, etc.) *}\n           <tr>\n            <th>{ts}Item{/ts}</th>\n            <th>{ts}Qty{/ts}</th>\n            <th>{ts}Each{/ts}</th>\n            <th>{ts}Total{/ts}</th>\n           </tr>\n           {foreach from=$value item=line}\n            <tr>\n             <td>\n              {$line.description|truncate:30:\"...\"}\n             </td>\n             <td>\n              {$line.qty}\n             </td>\n             <td>\n              {$line.unit_price|crmMoney}\n             </td>\n             <td>\n              {$line.line_total|crmMoney}\n             </td>\n            </tr>\n           {/foreach}\n          </table>\n         </td>\n        </tr>\n       {/foreach}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Total Amount{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$amount|crmMoney}\n        </td>\n       </tr>\n\n      {else}\n       {if $useForMember && $lineItem and empty($is_quick_config)}\n       {foreach from=$lineItem item=value key=priceset}\n        <tr>\n         <td colspan=\"2\" {$valueStyle}>\n          <table> {* FIXME: style this table so that it looks like the text version (justification, etc.) *}\n           <tr>\n            <th>{ts}Item{/ts}</th>\n            <th>{ts}Fee{/ts}</th>\n            {if !empty($dataArray)}\n              <th>{ts}SubTotal{/ts}</th>\n              <th>{ts}Tax Rate{/ts}</th>\n              <th>{ts}Tax Amount{/ts}</th>\n              <th>{ts}Total{/ts}</th>\n            {/if}\n      <th>{ts}Membership Start Date{/ts}</th>\n      <th>{ts}Membership End Date{/ts}</th>\n           </tr>\n           {foreach from=$value item=line}\n            <tr>\n             <td>\n             {if $line.html_type eq \'Text\'}{$line.label}{else}{$line.field_title} - {$line.label}{/if} {if $line.description}<div>{$line.description|truncate:30:\"...\"}</div>{/if}\n             </td>\n             <td>\n              {$line.line_total|crmMoney}\n             </td>\n             {if !empty($dataArray)}\n              <td>\n               {$line.unit_price*$line.qty|crmMoney}\n              </td>\n              {if isset($line.tax_rate) and ($line.tax_rate != \"\" || $line.tax_amount != \"\")}\n               <td>\n                {$line.tax_rate|string_format:\"%.2f\"}%\n               </td>\n               <td>\n                {$line.tax_amount|crmMoney}\n               </td>\n              {else}\n               <td></td>\n               <td></td>\n              {/if}\n              <td>\n               {$line.line_total+$line.tax_amount|crmMoney}\n              </td>\n             {/if}\n             <td>\n              {$line.start_date}\n             </td>\n       <td>\n              {$line.end_date}\n             </td>\n            </tr>\n           {/foreach}\n          </table>\n         </td>\n        </tr>\n       {/foreach}\n       {if !empty($dataArray)}\n        <tr>\n         <td {$labelStyle}>\n          {ts}Amount Before Tax:{/ts}\n         </td>\n         <td {$valueStyle}>\n          {$amount-$totalTaxAmount|crmMoney}\n         </td>\n        </tr>\n        {foreach from=$dataArray item=value key=priceset}\n         <tr>\n         {if $priceset || $priceset == 0}\n           <td>&nbsp;{if isset($taxTerm)}{$taxTerm}{/if} {$priceset|string_format:\"%.2f\"}%</td>\n           <td>&nbsp;{$value|crmMoney:$currency}</td>\n         {else}\n           <td>&nbsp;{ts}NO{/ts} {if isset($taxTerm)}{$taxTerm}{/if}</td>\n           <td>&nbsp;{$value|crmMoney:$currency}</td>\n         {/if}\n         </tr>\n        {/foreach}\n       {/if}\n       {/if}\n       {if isset($totalTaxAmount)}\n        <tr>\n         <td {$labelStyle}>\n          {ts}Total Tax Amount{/ts}\n         </td>\n         <td {$valueStyle}>\n          {$totalTaxAmount|crmMoney:$currency}\n         </td>\n        </tr>\n       {/if}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Amount{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$amount|crmMoney} {if isset($amount_level)} - {$amount_level}{/if}\n        </td>\n       </tr>\n\n      {/if}\n\n\n     {elseif isset($membership_amount)}\n\n\n      <tr>\n       <th {$headerStyle}>\n        {ts}Membership Fee{/ts}\n       </th>\n      </tr>\n      <tr>\n       <td {$labelStyle}>\n        {ts 1=$membership_name}%1 Membership{/ts}\n       </td>\n       <td {$valueStyle}>\n        {$membership_amount|crmMoney}\n       </td>\n      </tr>\n\n\n     {/if}\n\n     {if !empty($receive_date)}\n      <tr>\n       <td {$labelStyle}>\n        {ts}Date{/ts}\n       </td>\n       <td {$valueStyle}>\n        {$receive_date|crmDate}\n       </td>\n      </tr>\n     {/if}\n\n     {if !empty($is_monetary) and !empty($trxn_id)}\n      <tr>\n       <td {$labelStyle}>\n        {ts}Transaction #{/ts}\n       </td>\n       <td {$valueStyle}>\n        {$trxn_id}\n       </td>\n      </tr>\n     {/if}\n\n     {if !empty($membership_trx_id)}\n      <tr>\n       <td {$labelStyle}>\n        {ts}Membership Transaction #{/ts}\n       </td>\n       <td {$valueStyle}>\n        {$membership_trx_id}\n       </td>\n      </tr>\n     {/if}\n     {if !empty($is_recur)}\n       <tr>\n        <td colspan=\"2\" {$labelStyle}>\n         {ts}This membership will be renewed automatically.{/ts}\n         {if $cancelSubscriptionUrl}\n           {ts 1=$cancelSubscriptionUrl}You can cancel the auto-renewal option by <a href=\"%1\">visiting this web page</a>.{/ts}\n         {/if}\n        </td>\n       </tr>\n       {if $updateSubscriptionBillingUrl}\n         <tr>\n          <td colspan=\"2\" {$labelStyle}>\n           {ts 1=$updateSubscriptionBillingUrl}You can update billing details for this automatically renewed membership by <a href=\"%1\">visiting this web page</a>.{/ts}\n          </td>\n         </tr>\n       {/if}\n     {/if}\n\n     {if $honor_block_is_active}\n      <tr>\n       <th {$headerStyle}>\n        {$soft_credit_type}\n       </th>\n      </tr>\n      {foreach from=$honoreeProfile item=value key=label}\n        <tr>\n         <td {$labelStyle}>\n          {$label}\n         </td>\n         <td {$valueStyle}>\n          {$value}\n         </td>\n        </tr>\n      {/foreach}\n     {/if}\n\n     {if !empty($pcpBlock)}\n      <tr>\n       <th {$headerStyle}>\n        {ts}Personal Campaign Page{/ts}\n       </th>\n      </tr>\n      <tr>\n       <td {$labelStyle}>\n        {ts}Display In Honor Roll{/ts}\n       </td>\n       <td {$valueStyle}>\n        {if $pcp_display_in_roll}{ts}Yes{/ts}{else}{ts}No{/ts}{/if}\n       </td>\n      </tr>\n      {if $pcp_roll_nickname}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Nickname{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$pcp_roll_nickname}\n        </td>\n       </tr>\n      {/if}\n      {if $pcp_personal_note}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Personal Note{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$pcp_personal_note}\n        </td>\n       </tr>\n      {/if}\n     {/if}\n\n     {if !empty($onBehalfProfile)}\n      <tr>\n       <th {$headerStyle}>\n        {$onBehalfProfile_grouptitle}\n       </th>\n      </tr>\n      {foreach from=$onBehalfProfile item=onBehalfValue key=onBehalfName}\n        <tr>\n         <td {$labelStyle}>\n          {$onBehalfName}\n         </td>\n         <td {$valueStyle}>\n          {$onBehalfValue}\n         </td>\n        </tr>\n      {/foreach}\n     {/if}\n\n     {if !empty($billingName)}\n       <tr>\n         <th {$headerStyle}>\n           {ts}Billing Name and Address{/ts}\n         </th>\n      </tr>\n      <tr>\n        <td colspan=\"2\" {$valueStyle}>\n          {$billingName}<br />\n          {$address|nl2br}<br />\n          {$email}\n        </td>\n      </tr>\n    {elseif !empty($email)}\n      <tr>\n        <th {$headerStyle}>\n          {ts}Registered Email{/ts}\n        </th>\n      </tr>\n      <tr>\n        <td colspan=\"2\" {$valueStyle}>\n          {$email}\n        </td>\n      </tr>\n    {/if}\n\n     {if !empty($credit_card_type)}\n      <tr>\n       <th {$headerStyle}>\n        {ts}Credit Card Information{/ts}\n       </th>\n      </tr>\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n        {$credit_card_type}<br />\n        {$credit_card_number}<br />\n        {ts}Expires{/ts}: {$credit_card_exp_date|truncate:7:\'\'|crmDate}<br />\n       </td>\n      </tr>\n     {/if}\n\n     {if !empty($selectPremium)}\n      <tr>\n       <th {$headerStyle}>\n        {ts}Premium Information{/ts}\n       </th>\n      </tr>\n      <tr>\n       <td colspan=\"2\" {$labelStyle}>\n        {$product_name}\n       </td>\n      </tr>\n      {if $option}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Option{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$option}\n        </td>\n       </tr>\n      {/if}\n      {if $sku}\n       <tr>\n        <td {$labelStyle}>\n         {ts}SKU{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$sku}\n        </td>\n       </tr>\n      {/if}\n      {if $start_date}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Start Date{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$start_date|crmDate}\n        </td>\n       </tr>\n      {/if}\n      {if $end_date}\n       <tr>\n        <td {$labelStyle}>\n         {ts}End Date{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$end_date|crmDate}\n        </td>\n       </tr>\n      {/if}\n      {if !empty($contact_email) OR !empty($contact_phone)}\n       <tr>\n        <td colspan=\"2\" {$valueStyle}>\n         <p>{ts}For information about this premium, contact:{/ts}</p>\n         {if !empty($contact_email)}\n          <p>{$contact_email}</p>\n         {/if}\n         {if !empty($contact_phone)}\n          <p>{$contact_phone}</p>\n         {/if}\n        </td>\n       </tr>\n      {/if}\n      {if !empty($is_deductible) AND !empty($price)}\n        <tr>\n         <td colspan=\"2\" {$valueStyle}>\n          <p>{ts 1=$price|crmMoney}The value of this premium is %1. This may affect the amount of the tax deduction you can claim. Consult your tax advisor for more information.{/ts}</p>\n         </td>\n        </tr>\n      {/if}\n     {/if}\n\n     {if !empty($customPre)}\n      <tr>\n       <th {$headerStyle}>\n        {$customPre_grouptitle}\n       </th>\n      </tr>\n      {foreach from=$customPre item=customValue key=customName}\n       {if (!empty($trackingFields) and ! in_array($customName, $trackingFields)) or empty($trackingFields)}\n        <tr>\n         <td {$labelStyle}>\n          {$customName}\n         </td>\n         <td {$valueStyle}>\n          {$customValue}\n         </td>\n        </tr>\n       {/if}\n      {/foreach}\n     {/if}\n\n     {if !empty($customPost)}\n      <tr>\n       <th {$headerStyle}>\n        {$customPost_grouptitle}\n       </th>\n      </tr>\n      {foreach from=$customPost item=customValue key=customName}\n       {if (!empty($trackingFields) and ! in_array($customName, $trackingFields)) or empty($trackingFields)}\n        <tr>\n         <td {$labelStyle}>\n          {$customName}\n         </td>\n         <td {$valueStyle}>\n          {$customValue}\n         </td>\n        </tr>\n       {/if}\n      {/foreach}\n     {/if}\n\n  </table>\n\n</body>\n</html>\n',1,851,'membership_online_receipt',1,0,0,NULL),
- (48,'Memberships - Receipt (on-line)','{if $is_pay_later}{ts}Invoice{/ts}{else}{ts}Receipt{/ts}{/if} - {$title} - {contact.display_name}\n','{assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}{$greeting},{/if}\n{if !empty($receipt_text)}\n{$receipt_text}\n{/if}\n{if $is_pay_later}\n\n===========================================================\n{if isset($pay_later_receipt)}{$pay_later_receipt}{/if}\n===========================================================\n{/if}\n\n{if $membership_assign && !$useForMember}\n===========================================================\n{ts}Membership Information{/ts}\n\n===========================================================\n{ts}Membership Type{/ts}: {$membership_name}\n{if $mem_start_date}{ts}Membership Start Date{/ts}: {$mem_start_date|crmDate}\n{/if}\n{if $mem_end_date}{ts}Membership End Date{/ts}: {$mem_end_date|crmDate}\n{/if}\n\n{/if}\n{if $amount}\n===========================================================\n{ts}Membership Fee{/ts}\n\n===========================================================\n{if !$useForMember && isset($membership_amount) && !empty($is_quick_config)}\n{ts 1=$membership_name}%1 Membership{/ts}: {$membership_amount|crmMoney}\n{if $amount && !$is_separate_payment }\n{ts}Contribution Amount{/ts}: {$amount|crmMoney}\n-------------------------------------------\n{ts}Total{/ts}: {$amount+$membership_amount|crmMoney}\n{/if}\n{elseif !$useForMember && !empty($lineItem) and !empty($priceSetID) & empty($is_quick_config)}\n{foreach from=$lineItem item=value key=priceset}\n---------------------------------------------------------\n{capture assign=ts_item}{ts}Item{/ts}{/capture}\n{capture assign=ts_qty}{ts}Qty{/ts}{/capture}\n{capture assign=ts_each}{ts}Each{/ts}{/capture}\n{capture assign=ts_total}{ts}Total{/ts}{/capture}\n{$ts_item|string_format:\"%-30s\"} {$ts_qty|string_format:\"%5s\"} {$ts_each|string_format:\"%10s\"} {$ts_total|string_format:\"%10s\"}\n----------------------------------------------------------\n{foreach from=$value item=line}\n{$line.description|truncate:30:\"...\"|string_format:\"%-30s\"} {$line.qty|string_format:\"%5s\"} {$line.unit_price|crmMoney|string_format:\"%10s\"} {$line.line_total|crmMoney|string_format:\"%10s\"}\n{/foreach}\n{/foreach}\n\n{ts}Total Amount{/ts}: {$amount|crmMoney}\n{else}\n{if $useForMember && $lineItem && empty($is_quick_config)}\n{foreach from=$lineItem item=value key=priceset}\n{capture assign=ts_item}{ts}Item{/ts}{/capture}\n{capture assign=ts_total}{ts}Fee{/ts}{/capture}\n{if !empty($dataArray)}\n{capture assign=ts_subtotal}{ts}Subtotal{/ts}{/capture}\n{capture assign=ts_taxRate}{ts}Tax Rate{/ts}{/capture}\n{capture assign=ts_taxAmount}{ts}Tax Amount{/ts}{/capture}\n{capture assign=ts_total}{ts}Total{/ts}{/capture}\n{/if}\n{capture assign=ts_start_date}{ts}Membership Start Date{/ts}{/capture}\n{capture assign=ts_end_date}{ts}Membership End Date{/ts}{/capture}\n{$ts_item|string_format:\"%-30s\"} {$ts_total|string_format:\"%10s\"} {if !empty($dataArray)} {$ts_subtotal|string_format:\"%10s\"} {$ts_taxRate|string_format:\"%10s\"} {$ts_taxAmount|string_format:\"%10s\"} {$ts_total|string_format:\"%10s\"} {/if} {$ts_start_date|string_format:\"%20s\"} {$ts_end_date|string_format:\"%20s\"}\n--------------------------------------------------------------------------------------------------\n\n{foreach from=$value item=line}\n{capture assign=ts_item}{if $line.html_type eq \'Text\'}{$line.label}{else}{$line.field_title} - {$line.label}{/if} {if $line.description} {$line.description}{/if}{/capture}{$ts_item|truncate:30:\"...\"|string_format:\"%-30s\"} {$line.line_total|crmMoney|string_format:\"%10s\"}  {if !empty($dataArray)} {$line.unit_price*$line.qty|crmMoney:$currency|string_format:\"%10s\"} {if isset($line.tax_rate) and ($line.tax_rate != \"\" || $line.tax_amount != \"\")}  {$line.tax_rate|string_format:\"%.2f\"} %  {$line.tax_amount|crmMoney:$currency|string_format:\"%10s\"} {else}                  {/if}   {$line.line_total+$line.tax_amount|crmMoney|string_format:\"%10s\"} {/if} {$line.start_date|string_format:\"%20s\"} {$line.end_date|string_format:\"%20s\"}\n{/foreach}\n{/foreach}\n\n{if !empty($dataArray)}\n{ts}Amount before Tax{/ts}: {$amount-$totalTaxAmount|crmMoney:$currency}\n\n{foreach from=$dataArray item=value key=priceset}\n{if $priceset || $priceset == 0}\n{if isset($taxTerm)}{$taxTerm}{/if} {$priceset|string_format:\"%.2f\"}%: {$value|crmMoney:$currency}\n{else}\n{ts}No{/ts} {if isset($taxTerm)}{$taxTerm}{/if}: {$value|crmMoney:$currency}\n{/if}\n{/foreach}\n{/if}\n--------------------------------------------------------------------------------------------------\n{/if}\n\n{if isset($totalTaxAmount)}\n{ts}Total Tax Amount{/ts}: {$totalTaxAmount|crmMoney:$currency}\n{/if}\n\n{ts}Amount{/ts}: {$amount|crmMoney} {if isset($amount_level) } - {$amount_level} {/if}\n{/if}\n{elseif isset($membership_amount)}\n===========================================================\n{ts}Membership Fee{/ts}\n\n===========================================================\n{ts 1=$membership_name}%1 Membership{/ts}: {$membership_amount|crmMoney}\n{/if}\n\n{if !empty($receive_date)}\n\n{ts}Date{/ts}: {$receive_date|crmDate}\n{/if}\n{if !empty($is_monetary) and !empty($trxn_id)}\n{ts}Transaction #{/ts}: {$trxn_id}\n\n{/if}\n{if !empty($membership_trx_id)}\n{ts}Membership Transaction #{/ts}: {$membership_trx_id}\n\n{/if}\n{if !empty($is_recur)}\n{ts}This membership will be renewed automatically.{/ts}\n{if $cancelSubscriptionUrl}\n\n{ts 1=$cancelSubscriptionUrl}You can cancel the auto-renewal option by visiting this web page: %1.{/ts}\n\n{/if}\n\n{if $updateSubscriptionBillingUrl}\n\n{ts 1=$updateSubscriptionBillingUrl}You can update billing details for this automatically renewed membership by <a href=\"%1\">visiting this web page</a>.{/ts}\n{/if}\n{/if}\n\n{if $honor_block_is_active }\n===========================================================\n{$soft_credit_type}\n===========================================================\n{foreach from=$honoreeProfile item=value key=label}\n{$label}: {$value}\n{/foreach}\n\n{/if}\n{if !empty($pcpBlock)}\n===========================================================\n{ts}Personal Campaign Page{/ts}\n\n===========================================================\n{ts}Display In Honor Roll{/ts}: {if $pcp_display_in_roll}{ts}Yes{/ts}{else}{ts}No{/ts}{/if}\n\n{if $pcp_roll_nickname}{ts}Nickname{/ts}: {$pcp_roll_nickname}{/if}\n\n{if $pcp_personal_note}{ts}Personal Note{/ts}: {$pcp_personal_note}{/if}\n\n{/if}\n{if !empty($onBehalfProfile)}\n===========================================================\n{ts}On Behalf Of{/ts}\n\n===========================================================\n{foreach from=$onBehalfProfile item=onBehalfValue key=onBehalfName}\n{$onBehalfName}: {$onBehalfValue}\n{/foreach}\n{/if}\n\n{if !empty($billingName)}\n===========================================================\n{ts}Billing Name and Address{/ts}\n\n===========================================================\n{$billingName}\n{$address}\n\n{$email}\n{elseif !empty($email)}\n===========================================================\n{ts}Registered Email{/ts}\n\n===========================================================\n{$email}\n{/if} {* End billingName or email *}\n{if !empty($credit_card_type)}\n\n===========================================================\n{ts}Credit Card Information{/ts}\n\n===========================================================\n{$credit_card_type}\n{$credit_card_number}\n{ts}Expires{/ts}: {$credit_card_exp_date|truncate:7:\'\'|crmDate}\n{/if}\n\n{if !empty($selectPremium)}\n===========================================================\n{ts}Premium Information{/ts}\n\n===========================================================\n{$product_name}\n{if $option}\n{ts}Option{/ts}: {$option}\n{/if}\n{if $sku}\n{ts}SKU{/ts}: {$sku}\n{/if}\n{if $start_date}\n{ts}Start Date{/ts}: {$start_date|crmDate}\n{/if}\n{if $end_date}\n{ts}End Date{/ts}: {$end_date|crmDate}\n{/if}\n{if !empty($contact_email) OR !empty($contact_phone)}\n\n{ts}For information about this premium, contact:{/ts}\n\n{if !empty($contact_email)}\n  {$contact_email}\n{/if}\n{if !empty($contact_phone)}\n  {$contact_phone}\n{/if}\n{/if}\n{if !empty($is_deductible) AND !empty($price)}\n\n{ts 1=$price|crmMoney}The value of this premium is %1. This may affect the amount of the tax deduction you can claim. Consult your tax advisor for more information.{/ts}{/if}\n{/if}\n\n{if !empty($customPre)}\n===========================================================\n{$customPre_grouptitle}\n\n===========================================================\n{foreach from=$customPre item=customValue key=customName}\n{if ( !empty($trackingFields) and ! in_array( $customName, $trackingFields ) ) or empty($trackingFields)}\n {$customName}: {$customValue}\n{/if}\n{/foreach}\n{/if}\n\n\n{if !empty($customPost)}\n===========================================================\n{$customPost_grouptitle}\n\n===========================================================\n{foreach from=$customPost item=customValue key=customName}\n{if ( !empty($trackingFields) and ! in_array( $customName, $trackingFields ) ) or empty($trackingFields)}\n {$customName}: {$customValue}\n{/if}\n{/foreach}\n{/if}\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n     {assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}<p>{$greeting},</p>{/if}\n    {if !empty($receipt_text)}\n     <p>{$receipt_text|htmlize}</p>\n    {/if}\n\n    {if $is_pay_later}\n     <p>{if isset($pay_later_receipt)}{$pay_later_receipt}{/if}</p> {* FIXME: this might be text rather than HTML *}\n    {/if}\n\n   </td>\n  </tr>\n  </table>\n  <table style=\"width:100%; max-width:500px; border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse;\">\n\n     {if $membership_assign && !$useForMember}\n      <tr>\n       <th {$headerStyle}>\n        {ts}Membership Information{/ts}\n       </th>\n      </tr>\n      <tr>\n       <td {$labelStyle}>\n        {ts}Membership Type{/ts}\n       </td>\n       <td {$valueStyle}>\n        {$membership_name}\n       </td>\n      </tr>\n      {if $mem_start_date}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Membership Start Date{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$mem_start_date|crmDate}\n        </td>\n       </tr>\n      {/if}\n      {if $mem_end_date}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Membership End Date{/ts}\n        </td>\n        <td {$valueStyle}>\n          {$mem_end_date|crmDate}\n        </td>\n       </tr>\n      {/if}\n     {/if}\n\n\n     {if $amount}\n      <tr>\n       <th {$headerStyle}>\n        {ts}Membership Fee{/ts}\n       </th>\n      </tr>\n\n      {if !$useForMember and isset($membership_amount) and !empty($is_quick_config)}\n\n       <tr>\n        <td {$labelStyle}>\n         {ts 1=$membership_name}%1 Membership{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$membership_amount|crmMoney}\n        </td>\n       </tr>\n       {if $amount && !$is_separate_payment }\n         <tr>\n          <td {$labelStyle}>\n           {ts}Contribution Amount{/ts}\n          </td>\n          <td {$valueStyle}>\n           {$amount|crmMoney}\n          </td>\n         </tr>\n         <tr>\n           <td {$labelStyle}>\n           {ts}Total{/ts}\n            </td>\n            <td {$valueStyle}>\n            {$amount+$membership_amount|crmMoney}\n           </td>\n         </tr>\n       {/if}\n\n      {elseif empty($useForMember) && !empty($lineItem) and $priceSetID and empty($is_quick_config)}\n\n       {foreach from=$lineItem item=value key=priceset}\n        <tr>\n         <td colspan=\"2\" {$valueStyle}>\n          <table> {* FIXME: style this table so that it looks like the text version (justification, etc.) *}\n           <tr>\n            <th>{ts}Item{/ts}</th>\n            <th>{ts}Qty{/ts}</th>\n            <th>{ts}Each{/ts}</th>\n            <th>{ts}Total{/ts}</th>\n           </tr>\n           {foreach from=$value item=line}\n            <tr>\n             <td>\n              {$line.description|truncate:30:\"...\"}\n             </td>\n             <td>\n              {$line.qty}\n             </td>\n             <td>\n              {$line.unit_price|crmMoney}\n             </td>\n             <td>\n              {$line.line_total|crmMoney}\n             </td>\n            </tr>\n           {/foreach}\n          </table>\n         </td>\n        </tr>\n       {/foreach}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Total Amount{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$amount|crmMoney}\n        </td>\n       </tr>\n\n      {else}\n       {if $useForMember && $lineItem and empty($is_quick_config)}\n       {foreach from=$lineItem item=value key=priceset}\n        <tr>\n         <td colspan=\"2\" {$valueStyle}>\n          <table> {* FIXME: style this table so that it looks like the text version (justification, etc.) *}\n           <tr>\n            <th>{ts}Item{/ts}</th>\n            <th>{ts}Fee{/ts}</th>\n            {if !empty($dataArray)}\n              <th>{ts}SubTotal{/ts}</th>\n              <th>{ts}Tax Rate{/ts}</th>\n              <th>{ts}Tax Amount{/ts}</th>\n              <th>{ts}Total{/ts}</th>\n            {/if}\n      <th>{ts}Membership Start Date{/ts}</th>\n      <th>{ts}Membership End Date{/ts}</th>\n           </tr>\n           {foreach from=$value item=line}\n            <tr>\n             <td>\n             {if $line.html_type eq \'Text\'}{$line.label}{else}{$line.field_title} - {$line.label}{/if} {if $line.description}<div>{$line.description|truncate:30:\"...\"}</div>{/if}\n             </td>\n             <td>\n              {$line.line_total|crmMoney}\n             </td>\n             {if !empty($dataArray)}\n              <td>\n               {$line.unit_price*$line.qty|crmMoney}\n              </td>\n              {if isset($line.tax_rate) and ($line.tax_rate != \"\" || $line.tax_amount != \"\")}\n               <td>\n                {$line.tax_rate|string_format:\"%.2f\"}%\n               </td>\n               <td>\n                {$line.tax_amount|crmMoney}\n               </td>\n              {else}\n               <td></td>\n               <td></td>\n              {/if}\n              <td>\n               {$line.line_total+$line.tax_amount|crmMoney}\n              </td>\n             {/if}\n             <td>\n              {$line.start_date}\n             </td>\n       <td>\n              {$line.end_date}\n             </td>\n            </tr>\n           {/foreach}\n          </table>\n         </td>\n        </tr>\n       {/foreach}\n       {if !empty($dataArray)}\n        <tr>\n         <td {$labelStyle}>\n          {ts}Amount Before Tax:{/ts}\n         </td>\n         <td {$valueStyle}>\n          {$amount-$totalTaxAmount|crmMoney}\n         </td>\n        </tr>\n        {foreach from=$dataArray item=value key=priceset}\n         <tr>\n         {if $priceset || $priceset == 0}\n           <td>&nbsp;{if isset($taxTerm)}{$taxTerm}{/if} {$priceset|string_format:\"%.2f\"}%</td>\n           <td>&nbsp;{$value|crmMoney:$currency}</td>\n         {else}\n           <td>&nbsp;{ts}NO{/ts} {if isset($taxTerm)}{$taxTerm}{/if}</td>\n           <td>&nbsp;{$value|crmMoney:$currency}</td>\n         {/if}\n         </tr>\n        {/foreach}\n       {/if}\n       {/if}\n       {if isset($totalTaxAmount)}\n        <tr>\n         <td {$labelStyle}>\n          {ts}Total Tax Amount{/ts}\n         </td>\n         <td {$valueStyle}>\n          {$totalTaxAmount|crmMoney:$currency}\n         </td>\n        </tr>\n       {/if}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Amount{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$amount|crmMoney} {if isset($amount_level)} - {$amount_level}{/if}\n        </td>\n       </tr>\n\n      {/if}\n\n\n     {elseif isset($membership_amount)}\n\n\n      <tr>\n       <th {$headerStyle}>\n        {ts}Membership Fee{/ts}\n       </th>\n      </tr>\n      <tr>\n       <td {$labelStyle}>\n        {ts 1=$membership_name}%1 Membership{/ts}\n       </td>\n       <td {$valueStyle}>\n        {$membership_amount|crmMoney}\n       </td>\n      </tr>\n\n\n     {/if}\n\n     {if !empty($receive_date)}\n      <tr>\n       <td {$labelStyle}>\n        {ts}Date{/ts}\n       </td>\n       <td {$valueStyle}>\n        {$receive_date|crmDate}\n       </td>\n      </tr>\n     {/if}\n\n     {if !empty($is_monetary) and !empty($trxn_id)}\n      <tr>\n       <td {$labelStyle}>\n        {ts}Transaction #{/ts}\n       </td>\n       <td {$valueStyle}>\n        {$trxn_id}\n       </td>\n      </tr>\n     {/if}\n\n     {if !empty($membership_trx_id)}\n      <tr>\n       <td {$labelStyle}>\n        {ts}Membership Transaction #{/ts}\n       </td>\n       <td {$valueStyle}>\n        {$membership_trx_id}\n       </td>\n      </tr>\n     {/if}\n     {if !empty($is_recur)}\n       <tr>\n        <td colspan=\"2\" {$labelStyle}>\n         {ts}This membership will be renewed automatically.{/ts}\n         {if $cancelSubscriptionUrl}\n           {ts 1=$cancelSubscriptionUrl}You can cancel the auto-renewal option by <a href=\"%1\">visiting this web page</a>.{/ts}\n         {/if}\n        </td>\n       </tr>\n       {if $updateSubscriptionBillingUrl}\n         <tr>\n          <td colspan=\"2\" {$labelStyle}>\n           {ts 1=$updateSubscriptionBillingUrl}You can update billing details for this automatically renewed membership by <a href=\"%1\">visiting this web page</a>.{/ts}\n          </td>\n         </tr>\n       {/if}\n     {/if}\n\n     {if $honor_block_is_active}\n      <tr>\n       <th {$headerStyle}>\n        {$soft_credit_type}\n       </th>\n      </tr>\n      {foreach from=$honoreeProfile item=value key=label}\n        <tr>\n         <td {$labelStyle}>\n          {$label}\n         </td>\n         <td {$valueStyle}>\n          {$value}\n         </td>\n        </tr>\n      {/foreach}\n     {/if}\n\n     {if !empty($pcpBlock)}\n      <tr>\n       <th {$headerStyle}>\n        {ts}Personal Campaign Page{/ts}\n       </th>\n      </tr>\n      <tr>\n       <td {$labelStyle}>\n        {ts}Display In Honor Roll{/ts}\n       </td>\n       <td {$valueStyle}>\n        {if $pcp_display_in_roll}{ts}Yes{/ts}{else}{ts}No{/ts}{/if}\n       </td>\n      </tr>\n      {if $pcp_roll_nickname}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Nickname{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$pcp_roll_nickname}\n        </td>\n       </tr>\n      {/if}\n      {if $pcp_personal_note}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Personal Note{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$pcp_personal_note}\n        </td>\n       </tr>\n      {/if}\n     {/if}\n\n     {if !empty($onBehalfProfile)}\n      <tr>\n       <th {$headerStyle}>\n        {$onBehalfProfile_grouptitle}\n       </th>\n      </tr>\n      {foreach from=$onBehalfProfile item=onBehalfValue key=onBehalfName}\n        <tr>\n         <td {$labelStyle}>\n          {$onBehalfName}\n         </td>\n         <td {$valueStyle}>\n          {$onBehalfValue}\n         </td>\n        </tr>\n      {/foreach}\n     {/if}\n\n     {if !empty($billingName)}\n       <tr>\n         <th {$headerStyle}>\n           {ts}Billing Name and Address{/ts}\n         </th>\n      </tr>\n      <tr>\n        <td colspan=\"2\" {$valueStyle}>\n          {$billingName}<br />\n          {$address|nl2br}<br />\n          {$email}\n        </td>\n      </tr>\n    {elseif !empty($email)}\n      <tr>\n        <th {$headerStyle}>\n          {ts}Registered Email{/ts}\n        </th>\n      </tr>\n      <tr>\n        <td colspan=\"2\" {$valueStyle}>\n          {$email}\n        </td>\n      </tr>\n    {/if}\n\n     {if !empty($credit_card_type)}\n      <tr>\n       <th {$headerStyle}>\n        {ts}Credit Card Information{/ts}\n       </th>\n      </tr>\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n        {$credit_card_type}<br />\n        {$credit_card_number}<br />\n        {ts}Expires{/ts}: {$credit_card_exp_date|truncate:7:\'\'|crmDate}<br />\n       </td>\n      </tr>\n     {/if}\n\n     {if !empty($selectPremium)}\n      <tr>\n       <th {$headerStyle}>\n        {ts}Premium Information{/ts}\n       </th>\n      </tr>\n      <tr>\n       <td colspan=\"2\" {$labelStyle}>\n        {$product_name}\n       </td>\n      </tr>\n      {if $option}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Option{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$option}\n        </td>\n       </tr>\n      {/if}\n      {if $sku}\n       <tr>\n        <td {$labelStyle}>\n         {ts}SKU{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$sku}\n        </td>\n       </tr>\n      {/if}\n      {if $start_date}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Start Date{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$start_date|crmDate}\n        </td>\n       </tr>\n      {/if}\n      {if $end_date}\n       <tr>\n        <td {$labelStyle}>\n         {ts}End Date{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$end_date|crmDate}\n        </td>\n       </tr>\n      {/if}\n      {if !empty($contact_email) OR !empty($contact_phone)}\n       <tr>\n        <td colspan=\"2\" {$valueStyle}>\n         <p>{ts}For information about this premium, contact:{/ts}</p>\n         {if !empty($contact_email)}\n          <p>{$contact_email}</p>\n         {/if}\n         {if !empty($contact_phone)}\n          <p>{$contact_phone}</p>\n         {/if}\n        </td>\n       </tr>\n      {/if}\n      {if !empty($is_deductible) AND !empty($price)}\n        <tr>\n         <td colspan=\"2\" {$valueStyle}>\n          <p>{ts 1=$price|crmMoney}The value of this premium is %1. This may affect the amount of the tax deduction you can claim. Consult your tax advisor for more information.{/ts}</p>\n         </td>\n        </tr>\n      {/if}\n     {/if}\n\n     {if !empty($customPre)}\n      <tr>\n       <th {$headerStyle}>\n        {$customPre_grouptitle}\n       </th>\n      </tr>\n      {foreach from=$customPre item=customValue key=customName}\n       {if (!empty($trackingFields) and ! in_array($customName, $trackingFields)) or empty($trackingFields)}\n        <tr>\n         <td {$labelStyle}>\n          {$customName}\n         </td>\n         <td {$valueStyle}>\n          {$customValue}\n         </td>\n        </tr>\n       {/if}\n      {/foreach}\n     {/if}\n\n     {if !empty($customPost)}\n      <tr>\n       <th {$headerStyle}>\n        {$customPost_grouptitle}\n       </th>\n      </tr>\n      {foreach from=$customPost item=customValue key=customName}\n       {if (!empty($trackingFields) and ! in_array($customName, $trackingFields)) or empty($trackingFields)}\n        <tr>\n         <td {$labelStyle}>\n          {$customName}\n         </td>\n         <td {$valueStyle}>\n          {$customValue}\n         </td>\n        </tr>\n       {/if}\n      {/foreach}\n     {/if}\n\n  </table>\n\n</body>\n</html>\n',1,851,'membership_online_receipt',0,1,0,NULL),
- (49,'Memberships - Auto-renew Cancellation Notification','{ts}Autorenew Membership Cancellation Notification{/ts} - {contact.display_name}\n','{assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}{$greeting},{/if}\n\n{ts 1=$membershipType}The automatic renewal of your %1 membership has been cancelled as requested. This does not affect the status of your membership - you will receive a separate notification when your membership is up for renewal.{/ts}\n\n===========================================================\n{ts}Membership Information{/ts}\n\n===========================================================\n{ts}Membership Status{/ts}: {$membership_status}\n{if $mem_start_date}{ts}Membership Start Date{/ts}: {$mem_start_date|crmDate}\n{/if}\n{if $mem_end_date}{ts}Membership End Date{/ts}: {$mem_end_date|crmDate}\n{/if}\n\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n    {assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}<p>{$greeting},</p>{/if}\n    <p>{ts 1=$membershipType}The automatic renewal of your %1 membership has been cancelled as requested. This does not affect the status of your membership - you will receive a separate notification when your membership is up for renewal.{/ts}</p>\n\n   </td>\n  </tr>\n </table>\n <table style=\"width:100%; max-width:500px; border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse;\">\n\n      <tr>\n       <th {$headerStyle}>\n        {ts}Membership Information{/ts}\n       </th>\n      </tr>\n      <tr>\n       <td {$labelStyle}>\n        {ts}Membership Status{/ts}\n       </td>\n       <td {$valueStyle}>\n        {$membership_status}\n       </td>\n      </tr>\n      {if $mem_start_date}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Membership Start Date{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$mem_start_date|crmDate}\n        </td>\n       </tr>\n      {/if}\n      {if $mem_end_date}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Membership End Date{/ts}\n        </td>\n        <td {$valueStyle}>\n          {$mem_end_date|crmDate}\n        </td>\n       </tr>\n      {/if}\n\n </table>\n\n</body>\n</html>\n',1,852,'membership_autorenew_cancelled',1,0,0,NULL),
- (50,'Memberships - Auto-renew Cancellation Notification','{ts}Autorenew Membership Cancellation Notification{/ts} - {contact.display_name}\n','{assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}{$greeting},{/if}\n\n{ts 1=$membershipType}The automatic renewal of your %1 membership has been cancelled as requested. This does not affect the status of your membership - you will receive a separate notification when your membership is up for renewal.{/ts}\n\n===========================================================\n{ts}Membership Information{/ts}\n\n===========================================================\n{ts}Membership Status{/ts}: {$membership_status}\n{if $mem_start_date}{ts}Membership Start Date{/ts}: {$mem_start_date|crmDate}\n{/if}\n{if $mem_end_date}{ts}Membership End Date{/ts}: {$mem_end_date|crmDate}\n{/if}\n\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n    {assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}<p>{$greeting},</p>{/if}\n    <p>{ts 1=$membershipType}The automatic renewal of your %1 membership has been cancelled as requested. This does not affect the status of your membership - you will receive a separate notification when your membership is up for renewal.{/ts}</p>\n\n   </td>\n  </tr>\n </table>\n <table style=\"width:100%; max-width:500px; border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse;\">\n\n      <tr>\n       <th {$headerStyle}>\n        {ts}Membership Information{/ts}\n       </th>\n      </tr>\n      <tr>\n       <td {$labelStyle}>\n        {ts}Membership Status{/ts}\n       </td>\n       <td {$valueStyle}>\n        {$membership_status}\n       </td>\n      </tr>\n      {if $mem_start_date}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Membership Start Date{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$mem_start_date|crmDate}\n        </td>\n       </tr>\n      {/if}\n      {if $mem_end_date}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Membership End Date{/ts}\n        </td>\n        <td {$valueStyle}>\n          {$mem_end_date|crmDate}\n        </td>\n       </tr>\n      {/if}\n\n </table>\n\n</body>\n</html>\n',1,852,'membership_autorenew_cancelled',0,1,0,NULL),
- (51,'Memberships - Auto-renew Billing Updates','{ts}Membership Autorenewal Billing Updates{/ts} - {contact.display_name}\n','{assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}{$greeting},{/if}\n\n{ts 1=$membershipType}Billing details for your automatically renewed %1 membership have been updated.{/ts}\n\n===========================================================\n{ts}Billing Name and Address{/ts}\n\n===========================================================\n{$billingName}\n{$address}\n\n{$email}\n\n===========================================================\n{ts}Credit Card Information{/ts}\n\n===========================================================\n{$credit_card_type}\n{$credit_card_number}\n{ts}Expires{/ts}: {$credit_card_exp_date|truncate:7:\'\'|crmDate}\n\n\n{ts 1=$receipt_from_email}If you have questions please contact us at %1{/ts}\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n    {assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}<p>{$greeting},</p>{/if}\n    <p>{ts 1=$membershipType}Billing details for your automatically renewed %1 membership have been updated.{/ts}</p>\n   </td>\n  </tr>\n  <tr>\n </table>\n\n  <table style=\"width:100%; max-width:500px; border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse;\">\n   <tr>\n        <th {$headerStyle}>\n         {ts}Billing Name and Address{/ts}\n        </th>\n       </tr>\n       <tr>\n        <td colspan=\"2\" {$valueStyle}>\n         {$billingName}<br />\n         {$address|nl2br}<br />\n         {$email}\n        </td>\n       </tr>\n        <tr>\n       <th {$headerStyle}>\n        {ts}Credit Card Information{/ts}\n       </th>\n      </tr>\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n        {$credit_card_type}<br />\n        {$credit_card_number}<br />\n        {ts}Expires{/ts}: {$credit_card_exp_date|truncate:7:\'\'|crmDate}<br />\n       </td>\n      </tr>\n      <tr>\n        <td {$labelStyle}>\n         {ts 1=$receipt_from_email}If you have questions please contact us at %1{/ts}\n        </td>\n      </tr>\n\n  </table>\n\n</body>\n</html>\n',1,853,'membership_autorenew_billing',1,0,0,NULL),
- (52,'Memberships - Auto-renew Billing Updates','{ts}Membership Autorenewal Billing Updates{/ts} - {contact.display_name}\n','{assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}{$greeting},{/if}\n\n{ts 1=$membershipType}Billing details for your automatically renewed %1 membership have been updated.{/ts}\n\n===========================================================\n{ts}Billing Name and Address{/ts}\n\n===========================================================\n{$billingName}\n{$address}\n\n{$email}\n\n===========================================================\n{ts}Credit Card Information{/ts}\n\n===========================================================\n{$credit_card_type}\n{$credit_card_number}\n{ts}Expires{/ts}: {$credit_card_exp_date|truncate:7:\'\'|crmDate}\n\n\n{ts 1=$receipt_from_email}If you have questions please contact us at %1{/ts}\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n    {assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}<p>{$greeting},</p>{/if}\n    <p>{ts 1=$membershipType}Billing details for your automatically renewed %1 membership have been updated.{/ts}</p>\n   </td>\n  </tr>\n  <tr>\n </table>\n\n  <table style=\"width:100%; max-width:500px; border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse;\">\n   <tr>\n        <th {$headerStyle}>\n         {ts}Billing Name and Address{/ts}\n        </th>\n       </tr>\n       <tr>\n        <td colspan=\"2\" {$valueStyle}>\n         {$billingName}<br />\n         {$address|nl2br}<br />\n         {$email}\n        </td>\n       </tr>\n        <tr>\n       <th {$headerStyle}>\n        {ts}Credit Card Information{/ts}\n       </th>\n      </tr>\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n        {$credit_card_type}<br />\n        {$credit_card_number}<br />\n        {ts}Expires{/ts}: {$credit_card_exp_date|truncate:7:\'\'|crmDate}<br />\n       </td>\n      </tr>\n      <tr>\n        <td {$labelStyle}>\n         {ts 1=$receipt_from_email}If you have questions please contact us at %1{/ts}\n        </td>\n      </tr>\n\n  </table>\n\n</body>\n</html>\n',1,853,'membership_autorenew_billing',0,1,0,NULL),
- (53,'Test-drive - Receipt Header','[TEST]\n','***********************************************************\n\n{ts}Test-drive Email / Receipt{/ts}\n\n{ts}This is a test-drive email. No live financial transaction has occurred.{/ts}\n\n***********************************************************\n',' <table id=\"crm-event_receipt_test\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n  <tr>\n   <td>\n    <p>{ts}Test-drive Email / Receipt{/ts}</p>\n    <p>{ts}This is a test-drive email. No live financial transaction has occurred.{/ts}</p>\n   </td>\n  </tr>\n </table>\n',1,854,'test_preview',1,0,0,NULL),
- (54,'Test-drive - Receipt Header','[TEST]\n','***********************************************************\n\n{ts}Test-drive Email / Receipt{/ts}\n\n{ts}This is a test-drive email. No live financial transaction has occurred.{/ts}\n\n***********************************************************\n',' <table id=\"crm-event_receipt_test\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n  <tr>\n   <td>\n    <p>{ts}Test-drive Email / Receipt{/ts}</p>\n    <p>{ts}This is a test-drive email. No live financial transaction has occurred.{/ts}</p>\n   </td>\n  </tr>\n </table>\n',1,854,'test_preview',0,1,0,NULL),
- (55,'Pledges - Acknowledgement','{ts}Thank you for your Pledge{/ts} - {contact.display_name}\n','{assign var=\"greeting\" value=\"{contact.email_greeting_display}\"}{if $greeting}{$greeting},{/if}\n\n{ts}Thank you for your generous pledge.{/ts}\n\n===========================================================\n{ts}Pledge Information{/ts}\n\n===========================================================\n{ts}Pledge Received{/ts}: {$create_date|truncate:10:\'\'|crmDate}\n{ts}Total Pledge Amount{/ts}: {$total_pledge_amount|crmMoney:$currency}\n\n===========================================================\n{ts}Payment Schedule{/ts}\n\n===========================================================\n{ts 1=$scheduled_amount|crmMoney:$currency 2=$frequency_interval 3=$frequency_unit 4=$installments}%1 every %2 %3 for %4 installments.{/ts}\n\n{if $frequency_day}\n\n{ts 1=$frequency_day 2=$frequency_unit}Payments are due on day %1 of the %2.{/ts}\n{/if}\n\n{if $payments}\n{assign var=\"count\" value=\"1\"}\n{foreach from=$payments item=payment}\n\n{ts 1=$count}Payment %1{/ts}: {$payment.amount|crmMoney:$currency} {if $payment.status eq 1}{ts}paid{/ts} {$payment.receive_date|truncate:10:\'\'|crmDate}{else}{ts}due{/ts} {$payment.due_date|truncate:10:\'\'|crmDate}{/if}\n{assign var=\"count\" value=`$count+1`}\n{/foreach}\n{/if}\n\n\n{ts 1=\'{domain.phone}\' 2=\'{domain.email}\'}Please contact us at %1 or send email to %2 if you have questions\nor need to modify your payment schedule.{/ts}\n\n{if $customGroup}\n{foreach from=$customGroup item=value key=customName}\n===========================================================\n{$customName}\n===========================================================\n{foreach from=$value item=v key=n}\n{$n}: {$v}\n{/foreach}\n{/foreach}\n{/if}\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n    {assign var=\"greeting\" value=\"{contact.email_greeting_display}\"}{if $greeting}<p>{$greeting},</p>{/if}\n    <p>{ts}Thank you for your generous pledge.{/ts}</p>\n   </td>\n  </tr>\n  <tr>\n   <td>\n    <table style=\"border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse; width:100%;\">\n     <tr>\n      <th {$headerStyle}>\n       {ts}Pledge Information{/ts}\n      </th>\n     </tr>\n     <tr>\n      <td {$labelStyle}>\n       {ts}Pledge Received{/ts}\n      </td>\n      <td {$valueStyle}>\n       {$create_date|truncate:10:\'\'|crmDate}\n      </td>\n     </tr>\n     <tr>\n      <td {$labelStyle}>\n       {ts}Total Pledge Amount{/ts}\n      </td>\n      <td {$valueStyle}>\n       {$total_pledge_amount|crmMoney:$currency}\n      </td>\n     </tr>\n     <tr>\n      <th {$headerStyle}>\n       {ts}Payment Schedule{/ts}\n      </th>\n     </tr>\n     <tr>\n      <td colspan=\"2\" {$valueStyle}>\n       <p>{ts 1=$scheduled_amount|crmMoney:$currency 2=$frequency_interval 3=$frequency_unit 4=$installments}%1 every %2 %3 for %4 installments.{/ts}</p>\n\n       {if $frequency_day}\n        <p>{ts 1=$frequency_day 2=$frequency_unit}Payments are due on day %1 of the %2.{/ts}</p>\n       {/if}\n      </td>\n     </tr>\n\n     {if $payments}\n      {assign var=\"count\" value=\"1\"}\n      {foreach from=$payments item=payment}\n       <tr>\n        <td {$labelStyle}>\n         {ts 1=$count}Payment %1{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$payment.amount|crmMoney:$currency} {if $payment.status eq 1}{ts}paid{/ts} {$payment.receive_date|truncate:10:\'\'|crmDate}{else}{ts}due{/ts} {$payment.due_date|truncate:10:\'\'|crmDate}{/if}\n        </td>\n       </tr>\n       {assign var=\"count\" value=`$count+1`}\n      {/foreach}\n     {/if}\n\n     <tr>\n      <td colspan=\"2\" {$valueStyle}>\n       <p>{ts 1=\'{domain.phone}\' 2=\'{domain.email}\'}Please contact us at %1 or send email to %2 if you have questions\nor need to modify your payment schedule.{/ts}</p>\n      </td>\n     </tr>\n\n     {if $customGroup}\n      {foreach from=$customGroup item=value key=customName}\n       <tr>\n        <th {$headerStyle}>\n         {$customName}\n        </th>\n       </tr>\n       {foreach from=$value item=v key=n}\n        <tr>\n         <td {$labelStyle}>\n          {$n}\n         </td>\n         <td {$valueStyle}>\n          {$v}\n         </td>\n        </tr>\n       {/foreach}\n      {/foreach}\n     {/if}\n\n    </table>\n   </td>\n  </tr>\n\n </table>\n\n</body>\n</html>\n',1,855,'pledge_acknowledge',1,0,0,NULL),
- (56,'Pledges - Acknowledgement','{ts}Thank you for your Pledge{/ts} - {contact.display_name}\n','{assign var=\"greeting\" value=\"{contact.email_greeting_display}\"}{if $greeting}{$greeting},{/if}\n\n{ts}Thank you for your generous pledge.{/ts}\n\n===========================================================\n{ts}Pledge Information{/ts}\n\n===========================================================\n{ts}Pledge Received{/ts}: {$create_date|truncate:10:\'\'|crmDate}\n{ts}Total Pledge Amount{/ts}: {$total_pledge_amount|crmMoney:$currency}\n\n===========================================================\n{ts}Payment Schedule{/ts}\n\n===========================================================\n{ts 1=$scheduled_amount|crmMoney:$currency 2=$frequency_interval 3=$frequency_unit 4=$installments}%1 every %2 %3 for %4 installments.{/ts}\n\n{if $frequency_day}\n\n{ts 1=$frequency_day 2=$frequency_unit}Payments are due on day %1 of the %2.{/ts}\n{/if}\n\n{if $payments}\n{assign var=\"count\" value=\"1\"}\n{foreach from=$payments item=payment}\n\n{ts 1=$count}Payment %1{/ts}: {$payment.amount|crmMoney:$currency} {if $payment.status eq 1}{ts}paid{/ts} {$payment.receive_date|truncate:10:\'\'|crmDate}{else}{ts}due{/ts} {$payment.due_date|truncate:10:\'\'|crmDate}{/if}\n{assign var=\"count\" value=`$count+1`}\n{/foreach}\n{/if}\n\n\n{ts 1=\'{domain.phone}\' 2=\'{domain.email}\'}Please contact us at %1 or send email to %2 if you have questions\nor need to modify your payment schedule.{/ts}\n\n{if $customGroup}\n{foreach from=$customGroup item=value key=customName}\n===========================================================\n{$customName}\n===========================================================\n{foreach from=$value item=v key=n}\n{$n}: {$v}\n{/foreach}\n{/foreach}\n{/if}\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n    {assign var=\"greeting\" value=\"{contact.email_greeting_display}\"}{if $greeting}<p>{$greeting},</p>{/if}\n    <p>{ts}Thank you for your generous pledge.{/ts}</p>\n   </td>\n  </tr>\n  <tr>\n   <td>\n    <table style=\"border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse; width:100%;\">\n     <tr>\n      <th {$headerStyle}>\n       {ts}Pledge Information{/ts}\n      </th>\n     </tr>\n     <tr>\n      <td {$labelStyle}>\n       {ts}Pledge Received{/ts}\n      </td>\n      <td {$valueStyle}>\n       {$create_date|truncate:10:\'\'|crmDate}\n      </td>\n     </tr>\n     <tr>\n      <td {$labelStyle}>\n       {ts}Total Pledge Amount{/ts}\n      </td>\n      <td {$valueStyle}>\n       {$total_pledge_amount|crmMoney:$currency}\n      </td>\n     </tr>\n     <tr>\n      <th {$headerStyle}>\n       {ts}Payment Schedule{/ts}\n      </th>\n     </tr>\n     <tr>\n      <td colspan=\"2\" {$valueStyle}>\n       <p>{ts 1=$scheduled_amount|crmMoney:$currency 2=$frequency_interval 3=$frequency_unit 4=$installments}%1 every %2 %3 for %4 installments.{/ts}</p>\n\n       {if $frequency_day}\n        <p>{ts 1=$frequency_day 2=$frequency_unit}Payments are due on day %1 of the %2.{/ts}</p>\n       {/if}\n      </td>\n     </tr>\n\n     {if $payments}\n      {assign var=\"count\" value=\"1\"}\n      {foreach from=$payments item=payment}\n       <tr>\n        <td {$labelStyle}>\n         {ts 1=$count}Payment %1{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$payment.amount|crmMoney:$currency} {if $payment.status eq 1}{ts}paid{/ts} {$payment.receive_date|truncate:10:\'\'|crmDate}{else}{ts}due{/ts} {$payment.due_date|truncate:10:\'\'|crmDate}{/if}\n        </td>\n       </tr>\n       {assign var=\"count\" value=`$count+1`}\n      {/foreach}\n     {/if}\n\n     <tr>\n      <td colspan=\"2\" {$valueStyle}>\n       <p>{ts 1=\'{domain.phone}\' 2=\'{domain.email}\'}Please contact us at %1 or send email to %2 if you have questions\nor need to modify your payment schedule.{/ts}</p>\n      </td>\n     </tr>\n\n     {if $customGroup}\n      {foreach from=$customGroup item=value key=customName}\n       <tr>\n        <th {$headerStyle}>\n         {$customName}\n        </th>\n       </tr>\n       {foreach from=$value item=v key=n}\n        <tr>\n         <td {$labelStyle}>\n          {$n}\n         </td>\n         <td {$valueStyle}>\n          {$v}\n         </td>\n        </tr>\n       {/foreach}\n      {/foreach}\n     {/if}\n\n    </table>\n   </td>\n  </tr>\n\n </table>\n\n</body>\n</html>\n',1,855,'pledge_acknowledge',0,1,0,NULL),
- (57,'Pledges - Payment Reminder','{ts}Pledge Payment Reminder{/ts} - {contact.display_name}\n','{assign var=\"greeting\" value=\"{contact.email_greeting_display}\"}{if $greeting}{$greeting},{/if}\n\n{ts 1=$next_payment|truncate:10:\'\'|crmDate}This is a reminder that the next payment on your pledge is due on %1.{/ts}\n\n===========================================================\n{ts}Payment Due{/ts}\n\n===========================================================\n{ts}Amount Due{/ts}: {$amount_due|crmMoney:$currency}\n{ts}Due Date{/ts}: {$scheduled_payment_date|truncate:10:\'\'|crmDate}\n\n{if $contribution_page_id}\n{capture assign=contributionUrl}{crmURL p=\'civicrm/contribute/transact\' q=\"reset=1&id=`$contribution_page_id`&cid=`{contact.id}`&pledgeId=`$pledge_id`&cs=`$checksumValue`\" a=true h=0 fe=1}{/capture}\nClick this link to go to a web page where you can make your payment online:\n{$contributionUrl}\n{else}\n{ts}Please mail your payment to{/ts}:\n{domain.address}\n{/if}\n\n===========================================================\n{ts}Pledge Information{/ts}\n\n===========================================================\n{ts}Pledge Received{/ts}: {$create_date|truncate:10:\'\'|crmDate}\n{ts}Total Pledge Amount{/ts}: {$amount|crmMoney:$currency}\n{ts}Total Paid{/ts}: {$amount_paid|crmMoney:$currency}\n\n{ts 1=\'{domain.phone}\' 2=\'{domain.email}\'} Please contact us at %1 or send email to %2 if you have questions\nor need to modify your payment schedule.{/ts}\n\n\n{ts}Thank your for your generous support.{/ts}\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n    {assign var=\"greeting\" value=\"{contact.email_greeting_display}\"}{if $greeting}<p>{$greeting},</p>{/if}\n    <p>{ts 1=$next_payment|truncate:10:\'\'|crmDate}This is a reminder that the next payment on your pledge is due on %1.{/ts}</p>\n   </td>\n  </tr>\n  <tr>\n   <td>\n    <table style=\"border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse; width:100%;\">\n     <tr>\n      <th {$headerStyle}>\n       {ts}Payment Due{/ts}\n      </th>\n     </tr>\n     <tr>\n      <td {$labelStyle}>\n       {ts}Amount Due{/ts}\n      </td>\n      <td {$valueStyle}>\n       {$amount_due|crmMoney:$currency}\n      </td>\n     </tr>\n    </table>\n   </td>\n  </tr>\n\n  <tr>\n   <td>\n    {if $contribution_page_id}\n     {capture assign=contributionUrl}{crmURL p=\'civicrm/contribute/transact\' q=\"reset=1&id=`$contribution_page_id`&cid=`{contact.id}`&pledgeId=`$pledge_id`&cs=`$checksumValue`\" a=true h=0 fe=1}{/capture}\n     <p><a href=\"{$contributionUrl}\">{ts}Go to a web page where you can make your payment online{/ts}</a></p>\n    {else}\n     <p>{ts}Please mail your payment to{/ts}: {domain.address}</p>\n    {/if}\n   </td>\n  </tr>\n\n  <tr>\n   <td>\n    <table style=\"border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse; width:100%;\">\n     <tr>\n      <th {$headerStyle}>\n       {ts}Pledge Information{/ts}\n      </th>\n     </tr>\n     <tr>\n      <td {$labelStyle}>\n       {ts}Pledge Received{/ts}\n      </td>\n      <td {$valueStyle}>\n       {$create_date|truncate:10:\'\'|crmDate}\n      </td>\n     </tr>\n     <tr>\n      <td {$labelStyle}>\n       {ts}Total Pledge Amount{/ts}\n      </td>\n      <td {$valueStyle}>\n       {$amount|crmMoney:$currency}\n      </td>\n     </tr>\n     <tr>\n      <td {$labelStyle}>\n       {ts}Total Paid{/ts}\n      </td>\n      <td {$valueStyle}>\n       {$amount_paid|crmMoney:$currency}\n      </td>\n     </tr>\n    </table>\n   </td>\n  </tr>\n\n  <tr>\n   <td>\n    <p>{ts 1=\'{domain.phone}\' 2=\'{domain.email}\'}Please contact us at %1 or send email to %2 if you have questions\nor need to modify your payment schedule.{/ts}</p>\n    <p>{ts}Thank your for your generous support.{/ts}</p>\n   </td>\n  </tr>\n\n </table>\n\n</body>\n</html>\n',1,856,'pledge_reminder',1,0,0,NULL),
- (58,'Pledges - Payment Reminder','{ts}Pledge Payment Reminder{/ts} - {contact.display_name}\n','{assign var=\"greeting\" value=\"{contact.email_greeting_display}\"}{if $greeting}{$greeting},{/if}\n\n{ts 1=$next_payment|truncate:10:\'\'|crmDate}This is a reminder that the next payment on your pledge is due on %1.{/ts}\n\n===========================================================\n{ts}Payment Due{/ts}\n\n===========================================================\n{ts}Amount Due{/ts}: {$amount_due|crmMoney:$currency}\n{ts}Due Date{/ts}: {$scheduled_payment_date|truncate:10:\'\'|crmDate}\n\n{if $contribution_page_id}\n{capture assign=contributionUrl}{crmURL p=\'civicrm/contribute/transact\' q=\"reset=1&id=`$contribution_page_id`&cid=`{contact.id}`&pledgeId=`$pledge_id`&cs=`$checksumValue`\" a=true h=0 fe=1}{/capture}\nClick this link to go to a web page where you can make your payment online:\n{$contributionUrl}\n{else}\n{ts}Please mail your payment to{/ts}:\n{domain.address}\n{/if}\n\n===========================================================\n{ts}Pledge Information{/ts}\n\n===========================================================\n{ts}Pledge Received{/ts}: {$create_date|truncate:10:\'\'|crmDate}\n{ts}Total Pledge Amount{/ts}: {$amount|crmMoney:$currency}\n{ts}Total Paid{/ts}: {$amount_paid|crmMoney:$currency}\n\n{ts 1=\'{domain.phone}\' 2=\'{domain.email}\'} Please contact us at %1 or send email to %2 if you have questions\nor need to modify your payment schedule.{/ts}\n\n\n{ts}Thank your for your generous support.{/ts}\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n    {assign var=\"greeting\" value=\"{contact.email_greeting_display}\"}{if $greeting}<p>{$greeting},</p>{/if}\n    <p>{ts 1=$next_payment|truncate:10:\'\'|crmDate}This is a reminder that the next payment on your pledge is due on %1.{/ts}</p>\n   </td>\n  </tr>\n  <tr>\n   <td>\n    <table style=\"border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse; width:100%;\">\n     <tr>\n      <th {$headerStyle}>\n       {ts}Payment Due{/ts}\n      </th>\n     </tr>\n     <tr>\n      <td {$labelStyle}>\n       {ts}Amount Due{/ts}\n      </td>\n      <td {$valueStyle}>\n       {$amount_due|crmMoney:$currency}\n      </td>\n     </tr>\n    </table>\n   </td>\n  </tr>\n\n  <tr>\n   <td>\n    {if $contribution_page_id}\n     {capture assign=contributionUrl}{crmURL p=\'civicrm/contribute/transact\' q=\"reset=1&id=`$contribution_page_id`&cid=`{contact.id}`&pledgeId=`$pledge_id`&cs=`$checksumValue`\" a=true h=0 fe=1}{/capture}\n     <p><a href=\"{$contributionUrl}\">{ts}Go to a web page where you can make your payment online{/ts}</a></p>\n    {else}\n     <p>{ts}Please mail your payment to{/ts}: {domain.address}</p>\n    {/if}\n   </td>\n  </tr>\n\n  <tr>\n   <td>\n    <table style=\"border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse; width:100%;\">\n     <tr>\n      <th {$headerStyle}>\n       {ts}Pledge Information{/ts}\n      </th>\n     </tr>\n     <tr>\n      <td {$labelStyle}>\n       {ts}Pledge Received{/ts}\n      </td>\n      <td {$valueStyle}>\n       {$create_date|truncate:10:\'\'|crmDate}\n      </td>\n     </tr>\n     <tr>\n      <td {$labelStyle}>\n       {ts}Total Pledge Amount{/ts}\n      </td>\n      <td {$valueStyle}>\n       {$amount|crmMoney:$currency}\n      </td>\n     </tr>\n     <tr>\n      <td {$labelStyle}>\n       {ts}Total Paid{/ts}\n      </td>\n      <td {$valueStyle}>\n       {$amount_paid|crmMoney:$currency}\n      </td>\n     </tr>\n    </table>\n   </td>\n  </tr>\n\n  <tr>\n   <td>\n    <p>{ts 1=\'{domain.phone}\' 2=\'{domain.email}\'}Please contact us at %1 or send email to %2 if you have questions\nor need to modify your payment schedule.{/ts}</p>\n    <p>{ts}Thank your for your generous support.{/ts}</p>\n   </td>\n  </tr>\n\n </table>\n\n</body>\n</html>\n',1,856,'pledge_reminder',0,1,0,NULL),
- (59,'Profiles - Admin Notification','{$grouptitle} {ts 1=$displayName}Submitted by %1{/ts} - {contact.display_name}\n','{ts}Submitted For:{/ts} {$displayName}\n{ts}Date:{/ts} {$currentDate}\n{ts}Contact Summary:{/ts} {$contactLink}\n\n===========================================================\n{$grouptitle}\n\n===========================================================\n{foreach from=$values item=value key=valueName}\n{$valueName}: {$value}\n{/foreach}\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n    <table style=\"border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse; width:100%;\">\n     <tr>\n      <td {$labelStyle}>\n       {ts}Submitted For{/ts}\n      </td>\n      <td {$valueStyle}>\n       {$displayName}\n      </td>\n     </tr>\n     <tr>\n      <td {$labelStyle}>\n       {ts}Date{/ts}\n      </td>\n      <td {$valueStyle}>\n       {$currentDate}\n      </td>\n     </tr>\n     <tr>\n      <td {$labelStyle}>\n       {ts}Contact Summary{/ts}\n      </td>\n      <td {$valueStyle}>\n       {$contactLink}\n      </td>\n     </tr>\n\n     <tr>\n      <th {$headerStyle}>\n       {$grouptitle}\n      </th>\n     </tr>\n\n     {foreach from=$values item=value key=valueName}\n      <tr>\n       <td {$labelStyle}>\n        {$valueName}\n       </td>\n       <td {$valueStyle}>\n        {$value}\n       </td>\n      </tr>\n     {/foreach}\n    </table>\n   </td>\n  </tr>\n\n </table>\n\n</body>\n</html>\n',1,857,'uf_notify',1,0,0,NULL),
- (60,'Profiles - Admin Notification','{$grouptitle} {ts 1=$displayName}Submitted by %1{/ts} - {contact.display_name}\n','{ts}Submitted For:{/ts} {$displayName}\n{ts}Date:{/ts} {$currentDate}\n{ts}Contact Summary:{/ts} {$contactLink}\n\n===========================================================\n{$grouptitle}\n\n===========================================================\n{foreach from=$values item=value key=valueName}\n{$valueName}: {$value}\n{/foreach}\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n    <table style=\"border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse; width:100%;\">\n     <tr>\n      <td {$labelStyle}>\n       {ts}Submitted For{/ts}\n      </td>\n      <td {$valueStyle}>\n       {$displayName}\n      </td>\n     </tr>\n     <tr>\n      <td {$labelStyle}>\n       {ts}Date{/ts}\n      </td>\n      <td {$valueStyle}>\n       {$currentDate}\n      </td>\n     </tr>\n     <tr>\n      <td {$labelStyle}>\n       {ts}Contact Summary{/ts}\n      </td>\n      <td {$valueStyle}>\n       {$contactLink}\n      </td>\n     </tr>\n\n     <tr>\n      <th {$headerStyle}>\n       {$grouptitle}\n      </th>\n     </tr>\n\n     {foreach from=$values item=value key=valueName}\n      <tr>\n       <td {$labelStyle}>\n        {$valueName}\n       </td>\n       <td {$valueStyle}>\n        {$value}\n       </td>\n      </tr>\n     {/foreach}\n    </table>\n   </td>\n  </tr>\n\n </table>\n\n</body>\n</html>\n',1,857,'uf_notify',0,1,0,NULL),
- (61,'Petition - signature added','Thank you for signing {$petition.title} - {contact.display_name}\n','{assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}{$greeting},{/if}\n\nThank you for signing {$petition.title}.\n','{assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}<p>{$greeting},</p>{/if}\n\n<p>Thank you for signing {$petition.title}.</p>\n\n{include file=\"CRM/Campaign/Page/Petition/SocialNetwork.tpl\" petition_id=$survey_id noscript=true emailMode=true}\n',1,858,'petition_sign',1,0,0,NULL),
- (62,'Petition - signature added','Thank you for signing {$petition.title} - {contact.display_name}\n','{assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}{$greeting},{/if}\n\nThank you for signing {$petition.title}.\n','{assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}<p>{$greeting},</p>{/if}\n\n<p>Thank you for signing {$petition.title}.</p>\n\n{include file=\"CRM/Campaign/Page/Petition/SocialNetwork.tpl\" petition_id=$survey_id noscript=true emailMode=true}\n',1,858,'petition_sign',0,1,0,NULL),
- (63,'Petition - need verification','Confirmation of signature needed for {$petition.title} - {contact.display_name}\n','{assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}{$greeting},{/if}\n\nThank you for signing {$petition.title}.\n\nIn order to complete your signature, we must confirm your e-mail.\nPlease do so by visiting the following email confirmation web page:\n\n{$petition.confirmUrlPlainText}\n\nIf you did not sign this petition, please ignore this message.\n','{assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}<p>{$greeting},</p>{/if}\n\n<p>Thank you for signing {$petition.title}.</p>\n\n<p>In order to <b>complete your signature</b>, we must confirm your e-mail.\n<br />\nPlease do so by visiting the following web page by clicking\non the link below or pasting the link into your browser.\n<br /><br />\nEmail confirmation page: <a href=\"{$petition.confirmUrl}\">{$petition.confirmUrl}</a></p>\n\n<p>If you did not sign this petition, please ignore this message.</p>\n',1,859,'petition_confirmation_needed',1,0,0,NULL),
- (64,'Petition - need verification','Confirmation of signature needed for {$petition.title} - {contact.display_name}\n','{assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}{$greeting},{/if}\n\nThank you for signing {$petition.title}.\n\nIn order to complete your signature, we must confirm your e-mail.\nPlease do so by visiting the following email confirmation web page:\n\n{$petition.confirmUrlPlainText}\n\nIf you did not sign this petition, please ignore this message.\n','{assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}<p>{$greeting},</p>{/if}\n\n<p>Thank you for signing {$petition.title}.</p>\n\n<p>In order to <b>complete your signature</b>, we must confirm your e-mail.\n<br />\nPlease do so by visiting the following web page by clicking\non the link below or pasting the link into your browser.\n<br /><br />\nEmail confirmation page: <a href=\"{$petition.confirmUrl}\">{$petition.confirmUrl}</a></p>\n\n<p>If you did not sign this petition, please ignore this message.</p>\n',1,859,'petition_confirmation_needed',0,1,0,NULL),
+ (1,'Cases - Send Copy of an Activity','{if !empty($idHash)}[case #{$idHash}]{/if} {$activitySubject}\n','===========================================================\n{ts}Activity Summary{/ts} - {$activityTypeName}\n===========================================================\n{if !empty($isCaseActivity)}\n{ts}Your Case Role(s){/ts} : {$contact.role|default:\'\'}\n{if !empty($manageCaseURL)}\n{ts}Manage Case{/ts} : {$manageCaseURL}\n{/if}\n{/if}\n\n{if !empty($editActURL)}\n{ts}Edit activity{/ts} : {$editActURL}\n{/if}\n{if !empty($viewActURL)}\n{ts}View activity{/ts} : {$viewActURL}\n{/if}\n\n{foreach from=$activity.fields item=field}\n{if $field.type eq \'Date\'}\n{$field.label} : {$field.value|crmDate:$config->dateformatDatetime}\n{else}\n{$field.label} : {$field.value}\n{/if}\n{/foreach}\n\n{if !empty($activity.customGroups)}\n{foreach from=$activity.customGroups key=customGroupName item=customGroup}\n==========================================================\n{$customGroupName}\n==========================================================\n{foreach from=$customGroup item=field}\n{if $field.type eq \'Date\'}\n{$field.label} : {$field.value|crmDate:$config->dateformatDatetime}\n{else}\n{$field.label} : {$field.value}\n{/if}\n{/foreach}\n\n{/foreach}\n{/if}\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n  {capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n  {capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n  {capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n    <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n    <!-- BEGIN HEADER -->\n    <!-- You can add table row(s) here with logo or other header elements -->\n    <!-- END HEADER -->\n\n    <!-- BEGIN CONTENT -->\n\n      <tr>\n        <td>\n          <table style=\"border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse; width:100%;\">\n            <tr>\n              <th {$headerStyle}>\n                {ts}Activity Summary{/ts} - {$activityTypeName}\n              </th>\n            </tr>\n            {if !empty($isCaseActivity)}\n              <tr>\n                <td {$labelStyle}>\n                  {ts}Your Case Role(s){/ts}\n                </td>\n                <td {$valueStyle}>\n                  {$contact.role|default:\'\'}\n                </td>\n              </tr>\n              {if !empty($manageCaseURL)}\n                <tr>\n                  <td colspan=\"2\" {$valueStyle}>\n                    <a href=\"{$manageCaseURL}\" title=\"{ts}Manage Case{/ts}\">{ts}Manage Case{/ts}</a>\n                  </td>\n                </tr>\n              {/if}\n            {/if}\n            {if !empty($editActURL)}\n              <tr>\n                <td colspan=\"2\" {$valueStyle}>\n                  <a href=\"{$editActURL}\" title=\"{ts}Edit activity{/ts}\">{ts}Edit activity{/ts}</a>\n                </td>\n              </tr>\n            {/if}\n            {if !empty($viewActURL)}\n              <tr>\n                <td colspan=\"2\" {$valueStyle}>\n                  <a href=\"{$viewActURL}\" title=\"{ts}View activity{/ts}\">{ts}View activity{/ts}</a>\n                </td>\n              </tr>\n            {/if}\n            {foreach from=$activity.fields item=field}\n              <tr>\n                <td {$labelStyle}>\n                  {$field.label}\n                </td>\n                <td {$valueStyle}>\n                  {if $field.type eq \'Date\'}\n                    {$field.value|crmDate:$config->dateformatDatetime}\n                  {else}\n                    {$field.value}\n                  {/if}\n                </td>\n              </tr>\n            {/foreach}\n\n            {if !empty($activity.customGroups)}\n              {foreach from=$activity.customGroups key=customGroupName item=customGroup}\n                <tr>\n                  <th {$headerStyle}>\n                    {$customGroupName}\n                  </th>\n                </tr>\n                {foreach from=$customGroup item=field}\n                  <tr>\n                    <td {$labelStyle}>\n                      {$field.label}\n                    </td>\n                    <td {$valueStyle}>\n                      {if $field.type eq \'Date\'}\n                        {$field.value|crmDate:$config->dateformatDatetime}\n                      {else}\n                        {$field.value}\n                      {/if}\n                    </td>\n                  </tr>\n                {/foreach}\n              {/foreach}\n            {/if}\n          </table>\n        </td>\n      </tr>\n    </table>\n</body>\n</html>\n',1,812,'case_activity',1,0,0,NULL),
+ (2,'Cases - Send Copy of an Activity','{if !empty($idHash)}[case #{$idHash}]{/if} {$activitySubject}\n','===========================================================\n{ts}Activity Summary{/ts} - {$activityTypeName}\n===========================================================\n{if !empty($isCaseActivity)}\n{ts}Your Case Role(s){/ts} : {$contact.role|default:\'\'}\n{if !empty($manageCaseURL)}\n{ts}Manage Case{/ts} : {$manageCaseURL}\n{/if}\n{/if}\n\n{if !empty($editActURL)}\n{ts}Edit activity{/ts} : {$editActURL}\n{/if}\n{if !empty($viewActURL)}\n{ts}View activity{/ts} : {$viewActURL}\n{/if}\n\n{foreach from=$activity.fields item=field}\n{if $field.type eq \'Date\'}\n{$field.label} : {$field.value|crmDate:$config->dateformatDatetime}\n{else}\n{$field.label} : {$field.value}\n{/if}\n{/foreach}\n\n{if !empty($activity.customGroups)}\n{foreach from=$activity.customGroups key=customGroupName item=customGroup}\n==========================================================\n{$customGroupName}\n==========================================================\n{foreach from=$customGroup item=field}\n{if $field.type eq \'Date\'}\n{$field.label} : {$field.value|crmDate:$config->dateformatDatetime}\n{else}\n{$field.label} : {$field.value}\n{/if}\n{/foreach}\n\n{/foreach}\n{/if}\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n  {capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n  {capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n  {capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n    <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n    <!-- BEGIN HEADER -->\n    <!-- You can add table row(s) here with logo or other header elements -->\n    <!-- END HEADER -->\n\n    <!-- BEGIN CONTENT -->\n\n      <tr>\n        <td>\n          <table style=\"border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse; width:100%;\">\n            <tr>\n              <th {$headerStyle}>\n                {ts}Activity Summary{/ts} - {$activityTypeName}\n              </th>\n            </tr>\n            {if !empty($isCaseActivity)}\n              <tr>\n                <td {$labelStyle}>\n                  {ts}Your Case Role(s){/ts}\n                </td>\n                <td {$valueStyle}>\n                  {$contact.role|default:\'\'}\n                </td>\n              </tr>\n              {if !empty($manageCaseURL)}\n                <tr>\n                  <td colspan=\"2\" {$valueStyle}>\n                    <a href=\"{$manageCaseURL}\" title=\"{ts}Manage Case{/ts}\">{ts}Manage Case{/ts}</a>\n                  </td>\n                </tr>\n              {/if}\n            {/if}\n            {if !empty($editActURL)}\n              <tr>\n                <td colspan=\"2\" {$valueStyle}>\n                  <a href=\"{$editActURL}\" title=\"{ts}Edit activity{/ts}\">{ts}Edit activity{/ts}</a>\n                </td>\n              </tr>\n            {/if}\n            {if !empty($viewActURL)}\n              <tr>\n                <td colspan=\"2\" {$valueStyle}>\n                  <a href=\"{$viewActURL}\" title=\"{ts}View activity{/ts}\">{ts}View activity{/ts}</a>\n                </td>\n              </tr>\n            {/if}\n            {foreach from=$activity.fields item=field}\n              <tr>\n                <td {$labelStyle}>\n                  {$field.label}\n                </td>\n                <td {$valueStyle}>\n                  {if $field.type eq \'Date\'}\n                    {$field.value|crmDate:$config->dateformatDatetime}\n                  {else}\n                    {$field.value}\n                  {/if}\n                </td>\n              </tr>\n            {/foreach}\n\n            {if !empty($activity.customGroups)}\n              {foreach from=$activity.customGroups key=customGroupName item=customGroup}\n                <tr>\n                  <th {$headerStyle}>\n                    {$customGroupName}\n                  </th>\n                </tr>\n                {foreach from=$customGroup item=field}\n                  <tr>\n                    <td {$labelStyle}>\n                      {$field.label}\n                    </td>\n                    <td {$valueStyle}>\n                      {if $field.type eq \'Date\'}\n                        {$field.value|crmDate:$config->dateformatDatetime}\n                      {else}\n                        {$field.value}\n                      {/if}\n                    </td>\n                  </tr>\n                {/foreach}\n              {/foreach}\n            {/if}\n          </table>\n        </td>\n      </tr>\n    </table>\n</body>\n</html>\n',1,812,'case_activity',0,1,0,NULL),
+ (3,'Contributions - Duplicate Organization Alert','{ts}CiviContribute Alert: Possible Duplicate Contact Record{/ts} - {contact.display_name}\n','{ts}A contribution / membership signup was made on behalf of the organization listed below.{/ts}\n{ts}The information provided matched multiple existing database records based on the configured Duplicate Matching Rules for your site.{/ts}\n\n{ts}Organization Name{/ts}: {$onBehalfName}\n{ts}Organization Email{/ts}: {$onBehalfEmail}\n{ts}Organization Contact ID{/ts}: {$onBehalfID}\n\n{ts}If you think this may be a duplicate contact which should be merged with an existing record - Go to \"Contacts >> Find and Merge Duplicate Contacts\". Use the strict rule for Organizations to find the potential duplicates and merge them if appropriate.{/ts}\n\n{if $receiptMessage}\n###########################################################\n{ts}Copy of Contribution Receipt{/ts}\n\n###########################################################\n{$receiptMessage}\n\n{/if}\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n    <p>{ts}A contribution / membership signup was made on behalf of the organization listed below.{/ts}</p>\n    <p>{ts}The information provided matched multiple existing database records based on the configured Duplicate Matching Rules for your site.{/ts}</p>\n   </td>\n  </tr>\n  <tr>\n   <td>\n    <table style=\"border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse; width:100%;\">\n     <tr>\n      <td {$labelStyle}>\n       {ts}Organization Name{/ts}\n      </td>\n      <td {$valueStyle}>\n       {$onBehalfName}\n      </td>\n     </tr>\n     <tr>\n      <td {$labelStyle}>\n       {ts}Organization Email{/ts}\n      </td>\n      <td {$valueStyle}>\n       {$onBehalfEmail}\n      </td>\n     </tr>\n     <tr>\n      <td {$labelStyle}>\n       {ts}Organization Contact ID{/ts}\n      </td>\n      <td {$valueStyle}>\n       {$onBehalfID}\n      </td>\n     </tr>\n    </table>\n   </td>\n  </tr>\n  <tr>\n   <td>\n    <p>{ts}If you think this may be a duplicate contact which should be merged with an existing record - Go to \"Contacts >> Find and Merge Duplicate Contacts\". Use the strict rule for Organizations to find the potential duplicates and merge them if appropriate.{/ts}</p>\n   </td>\n  </tr>\n  {if $receiptMessage}\n   <tr>\n    <td>\n     <table style=\"border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse; width:100%;\">\n      <tr>\n       <th {$headerStyle}>\n        {ts}Copy of Contribution Receipt{/ts}\n       </th>\n      </tr>\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n        {* FIXME: the below is most probably not HTML-ised *}\n        {$receiptMessage}\n       </td>\n      </tr>\n     </table>\n    </td>\n   </tr>\n  {/if}\n </table>\n</body>\n</html>\n',1,813,'contribution_dupalert',1,0,0,NULL),
+ (4,'Contributions - Duplicate Organization Alert','{ts}CiviContribute Alert: Possible Duplicate Contact Record{/ts} - {contact.display_name}\n','{ts}A contribution / membership signup was made on behalf of the organization listed below.{/ts}\n{ts}The information provided matched multiple existing database records based on the configured Duplicate Matching Rules for your site.{/ts}\n\n{ts}Organization Name{/ts}: {$onBehalfName}\n{ts}Organization Email{/ts}: {$onBehalfEmail}\n{ts}Organization Contact ID{/ts}: {$onBehalfID}\n\n{ts}If you think this may be a duplicate contact which should be merged with an existing record - Go to \"Contacts >> Find and Merge Duplicate Contacts\". Use the strict rule for Organizations to find the potential duplicates and merge them if appropriate.{/ts}\n\n{if $receiptMessage}\n###########################################################\n{ts}Copy of Contribution Receipt{/ts}\n\n###########################################################\n{$receiptMessage}\n\n{/if}\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n    <p>{ts}A contribution / membership signup was made on behalf of the organization listed below.{/ts}</p>\n    <p>{ts}The information provided matched multiple existing database records based on the configured Duplicate Matching Rules for your site.{/ts}</p>\n   </td>\n  </tr>\n  <tr>\n   <td>\n    <table style=\"border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse; width:100%;\">\n     <tr>\n      <td {$labelStyle}>\n       {ts}Organization Name{/ts}\n      </td>\n      <td {$valueStyle}>\n       {$onBehalfName}\n      </td>\n     </tr>\n     <tr>\n      <td {$labelStyle}>\n       {ts}Organization Email{/ts}\n      </td>\n      <td {$valueStyle}>\n       {$onBehalfEmail}\n      </td>\n     </tr>\n     <tr>\n      <td {$labelStyle}>\n       {ts}Organization Contact ID{/ts}\n      </td>\n      <td {$valueStyle}>\n       {$onBehalfID}\n      </td>\n     </tr>\n    </table>\n   </td>\n  </tr>\n  <tr>\n   <td>\n    <p>{ts}If you think this may be a duplicate contact which should be merged with an existing record - Go to \"Contacts >> Find and Merge Duplicate Contacts\". Use the strict rule for Organizations to find the potential duplicates and merge them if appropriate.{/ts}</p>\n   </td>\n  </tr>\n  {if $receiptMessage}\n   <tr>\n    <td>\n     <table style=\"border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse; width:100%;\">\n      <tr>\n       <th {$headerStyle}>\n        {ts}Copy of Contribution Receipt{/ts}\n       </th>\n      </tr>\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n        {* FIXME: the below is most probably not HTML-ised *}\n        {$receiptMessage}\n       </td>\n      </tr>\n     </table>\n    </td>\n   </tr>\n  {/if}\n </table>\n</body>\n</html>\n',1,813,'contribution_dupalert',0,1,0,NULL),
+ (5,'Contributions - Receipt (off-line)','{ts}Contribution Receipt{/ts} - {contact.display_name}\n','{assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}{$greeting},{/if}\n\n{if !empty($formValues.receipt_text)}\n{$formValues.receipt_text}\n{else}{ts}Below you will find a receipt for this contribution.{/ts}{/if}\n\n===========================================================\n{ts}Contribution Information{/ts}\n\n===========================================================\n{ts}Contributor{/ts}: {contact.display_name}\n{if \'{contribution.financial_type_id}\'}\n{ts}Financial Type{/ts}: {contribution.financial_type_id:label}\n{/if}\n{if $lineItem}\n{foreach from=$lineItem item=value key=priceset}\n---------------------------------------------------------\n{capture assign=ts_item}{ts}Item{/ts}{/capture}\n{capture assign=ts_qty}{ts}Qty{/ts}{/capture}\n{capture assign=ts_each}{ts}Each{/ts}{/capture}\n{if !empty($getTaxDetails)}\n{capture assign=ts_subtotal}{ts}Subtotal{/ts}{/capture}\n{capture assign=ts_taxRate}{ts}Tax Rate{/ts}{/capture}\n{capture assign=ts_taxAmount}{ts}Tax Amount{/ts}{/capture}\n{/if}\n{capture assign=ts_total}{ts}Total{/ts}{/capture}\n{$ts_item|string_format:\"%-30s\"} {$ts_qty|string_format:\"%5s\"} {$ts_each|string_format:\"%10s\"} {if !empty($getTaxDetails)} {$ts_subtotal|string_format:\"%10s\"} {$ts_taxRate} {$ts_taxAmount|string_format:\"%10s\"} {/if} {$ts_total|string_format:\"%10s\"}\n----------------------------------------------------------\n{foreach from=$value item=line}\n{capture assign=ts_item}{if $line.html_type eq \'Text\'}{$line.label}{else}{$line.field_title} - {$line.label}{/if} {if $line.description} {$line.description}{/if}{/capture}{$ts_item|truncate:30:\"...\"|string_format:\"%-30s\"} {$line.qty|string_format:\"%5s\"} {$line.unit_price|crmMoney:$currency|string_format:\"%10s\"} {if !empty($getTaxDetails)}{$line.unit_price*$line.qty|crmMoney:$currency|string_format:\"%10s\"} {if $line.tax_rate || $line.tax_amount != \"\"} {$line.tax_rate|string_format:\"%.2f\"} %   {$line.tax_amount|crmMoney:$currency|string_format:\"%10s\"} {else}                  {/if} {/if}   {$line.line_total+$line.tax_amount|crmMoney:$currency|string_format:\"%10s\"}\n{/foreach}\n{/foreach}\n{/if}\n\n{if !empty($getTaxDetails) && !empty($dataArray)}\n{ts}Amount before Tax{/ts} : {$formValues.total_amount-$totalTaxAmount|crmMoney:$currency}\n\n{foreach from=$dataArray item=value key=priceset}\n{if $priceset ||  $priceset == 0 || $value != \'\'}\n{$taxTerm} {$priceset|string_format:\"%.2f\"}% : {$value|crmMoney:$currency}\n{else}\n{ts}No{/ts} {$taxTerm} : {$value|crmMoney:$currency}\n{/if}\n{/foreach}\n{/if}\n\n{if $isShowTax}\n{ts}Total Tax Amount{/ts} : {contribution.tax_amount}\n{/if}\n{ts}Total Amount{/ts} : {contribution.total_amount}\n{if \'{contribution.receive_date}\'}\n{ts}Date Received{/ts}: {contribution.receive_date}\n{/if}\n{if \'{contribution.receipt_date}\'}\n{ts}Receipt Date{/ts}: {contribution.receipt_date}\n{/if}\n{if \'{contribution.payment_instrument_id}\' and empty($formValues.hidden_CreditCard)}\n{ts}Paid By{/ts}: {contribution.payment_instrument_id:label}\n{if \'{contribution.check_number}\'}\n{ts}Check Number{/ts}: {contribution.check_number}\n{/if}\n{/if}\n{if \'{contribution.trxn_id}\'}\n{ts}Transaction ID{/ts}: {contribution.trxn_id}\n{/if}\n\n{if !empty($ccContribution)}\n===========================================================\n{ts}Billing Name and Address{/ts}\n\n===========================================================\n{$billingName}\n{$address}\n\n===========================================================\n{ts}Credit Card Information{/ts}\n\n===========================================================\n{$credit_card_type}\n{$credit_card_number}\n{ts}Expires{/ts}: {$credit_card_exp_date|truncate:7:\'\'|crmDate}\n{/if}\n{if !empty($customGroup)}\n{foreach from=$customGroup item=value key=customName}\n===========================================================\n{$customName}\n===========================================================\n{foreach from=$value item=v key=n}\n{$n}: {$v}\n{/foreach}\n{/foreach}\n{/if}\n\n{if !empty($softCreditTypes) and !empty($softCredits)}\n{foreach from=$softCreditTypes item=softCreditType key=n}\n===========================================================\n{$softCreditType}\n===========================================================\n{foreach from=$softCredits.$n item=value key=label}\n{$label}: {$value}\n{/foreach}\n{/foreach}\n{/if}\n\n{if !empty($formValues.product_name)}\n===========================================================\n{ts}Premium Information{/ts}\n\n===========================================================\n{$formValues.product_name}\n{if $formValues.product_option}\n{ts}Option{/ts}: {$formValues.product_option}\n{/if}\n{if $formValues.product_sku}\n{ts}SKU{/ts}: {$formValues.product_sku}\n{/if}\n{if !empty($fulfilled_date)}\n{ts}Sent{/ts}: {$fulfilled_date|crmDate}\n{/if}\n{/if}\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n    {assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}<p>{$greeting},</p>{/if}\n    {if !empty($formValues.receipt_text)}\n     <p>{$formValues.receipt_text|htmlize}</p>\n    {else}\n     <p>{ts}Below you will find a receipt for this contribution.{/ts}</p>\n    {/if}\n   </td>\n  </tr>\n  <tr>\n   <td>\n    <table style=\"border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse; width:100%;\">\n     <tr>\n      <th {$headerStyle}>\n       {ts}Contribution Information{/ts}\n      </th>\n     </tr>\n     <tr>\n      <td {$labelStyle}>\n       {ts}Contributor Name{/ts}\n      </td>\n      <td {$valueStyle}>\n       {contact.display_name}\n      </td>\n     </tr>\n     <tr>\n      {if \'{contribution.financial_type_id}\'}\n        <td {$labelStyle}>\n         {ts}Financial Type{/ts}\n        </td>\n        <td {$valueStyle}>\n         {contribution.financial_type_id:label}\n        </td>\n      {/if}\n     </tr>\n\n     {if !empty($lineItem) and empty($is_quick_config)}\n      {foreach from=$lineItem item=value key=priceset}\n       <tr>\n        <td colspan=\"2\" {$valueStyle}>\n         <table> {* FIXME: style this table so that it looks like the text version (justification, etc.) *}\n          <tr>\n           <th>{ts}Item{/ts}</th>\n           <th>{ts}Qty{/ts}</th>\n           <th>{ts}Each{/ts}</th>\n           {if !empty($getTaxDetails)}\n             <th>{ts}Subtotal{/ts}</th>\n             <th>{ts}Tax Rate{/ts}</th>\n             <th>{ts}Tax Amount{/ts}</th>\n           {/if}\n           <th>{ts}Total{/ts}</th>\n          </tr>\n          {foreach from=$value item=line}\n           <tr>\n            <td>\n            {if $line.html_type eq \'Text\'}{$line.label}{else}{$line.field_title} - {$line.label}{/if} {if $line.description}<div>{$line.description|truncate:30:\"...\"}</div>{/if}\n            </td>\n            <td>\n             {$line.qty}\n            </td>\n            <td>\n             {$line.unit_price|crmMoney:$currency}\n            </td>\n            {if !empty($getTaxDetails)}\n              <td>\n                {$line.unit_price*$line.qty|crmMoney:$currency}\n              </td>\n              {if $line.tax_rate || $line.tax_amount != \"\"}\n                <td>\n                  {$line.tax_rate|string_format:\"%.2f\"}%\n                </td>\n                <td>\n                  {$line.tax_amount|crmMoney:$currency}\n                </td>\n              {else}\n                <td></td>\n                <td></td>\n              {/if}\n            {/if}\n            <td>\n             {$line.line_total+$line.tax_amount|crmMoney:$currency}\n            </td>\n           </tr>\n          {/foreach}\n         </table>\n        </td>\n       </tr>\n      {/foreach}\n     {/if}\n     {if !empty($getTaxDetails) && !empty($dataArray)}\n       <tr>\n         <td {$labelStyle}>\n           {ts} Amount before Tax : {/ts}\n         </td>\n         <td {$valueStyle}>\n           {$formValues.total_amount-$totalTaxAmount|crmMoney:$currency}\n         </td>\n       </tr>\n\n      {foreach from=$dataArray item=value key=priceset}\n        <tr>\n        {if $priceset ||  $priceset == 0 || $value != \'\'}\n          <td>&nbsp;{$taxTerm} {$priceset|string_format:\"%.2f\"}%</td>\n          <td>&nbsp;{$value|crmMoney:$currency}</td>\n        {else}\n          <td>&nbsp;{ts}No{/ts} {$taxTerm}</td>\n          <td>&nbsp;{$value|crmMoney:$currency}</td>\n        {/if}\n        </tr>\n      {/foreach}\n     {/if}\n\n     {if $isShowTax}\n      <tr>\n        <td {$labelStyle}>\n          {ts}Total Tax Amount{/ts}\n        </td>\n        <td {$valueStyle}>\n          {contribution.tax_amount}\n        </td>\n      </tr>\n     {/if}\n\n     <tr>\n      <td {$labelStyle}>\n       {ts}Total Amount{/ts}\n      </td>\n      <td {$valueStyle}>\n        {contribution.total_amount}\n      </td>\n     </tr>\n\n     {if \'{contribution.receive_date}\'}\n       <tr>\n       <td {$labelStyle}>\n        {ts}Date Received{/ts}\n       </td>\n       <td {$valueStyle}>\n         {contribution.receive_date}\n       </td>\n      </tr>\n     {/if}\n\n      {if \'{contribution.receipt_date}\'}\n      <tr>\n       <td {$labelStyle}>\n        {ts}Receipt Date{/ts}\n       </td>\n       <td {$valueStyle}>\n         {contribution.receipt_date}\n       </td>\n      </tr>\n     {/if}\n\n     {if \'{contribution.payment_instrument_id}\' and empty($formValues.hidden_CreditCard)}\n      <tr>\n       <td {$labelStyle}>\n        {ts}Paid By{/ts}\n       </td>\n       <td {$valueStyle}>\n         {contribution.payment_instrument_id:label}\n       </td>\n      </tr>\n      {if \'{contribution.check_number}\'}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Check Number{/ts}\n        </td>\n        <td {$valueStyle}>\n          {contribution.check_number}\n        </td>\n       </tr>\n      {/if}\n     {/if}\n\n     {if \'{contribution.trxn_id}\'}\n      <tr>\n       <td {$labelStyle}>\n        {ts}Transaction ID{/ts}\n       </td>\n       <td {$valueStyle}>\n         {contribution.trxn_id}\n       </td>\n      </tr>\n     {/if}\n\n     {if !empty($ccContribution)}\n      <tr>\n       <th {$headerStyle}>\n        {ts}Billing Name and Address{/ts}\n       </th>\n      </tr>\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n        {$billingName}<br />\n        {$address|nl2br}\n       </td>\n      </tr>\n      <tr>\n       <th {$headerStyle}>\n        {ts}Credit Card Information{/ts}\n       </th>\n      </tr>\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n        {$credit_card_type}<br />\n        {$credit_card_number}<br />\n        {ts}Expires{/ts}: {$credit_card_exp_date|truncate:7:\'\'|crmDate}\n       </td>\n      </tr>\n     {/if}\n\n     {if !empty($softCreditTypes) and !empty($softCredits)}\n      {foreach from=$softCreditTypes item=softCreditType key=n}\n       <tr>\n        <th {$headerStyle}>\n         {$softCreditType}\n        </th>\n       </tr>\n       {foreach from=$softCredits.$n item=value key=label}\n         <tr>\n          <td {$labelStyle}>\n           {$label}\n          </td>\n          <td {$valueStyle}>\n           {$value}\n          </td>\n         </tr>\n        {/foreach}\n       {/foreach}\n     {/if}\n\n     {if !empty($customGroup)}\n      {foreach from=$customGroup item=value key=customName}\n       <tr>\n        <th {$headerStyle}>\n         {$customName}\n        </th>\n       </tr>\n       {foreach from=$value item=v key=n}\n        <tr>\n         <td {$labelStyle}>\n          {$n}\n         </td>\n         <td {$valueStyle}>\n          {$v}\n         </td>\n        </tr>\n       {/foreach}\n      {/foreach}\n     {/if}\n\n     {if !empty($formValues.product_name)}\n      <tr>\n       <th {$headerStyle}>\n        {ts}Premium Information{/ts}\n       </th>\n      </tr>\n      <tr>\n       <td colspan=\"2\" {$labelStyle}>\n        {$formValues.product_name}\n       </td>\n      </tr>\n      {if $formValues.product_option}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Option{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$formValues.product_option}\n        </td>\n       </tr>\n      {/if}\n      {if $formValues.product_sku}\n       <tr>\n        <td {$labelStyle}>\n         {ts}SKU{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$formValues.product_sku}\n        </td>\n       </tr>\n      {/if}\n      {if !empty($fulfilled_date)}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Sent{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$fulfilled_date|truncate:10:\'\'|crmDate}\n        </td>\n       </tr>\n      {/if}\n     {/if}\n\n    </table>\n   </td>\n  </tr>\n\n </table>\n\n</body>\n</html>\n',1,814,'contribution_offline_receipt',1,0,0,NULL),
+ (6,'Contributions - Receipt (off-line)','{ts}Contribution Receipt{/ts} - {contact.display_name}\n','{assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}{$greeting},{/if}\n\n{if !empty($formValues.receipt_text)}\n{$formValues.receipt_text}\n{else}{ts}Below you will find a receipt for this contribution.{/ts}{/if}\n\n===========================================================\n{ts}Contribution Information{/ts}\n\n===========================================================\n{ts}Contributor{/ts}: {contact.display_name}\n{if \'{contribution.financial_type_id}\'}\n{ts}Financial Type{/ts}: {contribution.financial_type_id:label}\n{/if}\n{if $lineItem}\n{foreach from=$lineItem item=value key=priceset}\n---------------------------------------------------------\n{capture assign=ts_item}{ts}Item{/ts}{/capture}\n{capture assign=ts_qty}{ts}Qty{/ts}{/capture}\n{capture assign=ts_each}{ts}Each{/ts}{/capture}\n{if !empty($getTaxDetails)}\n{capture assign=ts_subtotal}{ts}Subtotal{/ts}{/capture}\n{capture assign=ts_taxRate}{ts}Tax Rate{/ts}{/capture}\n{capture assign=ts_taxAmount}{ts}Tax Amount{/ts}{/capture}\n{/if}\n{capture assign=ts_total}{ts}Total{/ts}{/capture}\n{$ts_item|string_format:\"%-30s\"} {$ts_qty|string_format:\"%5s\"} {$ts_each|string_format:\"%10s\"} {if !empty($getTaxDetails)} {$ts_subtotal|string_format:\"%10s\"} {$ts_taxRate} {$ts_taxAmount|string_format:\"%10s\"} {/if} {$ts_total|string_format:\"%10s\"}\n----------------------------------------------------------\n{foreach from=$value item=line}\n{capture assign=ts_item}{if $line.html_type eq \'Text\'}{$line.label}{else}{$line.field_title} - {$line.label}{/if} {if $line.description} {$line.description}{/if}{/capture}{$ts_item|truncate:30:\"...\"|string_format:\"%-30s\"} {$line.qty|string_format:\"%5s\"} {$line.unit_price|crmMoney:$currency|string_format:\"%10s\"} {if !empty($getTaxDetails)}{$line.unit_price*$line.qty|crmMoney:$currency|string_format:\"%10s\"} {if $line.tax_rate || $line.tax_amount != \"\"} {$line.tax_rate|string_format:\"%.2f\"} %   {$line.tax_amount|crmMoney:$currency|string_format:\"%10s\"} {else}                  {/if} {/if}   {$line.line_total+$line.tax_amount|crmMoney:$currency|string_format:\"%10s\"}\n{/foreach}\n{/foreach}\n{/if}\n\n{if !empty($getTaxDetails) && !empty($dataArray)}\n{ts}Amount before Tax{/ts} : {$formValues.total_amount-$totalTaxAmount|crmMoney:$currency}\n\n{foreach from=$dataArray item=value key=priceset}\n{if $priceset ||  $priceset == 0 || $value != \'\'}\n{$taxTerm} {$priceset|string_format:\"%.2f\"}% : {$value|crmMoney:$currency}\n{else}\n{ts}No{/ts} {$taxTerm} : {$value|crmMoney:$currency}\n{/if}\n{/foreach}\n{/if}\n\n{if $isShowTax}\n{ts}Total Tax Amount{/ts} : {contribution.tax_amount}\n{/if}\n{ts}Total Amount{/ts} : {contribution.total_amount}\n{if \'{contribution.receive_date}\'}\n{ts}Date Received{/ts}: {contribution.receive_date}\n{/if}\n{if \'{contribution.receipt_date}\'}\n{ts}Receipt Date{/ts}: {contribution.receipt_date}\n{/if}\n{if \'{contribution.payment_instrument_id}\' and empty($formValues.hidden_CreditCard)}\n{ts}Paid By{/ts}: {contribution.payment_instrument_id:label}\n{if \'{contribution.check_number}\'}\n{ts}Check Number{/ts}: {contribution.check_number}\n{/if}\n{/if}\n{if \'{contribution.trxn_id}\'}\n{ts}Transaction ID{/ts}: {contribution.trxn_id}\n{/if}\n\n{if !empty($ccContribution)}\n===========================================================\n{ts}Billing Name and Address{/ts}\n\n===========================================================\n{$billingName}\n{$address}\n\n===========================================================\n{ts}Credit Card Information{/ts}\n\n===========================================================\n{$credit_card_type}\n{$credit_card_number}\n{ts}Expires{/ts}: {$credit_card_exp_date|truncate:7:\'\'|crmDate}\n{/if}\n{if !empty($customGroup)}\n{foreach from=$customGroup item=value key=customName}\n===========================================================\n{$customName}\n===========================================================\n{foreach from=$value item=v key=n}\n{$n}: {$v}\n{/foreach}\n{/foreach}\n{/if}\n\n{if !empty($softCreditTypes) and !empty($softCredits)}\n{foreach from=$softCreditTypes item=softCreditType key=n}\n===========================================================\n{$softCreditType}\n===========================================================\n{foreach from=$softCredits.$n item=value key=label}\n{$label}: {$value}\n{/foreach}\n{/foreach}\n{/if}\n\n{if !empty($formValues.product_name)}\n===========================================================\n{ts}Premium Information{/ts}\n\n===========================================================\n{$formValues.product_name}\n{if $formValues.product_option}\n{ts}Option{/ts}: {$formValues.product_option}\n{/if}\n{if $formValues.product_sku}\n{ts}SKU{/ts}: {$formValues.product_sku}\n{/if}\n{if !empty($fulfilled_date)}\n{ts}Sent{/ts}: {$fulfilled_date|crmDate}\n{/if}\n{/if}\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n    {assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}<p>{$greeting},</p>{/if}\n    {if !empty($formValues.receipt_text)}\n     <p>{$formValues.receipt_text|htmlize}</p>\n    {else}\n     <p>{ts}Below you will find a receipt for this contribution.{/ts}</p>\n    {/if}\n   </td>\n  </tr>\n  <tr>\n   <td>\n    <table style=\"border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse; width:100%;\">\n     <tr>\n      <th {$headerStyle}>\n       {ts}Contribution Information{/ts}\n      </th>\n     </tr>\n     <tr>\n      <td {$labelStyle}>\n       {ts}Contributor Name{/ts}\n      </td>\n      <td {$valueStyle}>\n       {contact.display_name}\n      </td>\n     </tr>\n     <tr>\n      {if \'{contribution.financial_type_id}\'}\n        <td {$labelStyle}>\n         {ts}Financial Type{/ts}\n        </td>\n        <td {$valueStyle}>\n         {contribution.financial_type_id:label}\n        </td>\n      {/if}\n     </tr>\n\n     {if !empty($lineItem) and empty($is_quick_config)}\n      {foreach from=$lineItem item=value key=priceset}\n       <tr>\n        <td colspan=\"2\" {$valueStyle}>\n         <table> {* FIXME: style this table so that it looks like the text version (justification, etc.) *}\n          <tr>\n           <th>{ts}Item{/ts}</th>\n           <th>{ts}Qty{/ts}</th>\n           <th>{ts}Each{/ts}</th>\n           {if !empty($getTaxDetails)}\n             <th>{ts}Subtotal{/ts}</th>\n             <th>{ts}Tax Rate{/ts}</th>\n             <th>{ts}Tax Amount{/ts}</th>\n           {/if}\n           <th>{ts}Total{/ts}</th>\n          </tr>\n          {foreach from=$value item=line}\n           <tr>\n            <td>\n            {if $line.html_type eq \'Text\'}{$line.label}{else}{$line.field_title} - {$line.label}{/if} {if $line.description}<div>{$line.description|truncate:30:\"...\"}</div>{/if}\n            </td>\n            <td>\n             {$line.qty}\n            </td>\n            <td>\n             {$line.unit_price|crmMoney:$currency}\n            </td>\n            {if !empty($getTaxDetails)}\n              <td>\n                {$line.unit_price*$line.qty|crmMoney:$currency}\n              </td>\n              {if $line.tax_rate || $line.tax_amount != \"\"}\n                <td>\n                  {$line.tax_rate|string_format:\"%.2f\"}%\n                </td>\n                <td>\n                  {$line.tax_amount|crmMoney:$currency}\n                </td>\n              {else}\n                <td></td>\n                <td></td>\n              {/if}\n            {/if}\n            <td>\n             {$line.line_total+$line.tax_amount|crmMoney:$currency}\n            </td>\n           </tr>\n          {/foreach}\n         </table>\n        </td>\n       </tr>\n      {/foreach}\n     {/if}\n     {if !empty($getTaxDetails) && !empty($dataArray)}\n       <tr>\n         <td {$labelStyle}>\n           {ts} Amount before Tax : {/ts}\n         </td>\n         <td {$valueStyle}>\n           {$formValues.total_amount-$totalTaxAmount|crmMoney:$currency}\n         </td>\n       </tr>\n\n      {foreach from=$dataArray item=value key=priceset}\n        <tr>\n        {if $priceset ||  $priceset == 0 || $value != \'\'}\n          <td>&nbsp;{$taxTerm} {$priceset|string_format:\"%.2f\"}%</td>\n          <td>&nbsp;{$value|crmMoney:$currency}</td>\n        {else}\n          <td>&nbsp;{ts}No{/ts} {$taxTerm}</td>\n          <td>&nbsp;{$value|crmMoney:$currency}</td>\n        {/if}\n        </tr>\n      {/foreach}\n     {/if}\n\n     {if $isShowTax}\n      <tr>\n        <td {$labelStyle}>\n          {ts}Total Tax Amount{/ts}\n        </td>\n        <td {$valueStyle}>\n          {contribution.tax_amount}\n        </td>\n      </tr>\n     {/if}\n\n     <tr>\n      <td {$labelStyle}>\n       {ts}Total Amount{/ts}\n      </td>\n      <td {$valueStyle}>\n        {contribution.total_amount}\n      </td>\n     </tr>\n\n     {if \'{contribution.receive_date}\'}\n       <tr>\n       <td {$labelStyle}>\n        {ts}Date Received{/ts}\n       </td>\n       <td {$valueStyle}>\n         {contribution.receive_date}\n       </td>\n      </tr>\n     {/if}\n\n      {if \'{contribution.receipt_date}\'}\n      <tr>\n       <td {$labelStyle}>\n        {ts}Receipt Date{/ts}\n       </td>\n       <td {$valueStyle}>\n         {contribution.receipt_date}\n       </td>\n      </tr>\n     {/if}\n\n     {if \'{contribution.payment_instrument_id}\' and empty($formValues.hidden_CreditCard)}\n      <tr>\n       <td {$labelStyle}>\n        {ts}Paid By{/ts}\n       </td>\n       <td {$valueStyle}>\n         {contribution.payment_instrument_id:label}\n       </td>\n      </tr>\n      {if \'{contribution.check_number}\'}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Check Number{/ts}\n        </td>\n        <td {$valueStyle}>\n          {contribution.check_number}\n        </td>\n       </tr>\n      {/if}\n     {/if}\n\n     {if \'{contribution.trxn_id}\'}\n      <tr>\n       <td {$labelStyle}>\n        {ts}Transaction ID{/ts}\n       </td>\n       <td {$valueStyle}>\n         {contribution.trxn_id}\n       </td>\n      </tr>\n     {/if}\n\n     {if !empty($ccContribution)}\n      <tr>\n       <th {$headerStyle}>\n        {ts}Billing Name and Address{/ts}\n       </th>\n      </tr>\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n        {$billingName}<br />\n        {$address|nl2br}\n       </td>\n      </tr>\n      <tr>\n       <th {$headerStyle}>\n        {ts}Credit Card Information{/ts}\n       </th>\n      </tr>\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n        {$credit_card_type}<br />\n        {$credit_card_number}<br />\n        {ts}Expires{/ts}: {$credit_card_exp_date|truncate:7:\'\'|crmDate}\n       </td>\n      </tr>\n     {/if}\n\n     {if !empty($softCreditTypes) and !empty($softCredits)}\n      {foreach from=$softCreditTypes item=softCreditType key=n}\n       <tr>\n        <th {$headerStyle}>\n         {$softCreditType}\n        </th>\n       </tr>\n       {foreach from=$softCredits.$n item=value key=label}\n         <tr>\n          <td {$labelStyle}>\n           {$label}\n          </td>\n          <td {$valueStyle}>\n           {$value}\n          </td>\n         </tr>\n        {/foreach}\n       {/foreach}\n     {/if}\n\n     {if !empty($customGroup)}\n      {foreach from=$customGroup item=value key=customName}\n       <tr>\n        <th {$headerStyle}>\n         {$customName}\n        </th>\n       </tr>\n       {foreach from=$value item=v key=n}\n        <tr>\n         <td {$labelStyle}>\n          {$n}\n         </td>\n         <td {$valueStyle}>\n          {$v}\n         </td>\n        </tr>\n       {/foreach}\n      {/foreach}\n     {/if}\n\n     {if !empty($formValues.product_name)}\n      <tr>\n       <th {$headerStyle}>\n        {ts}Premium Information{/ts}\n       </th>\n      </tr>\n      <tr>\n       <td colspan=\"2\" {$labelStyle}>\n        {$formValues.product_name}\n       </td>\n      </tr>\n      {if $formValues.product_option}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Option{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$formValues.product_option}\n        </td>\n       </tr>\n      {/if}\n      {if $formValues.product_sku}\n       <tr>\n        <td {$labelStyle}>\n         {ts}SKU{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$formValues.product_sku}\n        </td>\n       </tr>\n      {/if}\n      {if !empty($fulfilled_date)}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Sent{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$fulfilled_date|truncate:10:\'\'|crmDate}\n        </td>\n       </tr>\n      {/if}\n     {/if}\n\n    </table>\n   </td>\n  </tr>\n\n </table>\n\n</body>\n</html>\n',1,814,'contribution_offline_receipt',0,1,0,NULL),
+ (7,'Contributions - Receipt (on-line)','{if $is_pay_later}{ts}Invoice{/ts}{else}{ts}Receipt{/ts}{/if} - {$title} - {contact.display_name}\n','{assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}{$greeting},{/if}\n{if !empty($receipt_text)}\n{$receipt_text}\n{/if}\n{if $is_pay_later}\n\n===========================================================\n{$pay_later_receipt}\n===========================================================\n{/if}\n\n{if $amount}\n===========================================================\n{ts}Contribution Information{/ts}\n\n===========================================================\n{if $isShowLineItems}\n{foreach from=$lineItem item=value key=priceset}\n---------------------------------------------------------\n{capture assign=ts_item}{ts}Item{/ts}{/capture}\n{capture assign=ts_qty}{ts}Qty{/ts}{/capture}\n{capture assign=ts_each}{ts}Each{/ts}{/capture}\n{if !empty($dataArray)}\n{capture assign=ts_subtotal}{ts}Subtotal{/ts}{/capture}\n{capture assign=ts_taxRate}{ts}Tax Rate{/ts}{/capture}\n{capture assign=ts_taxAmount}{ts}Tax Amount{/ts}{/capture}\n{/if}\n{capture assign=ts_total}{ts}Total{/ts}{/capture}\n{$ts_item|string_format:\"%-30s\"} {$ts_qty|string_format:\"%5s\"} {$ts_each|string_format:\"%10s\"} {if !empty($dataArray)} {$ts_subtotal|string_format:\"%10s\"} {$ts_taxRate} {$ts_taxAmount|string_format:\"%10s\"} {/if} {$ts_total|string_format:\"%10s\"}\n----------------------------------------------------------\n{foreach from=$value item=line}\n{capture assign=ts_item}{if $line.html_type eq \'Text\'}{$line.label}{else}{$line.field_title} - {$line.label}{/if} {if $line.description} {$line.description}{/if}{/capture}{$ts_item|truncate:30:\"...\"|string_format:\"%-30s\"} {$line.qty|string_format:\"%5s\"} {$line.unit_price|crmMoney:$currency|string_format:\"%10s\"} {if !empty($dataArray)}{$line.unit_price*$line.qty|crmMoney:$currency|string_format:\"%10s\"} {if $line.tax_rate || $line.tax_amount != \"\"}  {$line.tax_rate|string_format:\"%.2f\"} %  {$line.tax_amount|crmMoney:$currency|string_format:\"%10s\"} {else}                  {/if}  {/if} {$line.line_total+$line.tax_amount|crmMoney:$currency|string_format:\"%10s\"}\n{/foreach}\n{/foreach}\n\n{if !empty($dataArray)}\n{ts}Amount before Tax{/ts}: {$amount-$totalTaxAmount|crmMoney:$currency}\n\n{foreach from=$dataArray item=value key=priceset}\n{if $priceset || $priceset == 0}\n{$taxTerm} {$priceset|string_format:\"%.2f\"}%: {$value|crmMoney:$currency}\n{else}\n{ts}No{/ts} {$taxTerm}: {$value|crmMoney:$currency}\n{/if}\n{/foreach}\n{/if}\n\n{if $isShowTax}\n{ts}Total Tax Amount{/ts}: {contribution.tax_amount|crmMoney}\n{/if}\n\n{ts}Total Amount{/ts}: {$amount|crmMoney:$currency}\n{else}\n{ts}Amount{/ts}: {$amount|crmMoney:$currency} {if \'{contribution.amount_level}\'} - {contribution.amount_level}{/if}\n{/if}\n{/if}\n{if !empty($receive_date)}\n\n{ts}Date{/ts}: {$receive_date|crmDate}\n{/if}\n{if !empty($is_monetary) and !empty($trxn_id)}\n{ts}Transaction #{/ts}: {$trxn_id}\n{/if}\n\n{if !empty($is_recur)}\n{ts}This is a recurring contribution.{/ts}\n\n{if $cancelSubscriptionUrl}\n{ts}You can cancel future contributions at:{/ts}\n\n{$cancelSubscriptionUrl}\n\n{/if}\n\n{if $updateSubscriptionBillingUrl}\n{ts}You can update billing details for this recurring contribution at:{/ts}\n\n{$updateSubscriptionBillingUrl}\n\n{/if}\n\n{if $updateSubscriptionUrl}\n{ts}You can update recurring contribution amount or change the number of installments for this recurring contribution at:{/ts}\n\n{$updateSubscriptionUrl}\n\n{/if}\n{/if}\n\n{if $honor_block_is_active}\n===========================================================\n{$soft_credit_type}\n===========================================================\n{foreach from=$honoreeProfile item=value key=label}\n{$label}: {$value}\n{/foreach}\n{elseif !empty($softCreditTypes) and !empty($softCredits)}\n{foreach from=$softCreditTypes item=softCreditType key=n}\n===========================================================\n{$softCreditType}\n===========================================================\n{foreach from=$softCredits.$n item=value key=label}\n{$label}: {$value}\n{/foreach}\n{/foreach}\n{/if}\n{if !empty($pcpBlock)}\n===========================================================\n{ts}Personal Campaign Page{/ts}\n\n===========================================================\n{ts}Display In Honor Roll{/ts}: {if $pcp_display_in_roll}{ts}Yes{/ts}{else}{ts}No{/ts}{/if}\n\n{if $pcp_roll_nickname}{ts}Nickname{/ts}: {$pcp_roll_nickname}{/if}\n\n{if $pcp_personal_note}{ts}Personal Note{/ts}: {$pcp_personal_note}{/if}\n\n{/if}\n{if !empty($onBehalfProfile)}\n===========================================================\n{ts}On Behalf Of{/ts}\n\n===========================================================\n{foreach from=$onBehalfProfile item=onBehalfValue key=onBehalfName}\n{$onBehalfName}: {$onBehalfValue}\n{/foreach}\n{/if}\n\n{if !empty($billingName)}\n===========================================================\n{ts}Billing Name and Address{/ts}\n\n===========================================================\n{$billingName}\n{$address}\n\n{$email}\n{elseif !empty($email)}\n===========================================================\n{ts}Registered Email{/ts}\n\n===========================================================\n{$email}\n{/if} {* End billingName or Email*}\n{if !empty($credit_card_type)}\n\n===========================================================\n{ts}Credit Card Information{/ts}\n\n===========================================================\n{$credit_card_type}\n{$credit_card_number}\n{ts}Expires{/ts}: {$credit_card_exp_date|truncate:7:\'\'|crmDate}\n{/if}\n\n{if !empty($selectPremium )}\n===========================================================\n{ts}Premium Information{/ts}\n\n===========================================================\n{$product_name}\n{if $option}\n{ts}Option{/ts}: {$option}\n{/if}\n{if $sku}\n{ts}SKU{/ts}: {$sku}\n{/if}\n{if $start_date}\n{ts}Start Date{/ts}: {$start_date|crmDate}\n{/if}\n{if $end_date}\n{ts}End Date{/ts}: {$end_date|crmDate}\n{/if}\n{if !empty($contact_email) OR !empty($contact_phone)}\n\n{ts}For information about this premium, contact:{/ts}\n\n{if !empty($contact_email)}\n  {$contact_email}\n{/if}\n{if !empty($contact_phone)}\n  {$contact_phone}\n{/if}\n{/if}\n{if !empty($is_deductible) AND !empty($price)}\n\n{ts 1=$price|crmMoney:$currency}The value of this premium is %1. This may affect the amount of the tax deduction you can claim. Consult your tax advisor for more information.{/ts}{/if}\n{/if}\n\n{if !empty($customPre)}\n===========================================================\n{$customPre_grouptitle}\n\n===========================================================\n{foreach from=$customPre item=customValue key=customName}\n{if ( !empty($trackingFields) and ! in_array( $customName, $trackingFields ) ) or empty($trackingFields)}\n {$customName}: {$customValue}\n{/if}\n{/foreach}\n{/if}\n\n\n{if !empty($customPost)}\n===========================================================\n{$customPost_grouptitle}\n\n===========================================================\n{foreach from=$customPost item=customValue key=customName}\n{if ( !empty($trackingFields) and ! in_array( $customName, $trackingFields ) ) or empty($trackingFields)}\n {$customName}: {$customValue}\n{/if}\n{/foreach}\n{/if}\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n     {assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}<p>{$greeting},</p>{/if}\n    {if !empty($receipt_text)}\n     <p>{$receipt_text|htmlize}</p>\n    {/if}\n\n    {if $is_pay_later}\n     <p>{if isset($pay_later_receipt)}{$pay_later_receipt}{/if}</p> {* FIXME: this might be text rather than HTML *}\n    {/if}\n\n   </td>\n  </tr>\n  </table>\n  <table style=\"width:100%; max-width:500px; border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse;\">\n\n     {if $amount}\n\n\n      <tr>\n       <th {$headerStyle}>\n        {ts}Contribution Information{/ts}\n       </th>\n      </tr>\n\n      {if $isShowLineItems}\n\n       {foreach from=$lineItem item=value key=priceset}\n        <tr>\n         <td colspan=\"2\" {$valueStyle}>\n          <table> {* FIXME: style this table so that it looks like the text version (justification, etc.) *}\n           <tr>\n            <th>{ts}Item{/ts}</th>\n            <th>{ts}Qty{/ts}</th>\n            <th>{ts}Each{/ts}</th>\n            {if !empty($dataArray)}\n             <th>{ts}Subtotal{/ts}</th>\n             <th>{ts}Tax Rate{/ts}</th>\n             <th>{ts}Tax Amount{/ts}</th>\n            {/if}\n            <th>{ts}Total{/ts}</th>\n           </tr>\n           {foreach from=$value item=line}\n            <tr>\n             <td>\n             {if $line.html_type eq \'Text\'}{$line.label}{else}{$line.field_title} - {$line.label}{/if} {if $line.description}<div>{$line.description|truncate:30:\"...\"}</div>{/if}\n             </td>\n             <td>\n              {$line.qty}\n             </td>\n             <td>\n              {$line.unit_price|crmMoney:$currency}\n             </td>\n             {if !empty($getTaxDetails)}\n              <td>\n               {$line.unit_price*$line.qty|crmMoney:$currency}\n              </td>\n              {if $line.tax_rate || $line.tax_amount != \"\"}\n               <td>\n                {$line.tax_rate|string_format:\"%.2f\"}%\n               </td>\n               <td>\n                {$line.tax_amount|crmMoney:$currency}\n               </td>\n              {else}\n               <td></td>\n               <td></td>\n              {/if}\n             {/if}\n             <td>\n              {$line.line_total+$line.tax_amount|crmMoney:$currency}\n             </td>\n            </tr>\n           {/foreach}\n          </table>\n         </td>\n        </tr>\n       {/foreach}\n       {if !empty($dataArray)}\n        <tr>\n         <td {$labelStyle}>\n          {ts} Amount before Tax : {/ts}\n         </td>\n         <td {$valueStyle}>\n          {$amount-$totalTaxAmount|crmMoney:$currency}\n         </td>\n        </tr>\n\n        {foreach from=$dataArray item=value key=priceset}\n         <tr>\n          {if $priceset || $priceset == 0}\n           <td>&nbsp;{$taxTerm} {$priceset|string_format:\"%.2f\"}%</td>\n           <td>&nbsp;{$value|crmMoney:$currency}</td>\n          {else}\n           <td>&nbsp;{ts}No{/ts} {$taxTerm}</td>\n           <td>&nbsp;{$value|crmMoney:$currency}</td>\n          {/if}\n         </tr>\n        {/foreach}\n\n       {/if}\n       {if $isShowTax}\n        <tr>\n         <td {$labelStyle}>\n          {ts}Total Tax{/ts}\n         </td>\n         <td {$valueStyle}>\n          {$totalTaxAmount|crmMoney:$currency}\n         </td>\n        </tr>\n       {/if}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Total Amount{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$amount|crmMoney:$currency}\n        </td>\n       </tr>\n\n      {else}\n\n      {if !empty($totalTaxAmount)}\n         <tr>\n           <td {$labelStyle}>\n             {ts}Total Tax Amount{/ts}\n           </td>\n           <td {$valueStyle}>\n             {contribution.tax_amount|crmMoney}\n           </td>\n         </tr>\n       {/if}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Amount{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$amount|crmMoney:$currency} {if \'{contribution.amount_level}\'} - {contribution.amount_level}{/if}\n        </td>\n       </tr>\n\n      {/if}\n\n     {/if}\n\n\n     {if !empty($receive_date)}\n      <tr>\n       <td {$labelStyle}>\n        {ts}Date{/ts}\n       </td>\n       <td {$valueStyle}>\n        {$receive_date|crmDate}\n       </td>\n      </tr>\n     {/if}\n\n     {if !empty($is_monetary) and !empty($trxn_id)}\n      <tr>\n       <td {$labelStyle}>\n        {ts}Transaction #{/ts}\n       </td>\n       <td {$valueStyle}>\n        {$trxn_id}\n       </td>\n      </tr>\n     {/if}\n\n    {if !empty($is_recur)}\n      <tr>\n        <td  colspan=\"2\" {$labelStyle}>\n          {ts}This is a recurring contribution.{/ts}\n          {if $cancelSubscriptionUrl}\n            {ts 1=$cancelSubscriptionUrl}You can cancel future contributions by <a href=\"%1\">visiting this web page</a>.{/ts}\n          {/if}\n        </td>\n      </tr>\n      {if $updateSubscriptionBillingUrl}\n        <tr>\n          <td colspan=\"2\" {$labelStyle}>\n            {ts 1=$updateSubscriptionBillingUrl}You can update billing details for this recurring contribution by <a href=\"%1\">visiting this web page</a>.{/ts}\n          </td>\n        </tr>\n      {/if}\n      {if $updateSubscriptionUrl}\n        <tr>\n          <td colspan=\"2\" {$labelStyle}>\n            {ts 1=$updateSubscriptionUrl}You can update recurring contribution amount or change the number of installments for this recurring contribution by <a href=\"%1\">visiting this web page</a>.{/ts}\n          </td>\n        </tr>\n      {/if}\n    {/if}\n\n     {if $honor_block_is_active}\n      <tr>\n       <th {$headerStyle}>\n        {$soft_credit_type}\n       </th>\n      </tr>\n      {foreach from=$honoreeProfile item=value key=label}\n        <tr>\n         <td {$labelStyle}>\n          {$label}\n         </td>\n         <td {$valueStyle}>\n          {$value}\n         </td>\n        </tr>\n      {/foreach}\n      {elseif !empty($softCreditTypes) and !empty($softCredits)}\n      {foreach from=$softCreditTypes item=softCreditType key=n}\n       <tr>\n        <th {$headerStyle}>\n         {$softCreditType}\n        </th>\n       </tr>\n       {foreach from=$softCredits.$n item=value key=label}\n         <tr>\n          <td {$labelStyle}>\n           {$label}\n          </td>\n          <td {$valueStyle}>\n           {$value}\n          </td>\n         </tr>\n        {/foreach}\n       {/foreach}\n     {/if}\n\n     {if !empty($pcpBlock)}\n      <tr>\n       <th {$headerStyle}>\n        {ts}Personal Campaign Page{/ts}\n       </th>\n      </tr>\n      <tr>\n       <td {$labelStyle}>\n        {ts}Display In Honor Roll{/ts}\n       </td>\n       <td {$valueStyle}>\n        {if $pcp_display_in_roll}{ts}Yes{/ts}{else}{ts}No{/ts}{/if}\n       </td>\n      </tr>\n      {if $pcp_roll_nickname}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Nickname{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$pcp_roll_nickname}\n        </td>\n       </tr>\n      {/if}\n      {if $pcp_personal_note}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Personal Note{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$pcp_personal_note}\n        </td>\n       </tr>\n      {/if}\n     {/if}\n\n     {if !empty($onBehalfProfile)}\n      <tr>\n       <th {$headerStyle}>\n        {$onBehalfProfile_grouptitle}\n       </th>\n      </tr>\n      {foreach from=$onBehalfProfile item=onBehalfValue key=onBehalfName}\n        <tr>\n         <td {$labelStyle}>\n          {$onBehalfName}\n         </td>\n         <td {$valueStyle}>\n          {$onBehalfValue}\n         </td>\n        </tr>\n      {/foreach}\n     {/if}\n\n     {if !empty($isShare)}\n      <tr>\n        <td colspan=\"2\" {$valueStyle}>\n            {capture assign=contributionUrl}{crmURL p=\'civicrm/contribute/transact\' q=\"reset=1&id=`$contributionPageId`\" a=true fe=1 h=1}{/capture}\n            {include file=\"CRM/common/SocialNetwork.tpl\" emailMode=true url=$contributionUrl title=$title pageURL=$contributionUrl}\n        </td>\n      </tr>\n     {/if}\n\n     {if !empty($billingName)}\n       <tr>\n        <th {$headerStyle}>\n         {ts}Billing Name and Address{/ts}\n        </th>\n       </tr>\n       <tr>\n        <td colspan=\"2\" {$valueStyle}>\n         {$billingName}<br />\n         {$address|nl2br}<br />\n         {$email}\n        </td>\n       </tr>\n     {elseif !empty($email)}\n       <tr>\n        <th {$headerStyle}>\n         {ts}Registered Email{/ts}\n        </th>\n       </tr>\n       <tr>\n        <td colspan=\"2\" {$valueStyle}>\n         {$email}\n        </td>\n       </tr>\n     {/if}\n\n     {if !empty($credit_card_type)}\n      <tr>\n       <th {$headerStyle}>\n        {ts}Credit Card Information{/ts}\n       </th>\n      </tr>\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n        {$credit_card_type}<br />\n        {$credit_card_number}<br />\n        {ts}Expires{/ts}: {$credit_card_exp_date|truncate:7:\'\'|crmDate}<br />\n       </td>\n      </tr>\n     {/if}\n\n     {if !empty($selectPremium)}\n      <tr>\n       <th {$headerStyle}>\n        {ts}Premium Information{/ts}\n       </th>\n      </tr>\n      <tr>\n       <td colspan=\"2\" {$labelStyle}>\n        {$product_name}\n       </td>\n      </tr>\n      {if $option}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Option{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$option}\n        </td>\n       </tr>\n      {/if}\n      {if $sku}\n       <tr>\n        <td {$labelStyle}>\n         {ts}SKU{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$sku}\n        </td>\n       </tr>\n      {/if}\n      {if $start_date}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Start Date{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$start_date|crmDate}\n        </td>\n       </tr>\n      {/if}\n      {if $end_date}\n       <tr>\n        <td {$labelStyle}>\n         {ts}End Date{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$end_date|crmDate}\n        </td>\n       </tr>\n      {/if}\n      {if !empty($contact_email) OR !empty($contact_phone)}\n       <tr>\n        <td colspan=\"2\" {$valueStyle}>\n         <p>{ts}For information about this premium, contact:{/ts}</p>\n         {if !empty($contact_email)}\n          <p>{$contact_email}</p>\n         {/if}\n         {if !empty($contact_phone)}\n          <p>{$contact_phone}</p>\n         {/if}\n        </td>\n       </tr>\n      {/if}\n      {if !empty($is_deductible) AND !empty($price)}\n        <tr>\n         <td colspan=\"2\" {$valueStyle}>\n          <p>{ts 1=$price|crmMoney:$currency}The value of this premium is %1. This may affect the amount of the tax deduction you can claim. Consult your tax advisor for more information.{/ts}</p>\n         </td>\n        </tr>\n      {/if}\n     {/if}\n\n     {if !empty($customPre)}\n      <tr>\n       <th {$headerStyle}>\n        {$customPre_grouptitle}\n       </th>\n      </tr>\n      {foreach from=$customPre item=customValue key=customName}\n       {if (!empty($trackingFields) and ! in_array($customName, $trackingFields)) or empty($trackingFields)}\n        <tr>\n         <td {$labelStyle}>\n          {$customName}\n         </td>\n         <td {$valueStyle}>\n          {$customValue}\n         </td>\n        </tr>\n       {/if}\n      {/foreach}\n     {/if}\n\n     {if !empty($customPost)}\n      <tr>\n       <th {$headerStyle}>\n        {$customPost_grouptitle}\n       </th>\n      </tr>\n      {foreach from=$customPost item=customValue key=customName}\n       {if (!empty($trackingFields) and ! in_array($customName, $trackingFields)) or empty($trackingFields)}\n        <tr>\n         <td {$labelStyle}>\n          {$customName}\n         </td>\n         <td {$valueStyle}>\n          {$customValue}\n         </td>\n        </tr>\n       {/if}\n      {/foreach}\n     {/if}\n\n  </table>\n\n</body>\n</html>\n',1,815,'contribution_online_receipt',1,0,0,NULL),
+ (8,'Contributions - Receipt (on-line)','{if $is_pay_later}{ts}Invoice{/ts}{else}{ts}Receipt{/ts}{/if} - {$title} - {contact.display_name}\n','{assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}{$greeting},{/if}\n{if !empty($receipt_text)}\n{$receipt_text}\n{/if}\n{if $is_pay_later}\n\n===========================================================\n{$pay_later_receipt}\n===========================================================\n{/if}\n\n{if $amount}\n===========================================================\n{ts}Contribution Information{/ts}\n\n===========================================================\n{if $isShowLineItems}\n{foreach from=$lineItem item=value key=priceset}\n---------------------------------------------------------\n{capture assign=ts_item}{ts}Item{/ts}{/capture}\n{capture assign=ts_qty}{ts}Qty{/ts}{/capture}\n{capture assign=ts_each}{ts}Each{/ts}{/capture}\n{if !empty($dataArray)}\n{capture assign=ts_subtotal}{ts}Subtotal{/ts}{/capture}\n{capture assign=ts_taxRate}{ts}Tax Rate{/ts}{/capture}\n{capture assign=ts_taxAmount}{ts}Tax Amount{/ts}{/capture}\n{/if}\n{capture assign=ts_total}{ts}Total{/ts}{/capture}\n{$ts_item|string_format:\"%-30s\"} {$ts_qty|string_format:\"%5s\"} {$ts_each|string_format:\"%10s\"} {if !empty($dataArray)} {$ts_subtotal|string_format:\"%10s\"} {$ts_taxRate} {$ts_taxAmount|string_format:\"%10s\"} {/if} {$ts_total|string_format:\"%10s\"}\n----------------------------------------------------------\n{foreach from=$value item=line}\n{capture assign=ts_item}{if $line.html_type eq \'Text\'}{$line.label}{else}{$line.field_title} - {$line.label}{/if} {if $line.description} {$line.description}{/if}{/capture}{$ts_item|truncate:30:\"...\"|string_format:\"%-30s\"} {$line.qty|string_format:\"%5s\"} {$line.unit_price|crmMoney:$currency|string_format:\"%10s\"} {if !empty($dataArray)}{$line.unit_price*$line.qty|crmMoney:$currency|string_format:\"%10s\"} {if $line.tax_rate || $line.tax_amount != \"\"}  {$line.tax_rate|string_format:\"%.2f\"} %  {$line.tax_amount|crmMoney:$currency|string_format:\"%10s\"} {else}                  {/if}  {/if} {$line.line_total+$line.tax_amount|crmMoney:$currency|string_format:\"%10s\"}\n{/foreach}\n{/foreach}\n\n{if !empty($dataArray)}\n{ts}Amount before Tax{/ts}: {$amount-$totalTaxAmount|crmMoney:$currency}\n\n{foreach from=$dataArray item=value key=priceset}\n{if $priceset || $priceset == 0}\n{$taxTerm} {$priceset|string_format:\"%.2f\"}%: {$value|crmMoney:$currency}\n{else}\n{ts}No{/ts} {$taxTerm}: {$value|crmMoney:$currency}\n{/if}\n{/foreach}\n{/if}\n\n{if $isShowTax}\n{ts}Total Tax Amount{/ts}: {contribution.tax_amount|crmMoney}\n{/if}\n\n{ts}Total Amount{/ts}: {$amount|crmMoney:$currency}\n{else}\n{ts}Amount{/ts}: {$amount|crmMoney:$currency} {if \'{contribution.amount_level}\'} - {contribution.amount_level}{/if}\n{/if}\n{/if}\n{if !empty($receive_date)}\n\n{ts}Date{/ts}: {$receive_date|crmDate}\n{/if}\n{if !empty($is_monetary) and !empty($trxn_id)}\n{ts}Transaction #{/ts}: {$trxn_id}\n{/if}\n\n{if !empty($is_recur)}\n{ts}This is a recurring contribution.{/ts}\n\n{if $cancelSubscriptionUrl}\n{ts}You can cancel future contributions at:{/ts}\n\n{$cancelSubscriptionUrl}\n\n{/if}\n\n{if $updateSubscriptionBillingUrl}\n{ts}You can update billing details for this recurring contribution at:{/ts}\n\n{$updateSubscriptionBillingUrl}\n\n{/if}\n\n{if $updateSubscriptionUrl}\n{ts}You can update recurring contribution amount or change the number of installments for this recurring contribution at:{/ts}\n\n{$updateSubscriptionUrl}\n\n{/if}\n{/if}\n\n{if $honor_block_is_active}\n===========================================================\n{$soft_credit_type}\n===========================================================\n{foreach from=$honoreeProfile item=value key=label}\n{$label}: {$value}\n{/foreach}\n{elseif !empty($softCreditTypes) and !empty($softCredits)}\n{foreach from=$softCreditTypes item=softCreditType key=n}\n===========================================================\n{$softCreditType}\n===========================================================\n{foreach from=$softCredits.$n item=value key=label}\n{$label}: {$value}\n{/foreach}\n{/foreach}\n{/if}\n{if !empty($pcpBlock)}\n===========================================================\n{ts}Personal Campaign Page{/ts}\n\n===========================================================\n{ts}Display In Honor Roll{/ts}: {if $pcp_display_in_roll}{ts}Yes{/ts}{else}{ts}No{/ts}{/if}\n\n{if $pcp_roll_nickname}{ts}Nickname{/ts}: {$pcp_roll_nickname}{/if}\n\n{if $pcp_personal_note}{ts}Personal Note{/ts}: {$pcp_personal_note}{/if}\n\n{/if}\n{if !empty($onBehalfProfile)}\n===========================================================\n{ts}On Behalf Of{/ts}\n\n===========================================================\n{foreach from=$onBehalfProfile item=onBehalfValue key=onBehalfName}\n{$onBehalfName}: {$onBehalfValue}\n{/foreach}\n{/if}\n\n{if !empty($billingName)}\n===========================================================\n{ts}Billing Name and Address{/ts}\n\n===========================================================\n{$billingName}\n{$address}\n\n{$email}\n{elseif !empty($email)}\n===========================================================\n{ts}Registered Email{/ts}\n\n===========================================================\n{$email}\n{/if} {* End billingName or Email*}\n{if !empty($credit_card_type)}\n\n===========================================================\n{ts}Credit Card Information{/ts}\n\n===========================================================\n{$credit_card_type}\n{$credit_card_number}\n{ts}Expires{/ts}: {$credit_card_exp_date|truncate:7:\'\'|crmDate}\n{/if}\n\n{if !empty($selectPremium )}\n===========================================================\n{ts}Premium Information{/ts}\n\n===========================================================\n{$product_name}\n{if $option}\n{ts}Option{/ts}: {$option}\n{/if}\n{if $sku}\n{ts}SKU{/ts}: {$sku}\n{/if}\n{if $start_date}\n{ts}Start Date{/ts}: {$start_date|crmDate}\n{/if}\n{if $end_date}\n{ts}End Date{/ts}: {$end_date|crmDate}\n{/if}\n{if !empty($contact_email) OR !empty($contact_phone)}\n\n{ts}For information about this premium, contact:{/ts}\n\n{if !empty($contact_email)}\n  {$contact_email}\n{/if}\n{if !empty($contact_phone)}\n  {$contact_phone}\n{/if}\n{/if}\n{if !empty($is_deductible) AND !empty($price)}\n\n{ts 1=$price|crmMoney:$currency}The value of this premium is %1. This may affect the amount of the tax deduction you can claim. Consult your tax advisor for more information.{/ts}{/if}\n{/if}\n\n{if !empty($customPre)}\n===========================================================\n{$customPre_grouptitle}\n\n===========================================================\n{foreach from=$customPre item=customValue key=customName}\n{if ( !empty($trackingFields) and ! in_array( $customName, $trackingFields ) ) or empty($trackingFields)}\n {$customName}: {$customValue}\n{/if}\n{/foreach}\n{/if}\n\n\n{if !empty($customPost)}\n===========================================================\n{$customPost_grouptitle}\n\n===========================================================\n{foreach from=$customPost item=customValue key=customName}\n{if ( !empty($trackingFields) and ! in_array( $customName, $trackingFields ) ) or empty($trackingFields)}\n {$customName}: {$customValue}\n{/if}\n{/foreach}\n{/if}\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n     {assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}<p>{$greeting},</p>{/if}\n    {if !empty($receipt_text)}\n     <p>{$receipt_text|htmlize}</p>\n    {/if}\n\n    {if $is_pay_later}\n     <p>{if isset($pay_later_receipt)}{$pay_later_receipt}{/if}</p> {* FIXME: this might be text rather than HTML *}\n    {/if}\n\n   </td>\n  </tr>\n  </table>\n  <table style=\"width:100%; max-width:500px; border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse;\">\n\n     {if $amount}\n\n\n      <tr>\n       <th {$headerStyle}>\n        {ts}Contribution Information{/ts}\n       </th>\n      </tr>\n\n      {if $isShowLineItems}\n\n       {foreach from=$lineItem item=value key=priceset}\n        <tr>\n         <td colspan=\"2\" {$valueStyle}>\n          <table> {* FIXME: style this table so that it looks like the text version (justification, etc.) *}\n           <tr>\n            <th>{ts}Item{/ts}</th>\n            <th>{ts}Qty{/ts}</th>\n            <th>{ts}Each{/ts}</th>\n            {if !empty($dataArray)}\n             <th>{ts}Subtotal{/ts}</th>\n             <th>{ts}Tax Rate{/ts}</th>\n             <th>{ts}Tax Amount{/ts}</th>\n            {/if}\n            <th>{ts}Total{/ts}</th>\n           </tr>\n           {foreach from=$value item=line}\n            <tr>\n             <td>\n             {if $line.html_type eq \'Text\'}{$line.label}{else}{$line.field_title} - {$line.label}{/if} {if $line.description}<div>{$line.description|truncate:30:\"...\"}</div>{/if}\n             </td>\n             <td>\n              {$line.qty}\n             </td>\n             <td>\n              {$line.unit_price|crmMoney:$currency}\n             </td>\n             {if !empty($getTaxDetails)}\n              <td>\n               {$line.unit_price*$line.qty|crmMoney:$currency}\n              </td>\n              {if $line.tax_rate || $line.tax_amount != \"\"}\n               <td>\n                {$line.tax_rate|string_format:\"%.2f\"}%\n               </td>\n               <td>\n                {$line.tax_amount|crmMoney:$currency}\n               </td>\n              {else}\n               <td></td>\n               <td></td>\n              {/if}\n             {/if}\n             <td>\n              {$line.line_total+$line.tax_amount|crmMoney:$currency}\n             </td>\n            </tr>\n           {/foreach}\n          </table>\n         </td>\n        </tr>\n       {/foreach}\n       {if !empty($dataArray)}\n        <tr>\n         <td {$labelStyle}>\n          {ts} Amount before Tax : {/ts}\n         </td>\n         <td {$valueStyle}>\n          {$amount-$totalTaxAmount|crmMoney:$currency}\n         </td>\n        </tr>\n\n        {foreach from=$dataArray item=value key=priceset}\n         <tr>\n          {if $priceset || $priceset == 0}\n           <td>&nbsp;{$taxTerm} {$priceset|string_format:\"%.2f\"}%</td>\n           <td>&nbsp;{$value|crmMoney:$currency}</td>\n          {else}\n           <td>&nbsp;{ts}No{/ts} {$taxTerm}</td>\n           <td>&nbsp;{$value|crmMoney:$currency}</td>\n          {/if}\n         </tr>\n        {/foreach}\n\n       {/if}\n       {if $isShowTax}\n        <tr>\n         <td {$labelStyle}>\n          {ts}Total Tax{/ts}\n         </td>\n         <td {$valueStyle}>\n          {$totalTaxAmount|crmMoney:$currency}\n         </td>\n        </tr>\n       {/if}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Total Amount{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$amount|crmMoney:$currency}\n        </td>\n       </tr>\n\n      {else}\n\n      {if !empty($totalTaxAmount)}\n         <tr>\n           <td {$labelStyle}>\n             {ts}Total Tax Amount{/ts}\n           </td>\n           <td {$valueStyle}>\n             {contribution.tax_amount|crmMoney}\n           </td>\n         </tr>\n       {/if}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Amount{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$amount|crmMoney:$currency} {if \'{contribution.amount_level}\'} - {contribution.amount_level}{/if}\n        </td>\n       </tr>\n\n      {/if}\n\n     {/if}\n\n\n     {if !empty($receive_date)}\n      <tr>\n       <td {$labelStyle}>\n        {ts}Date{/ts}\n       </td>\n       <td {$valueStyle}>\n        {$receive_date|crmDate}\n       </td>\n      </tr>\n     {/if}\n\n     {if !empty($is_monetary) and !empty($trxn_id)}\n      <tr>\n       <td {$labelStyle}>\n        {ts}Transaction #{/ts}\n       </td>\n       <td {$valueStyle}>\n        {$trxn_id}\n       </td>\n      </tr>\n     {/if}\n\n    {if !empty($is_recur)}\n      <tr>\n        <td  colspan=\"2\" {$labelStyle}>\n          {ts}This is a recurring contribution.{/ts}\n          {if $cancelSubscriptionUrl}\n            {ts 1=$cancelSubscriptionUrl}You can cancel future contributions by <a href=\"%1\">visiting this web page</a>.{/ts}\n          {/if}\n        </td>\n      </tr>\n      {if $updateSubscriptionBillingUrl}\n        <tr>\n          <td colspan=\"2\" {$labelStyle}>\n            {ts 1=$updateSubscriptionBillingUrl}You can update billing details for this recurring contribution by <a href=\"%1\">visiting this web page</a>.{/ts}\n          </td>\n        </tr>\n      {/if}\n      {if $updateSubscriptionUrl}\n        <tr>\n          <td colspan=\"2\" {$labelStyle}>\n            {ts 1=$updateSubscriptionUrl}You can update recurring contribution amount or change the number of installments for this recurring contribution by <a href=\"%1\">visiting this web page</a>.{/ts}\n          </td>\n        </tr>\n      {/if}\n    {/if}\n\n     {if $honor_block_is_active}\n      <tr>\n       <th {$headerStyle}>\n        {$soft_credit_type}\n       </th>\n      </tr>\n      {foreach from=$honoreeProfile item=value key=label}\n        <tr>\n         <td {$labelStyle}>\n          {$label}\n         </td>\n         <td {$valueStyle}>\n          {$value}\n         </td>\n        </tr>\n      {/foreach}\n      {elseif !empty($softCreditTypes) and !empty($softCredits)}\n      {foreach from=$softCreditTypes item=softCreditType key=n}\n       <tr>\n        <th {$headerStyle}>\n         {$softCreditType}\n        </th>\n       </tr>\n       {foreach from=$softCredits.$n item=value key=label}\n         <tr>\n          <td {$labelStyle}>\n           {$label}\n          </td>\n          <td {$valueStyle}>\n           {$value}\n          </td>\n         </tr>\n        {/foreach}\n       {/foreach}\n     {/if}\n\n     {if !empty($pcpBlock)}\n      <tr>\n       <th {$headerStyle}>\n        {ts}Personal Campaign Page{/ts}\n       </th>\n      </tr>\n      <tr>\n       <td {$labelStyle}>\n        {ts}Display In Honor Roll{/ts}\n       </td>\n       <td {$valueStyle}>\n        {if $pcp_display_in_roll}{ts}Yes{/ts}{else}{ts}No{/ts}{/if}\n       </td>\n      </tr>\n      {if $pcp_roll_nickname}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Nickname{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$pcp_roll_nickname}\n        </td>\n       </tr>\n      {/if}\n      {if $pcp_personal_note}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Personal Note{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$pcp_personal_note}\n        </td>\n       </tr>\n      {/if}\n     {/if}\n\n     {if !empty($onBehalfProfile)}\n      <tr>\n       <th {$headerStyle}>\n        {$onBehalfProfile_grouptitle}\n       </th>\n      </tr>\n      {foreach from=$onBehalfProfile item=onBehalfValue key=onBehalfName}\n        <tr>\n         <td {$labelStyle}>\n          {$onBehalfName}\n         </td>\n         <td {$valueStyle}>\n          {$onBehalfValue}\n         </td>\n        </tr>\n      {/foreach}\n     {/if}\n\n     {if !empty($isShare)}\n      <tr>\n        <td colspan=\"2\" {$valueStyle}>\n            {capture assign=contributionUrl}{crmURL p=\'civicrm/contribute/transact\' q=\"reset=1&id=`$contributionPageId`\" a=true fe=1 h=1}{/capture}\n            {include file=\"CRM/common/SocialNetwork.tpl\" emailMode=true url=$contributionUrl title=$title pageURL=$contributionUrl}\n        </td>\n      </tr>\n     {/if}\n\n     {if !empty($billingName)}\n       <tr>\n        <th {$headerStyle}>\n         {ts}Billing Name and Address{/ts}\n        </th>\n       </tr>\n       <tr>\n        <td colspan=\"2\" {$valueStyle}>\n         {$billingName}<br />\n         {$address|nl2br}<br />\n         {$email}\n        </td>\n       </tr>\n     {elseif !empty($email)}\n       <tr>\n        <th {$headerStyle}>\n         {ts}Registered Email{/ts}\n        </th>\n       </tr>\n       <tr>\n        <td colspan=\"2\" {$valueStyle}>\n         {$email}\n        </td>\n       </tr>\n     {/if}\n\n     {if !empty($credit_card_type)}\n      <tr>\n       <th {$headerStyle}>\n        {ts}Credit Card Information{/ts}\n       </th>\n      </tr>\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n        {$credit_card_type}<br />\n        {$credit_card_number}<br />\n        {ts}Expires{/ts}: {$credit_card_exp_date|truncate:7:\'\'|crmDate}<br />\n       </td>\n      </tr>\n     {/if}\n\n     {if !empty($selectPremium)}\n      <tr>\n       <th {$headerStyle}>\n        {ts}Premium Information{/ts}\n       </th>\n      </tr>\n      <tr>\n       <td colspan=\"2\" {$labelStyle}>\n        {$product_name}\n       </td>\n      </tr>\n      {if $option}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Option{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$option}\n        </td>\n       </tr>\n      {/if}\n      {if $sku}\n       <tr>\n        <td {$labelStyle}>\n         {ts}SKU{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$sku}\n        </td>\n       </tr>\n      {/if}\n      {if $start_date}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Start Date{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$start_date|crmDate}\n        </td>\n       </tr>\n      {/if}\n      {if $end_date}\n       <tr>\n        <td {$labelStyle}>\n         {ts}End Date{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$end_date|crmDate}\n        </td>\n       </tr>\n      {/if}\n      {if !empty($contact_email) OR !empty($contact_phone)}\n       <tr>\n        <td colspan=\"2\" {$valueStyle}>\n         <p>{ts}For information about this premium, contact:{/ts}</p>\n         {if !empty($contact_email)}\n          <p>{$contact_email}</p>\n         {/if}\n         {if !empty($contact_phone)}\n          <p>{$contact_phone}</p>\n         {/if}\n        </td>\n       </tr>\n      {/if}\n      {if !empty($is_deductible) AND !empty($price)}\n        <tr>\n         <td colspan=\"2\" {$valueStyle}>\n          <p>{ts 1=$price|crmMoney:$currency}The value of this premium is %1. This may affect the amount of the tax deduction you can claim. Consult your tax advisor for more information.{/ts}</p>\n         </td>\n        </tr>\n      {/if}\n     {/if}\n\n     {if !empty($customPre)}\n      <tr>\n       <th {$headerStyle}>\n        {$customPre_grouptitle}\n       </th>\n      </tr>\n      {foreach from=$customPre item=customValue key=customName}\n       {if (!empty($trackingFields) and ! in_array($customName, $trackingFields)) or empty($trackingFields)}\n        <tr>\n         <td {$labelStyle}>\n          {$customName}\n         </td>\n         <td {$valueStyle}>\n          {$customValue}\n         </td>\n        </tr>\n       {/if}\n      {/foreach}\n     {/if}\n\n     {if !empty($customPost)}\n      <tr>\n       <th {$headerStyle}>\n        {$customPost_grouptitle}\n       </th>\n      </tr>\n      {foreach from=$customPost item=customValue key=customName}\n       {if (!empty($trackingFields) and ! in_array($customName, $trackingFields)) or empty($trackingFields)}\n        <tr>\n         <td {$labelStyle}>\n          {$customName}\n         </td>\n         <td {$valueStyle}>\n          {$customValue}\n         </td>\n        </tr>\n       {/if}\n      {/foreach}\n     {/if}\n\n  </table>\n\n</body>\n</html>\n',1,815,'contribution_online_receipt',0,1,0,NULL),
+ (9,'Contributions - Invoice','{if $title}\n  {if $component}\n    {if $component == \'event\'}\n      {ts 1=$title}Event Registration Invoice: %1{/ts}\n    {else}\n      {ts 1=$title}Contribution Invoice: %1{/ts}\n    {/if}\n  {/if}\n{else}\n  {ts}Invoice{/ts}\n{/if}\n - {contact.display_name}\n','{ts}Contribution Invoice{/ts}\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n  <head>\n    <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n      <title></title>\n  </head>\n  <body>\n  <div style=\"padding-top:100px;margin-right:50px;border-style: none;\">\n    {if $config->empoweredBy}\n      <table style=\"margin-top:5px;padding-bottom:50px;\" cellpadding=\"5\" cellspacing=\"0\">\n        <tr>\n          <td><img src=\"{$resourceBase}/i/civi99.png\" height=\"34px\" width=\"99px\"></td>\n        </tr>\n      </table>\n    {/if}\n      <table style=\"font-family: Arial, Verdana, sans-serif;\" width=\"100%\" height=\"100\" border=\"0\" cellpadding=\"5\" cellspacing=\"0\">\n        <tr>\n          <td width=\"30%\"><b><font size=\"4\" align=\"center\">{ts}INVOICE{/ts}</font></b></td>\n          <td width=\"50%\" valign=\"bottom\"><b><font size=\"1\" align=\"center\">{ts}Invoice Date:{/ts}</font></b></td>\n          <td valign=\"bottom\" style=\"white-space: nowrap\"><b><font size=\"1\" align=\"right\">{$domain_organization}</font></b></td>\n        </tr>\n        <tr>\n          {if $organization_name}\n            <td><font size=\"1\" align=\"center\">{contact.display_name}  ({$organization_name})</font></td>\n          {else}\n            <td><font size=\"1\" align=\"center\">{contact.display_name}</font></td>\n          {/if}\n          <td><font size=\"1\" align=\"right\">{$invoice_date}</font></td>\n          <td style=\"white-space: nowrap\">\n            <font size=\"1\" align=\"right\">\n              {if $domain_street_address }{$domain_street_address}{/if}\n              {if $domain_supplemental_address_1 }{$domain_supplemental_address_1}{/if}\n           </font>\n          </td>\n        </tr>\n        <tr>\n          <td><font size=\"1\" align=\"center\">{$street_address} {$supplemental_address_1}</font></td>\n          <td><b><font size=\"1\" align=\"right\">{ts}Invoice Number:{/ts}</font></b></td>\n          <td>\n            <font size=\"1\" align=\"right\">\n              {if $domain_supplemental_address_2 }{$domain_supplemental_address_2}{/if}\n              {if $domain_state }{$domain_state}{/if}\n           </font>\n          </td>\n        </tr>\n        <tr>\n          <td><font size=\"1\" align=\"center\">{$supplemental_address_2} {$stateProvinceAbbreviation}</font></td>\n          <td><font size=\"1\" align=\"right\">{$invoice_number}</font></td>\n          <td style=\"white-space: nowrap\">\n            <font size=\"1\" align=\"right\">\n              {if $domain_city}{$domain_city}{/if}\n              {if $domain_postal_code }{$domain_postal_code}{/if}\n           </font>\n          </td>\n        </tr>\n        <tr>\n          <td><font size=\"1\" align=\"right\">{$city}  {$postal_code}</font></td>\n          <td height=\"10\"><b><font size=\"1\" align=\"right\">{ts}Reference:{/ts}</font></b></td>\n          <td><font size=\"1\" align=\"right\">{if $domain_country}{$domain_country}{/if}</font></td>\n        </tr>\n        <tr>\n          <td><font size=\"1\" align=\"right\"> {$country}</font></td>\n          <td><font size=\"1\" align=\"right\">{if !empty($source)}{$source}{/if}</font></td>\n          <td valign=\"top\" style=\"white-space: nowrap\"><font size=\"1\" align=\"right\">{if $domain_email}{$domain_email}{/if}</font> </td>\n        </tr>\n        <tr>\n          <td></td>\n          <td></td>\n          <td valign=\"top\"><font size=\"1\" align=\"right\">{if $domain_phone}{$domain_phone}{/if}</font> </td>\n        </tr>\n      </table>\n\n             <table style=\"padding-top:75px;font-family: Arial, Verdana, sans-serif;\" width=\"100%\" border=\"0\" cellpadding=\"5\" cellspacing=\"0\">\n              <tr>\n                <th style=\"text-align:left;font-weight:bold;width:100%\"><font size=\"1\">{ts}Description{/ts}</font></th>\n                <th style=\"text-align:right;font-weight:bold;white-space: nowrap\"><font size=\"1\">{ts}Quantity{/ts}</font></th>\n                <th style=\"text-align:right;font-weight:bold;white-space: nowrap\"><font size=\"1\">{ts}Unit Price{/ts}</font></th>\n                <th style=\"text-align:right;font-weight:bold;white-space: nowrap\"><font size=\"1\">{$taxTerm}</font></th>\n                <th style=\"text-align:right;font-weight:bold;white-space: nowrap\"><font size=\"1\">{ts 1=$currency}Amount %1{/ts}</font></th>\n              </tr>\n              {foreach from=$lineItem item=value key=priceset name=taxpricevalue}\n                {if $smarty.foreach.taxpricevalue.index eq 0}\n                {else}\n                {/if}\n                <tr>\n                  <td style=\"text-align:left;nowrap\"><font size=\"1\">\n                    {if $value.html_type eq \'Text\'}\n                      {$value.label}\n                    {else}\n                      {$value.field_title} - {$value.label}\n                    {/if}\n                    {if $value.description}\n                      <div>{$value.description|truncate:30:\"...\"}</div>\n                    {/if}\n                   </font>\n                  </td>\n                  <td style=\"text-align:right;\"><font size=\"1\">{$value.qty}</font></td>\n                  <td style=\"text-align:right;\"><font size=\"1\">{$value.unit_price|crmMoney:$currency}</font></td>\n                  {if $value.tax_amount != \'\'}\n                    <td style=\"text-align:right;\"><font size=\"1\">{if $value.tax_rate}{$value.tax_rate}%{/if}</font></td>\n                  {else}\n                    <td style=\"text-align:right;\"><font size=\"1\">{if $taxTerm}{ts 1=$taxTerm}-{/ts}{/if}</font></td>\n                  {/if}\n                  <td style=\"text-align:right;\"><font size=\"1\">{$value.subTotal|crmMoney:$currency}</font></td>\n                </tr>\n              {/foreach}\n              <tr>\n                <td colspan=\"3\"></td>\n                <td style=\"text-align:right;\"><font size=\"1\">{ts}Sub Total{/ts}</font></td>\n                <td style=\"text-align:right;\"><font size=\"1\">{$subTotal|crmMoney:$currency}</font></td>\n              </tr>\n              {if !empty($dataArray)}\n              {foreach from=$dataArray item=value key=priceset}\n                <tr>\n                  <td colspan=\"3\"></td>\n                    {if $priceset}\n                      <td style=\"text-align:right;white-space: nowrap\"><font size=\"1\">{if $taxTerm}{ts 1=$taxTerm 2=$priceset}TOTAL %1 %2%{/ts}{/if}</font></td>\n                      <td style=\"text-align:right\"><font size=\"1\" align=\"right\">{$value|crmMoney:$currency}</font> </td>\n                    {elseif $priceset == 0}\n                      <td style=\"text-align:right;white-space: nowrap\"><font size=\"1\">{if $taxTerm}{ts 1=$taxTerm}TOTAL %1{/ts}{/if}</font></td>\n                      <td style=\"text-align:right\"><font size=\"1\" align=\"right\">{$value|crmMoney:$currency}</font> </td>\n                    {/if}\n                </tr>\n              {/foreach}\n              {/if}\n              <tr>\n                <td colspan=\"3\"></td>\n                <td style=\"text-align:right;white-space: nowrap\"><b><font size=\"1\">{ts 1=$currency}TOTAL %1{/ts}</font></b></td>\n                <td style=\"text-align:right;\"><font size=\"1\">{$amount|crmMoney:$currency}</font></td>\n              </tr>\n              <tr>\n                <td colspan=\"3\"></td>\n                <td style=\"text-align:right;white-space: nowrap\"><font size=\"1\">\n                  {if $contribution_status_id == $refundedStatusId}\n                    {ts}Amount Credited{/ts}\n                  {else}\n                    {ts}Amount Paid{/ts}\n                  {/if}\n                 </font>\n                </td>\n                <td style=\"text-align:right;\"><font size=\"1\">{$amountPaid|crmMoney:$currency}</font></td>\n              </tr>\n              <tr>\n                <td colspan=\"3\"></td>\n                <td colspan=\"2\"><hr></hr></td>\n              </tr>\n              <tr>\n                <td colspan=\"3\"></td>\n                <td style=\"text-align:right;white-space: nowrap\" ><b><font size=\"1\">{ts}AMOUNT DUE:{/ts}</font></b></td>\n                <td style=\"text-align:right;\"><b><font size=\"1\">{$amountDue|crmMoney:$currency}</font></b></td>\n              </tr>\n\n              <br/><br/><br/>\n              <tr>\n                <td colspan=\"5\"></td>\n              </tr>\n              {if $contribution_status_id == $pendingStatusId && $is_pay_later == 1}\n                <tr>\n                  <td colspan=\"3\"><b><font size=\"1\" align=\"center\">{ts 1=$dueDate}DUE DATE: %1{/ts}</font></b></td>\n                  <td colspan=\"2\"></td>\n                </tr>\n              {/if}\n            </table>\n          </td>\n        </tr>\n      </table>\n\n      {if $contribution_status_id == $pendingStatusId && $is_pay_later == 1}\n        <table style=\"margin-top:5px;\" width=\"100%\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\">\n          <tr>\n            <td><img src=\"{$resourceBase}/i/contribute/cut_line.png\" height=\"15\"></td>\n          </tr>\n        </table>\n\n        <table style=\"margin-top:5px;font-family: Arial, Verdana, sans-serif\" width=\"100%\" border=\"0\" cellpadding=\"5\" cellspacing=\"0\" id=\"desc\">\n          <tr>\n            <td width=\"60%\"><b><font size=\"4\" align=\"right\">{ts}PAYMENT ADVICE{/ts}</font></b><br/><br/><font size=\"1\" align=\"left\"><b>{ts}To:{/ts}</b><div style=\"width:24em;word-wrap:break-word;\">\n              {$domain_organization}<br />\n              {$domain_street_address} {$domain_supplemental_address_1}<br />\n              {$domain_supplemental_address_2} {$domain_state}<br />\n              {$domain_city} {$domain_postal_code}<br />\n              {$domain_country}<br />\n              {$domain_email}</div>\n              {$domain_phone}<br />\n             </font><br/><br/><font size=\"1\" align=\"left\">{$notes}</font>\n            </td>\n            <td width=\"40%\">\n              <table cellpadding=\"5\" cellspacing=\"0\"  width=\"100%\" border=\"0\">\n                <tr>\n                  <td width=\"100%\"><font size=\"1\" align=\"right\" style=\"font-weight:bold;\">{ts}Customer:{/ts}</font></td>\n                  <td style=\"white-space: nowrap\"><font size=\"1\" align=\"right\">{contact.display_name}</font></td>\n                </tr>\n                <tr>\n                  <td><font size=\"1\" align=\"right\" style=\"font-weight:bold;\">{ts}Invoice Number:{/ts}</font></td>\n                  <td><font size=\"1\" align=\"right\">{$invoice_number}</font></td>\n                </tr>\n                <tr><td colspan=\"5\" style=\"color:#F5F5F5;\"><hr></td></tr>\n                {if $is_pay_later == 1}\n                  <tr>\n                    <td><font size=\"1\" align=\"right\" style=\"font-weight:bold;\">{ts}Amount Due:{/ts}</font></td>\n                    <td><font size=\"1\" align=\"right\" style=\"font-weight:bold;\">{$amount|crmMoney:$currency}</font></td>\n                  </tr>\n                {else}\n                  <tr>\n                    <td><font size=\"1\" align=\"right\" style=\"font-weight:bold;\">{ts}Amount Due:{/ts}</font></td>\n                    <td><font size=\"1\" align=\"right\" style=\"font-weight:bold;\">{$amountDue|crmMoney:$currency}</font></td>\n                  </tr>\n                {/if}\n                <tr>\n                  <td><font size=\"1\" align=\"right\" style=\"font-weight:bold;\">{ts}Due Date:{/ts}</font></td>\n                  <td><font size=\"1\" align=\"right\">{$dueDate}</font></td>\n                </tr>\n                <tr>\n                  <td colspan=\"5\" style=\"color:#F5F5F5;\"><hr></td>\n                </tr>\n              </table>\n      {/if}\n\n      {if $contribution_status_id == $refundedStatusId || $contribution_status_id == $cancelledStatusId}\n      {if $config->empoweredBy}\n        <table style=\"margin-top:2px;padding-left:7px;page-break-before: always;\">\n          <tr>\n            <td><img src=\"{$resourceBase}/i/civi99.png\" height=\"34px\" width=\"99px\"></td>\n          </tr>\n        </table>\n      {/if}\n\n      <table style=\"font-family: Arial, Verdana, sans-serif\" width=\"100%\" height=\"100\" border=\"0\" cellpadding=\"5\" cellspacing=\"5\">\n        <tr>\n          <td style=\"padding-left:15px;\"><b><font size=\"4\" align=\"center\">{ts}CREDIT NOTE{/ts}</font></b></td>\n          <td style=\"padding-left:30px;\"><b><font size=\"1\" align=\"right\">{ts}Date:{/ts}</font></b></td>\n          <td><font size=\"1\" align=\"right\">{$domain_organization}</font></td>\n        </tr>\n        <tr>\n          {if $organization_name}\n            <td style=\"padding-left:17px;\"><font size=\"1\" align=\"center\">{contact.display_name}  ({$organization_name})</font></td>\n          {else}\n            <td style=\"padding-left:17px;\"><font size=\"1\" align=\"center\">{contact.display_name}</font></td>\n          {/if}\n          <td style=\"padding-left:30px;\"><font size=\"1\" align=\"right\">{$invoice_date}</font></td>\n          <td>\n            <font size=\"1\" align=\"right\">\n              {if $domain_street_address }{$domain_street_address}{/if}\n              {if $domain_supplemental_address_1 }{$domain_supplemental_address_1}{/if}\n           </font>\n          </td>\n        </tr>\n        <tr>\n          <td style=\"padding-left:17px;\"><font size=\"1\" align=\"center\">{$street_address}   {$supplemental_address_1}</font></td>\n          <td style=\"padding-left:30px;\"><b><font size=\"1\" align=\"right\">{ts}Credit Note Number:{/ts}</font></b></td>\n          <td>\n            <font size=\"1\" align=\"right\">\n              {if $domain_supplemental_address_2 }{$domain_supplemental_address_2}{/if}\n              {if $domain_state }{$domain_state}{/if}\n           </font>\n          </td>\n        </tr>\n        <tr>\n          <td style=\"padding-left:17px;\"><font size=\"1\" align=\"center\">{$supplemental_address_2}  {$stateProvinceAbbreviation}</font></td>\n          <td style=\"padding-left:30px;\"><font size=\"1\" align=\"right\">{$creditnote_id}</font></td>\n          <td>\n            <font size=\"1\" align=\"right\">\n              {if $domain_city}{$domain_city}{/if}\n              {if $domain_postal_code }{$domain_postal_code}{/if}\n           </font>\n          </td>\n        </tr>\n        <tr>\n          <td style=\"padding-left:17px;\"><font size=\"1\" align=\"right\">{$city}  {$postal_code}</font></td>\n          <td height=\"10\" style=\"padding-left:30px;\"><b><font size=\"1\" align=\"right\">{ts}Reference:{/ts}</font></b></td>\n          <td>\n            <font size=\"1\" align=\"right\">\n              {if $domain_country}{$domain_country}{/if}\n           </font>\n          </td>\n        </tr>\n        <tr>\n          <td></td>\n          <td style=\"padding-left:30px;\"><font size=\"1\" align=\"right\">{$source}</font></td>\n          <td>\n            <font size=\"1\" align=\"right\">\n              {if $domain_email}{$domain_email}{/if}\n           </font>\n          </td>\n        </tr>\n        <tr>\n          <td></td>\n          <td></td>\n          <td>\n            <font size=\"1\" align=\"right\">\n              {if $domain_phone}{$domain_phone}{/if}\n           </font>\n          </td>\n        </tr>\n      </table>\n\n      <table style=\"margin-top:75px;font-family: Arial, Verdana, sans-serif\" width=\"100%\" border=\"0\" cellpadding=\"5\" cellspacing=\"5\" id=\"desc\">\n        <tr>\n          <td colspan=\"2\" {$valueStyle}>\n            <table> {* FIXME: style this table so that it looks like the text version (justification, etc.) *}\n              <tr>\n                <th style=\"padding-right:28px;text-align:left;font-weight:bold;width:200px;\"><font size=\"1\">{ts}Description{/ts}</font></th>\n                <th style=\"padding-left:28px;text-align:right;font-weight:bold;\"><font size=\"1\">{ts}Quantity{/ts}</font></th>\n                <th style=\"padding-left:28px;text-align:right;font-weight:bold;\"><font size=\"1\">{ts}Unit Price{/ts}</font></th>\n                <th style=\"padding-left:28px;text-align:right;font-weight:bold;\"><font size=\"1\">{$taxTerm}</font></th>\n                <th style=\"padding-left:28px;text-align:right;font-weight:bold;\"><font size=\"1\">{ts 1=$currency}Amount %1{/ts}</font></th>\n              </tr>\n              {foreach from=$lineItem item=value key=priceset name=pricevalue}\n                {if $smarty.foreach.pricevalue.index eq 0}\n                  <tr><td colspan=\"5\"><hr size=\"3\" style=\"color:#000;\"></hr></td></tr>\n                {else}\n                  <tr><td colspan=\"5\" style=\"color:#F5F5F5;\"><hr></hr></td></tr>\n                {/if}\n                <tr>\n                  <td style =\"text-align:left;\"  >\n                    <font size=\"1\">\n                      {if $value.html_type eq \'Text\'}\n                        {$value.label}\n                      {else}\n                        {$value.field_title} - {$value.label}\n                      {/if}\n                      {if $value.description}\n                        <div>{$value.description|truncate:30:\"...\"}</div>\n                      {/if}\n                   </font>\n                  </td>\n                  <td style=\"padding-left:28px;text-align:right;\"><font size=\"1\">{$value.qty}</font></td>\n                  <td style=\"padding-left:28px;text-align:right;\"><font size=\"1\">{$value.unit_price|crmMoney:$currency}</font></td>\n                  {if $value.tax_amount != \'\'}\n                    <td style=\"padding-left:28px;text-align:right;\"><font size=\"1\">{if $value.tax_rate}{$value.tax_rate}%{/if}</font></td>\n                  {else}\n                    <td style=\"padding-left:28px;text-align:right\"><font size=\"1\">{if $taxTerm}{ts 1=$taxTerm}No %1{/ts}{/if}</font></td>\n                  {/if}\n                  <td style=\"padding-left:28px;text-align:right;\"><font size=\"1\">{$value.subTotal|crmMoney:$currency}</font></td>\n                </tr>\n              {/foreach}\n              <tr><td colspan=\"5\" style=\"color:#F5F5F5;\"><hr></hr></td></tr>\n              <tr>\n                <td colspan=\"3\"></td>\n                <td style=\"padding-left:28px;text-align:right;\"><font size=\"1\">{ts}Sub Total{/ts}</font></td>\n                <td style=\"padding-left:28px;text-align:right;\"><font size=\"1\">{$subTotal|crmMoney:$currency}</font></td>\n              </tr>\n              {if !empty($dataArray)}\n              {foreach from=$dataArray item=value key=priceset}\n                <tr>\n                  <td colspan=\"3\"></td>\n                  {if $priceset}\n                    <td style=\"padding-left:28px;text-align:right;\"><font size=\"1\">{if $taxTerm}{ts 1=$taxTerm 2=$priceset}TOTAL %1 %2%{/ts}{/if}</font></td>\n                    <td style=\"padding-left:28px;text-align:right;\"><font size=\"1\" align=\"right\">{$value|crmMoney:$currency}</font> </td>\n                  {elseif $priceset == 0}\n                    <td style=\"padding-left:28px;text-align:right;\"><font size=\"1\">{if $taxTerm}{ts 1=$taxTerm}TOTAL NO %1{/ts}{/if}</font></td>\n                    <td style=\"padding-left:28px;text-align:right;\"><font size=\"1\" align=\"right\">{$value|crmMoney:$currency}</font> </td>\n                  {/if}\n                </tr>\n              {/foreach}\n              {/if}\n              <tr>\n                <td colspan=\"3\"></td>\n                <td colspan=\"2\"><hr></hr></td>\n              </tr>\n              <tr>\n                <td colspan=\"3\"></td>\n                <td style=\"padding-left:28px;text-align:right;\"><b><font size=\"1\">{ts 1=$currency}TOTAL %1{/ts}</font></b></td>\n                <td style=\"padding-left:28px;text-align:right;\"><font size=\"1\">{$amount|crmMoney:$currency}</font></td>\n              </tr>\n              {if $is_pay_later == 0}\n                <tr>\n                  <td colspan=\"3\"></td>\n                  <td style=\"padding-left:28px;text-align:right;\"><font size=\"1\">{ts}LESS Credit to invoice(s){/ts}</font></td>\n                  <td style=\"padding-left:28px;text-align:right;\"><font size=\"1\">{$amount|crmMoney:$currency}</font></td>\n                </tr>\n                <tr>\n                  <td colspan=\"3\"></td>\n                  <td colspan=\"2\"><hr></hr></td>\n                </tr>\n                <tr>\n                  <td colspan=\"3\"></td>\n                  <td style=\"padding-left:28px;text-align:right;\"><b><font size=\"1\">{ts}REMAINING CREDIT{/ts}</font></b></td>\n                  <td style=\"padding-left:28px;text-align:right;\"><b><font size=\"1\">{$amountDue|crmMoney:$currency}</font></b></td>\n                  <td style=\"padding-left:28px;\"><font size=\"1\" align=\"right\"></font></td>\n                </tr>\n              {/if}\n              <br/><br/><br/>\n              <tr>\n                <td colspan=\"3\"></td>\n              </tr>\n              <tr>\n                <td></td>\n                <td colspan=\"3\"></td>\n              </tr>\n            </table>\n          </td>\n        </tr>\n      </table>\n\n      <table width=\"100%\" style=\"margin-top:5px;padding-right:45px;\">\n        <tr>\n          <td><img src=\"{$resourceBase}/i/contribute/cut_line.png\" height=\"15\" width=\"100%\"></td>\n        </tr>\n      </table>\n\n      <table style=\"margin-top:6px;font-family: Arial, Verdana, sans-serif\" width=\"100%\" border=\"0\" cellpadding=\"5\" cellspacing=\"5\" id=\"desc\">\n        <tr>\n          <td width=\"60%\"><font size=\"4\" align=\"right\"><b>{ts}CREDIT ADVICE{/ts}</b><br/><br /><div style=\"font-size:10px;max-width:300px;\">{ts}Please do not pay on this advice. Deduct the amount of this Credit Note from your next payment to us{/ts}</div><br/></font></td>\n          <td width=\"40%\">\n            <table align=\"right\">\n              <tr>\n                <td colspan=\"2\"></td>\n                <td><font size=\"1\" align=\"right\" style=\"font-weight:bold;\">{ts}Customer:{/ts}</font></td>\n                <td><font size=\"1\" align=\"right\">{contact.display_name}</font></td>\n              </tr>\n              <tr>\n                <td colspan=\"2\"></td>\n                <td><font size=\"1\" align=\"right\" style=\"font-weight:bold;\">{ts}Credit Note#:{/ts}</font></td>\n                <td><font size=\"1\" align=\"right\">{$creditnote_id}</font></td>\n              </tr>\n              <tr><td colspan=\"5\"style=\"color:#F5F5F5;\"><hr></hr></td></tr>\n              <tr>\n                <td colspan=\"2\"></td>\n                <td><font size=\"1\" align=\"right\" style=\"font-weight:bold;\">{ts}Credit Amount:{/ts}</font></td>\n                <td width=\'50px\'><font size=\"1\" align=\"right\" style=\"font-weight:bold;\">{$amount|crmMoney:$currency}</font></td>\n              </tr>\n            </table>\n          </td>\n        </tr>\n      </table>\n    {/if}\n\n  </div>\n  </body>\n</html>\n',1,816,'contribution_invoice_receipt',1,0,0,NULL),
+ (10,'Contributions - Invoice','{if $title}\n  {if $component}\n    {if $component == \'event\'}\n      {ts 1=$title}Event Registration Invoice: %1{/ts}\n    {else}\n      {ts 1=$title}Contribution Invoice: %1{/ts}\n    {/if}\n  {/if}\n{else}\n  {ts}Invoice{/ts}\n{/if}\n - {contact.display_name}\n','{ts}Contribution Invoice{/ts}\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n  <head>\n    <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n      <title></title>\n  </head>\n  <body>\n  <div style=\"padding-top:100px;margin-right:50px;border-style: none;\">\n    {if $config->empoweredBy}\n      <table style=\"margin-top:5px;padding-bottom:50px;\" cellpadding=\"5\" cellspacing=\"0\">\n        <tr>\n          <td><img src=\"{$resourceBase}/i/civi99.png\" height=\"34px\" width=\"99px\"></td>\n        </tr>\n      </table>\n    {/if}\n      <table style=\"font-family: Arial, Verdana, sans-serif;\" width=\"100%\" height=\"100\" border=\"0\" cellpadding=\"5\" cellspacing=\"0\">\n        <tr>\n          <td width=\"30%\"><b><font size=\"4\" align=\"center\">{ts}INVOICE{/ts}</font></b></td>\n          <td width=\"50%\" valign=\"bottom\"><b><font size=\"1\" align=\"center\">{ts}Invoice Date:{/ts}</font></b></td>\n          <td valign=\"bottom\" style=\"white-space: nowrap\"><b><font size=\"1\" align=\"right\">{$domain_organization}</font></b></td>\n        </tr>\n        <tr>\n          {if $organization_name}\n            <td><font size=\"1\" align=\"center\">{contact.display_name}  ({$organization_name})</font></td>\n          {else}\n            <td><font size=\"1\" align=\"center\">{contact.display_name}</font></td>\n          {/if}\n          <td><font size=\"1\" align=\"right\">{$invoice_date}</font></td>\n          <td style=\"white-space: nowrap\">\n            <font size=\"1\" align=\"right\">\n              {if $domain_street_address }{$domain_street_address}{/if}\n              {if $domain_supplemental_address_1 }{$domain_supplemental_address_1}{/if}\n           </font>\n          </td>\n        </tr>\n        <tr>\n          <td><font size=\"1\" align=\"center\">{$street_address} {$supplemental_address_1}</font></td>\n          <td><b><font size=\"1\" align=\"right\">{ts}Invoice Number:{/ts}</font></b></td>\n          <td>\n            <font size=\"1\" align=\"right\">\n              {if $domain_supplemental_address_2 }{$domain_supplemental_address_2}{/if}\n              {if $domain_state }{$domain_state}{/if}\n           </font>\n          </td>\n        </tr>\n        <tr>\n          <td><font size=\"1\" align=\"center\">{$supplemental_address_2} {$stateProvinceAbbreviation}</font></td>\n          <td><font size=\"1\" align=\"right\">{$invoice_number}</font></td>\n          <td style=\"white-space: nowrap\">\n            <font size=\"1\" align=\"right\">\n              {if $domain_city}{$domain_city}{/if}\n              {if $domain_postal_code }{$domain_postal_code}{/if}\n           </font>\n          </td>\n        </tr>\n        <tr>\n          <td><font size=\"1\" align=\"right\">{$city}  {$postal_code}</font></td>\n          <td height=\"10\"><b><font size=\"1\" align=\"right\">{ts}Reference:{/ts}</font></b></td>\n          <td><font size=\"1\" align=\"right\">{if $domain_country}{$domain_country}{/if}</font></td>\n        </tr>\n        <tr>\n          <td><font size=\"1\" align=\"right\"> {$country}</font></td>\n          <td><font size=\"1\" align=\"right\">{if !empty($source)}{$source}{/if}</font></td>\n          <td valign=\"top\" style=\"white-space: nowrap\"><font size=\"1\" align=\"right\">{if $domain_email}{$domain_email}{/if}</font> </td>\n        </tr>\n        <tr>\n          <td></td>\n          <td></td>\n          <td valign=\"top\"><font size=\"1\" align=\"right\">{if $domain_phone}{$domain_phone}{/if}</font> </td>\n        </tr>\n      </table>\n\n             <table style=\"padding-top:75px;font-family: Arial, Verdana, sans-serif;\" width=\"100%\" border=\"0\" cellpadding=\"5\" cellspacing=\"0\">\n              <tr>\n                <th style=\"text-align:left;font-weight:bold;width:100%\"><font size=\"1\">{ts}Description{/ts}</font></th>\n                <th style=\"text-align:right;font-weight:bold;white-space: nowrap\"><font size=\"1\">{ts}Quantity{/ts}</font></th>\n                <th style=\"text-align:right;font-weight:bold;white-space: nowrap\"><font size=\"1\">{ts}Unit Price{/ts}</font></th>\n                <th style=\"text-align:right;font-weight:bold;white-space: nowrap\"><font size=\"1\">{$taxTerm}</font></th>\n                <th style=\"text-align:right;font-weight:bold;white-space: nowrap\"><font size=\"1\">{ts 1=$currency}Amount %1{/ts}</font></th>\n              </tr>\n              {foreach from=$lineItem item=value key=priceset name=taxpricevalue}\n                {if $smarty.foreach.taxpricevalue.index eq 0}\n                {else}\n                {/if}\n                <tr>\n                  <td style=\"text-align:left;nowrap\"><font size=\"1\">\n                    {if $value.html_type eq \'Text\'}\n                      {$value.label}\n                    {else}\n                      {$value.field_title} - {$value.label}\n                    {/if}\n                    {if $value.description}\n                      <div>{$value.description|truncate:30:\"...\"}</div>\n                    {/if}\n                   </font>\n                  </td>\n                  <td style=\"text-align:right;\"><font size=\"1\">{$value.qty}</font></td>\n                  <td style=\"text-align:right;\"><font size=\"1\">{$value.unit_price|crmMoney:$currency}</font></td>\n                  {if $value.tax_amount != \'\'}\n                    <td style=\"text-align:right;\"><font size=\"1\">{if $value.tax_rate}{$value.tax_rate}%{/if}</font></td>\n                  {else}\n                    <td style=\"text-align:right;\"><font size=\"1\">{if $taxTerm}{ts 1=$taxTerm}-{/ts}{/if}</font></td>\n                  {/if}\n                  <td style=\"text-align:right;\"><font size=\"1\">{$value.subTotal|crmMoney:$currency}</font></td>\n                </tr>\n              {/foreach}\n              <tr>\n                <td colspan=\"3\"></td>\n                <td style=\"text-align:right;\"><font size=\"1\">{ts}Sub Total{/ts}</font></td>\n                <td style=\"text-align:right;\"><font size=\"1\">{$subTotal|crmMoney:$currency}</font></td>\n              </tr>\n              {if !empty($dataArray)}\n              {foreach from=$dataArray item=value key=priceset}\n                <tr>\n                  <td colspan=\"3\"></td>\n                    {if $priceset}\n                      <td style=\"text-align:right;white-space: nowrap\"><font size=\"1\">{if $taxTerm}{ts 1=$taxTerm 2=$priceset}TOTAL %1 %2%{/ts}{/if}</font></td>\n                      <td style=\"text-align:right\"><font size=\"1\" align=\"right\">{$value|crmMoney:$currency}</font> </td>\n                    {elseif $priceset == 0}\n                      <td style=\"text-align:right;white-space: nowrap\"><font size=\"1\">{if $taxTerm}{ts 1=$taxTerm}TOTAL %1{/ts}{/if}</font></td>\n                      <td style=\"text-align:right\"><font size=\"1\" align=\"right\">{$value|crmMoney:$currency}</font> </td>\n                    {/if}\n                </tr>\n              {/foreach}\n              {/if}\n              <tr>\n                <td colspan=\"3\"></td>\n                <td style=\"text-align:right;white-space: nowrap\"><b><font size=\"1\">{ts 1=$currency}TOTAL %1{/ts}</font></b></td>\n                <td style=\"text-align:right;\"><font size=\"1\">{$amount|crmMoney:$currency}</font></td>\n              </tr>\n              <tr>\n                <td colspan=\"3\"></td>\n                <td style=\"text-align:right;white-space: nowrap\"><font size=\"1\">\n                  {if $contribution_status_id == $refundedStatusId}\n                    {ts}Amount Credited{/ts}\n                  {else}\n                    {ts}Amount Paid{/ts}\n                  {/if}\n                 </font>\n                </td>\n                <td style=\"text-align:right;\"><font size=\"1\">{$amountPaid|crmMoney:$currency}</font></td>\n              </tr>\n              <tr>\n                <td colspan=\"3\"></td>\n                <td colspan=\"2\"><hr></hr></td>\n              </tr>\n              <tr>\n                <td colspan=\"3\"></td>\n                <td style=\"text-align:right;white-space: nowrap\" ><b><font size=\"1\">{ts}AMOUNT DUE:{/ts}</font></b></td>\n                <td style=\"text-align:right;\"><b><font size=\"1\">{$amountDue|crmMoney:$currency}</font></b></td>\n              </tr>\n\n              <br/><br/><br/>\n              <tr>\n                <td colspan=\"5\"></td>\n              </tr>\n              {if $contribution_status_id == $pendingStatusId && $is_pay_later == 1}\n                <tr>\n                  <td colspan=\"3\"><b><font size=\"1\" align=\"center\">{ts 1=$dueDate}DUE DATE: %1{/ts}</font></b></td>\n                  <td colspan=\"2\"></td>\n                </tr>\n              {/if}\n            </table>\n          </td>\n        </tr>\n      </table>\n\n      {if $contribution_status_id == $pendingStatusId && $is_pay_later == 1}\n        <table style=\"margin-top:5px;\" width=\"100%\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\">\n          <tr>\n            <td><img src=\"{$resourceBase}/i/contribute/cut_line.png\" height=\"15\"></td>\n          </tr>\n        </table>\n\n        <table style=\"margin-top:5px;font-family: Arial, Verdana, sans-serif\" width=\"100%\" border=\"0\" cellpadding=\"5\" cellspacing=\"0\" id=\"desc\">\n          <tr>\n            <td width=\"60%\"><b><font size=\"4\" align=\"right\">{ts}PAYMENT ADVICE{/ts}</font></b><br/><br/><font size=\"1\" align=\"left\"><b>{ts}To:{/ts}</b><div style=\"width:24em;word-wrap:break-word;\">\n              {$domain_organization}<br />\n              {$domain_street_address} {$domain_supplemental_address_1}<br />\n              {$domain_supplemental_address_2} {$domain_state}<br />\n              {$domain_city} {$domain_postal_code}<br />\n              {$domain_country}<br />\n              {$domain_email}</div>\n              {$domain_phone}<br />\n             </font><br/><br/><font size=\"1\" align=\"left\">{$notes}</font>\n            </td>\n            <td width=\"40%\">\n              <table cellpadding=\"5\" cellspacing=\"0\"  width=\"100%\" border=\"0\">\n                <tr>\n                  <td width=\"100%\"><font size=\"1\" align=\"right\" style=\"font-weight:bold;\">{ts}Customer:{/ts}</font></td>\n                  <td style=\"white-space: nowrap\"><font size=\"1\" align=\"right\">{contact.display_name}</font></td>\n                </tr>\n                <tr>\n                  <td><font size=\"1\" align=\"right\" style=\"font-weight:bold;\">{ts}Invoice Number:{/ts}</font></td>\n                  <td><font size=\"1\" align=\"right\">{$invoice_number}</font></td>\n                </tr>\n                <tr><td colspan=\"5\" style=\"color:#F5F5F5;\"><hr></td></tr>\n                {if $is_pay_later == 1}\n                  <tr>\n                    <td><font size=\"1\" align=\"right\" style=\"font-weight:bold;\">{ts}Amount Due:{/ts}</font></td>\n                    <td><font size=\"1\" align=\"right\" style=\"font-weight:bold;\">{$amount|crmMoney:$currency}</font></td>\n                  </tr>\n                {else}\n                  <tr>\n                    <td><font size=\"1\" align=\"right\" style=\"font-weight:bold;\">{ts}Amount Due:{/ts}</font></td>\n                    <td><font size=\"1\" align=\"right\" style=\"font-weight:bold;\">{$amountDue|crmMoney:$currency}</font></td>\n                  </tr>\n                {/if}\n                <tr>\n                  <td><font size=\"1\" align=\"right\" style=\"font-weight:bold;\">{ts}Due Date:{/ts}</font></td>\n                  <td><font size=\"1\" align=\"right\">{$dueDate}</font></td>\n                </tr>\n                <tr>\n                  <td colspan=\"5\" style=\"color:#F5F5F5;\"><hr></td>\n                </tr>\n              </table>\n      {/if}\n\n      {if $contribution_status_id == $refundedStatusId || $contribution_status_id == $cancelledStatusId}\n      {if $config->empoweredBy}\n        <table style=\"margin-top:2px;padding-left:7px;page-break-before: always;\">\n          <tr>\n            <td><img src=\"{$resourceBase}/i/civi99.png\" height=\"34px\" width=\"99px\"></td>\n          </tr>\n        </table>\n      {/if}\n\n      <table style=\"font-family: Arial, Verdana, sans-serif\" width=\"100%\" height=\"100\" border=\"0\" cellpadding=\"5\" cellspacing=\"5\">\n        <tr>\n          <td style=\"padding-left:15px;\"><b><font size=\"4\" align=\"center\">{ts}CREDIT NOTE{/ts}</font></b></td>\n          <td style=\"padding-left:30px;\"><b><font size=\"1\" align=\"right\">{ts}Date:{/ts}</font></b></td>\n          <td><font size=\"1\" align=\"right\">{$domain_organization}</font></td>\n        </tr>\n        <tr>\n          {if $organization_name}\n            <td style=\"padding-left:17px;\"><font size=\"1\" align=\"center\">{contact.display_name}  ({$organization_name})</font></td>\n          {else}\n            <td style=\"padding-left:17px;\"><font size=\"1\" align=\"center\">{contact.display_name}</font></td>\n          {/if}\n          <td style=\"padding-left:30px;\"><font size=\"1\" align=\"right\">{$invoice_date}</font></td>\n          <td>\n            <font size=\"1\" align=\"right\">\n              {if $domain_street_address }{$domain_street_address}{/if}\n              {if $domain_supplemental_address_1 }{$domain_supplemental_address_1}{/if}\n           </font>\n          </td>\n        </tr>\n        <tr>\n          <td style=\"padding-left:17px;\"><font size=\"1\" align=\"center\">{$street_address}   {$supplemental_address_1}</font></td>\n          <td style=\"padding-left:30px;\"><b><font size=\"1\" align=\"right\">{ts}Credit Note Number:{/ts}</font></b></td>\n          <td>\n            <font size=\"1\" align=\"right\">\n              {if $domain_supplemental_address_2 }{$domain_supplemental_address_2}{/if}\n              {if $domain_state }{$domain_state}{/if}\n           </font>\n          </td>\n        </tr>\n        <tr>\n          <td style=\"padding-left:17px;\"><font size=\"1\" align=\"center\">{$supplemental_address_2}  {$stateProvinceAbbreviation}</font></td>\n          <td style=\"padding-left:30px;\"><font size=\"1\" align=\"right\">{$creditnote_id}</font></td>\n          <td>\n            <font size=\"1\" align=\"right\">\n              {if $domain_city}{$domain_city}{/if}\n              {if $domain_postal_code }{$domain_postal_code}{/if}\n           </font>\n          </td>\n        </tr>\n        <tr>\n          <td style=\"padding-left:17px;\"><font size=\"1\" align=\"right\">{$city}  {$postal_code}</font></td>\n          <td height=\"10\" style=\"padding-left:30px;\"><b><font size=\"1\" align=\"right\">{ts}Reference:{/ts}</font></b></td>\n          <td>\n            <font size=\"1\" align=\"right\">\n              {if $domain_country}{$domain_country}{/if}\n           </font>\n          </td>\n        </tr>\n        <tr>\n          <td></td>\n          <td style=\"padding-left:30px;\"><font size=\"1\" align=\"right\">{$source}</font></td>\n          <td>\n            <font size=\"1\" align=\"right\">\n              {if $domain_email}{$domain_email}{/if}\n           </font>\n          </td>\n        </tr>\n        <tr>\n          <td></td>\n          <td></td>\n          <td>\n            <font size=\"1\" align=\"right\">\n              {if $domain_phone}{$domain_phone}{/if}\n           </font>\n          </td>\n        </tr>\n      </table>\n\n      <table style=\"margin-top:75px;font-family: Arial, Verdana, sans-serif\" width=\"100%\" border=\"0\" cellpadding=\"5\" cellspacing=\"5\" id=\"desc\">\n        <tr>\n          <td colspan=\"2\" {$valueStyle}>\n            <table> {* FIXME: style this table so that it looks like the text version (justification, etc.) *}\n              <tr>\n                <th style=\"padding-right:28px;text-align:left;font-weight:bold;width:200px;\"><font size=\"1\">{ts}Description{/ts}</font></th>\n                <th style=\"padding-left:28px;text-align:right;font-weight:bold;\"><font size=\"1\">{ts}Quantity{/ts}</font></th>\n                <th style=\"padding-left:28px;text-align:right;font-weight:bold;\"><font size=\"1\">{ts}Unit Price{/ts}</font></th>\n                <th style=\"padding-left:28px;text-align:right;font-weight:bold;\"><font size=\"1\">{$taxTerm}</font></th>\n                <th style=\"padding-left:28px;text-align:right;font-weight:bold;\"><font size=\"1\">{ts 1=$currency}Amount %1{/ts}</font></th>\n              </tr>\n              {foreach from=$lineItem item=value key=priceset name=pricevalue}\n                {if $smarty.foreach.pricevalue.index eq 0}\n                  <tr><td colspan=\"5\"><hr size=\"3\" style=\"color:#000;\"></hr></td></tr>\n                {else}\n                  <tr><td colspan=\"5\" style=\"color:#F5F5F5;\"><hr></hr></td></tr>\n                {/if}\n                <tr>\n                  <td style =\"text-align:left;\"  >\n                    <font size=\"1\">\n                      {if $value.html_type eq \'Text\'}\n                        {$value.label}\n                      {else}\n                        {$value.field_title} - {$value.label}\n                      {/if}\n                      {if $value.description}\n                        <div>{$value.description|truncate:30:\"...\"}</div>\n                      {/if}\n                   </font>\n                  </td>\n                  <td style=\"padding-left:28px;text-align:right;\"><font size=\"1\">{$value.qty}</font></td>\n                  <td style=\"padding-left:28px;text-align:right;\"><font size=\"1\">{$value.unit_price|crmMoney:$currency}</font></td>\n                  {if $value.tax_amount != \'\'}\n                    <td style=\"padding-left:28px;text-align:right;\"><font size=\"1\">{if $value.tax_rate}{$value.tax_rate}%{/if}</font></td>\n                  {else}\n                    <td style=\"padding-left:28px;text-align:right\"><font size=\"1\">{if $taxTerm}{ts 1=$taxTerm}No %1{/ts}{/if}</font></td>\n                  {/if}\n                  <td style=\"padding-left:28px;text-align:right;\"><font size=\"1\">{$value.subTotal|crmMoney:$currency}</font></td>\n                </tr>\n              {/foreach}\n              <tr><td colspan=\"5\" style=\"color:#F5F5F5;\"><hr></hr></td></tr>\n              <tr>\n                <td colspan=\"3\"></td>\n                <td style=\"padding-left:28px;text-align:right;\"><font size=\"1\">{ts}Sub Total{/ts}</font></td>\n                <td style=\"padding-left:28px;text-align:right;\"><font size=\"1\">{$subTotal|crmMoney:$currency}</font></td>\n              </tr>\n              {if !empty($dataArray)}\n              {foreach from=$dataArray item=value key=priceset}\n                <tr>\n                  <td colspan=\"3\"></td>\n                  {if $priceset}\n                    <td style=\"padding-left:28px;text-align:right;\"><font size=\"1\">{if $taxTerm}{ts 1=$taxTerm 2=$priceset}TOTAL %1 %2%{/ts}{/if}</font></td>\n                    <td style=\"padding-left:28px;text-align:right;\"><font size=\"1\" align=\"right\">{$value|crmMoney:$currency}</font> </td>\n                  {elseif $priceset == 0}\n                    <td style=\"padding-left:28px;text-align:right;\"><font size=\"1\">{if $taxTerm}{ts 1=$taxTerm}TOTAL NO %1{/ts}{/if}</font></td>\n                    <td style=\"padding-left:28px;text-align:right;\"><font size=\"1\" align=\"right\">{$value|crmMoney:$currency}</font> </td>\n                  {/if}\n                </tr>\n              {/foreach}\n              {/if}\n              <tr>\n                <td colspan=\"3\"></td>\n                <td colspan=\"2\"><hr></hr></td>\n              </tr>\n              <tr>\n                <td colspan=\"3\"></td>\n                <td style=\"padding-left:28px;text-align:right;\"><b><font size=\"1\">{ts 1=$currency}TOTAL %1{/ts}</font></b></td>\n                <td style=\"padding-left:28px;text-align:right;\"><font size=\"1\">{$amount|crmMoney:$currency}</font></td>\n              </tr>\n              {if $is_pay_later == 0}\n                <tr>\n                  <td colspan=\"3\"></td>\n                  <td style=\"padding-left:28px;text-align:right;\"><font size=\"1\">{ts}LESS Credit to invoice(s){/ts}</font></td>\n                  <td style=\"padding-left:28px;text-align:right;\"><font size=\"1\">{$amount|crmMoney:$currency}</font></td>\n                </tr>\n                <tr>\n                  <td colspan=\"3\"></td>\n                  <td colspan=\"2\"><hr></hr></td>\n                </tr>\n                <tr>\n                  <td colspan=\"3\"></td>\n                  <td style=\"padding-left:28px;text-align:right;\"><b><font size=\"1\">{ts}REMAINING CREDIT{/ts}</font></b></td>\n                  <td style=\"padding-left:28px;text-align:right;\"><b><font size=\"1\">{$amountDue|crmMoney:$currency}</font></b></td>\n                  <td style=\"padding-left:28px;\"><font size=\"1\" align=\"right\"></font></td>\n                </tr>\n              {/if}\n              <br/><br/><br/>\n              <tr>\n                <td colspan=\"3\"></td>\n              </tr>\n              <tr>\n                <td></td>\n                <td colspan=\"3\"></td>\n              </tr>\n            </table>\n          </td>\n        </tr>\n      </table>\n\n      <table width=\"100%\" style=\"margin-top:5px;padding-right:45px;\">\n        <tr>\n          <td><img src=\"{$resourceBase}/i/contribute/cut_line.png\" height=\"15\" width=\"100%\"></td>\n        </tr>\n      </table>\n\n      <table style=\"margin-top:6px;font-family: Arial, Verdana, sans-serif\" width=\"100%\" border=\"0\" cellpadding=\"5\" cellspacing=\"5\" id=\"desc\">\n        <tr>\n          <td width=\"60%\"><font size=\"4\" align=\"right\"><b>{ts}CREDIT ADVICE{/ts}</b><br/><br /><div style=\"font-size:10px;max-width:300px;\">{ts}Please do not pay on this advice. Deduct the amount of this Credit Note from your next payment to us{/ts}</div><br/></font></td>\n          <td width=\"40%\">\n            <table align=\"right\">\n              <tr>\n                <td colspan=\"2\"></td>\n                <td><font size=\"1\" align=\"right\" style=\"font-weight:bold;\">{ts}Customer:{/ts}</font></td>\n                <td><font size=\"1\" align=\"right\">{contact.display_name}</font></td>\n              </tr>\n              <tr>\n                <td colspan=\"2\"></td>\n                <td><font size=\"1\" align=\"right\" style=\"font-weight:bold;\">{ts}Credit Note#:{/ts}</font></td>\n                <td><font size=\"1\" align=\"right\">{$creditnote_id}</font></td>\n              </tr>\n              <tr><td colspan=\"5\"style=\"color:#F5F5F5;\"><hr></hr></td></tr>\n              <tr>\n                <td colspan=\"2\"></td>\n                <td><font size=\"1\" align=\"right\" style=\"font-weight:bold;\">{ts}Credit Amount:{/ts}</font></td>\n                <td width=\'50px\'><font size=\"1\" align=\"right\" style=\"font-weight:bold;\">{$amount|crmMoney:$currency}</font></td>\n              </tr>\n            </table>\n          </td>\n        </tr>\n      </table>\n    {/if}\n\n  </div>\n  </body>\n</html>\n',1,816,'contribution_invoice_receipt',0,1,0,NULL),
+ (11,'Contributions - Recurring Start and End Notification','{ts}Recurring Contribution Notification{/ts} - {contact.display_name}\n','{assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}{$greeting},{/if}\n\n{if $recur_txnType eq \'START\'}\n{if $auto_renew_membership}\n{ts}Thanks for your auto renew membership sign-up.{/ts}\n\n\n{ts 1=$recur_frequency_interval 2=$recur_frequency_unit}This membership will be automatically renewed every %1 %2(s).{/ts}\n\n{if $cancelSubscriptionUrl}\n{ts 1=$cancelSubscriptionUrl}You can cancel the auto-renewal option by <a href=\"%1\">visiting this web page</a>.{/ts}\n\n{/if}\n\n{if $updateSubscriptionBillingUrl}\n{ts 1=$updateSubscriptionBillingUrl}You can update billing details for this automatically renewed membership by <a href=\"%1\">visiting this web page</a>.{/ts}\n\n{/if}\n{else}\n{ts}Thanks for your recurring contribution sign-up.{/ts}\n\n\n{ts 1=$recur_frequency_interval 2=$recur_frequency_unit 3=$recur_installments}This recurring contribution will be automatically processed every %1 %2(s){/ts}{if $recur_installments } {ts 1=$recur_installments} for a total of %1 installment(s){/ts}{/if}.\n\n{ts}Start Date{/ts}:  {$recur_start_date|crmDate}\n\n{if $cancelSubscriptionUrl}\n{ts 1=$cancelSubscriptionUrl}You can cancel the recurring contribution option by <a href=\"%1\">visiting this web page</a>.{/ts}\n\n{/if}\n\n{if $updateSubscriptionBillingUrl}\n{ts 1=$updateSubscriptionBillingUrl}You can update billing details for this recurring contribution by <a href=\"%1\">visiting this web page</a>.{/ts}\n\n{/if}\n\n{if $updateSubscriptionUrl}\n{ts 1=$updateSubscriptionUrl}You can update recurring contribution amount or change the number of installments for this recurring contribution by <a href=\"%1\">visiting this web page</a>.{/ts}\n\n{/if}\n{/if}\n\n{elseif $recur_txnType eq \'END\'}\n{if $auto_renew_membership}\n{ts}Your auto renew membership sign-up has ended and your membership will not be automatically renewed.{/ts}\n\n\n{else}\n{ts}Your recurring contribution term has ended.{/ts}\n\n\n{ts 1=$recur_installments}You have successfully completed %1 recurring contributions. Thank you.{/ts}\n\n\n==================================================\n{ts 1=$recur_installments}Interval of Subscription for %1 installment(s){/ts}\n\n==================================================\n{ts}Start Date{/ts}: {$recur_start_date|crmDate}\n\n{ts}End Date{/ts}: {$recur_end_date|crmDate}\n\n{/if}\n{/if}\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n    {assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}<p>{$greeting},</p>{/if}\n   </td>\n  </tr>\n\n  <tr>\n   <td>&nbsp;</td>\n  </tr>\n\n    {if $recur_txnType eq \'START\'}\n     {if $auto_renew_membership}\n       <tr>\n        <td>\n         <p>{ts}Thanks for your auto renew membership sign-up.{/ts}</p>\n         <p>{ts 1=$recur_frequency_interval 2=$recur_frequency_unit}This membership will be automatically renewed every %1 %2(s). {/ts}</p>\n        </td>\n       </tr>\n       {if $cancelSubscriptionUrl}\n       <tr>\n         <td {$labelStyle}>\n           {ts 1=$cancelSubscriptionUrl}You can cancel the auto-renewal option by <a href=\"%1\">visiting this web page</a>.{/ts}\n         </td>\n       </tr>\n       {/if}\n       {if $updateSubscriptionBillingUrl}\n         <tr>\n          <td {$labelStyle}>\n           {ts 1=$updateSubscriptionBillingUrl}You can update billing details for this automatically renewed membership by <a href=\"%1\">visiting this web page</a>.{/ts}\n          </td>\n         </tr>\n       {/if}\n     {else}\n      <tr>\n       <td>\n        <p>{ts}Thanks for your recurring contribution sign-up.{/ts}</p>\n        <p>{ts 1=$recur_frequency_interval 2=$recur_frequency_unit}This recurring contribution will be automatically processed every %1 %2(s){/ts}{if $recur_installments }{ts 1=$recur_installments} for a total of %1 installment(s){/ts}{/if}.</p>\n        <p>{ts}Start Date{/ts}: {$recur_start_date|crmDate}</p>\n       </td>\n      </tr>\n      {if $cancelSubscriptionUrl}\n      <tr>\n        <td {$labelStyle}>\n          {ts 1=$cancelSubscriptionUrl} You can cancel the recurring contribution option by <a href=\"%1\">visiting this web page</a>.{/ts}\n        </td>\n      </tr>\n      {/if}\n      {if $updateSubscriptionBillingUrl}\n        <tr>\n          <td {$labelStyle}>\n            {ts 1=$updateSubscriptionBillingUrl}You can update billing details for this recurring contribution by <a href=\"%1\">visiting this web page</a>.{/ts}\n          </td>\n        </tr>\n      {/if}\n      {if $updateSubscriptionUrl}\n      <tr>\n        <td {$labelStyle}>\n          {ts 1=$updateSubscriptionUrl}You can update recurring contribution amount or change the number of installments details for this recurring contribution by <a href=\"%1\">visiting this web page</a>.{/ts}\n        </td>\n      </tr>\n      {/if}\n     {/if}\n\n    {elseif $recur_txnType eq \'END\'}\n\n     {if $auto_renew_membership}\n      <tr>\n       <td>\n        <p>{ts}Your auto renew membership sign-up has ended and your membership will not be automatically renewed.{/ts}</p>\n       </td>\n      </tr>\n     {else}\n      <tr>\n       <td>\n        <p>{ts}Your recurring contribution term has ended.{/ts}</p>\n        <p>{ts 1=$recur_installments}You have successfully completed %1 recurring contributions. Thank you.{/ts}</p>\n       </td>\n      </tr>\n      <tr>\n       <td>\n     <table style=\"border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse; width:100%;\">\n      <tr>\n       <th {$headerStyle}>\n        {ts 1=$recur_installments}Interval of Subscription for %1 installment(s){/ts}\n       </th>\n      </tr>\n      <tr>\n       <td {$labelStyle}>\n        {ts}Start Date{/ts}\n       </td>\n       <td {$valueStyle}>\n        {$recur_start_date|crmDate}\n       </td>\n      </tr>\n      <tr>\n       <td {$labelStyle}>\n        {ts}End Date{/ts}\n       </td>\n       <td {$valueStyle}>\n        {$recur_end_date|crmDate}\n       </td>\n      </tr>\n     </table>\n       </td>\n      </tr>\n\n     {/if}\n    {/if}\n\n </table>\n\n</body>\n</html>\n',1,817,'contribution_recurring_notify',1,0,0,NULL),
+ (12,'Contributions - Recurring Start and End Notification','{ts}Recurring Contribution Notification{/ts} - {contact.display_name}\n','{assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}{$greeting},{/if}\n\n{if $recur_txnType eq \'START\'}\n{if $auto_renew_membership}\n{ts}Thanks for your auto renew membership sign-up.{/ts}\n\n\n{ts 1=$recur_frequency_interval 2=$recur_frequency_unit}This membership will be automatically renewed every %1 %2(s).{/ts}\n\n{if $cancelSubscriptionUrl}\n{ts 1=$cancelSubscriptionUrl}You can cancel the auto-renewal option by <a href=\"%1\">visiting this web page</a>.{/ts}\n\n{/if}\n\n{if $updateSubscriptionBillingUrl}\n{ts 1=$updateSubscriptionBillingUrl}You can update billing details for this automatically renewed membership by <a href=\"%1\">visiting this web page</a>.{/ts}\n\n{/if}\n{else}\n{ts}Thanks for your recurring contribution sign-up.{/ts}\n\n\n{ts 1=$recur_frequency_interval 2=$recur_frequency_unit 3=$recur_installments}This recurring contribution will be automatically processed every %1 %2(s){/ts}{if $recur_installments } {ts 1=$recur_installments} for a total of %1 installment(s){/ts}{/if}.\n\n{ts}Start Date{/ts}:  {$recur_start_date|crmDate}\n\n{if $cancelSubscriptionUrl}\n{ts 1=$cancelSubscriptionUrl}You can cancel the recurring contribution option by <a href=\"%1\">visiting this web page</a>.{/ts}\n\n{/if}\n\n{if $updateSubscriptionBillingUrl}\n{ts 1=$updateSubscriptionBillingUrl}You can update billing details for this recurring contribution by <a href=\"%1\">visiting this web page</a>.{/ts}\n\n{/if}\n\n{if $updateSubscriptionUrl}\n{ts 1=$updateSubscriptionUrl}You can update recurring contribution amount or change the number of installments for this recurring contribution by <a href=\"%1\">visiting this web page</a>.{/ts}\n\n{/if}\n{/if}\n\n{elseif $recur_txnType eq \'END\'}\n{if $auto_renew_membership}\n{ts}Your auto renew membership sign-up has ended and your membership will not be automatically renewed.{/ts}\n\n\n{else}\n{ts}Your recurring contribution term has ended.{/ts}\n\n\n{ts 1=$recur_installments}You have successfully completed %1 recurring contributions. Thank you.{/ts}\n\n\n==================================================\n{ts 1=$recur_installments}Interval of Subscription for %1 installment(s){/ts}\n\n==================================================\n{ts}Start Date{/ts}: {$recur_start_date|crmDate}\n\n{ts}End Date{/ts}: {$recur_end_date|crmDate}\n\n{/if}\n{/if}\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n    {assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}<p>{$greeting},</p>{/if}\n   </td>\n  </tr>\n\n  <tr>\n   <td>&nbsp;</td>\n  </tr>\n\n    {if $recur_txnType eq \'START\'}\n     {if $auto_renew_membership}\n       <tr>\n        <td>\n         <p>{ts}Thanks for your auto renew membership sign-up.{/ts}</p>\n         <p>{ts 1=$recur_frequency_interval 2=$recur_frequency_unit}This membership will be automatically renewed every %1 %2(s). {/ts}</p>\n        </td>\n       </tr>\n       {if $cancelSubscriptionUrl}\n       <tr>\n         <td {$labelStyle}>\n           {ts 1=$cancelSubscriptionUrl}You can cancel the auto-renewal option by <a href=\"%1\">visiting this web page</a>.{/ts}\n         </td>\n       </tr>\n       {/if}\n       {if $updateSubscriptionBillingUrl}\n         <tr>\n          <td {$labelStyle}>\n           {ts 1=$updateSubscriptionBillingUrl}You can update billing details for this automatically renewed membership by <a href=\"%1\">visiting this web page</a>.{/ts}\n          </td>\n         </tr>\n       {/if}\n     {else}\n      <tr>\n       <td>\n        <p>{ts}Thanks for your recurring contribution sign-up.{/ts}</p>\n        <p>{ts 1=$recur_frequency_interval 2=$recur_frequency_unit}This recurring contribution will be automatically processed every %1 %2(s){/ts}{if $recur_installments }{ts 1=$recur_installments} for a total of %1 installment(s){/ts}{/if}.</p>\n        <p>{ts}Start Date{/ts}: {$recur_start_date|crmDate}</p>\n       </td>\n      </tr>\n      {if $cancelSubscriptionUrl}\n      <tr>\n        <td {$labelStyle}>\n          {ts 1=$cancelSubscriptionUrl} You can cancel the recurring contribution option by <a href=\"%1\">visiting this web page</a>.{/ts}\n        </td>\n      </tr>\n      {/if}\n      {if $updateSubscriptionBillingUrl}\n        <tr>\n          <td {$labelStyle}>\n            {ts 1=$updateSubscriptionBillingUrl}You can update billing details for this recurring contribution by <a href=\"%1\">visiting this web page</a>.{/ts}\n          </td>\n        </tr>\n      {/if}\n      {if $updateSubscriptionUrl}\n      <tr>\n        <td {$labelStyle}>\n          {ts 1=$updateSubscriptionUrl}You can update recurring contribution amount or change the number of installments details for this recurring contribution by <a href=\"%1\">visiting this web page</a>.{/ts}\n        </td>\n      </tr>\n      {/if}\n     {/if}\n\n    {elseif $recur_txnType eq \'END\'}\n\n     {if $auto_renew_membership}\n      <tr>\n       <td>\n        <p>{ts}Your auto renew membership sign-up has ended and your membership will not be automatically renewed.{/ts}</p>\n       </td>\n      </tr>\n     {else}\n      <tr>\n       <td>\n        <p>{ts}Your recurring contribution term has ended.{/ts}</p>\n        <p>{ts 1=$recur_installments}You have successfully completed %1 recurring contributions. Thank you.{/ts}</p>\n       </td>\n      </tr>\n      <tr>\n       <td>\n     <table style=\"border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse; width:100%;\">\n      <tr>\n       <th {$headerStyle}>\n        {ts 1=$recur_installments}Interval of Subscription for %1 installment(s){/ts}\n       </th>\n      </tr>\n      <tr>\n       <td {$labelStyle}>\n        {ts}Start Date{/ts}\n       </td>\n       <td {$valueStyle}>\n        {$recur_start_date|crmDate}\n       </td>\n      </tr>\n      <tr>\n       <td {$labelStyle}>\n        {ts}End Date{/ts}\n       </td>\n       <td {$valueStyle}>\n        {$recur_end_date|crmDate}\n       </td>\n      </tr>\n     </table>\n       </td>\n      </tr>\n\n     {/if}\n    {/if}\n\n </table>\n\n</body>\n</html>\n',1,817,'contribution_recurring_notify',0,1,0,NULL),
+ (13,'Contributions - Recurring Cancellation Notification','{ts}Recurring Contribution Cancellation Notification{/ts} - {contact.display_name}\n','{assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}{$greeting},{/if}\n\n{ts 1=$amount 2=$recur_frequency_interval 3=$recur_frequency_unit}Your recurring contribution of %1, every %2 %3 has been cancelled as requested.{/ts}\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n    {assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}<p>{$greeting},</p>{/if}\n    <p>{ts 1=$amount 2=$recur_frequency_interval 3=$recur_frequency_unit}Your recurring contribution of %1, every %2 %3 has been cancelled as requested.{/ts}</p>\n   </td>\n  </tr>\n  <tr>\n </table>\n\n</body>\n</html>\n',1,818,'contribution_recurring_cancelled',1,0,0,NULL),
+ (14,'Contributions - Recurring Cancellation Notification','{ts}Recurring Contribution Cancellation Notification{/ts} - {contact.display_name}\n','{assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}{$greeting},{/if}\n\n{ts 1=$amount 2=$recur_frequency_interval 3=$recur_frequency_unit}Your recurring contribution of %1, every %2 %3 has been cancelled as requested.{/ts}\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n    {assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}<p>{$greeting},</p>{/if}\n    <p>{ts 1=$amount 2=$recur_frequency_interval 3=$recur_frequency_unit}Your recurring contribution of %1, every %2 %3 has been cancelled as requested.{/ts}</p>\n   </td>\n  </tr>\n  <tr>\n </table>\n\n</body>\n</html>\n',1,818,'contribution_recurring_cancelled',0,1,0,NULL),
+ (15,'Contributions - Recurring Billing Updates','{ts}Recurring Contribution Billing Updates{/ts} - {contact.display_name}\n','{assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}{$greeting},{/if}\n\n{ts 1=$amount 2=$recur_frequency_interval 3=$recur_frequency_unit}Billing details for your recurring contribution of %1, every %2 %3 have been updated.{/ts}\n\n===========================================================\n{ts}Billing Name and Address{/ts}\n\n===========================================================\n{$billingName}\n{$address}\n\n{$email}\n\n===========================================================\n{ts}Credit Card Information{/ts}\n\n===========================================================\n{$credit_card_type}\n{$credit_card_number}\n{ts}Expires{/ts}: {$credit_card_exp_date|truncate:7:\'\'|crmDate}\n\n\n{ts 1=$receipt_from_email}If you have questions please contact us at %1{/ts}\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n    {assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}<p>{$greeting},</p>{/if}\n    <p>{ts 1=$amount 2=$recur_frequency_interval 3=$recur_frequency_unit}Billing details for your recurring contribution of %1, every %2 %3 have been updated.{/ts}</p>\n   </td>\n  </tr>\n  <tr>\n </table>\n\n  <table style=\"width:100%; max-width:500px; border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse;\">\n    <tr>\n        <th {$headerStyle}>\n         {ts}Billing Name and Address{/ts}\n        </th>\n       </tr>\n       <tr>\n        <td colspan=\"2\" {$valueStyle}>\n         {$billingName}<br />\n         {$address|nl2br}<br />\n         {$email}\n        </td>\n       </tr>\n        <tr>\n       <th {$headerStyle}>\n        {ts}Credit Card Information{/ts}\n       </th>\n      </tr>\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n        {$credit_card_type}<br />\n        {$credit_card_number}<br />\n        {ts}Expires{/ts}: {$credit_card_exp_date|truncate:7:\'\'|crmDate}<br />\n       </td>\n      </tr>\n      <tr>\n        <td {$labelStyle}>\n            {ts 1=$receipt_from_email}If you have questions please contact us at %1{/ts}\n        </td>\n       </tr>\n  </table>\n\n</body>\n</html>\n',1,819,'contribution_recurring_billing',1,0,0,NULL),
+ (16,'Contributions - Recurring Billing Updates','{ts}Recurring Contribution Billing Updates{/ts} - {contact.display_name}\n','{assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}{$greeting},{/if}\n\n{ts 1=$amount 2=$recur_frequency_interval 3=$recur_frequency_unit}Billing details for your recurring contribution of %1, every %2 %3 have been updated.{/ts}\n\n===========================================================\n{ts}Billing Name and Address{/ts}\n\n===========================================================\n{$billingName}\n{$address}\n\n{$email}\n\n===========================================================\n{ts}Credit Card Information{/ts}\n\n===========================================================\n{$credit_card_type}\n{$credit_card_number}\n{ts}Expires{/ts}: {$credit_card_exp_date|truncate:7:\'\'|crmDate}\n\n\n{ts 1=$receipt_from_email}If you have questions please contact us at %1{/ts}\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n    {assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}<p>{$greeting},</p>{/if}\n    <p>{ts 1=$amount 2=$recur_frequency_interval 3=$recur_frequency_unit}Billing details for your recurring contribution of %1, every %2 %3 have been updated.{/ts}</p>\n   </td>\n  </tr>\n  <tr>\n </table>\n\n  <table style=\"width:100%; max-width:500px; border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse;\">\n    <tr>\n        <th {$headerStyle}>\n         {ts}Billing Name and Address{/ts}\n        </th>\n       </tr>\n       <tr>\n        <td colspan=\"2\" {$valueStyle}>\n         {$billingName}<br />\n         {$address|nl2br}<br />\n         {$email}\n        </td>\n       </tr>\n        <tr>\n       <th {$headerStyle}>\n        {ts}Credit Card Information{/ts}\n       </th>\n      </tr>\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n        {$credit_card_type}<br />\n        {$credit_card_number}<br />\n        {ts}Expires{/ts}: {$credit_card_exp_date|truncate:7:\'\'|crmDate}<br />\n       </td>\n      </tr>\n      <tr>\n        <td {$labelStyle}>\n            {ts 1=$receipt_from_email}If you have questions please contact us at %1{/ts}\n        </td>\n       </tr>\n  </table>\n\n</body>\n</html>\n',1,819,'contribution_recurring_billing',0,1,0,NULL),
+ (17,'Contributions - Recurring Updates','{ts}Recurring Contribution Update Notification{/ts} - {contact.display_name}\n','{assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}{$greeting},{/if}\n\n{ts}Your recurring contribution has been updated as requested:{/ts}\n\n{ts 1=$amount 2=$recur_frequency_interval 3=$recur_frequency_unit}Recurring contribution is for %1, every %2 %3(s){/ts}\n{if $installments}{ts 1=$installments} for %1 installments.{/ts}{/if}\n\n{ts 1=$receipt_from_email}If you have questions please contact us at %1.{/ts}\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n    {assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}<p>{$greeting},</p>{/if}\n    <p>{ts}Your recurring contribution has been updated as requested:{/ts}\n    <p>{ts 1=$amount 2=$recur_frequency_interval 3=$recur_frequency_unit}Recurring contribution is for %1, every %2 %3(s){/ts}{if $installments}{ts 1=$installments} for %1 installments{/ts}{/if}.</p>\n\n    <p>{ts 1=$receipt_from_email}If you have questions please contact us at %1.{/ts}</p>\n   </td>\n  </tr>\n  <tr>\n </table>\n\n</body>\n</html>\n',1,820,'contribution_recurring_edit',1,0,0,NULL),
+ (18,'Contributions - Recurring Updates','{ts}Recurring Contribution Update Notification{/ts} - {contact.display_name}\n','{assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}{$greeting},{/if}\n\n{ts}Your recurring contribution has been updated as requested:{/ts}\n\n{ts 1=$amount 2=$recur_frequency_interval 3=$recur_frequency_unit}Recurring contribution is for %1, every %2 %3(s){/ts}\n{if $installments}{ts 1=$installments} for %1 installments.{/ts}{/if}\n\n{ts 1=$receipt_from_email}If you have questions please contact us at %1.{/ts}\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n    {assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}<p>{$greeting},</p>{/if}\n    <p>{ts}Your recurring contribution has been updated as requested:{/ts}\n    <p>{ts 1=$amount 2=$recur_frequency_interval 3=$recur_frequency_unit}Recurring contribution is for %1, every %2 %3(s){/ts}{if $installments}{ts 1=$installments} for %1 installments{/ts}{/if}.</p>\n\n    <p>{ts 1=$receipt_from_email}If you have questions please contact us at %1.{/ts}</p>\n   </td>\n  </tr>\n  <tr>\n </table>\n\n</body>\n</html>\n',1,820,'contribution_recurring_edit',0,1,0,NULL),
+ (19,'Personal Campaign Pages - Admin Notification','{ts}Personal Campaign Page Notification{/ts} - {contact.display_name}\n','===========================================================\n{ts}Personal Campaign Page Notification{/ts}\n\n===========================================================\n{ts}Action{/ts}: {if $mode EQ \'Update\'}{ts}Updated personal campaign page{/ts}{else}{ts}New personal campaign page{/ts}{/if}\n{ts}Personal Campaign Page Title{/ts}: {$pcpTitle}\n{ts}Current Status{/ts}: {$pcpStatus}\n{capture assign=pcpURL}{crmURL p=\"civicrm/pcp/info\" q=\"reset=1&id=`$pcpId`\" h=0 a=1 fe=1}{/capture}\n{ts}View Page{/ts}:\n>> {$pcpURL}\n\n{ts}Supporter{/ts}: {$supporterName}\n>> {$supporterUrl}\n\n{ts}Linked to Contribution Page{/ts}: {$contribPageTitle}\n>> {$contribPageUrl}\n\n{ts}Manage Personal Campaign Pages{/ts}:\n>> {$managePCPUrl}\n\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n{capture assign=pcpURL     }{crmURL p=\"civicrm/pcp/info\" q=\"reset=1&id=`$pcpId`\" h=0 a=1 fe=1}{/capture}\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n    <table style=\"border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse; width:100%;\">\n     <tr>\n      <th {$headerStyle}>\n       {ts}Personal Campaign Page Notification{/ts}\n      </th>\n     </tr>\n     <tr>\n      <td {$labelStyle}>\n       {ts}Action{/ts}:\n      </td>\n      <td {$valueStyle}>\n       {if $mode EQ \'Update\'}\n        {ts}Updated personal campaign page{/ts}\n       {else}\n        {ts}New personal campaign page{/ts}\n       {/if}\n      </td>\n     </tr>\n     <tr>\n      <td {$labelStyle}>\n       {ts}Personal Campaign Page Title{/ts}\n      </td>\n      <td {$valueStyle}>\n       {$pcpTitle}\n      </td>\n     </tr>\n     <tr>\n      <td {$labelStyle}>\n       {ts}Current Status{/ts}\n      </td>\n      <td {$valueStyle}>\n       {$pcpStatus}\n      </td>\n     </tr>\n\n     <tr>\n      <td {$labelStyle}>\n       <a href=\"{$pcpURL}\">{ts}View Page{/ts}</a>\n      </td>\n      <td></td>\n     </tr>\n     <tr>\n      <td {$labelStyle}>\n       {ts}Supporter{/ts}\n      </td>\n      <td {$valueStyle}>\n       <a href=\"{$supporterUrl}\">{$supporterName}</a>\n      </td>\n     </tr>\n     <tr>\n      <td {$labelStyle}>\n       {ts}Linked to Contribution Page{/ts}\n      </td>\n      <td {$valueStyle}>\n       <a href=\"{$contribPageUrl}\">{$contribPageTitle}</a>\n      </td>\n     </tr>\n     <tr>\n      <td {$labelStyle}>\n       <a href=\"{$managePCPUrl}\">{ts}Manage Personal Campaign Pages{/ts}</a>\n      </td>\n      <td></td>\n     </tr>\n\n    </table>\n   </td>\n  </tr>\n </table>\n\n</body>\n</html>\n',1,821,'pcp_notify',1,0,0,NULL),
+ (20,'Personal Campaign Pages - Admin Notification','{ts}Personal Campaign Page Notification{/ts} - {contact.display_name}\n','===========================================================\n{ts}Personal Campaign Page Notification{/ts}\n\n===========================================================\n{ts}Action{/ts}: {if $mode EQ \'Update\'}{ts}Updated personal campaign page{/ts}{else}{ts}New personal campaign page{/ts}{/if}\n{ts}Personal Campaign Page Title{/ts}: {$pcpTitle}\n{ts}Current Status{/ts}: {$pcpStatus}\n{capture assign=pcpURL}{crmURL p=\"civicrm/pcp/info\" q=\"reset=1&id=`$pcpId`\" h=0 a=1 fe=1}{/capture}\n{ts}View Page{/ts}:\n>> {$pcpURL}\n\n{ts}Supporter{/ts}: {$supporterName}\n>> {$supporterUrl}\n\n{ts}Linked to Contribution Page{/ts}: {$contribPageTitle}\n>> {$contribPageUrl}\n\n{ts}Manage Personal Campaign Pages{/ts}:\n>> {$managePCPUrl}\n\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n{capture assign=pcpURL     }{crmURL p=\"civicrm/pcp/info\" q=\"reset=1&id=`$pcpId`\" h=0 a=1 fe=1}{/capture}\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n    <table style=\"border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse; width:100%;\">\n     <tr>\n      <th {$headerStyle}>\n       {ts}Personal Campaign Page Notification{/ts}\n      </th>\n     </tr>\n     <tr>\n      <td {$labelStyle}>\n       {ts}Action{/ts}:\n      </td>\n      <td {$valueStyle}>\n       {if $mode EQ \'Update\'}\n        {ts}Updated personal campaign page{/ts}\n       {else}\n        {ts}New personal campaign page{/ts}\n       {/if}\n      </td>\n     </tr>\n     <tr>\n      <td {$labelStyle}>\n       {ts}Personal Campaign Page Title{/ts}\n      </td>\n      <td {$valueStyle}>\n       {$pcpTitle}\n      </td>\n     </tr>\n     <tr>\n      <td {$labelStyle}>\n       {ts}Current Status{/ts}\n      </td>\n      <td {$valueStyle}>\n       {$pcpStatus}\n      </td>\n     </tr>\n\n     <tr>\n      <td {$labelStyle}>\n       <a href=\"{$pcpURL}\">{ts}View Page{/ts}</a>\n      </td>\n      <td></td>\n     </tr>\n     <tr>\n      <td {$labelStyle}>\n       {ts}Supporter{/ts}\n      </td>\n      <td {$valueStyle}>\n       <a href=\"{$supporterUrl}\">{$supporterName}</a>\n      </td>\n     </tr>\n     <tr>\n      <td {$labelStyle}>\n       {ts}Linked to Contribution Page{/ts}\n      </td>\n      <td {$valueStyle}>\n       <a href=\"{$contribPageUrl}\">{$contribPageTitle}</a>\n      </td>\n     </tr>\n     <tr>\n      <td {$labelStyle}>\n       <a href=\"{$managePCPUrl}\">{ts}Manage Personal Campaign Pages{/ts}</a>\n      </td>\n      <td></td>\n     </tr>\n\n    </table>\n   </td>\n  </tr>\n </table>\n\n</body>\n</html>\n',1,821,'pcp_notify',0,1,0,NULL),
+ (21,'Personal Campaign Pages - Supporter Status Change Notification','{ts 1=$contribPageTitle}Your Personal Campaign Page for %1{/ts} - {contact.display_name}\n','{if $pcpStatus eq \'Approved\'}\n============================\n{ts}Your Personal Campaign Page{/ts}\n\n============================\n\n{ts}Your personal campaign page has been approved and is now live.{/ts}\n\n{ts}Whenever you want to preview, update or promote your page{/ts}:\n1. {ts}Login to your account at{/ts}:\n{$loginUrl}\n\n2. {ts}Click or paste this link into your browser to go to your page{/ts}:\n{$pcpInfoURL}\n\n{ts}When you view your campaign page WHILE LOGGED IN, the page includes links to edit your page, tell friends, and update your contact info.{/ts}\n\n{if $isTellFriendEnabled}\n\n{ts}After logging in, you can use this form to promote your fundraising page{/ts}:\n{$pcpTellFriendURL}\n\n{/if}\n\n{if $pcpNotifyEmailAddress}\n{ts}Questions? Send email to{/ts}:\n{$pcpNotifyEmailAddress}\n{/if}\n\n{* Rejected message *}\n{elseif $pcpStatus eq \'Not Approved\'}\n============================\n{ts}Your Personal Campaign Page{/ts}\n\n============================\n\n{ts}Your personal campaign page has been reviewed. There were some issues with the content which prevented us from approving the page. We are sorry for any inconvenience.{/ts}\n\n{if $pcpNotifyEmailAddress}\n\n{ts}Please contact our site administrator for more information{/ts}:\n{$pcpNotifyEmailAddress}\n{/if}\n\n{/if}\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n\n    <h1>{ts}Your Personal Campaign Page{/ts}</h1>\n\n    {if $pcpStatus eq \'Approved\'}\n\n     <p>{ts}Your personal campaign page has been approved and is now live.{/ts}</p>\n     <p>{ts}Whenever you want to preview, update or promote your page{/ts}:</p>\n     <ol>\n      <li><a href=\"{$loginUrl}\">{ts}Login to your account{/ts}</a></li>\n      <li><a href=\"{$pcpInfoURL}\">{ts}Go to your page{/ts}</a></li>\n     </ol>\n     <p>{ts}When you view your campaign page WHILE LOGGED IN, the page includes links to edit your page, tell friends, and update your contact info.{/ts}</p>\n\n     {if $isTellFriendEnabled}\n      <p><a href=\"{$pcpTellFriendURL}\">{ts}After logging in, you can use this form to promote your fundraising page{/ts}</a></p>\n     {/if}\n\n     {if $pcpNotifyEmailAddress}\n      <p>{ts}Questions? Send email to{/ts}: {$pcpNotifyEmailAddress}</p>\n     {/if}\n\n    {elseif $pcpStatus eq \'Not Approved\'}\n\n     <p>{ts}Your personal campaign page has been reviewed. There were some issues with the content which prevented us from approving the page. We are sorry for any inconvenience.{/ts}</p>\n     {if $pcpNotifyEmailAddress}\n      <p>{ts}Please contact our site administrator for more information{/ts}: {$pcpNotifyEmailAddress}</p>\n     {/if}\n\n    {/if}\n\n   </td>\n  </tr>\n\n </table>\n\n</body>\n</html>\n',1,822,'pcp_status_change',1,0,0,NULL),
+ (22,'Personal Campaign Pages - Supporter Status Change Notification','{ts 1=$contribPageTitle}Your Personal Campaign Page for %1{/ts} - {contact.display_name}\n','{if $pcpStatus eq \'Approved\'}\n============================\n{ts}Your Personal Campaign Page{/ts}\n\n============================\n\n{ts}Your personal campaign page has been approved and is now live.{/ts}\n\n{ts}Whenever you want to preview, update or promote your page{/ts}:\n1. {ts}Login to your account at{/ts}:\n{$loginUrl}\n\n2. {ts}Click or paste this link into your browser to go to your page{/ts}:\n{$pcpInfoURL}\n\n{ts}When you view your campaign page WHILE LOGGED IN, the page includes links to edit your page, tell friends, and update your contact info.{/ts}\n\n{if $isTellFriendEnabled}\n\n{ts}After logging in, you can use this form to promote your fundraising page{/ts}:\n{$pcpTellFriendURL}\n\n{/if}\n\n{if $pcpNotifyEmailAddress}\n{ts}Questions? Send email to{/ts}:\n{$pcpNotifyEmailAddress}\n{/if}\n\n{* Rejected message *}\n{elseif $pcpStatus eq \'Not Approved\'}\n============================\n{ts}Your Personal Campaign Page{/ts}\n\n============================\n\n{ts}Your personal campaign page has been reviewed. There were some issues with the content which prevented us from approving the page. We are sorry for any inconvenience.{/ts}\n\n{if $pcpNotifyEmailAddress}\n\n{ts}Please contact our site administrator for more information{/ts}:\n{$pcpNotifyEmailAddress}\n{/if}\n\n{/if}\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n\n    <h1>{ts}Your Personal Campaign Page{/ts}</h1>\n\n    {if $pcpStatus eq \'Approved\'}\n\n     <p>{ts}Your personal campaign page has been approved and is now live.{/ts}</p>\n     <p>{ts}Whenever you want to preview, update or promote your page{/ts}:</p>\n     <ol>\n      <li><a href=\"{$loginUrl}\">{ts}Login to your account{/ts}</a></li>\n      <li><a href=\"{$pcpInfoURL}\">{ts}Go to your page{/ts}</a></li>\n     </ol>\n     <p>{ts}When you view your campaign page WHILE LOGGED IN, the page includes links to edit your page, tell friends, and update your contact info.{/ts}</p>\n\n     {if $isTellFriendEnabled}\n      <p><a href=\"{$pcpTellFriendURL}\">{ts}After logging in, you can use this form to promote your fundraising page{/ts}</a></p>\n     {/if}\n\n     {if $pcpNotifyEmailAddress}\n      <p>{ts}Questions? Send email to{/ts}: {$pcpNotifyEmailAddress}</p>\n     {/if}\n\n    {elseif $pcpStatus eq \'Not Approved\'}\n\n     <p>{ts}Your personal campaign page has been reviewed. There were some issues with the content which prevented us from approving the page. We are sorry for any inconvenience.{/ts}</p>\n     {if $pcpNotifyEmailAddress}\n      <p>{ts}Please contact our site administrator for more information{/ts}: {$pcpNotifyEmailAddress}</p>\n     {/if}\n\n    {/if}\n\n   </td>\n  </tr>\n\n </table>\n\n</body>\n</html>\n',1,822,'pcp_status_change',0,1,0,NULL),
+ (23,'Personal Campaign Pages - Supporter Welcome','{ts 1=$contribPageTitle}Your Personal Campaign Page for %1{/ts} - {contact.display_name}\n','{assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}{$greeting},{/if}\n\n{ts 1=\"$contribPageTitle\"}Thanks for creating a personal campaign page in support of %1.{/ts}\n\n{if $pcpStatus eq \'Approved\'}\n====================\n{ts}Promoting Your Page{/ts}\n\n====================\n{if $isTellFriendEnabled}\n\n{ts}You can begin your fundraising efforts using our \"Tell a Friend\" form{/ts}:\n\n1. {ts}Login to your account at{/ts}:\n{$loginUrl}\n\n2. {ts}Click or paste this link into your browser and follow the prompts{/ts}:\n{$pcpTellFriendURL}\n{else}\n\n{ts}Send email to family, friends and colleagues with a personal message about this campaign.{/ts}\n{ts}Include this link to your fundraising page in your emails{/ts}:\n{$pcpInfoURL}\n{/if}\n\n===================\n{ts}Managing Your Page{/ts}\n\n===================\n{ts}Whenever you want to preview, update or promote your page{/ts}:\n1. {ts}Login to your account at{/ts}:\n{$loginUrl}\n\n2. {ts}Click or paste this link into your browser to go to your page{/ts}:\n{$pcpInfoURL}\n\n{ts}When you view your campaign page WHILE LOGGED IN, the page includes links to edit your page, tell friends, and update your contact info.{/ts}\n\n\n{elseif $pcpStatus EQ \'Waiting Review\'}\n{ts}Your page requires administrator review before you can begin your fundraising efforts.{/ts}\n\n\n{ts}A notification email has been sent to the site administrator, and you will receive another notification from them as soon as the review process is complete.{/ts}\n\n\n{ts}You can still preview your page prior to approval{/ts}:\n1. {ts}Login to your account at{/ts}:\n{$loginUrl}\n\n2. {ts}Click or paste this link into your browser{/ts}:\n{$pcpInfoURL}\n\n{/if}\n{if $pcpNotifyEmailAddress}\n{ts}Questions? Send email to{/ts}:\n{$pcpNotifyEmailAddress}\n{/if}\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n    {assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}<p>{$greeting},</p>{/if}\n    <p>{ts 1=\"$contribPageTitle\"}Thanks for creating a personal campaign page in support of %1.{/ts}</p>\n   </td>\n  </tr>\n\n  {if $pcpStatus eq \'Approved\'}\n\n    <tr>\n     <td>\n      <table style=\"border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse; width:100%;\">\n       <tr>\n        <th {$headerStyle}>\n         {ts}Promoting Your Page{/ts}\n        </th>\n       </tr>\n       <tr>\n        <td colspan=\"2\" {$valueStyle}>\n         {if $isTellFriendEnabled}\n          <p>{ts}You can begin your fundraising efforts using our \"Tell a Friend\" form{/ts}:</p>\n          <ol>\n           <li><a href=\"{$loginUrl}\">{ts}Login to your account{/ts}</a></li>\n           <li><a href=\"{$pcpTellFriendURL}\">{ts}Click this link and follow the prompts{/ts}</a></li>\n          </ol>\n         {else}\n          <p>{ts}Send email to family, friends and colleagues with a personal message about this campaign.{/ts} {ts}Include this link to your fundraising page in your emails{/ts}: {$pcpInfoURL}</p>\n         {/if}\n        </td>\n       </tr>\n       <tr>\n        <th {$headerStyle}>\n         {ts}Managing Your Page{/ts}\n        </th>\n       <tr>\n        <td colspan=\"2\" {$valueStyle}>\n         <p>{ts}Whenever you want to preview, update or promote your page{/ts}:</p>\n         <ol>\n          <li><a href=\"{$loginUrl}\">{ts}Login to your account{/ts}</a></li>\n          <li><a href=\"{$pcpInfoURL}\">{ts}Go to your page{/ts}</a></li>\n         </ol>\n         <p>{ts}When you view your campaign page WHILE LOGGED IN, the page includes links to edit your page, tell friends, and update your contact info.{/ts}</p>\n        </td>\n       </tr>\n       </tr>\n      </table>\n     </td>\n    </tr>\n\n   {elseif $pcpStatus EQ \'Waiting Review\'}\n\n    <tr>\n     <td>\n      <p>{ts}Your page requires administrator review before you can begin your fundraising efforts.{/ts}</p>\n      <p>{ts}A notification email has been sent to the site administrator, and you will receive another notification from them as soon as the review process is complete.{/ts}</p>\n      <p>{ts}You can still preview your page prior to approval{/ts}:</p>\n      <ol>\n       <li><a href=\"{$loginUrl}\">{ts}Login to your account{/ts}</a></li>\n       <li><a href=\"{$pcpInfoURL}\">{ts}Click this link{/ts}</a></li>\n      </ol>\n     </td>\n    </tr>\n\n   {/if}\n\n   {if $pcpNotifyEmailAddress}\n    <tr>\n     <td>\n      <p>{ts}Questions? Send email to{/ts}: {$pcpNotifyEmailAddress}</p>\n     </td>\n    </tr>\n   {/if}\n\n </table>\n\n</body>\n</html>\n',1,823,'pcp_supporter_notify',1,0,0,NULL),
+ (24,'Personal Campaign Pages - Supporter Welcome','{ts 1=$contribPageTitle}Your Personal Campaign Page for %1{/ts} - {contact.display_name}\n','{assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}{$greeting},{/if}\n\n{ts 1=\"$contribPageTitle\"}Thanks for creating a personal campaign page in support of %1.{/ts}\n\n{if $pcpStatus eq \'Approved\'}\n====================\n{ts}Promoting Your Page{/ts}\n\n====================\n{if $isTellFriendEnabled}\n\n{ts}You can begin your fundraising efforts using our \"Tell a Friend\" form{/ts}:\n\n1. {ts}Login to your account at{/ts}:\n{$loginUrl}\n\n2. {ts}Click or paste this link into your browser and follow the prompts{/ts}:\n{$pcpTellFriendURL}\n{else}\n\n{ts}Send email to family, friends and colleagues with a personal message about this campaign.{/ts}\n{ts}Include this link to your fundraising page in your emails{/ts}:\n{$pcpInfoURL}\n{/if}\n\n===================\n{ts}Managing Your Page{/ts}\n\n===================\n{ts}Whenever you want to preview, update or promote your page{/ts}:\n1. {ts}Login to your account at{/ts}:\n{$loginUrl}\n\n2. {ts}Click or paste this link into your browser to go to your page{/ts}:\n{$pcpInfoURL}\n\n{ts}When you view your campaign page WHILE LOGGED IN, the page includes links to edit your page, tell friends, and update your contact info.{/ts}\n\n\n{elseif $pcpStatus EQ \'Waiting Review\'}\n{ts}Your page requires administrator review before you can begin your fundraising efforts.{/ts}\n\n\n{ts}A notification email has been sent to the site administrator, and you will receive another notification from them as soon as the review process is complete.{/ts}\n\n\n{ts}You can still preview your page prior to approval{/ts}:\n1. {ts}Login to your account at{/ts}:\n{$loginUrl}\n\n2. {ts}Click or paste this link into your browser{/ts}:\n{$pcpInfoURL}\n\n{/if}\n{if $pcpNotifyEmailAddress}\n{ts}Questions? Send email to{/ts}:\n{$pcpNotifyEmailAddress}\n{/if}\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n    {assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}<p>{$greeting},</p>{/if}\n    <p>{ts 1=\"$contribPageTitle\"}Thanks for creating a personal campaign page in support of %1.{/ts}</p>\n   </td>\n  </tr>\n\n  {if $pcpStatus eq \'Approved\'}\n\n    <tr>\n     <td>\n      <table style=\"border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse; width:100%;\">\n       <tr>\n        <th {$headerStyle}>\n         {ts}Promoting Your Page{/ts}\n        </th>\n       </tr>\n       <tr>\n        <td colspan=\"2\" {$valueStyle}>\n         {if $isTellFriendEnabled}\n          <p>{ts}You can begin your fundraising efforts using our \"Tell a Friend\" form{/ts}:</p>\n          <ol>\n           <li><a href=\"{$loginUrl}\">{ts}Login to your account{/ts}</a></li>\n           <li><a href=\"{$pcpTellFriendURL}\">{ts}Click this link and follow the prompts{/ts}</a></li>\n          </ol>\n         {else}\n          <p>{ts}Send email to family, friends and colleagues with a personal message about this campaign.{/ts} {ts}Include this link to your fundraising page in your emails{/ts}: {$pcpInfoURL}</p>\n         {/if}\n        </td>\n       </tr>\n       <tr>\n        <th {$headerStyle}>\n         {ts}Managing Your Page{/ts}\n        </th>\n       <tr>\n        <td colspan=\"2\" {$valueStyle}>\n         <p>{ts}Whenever you want to preview, update or promote your page{/ts}:</p>\n         <ol>\n          <li><a href=\"{$loginUrl}\">{ts}Login to your account{/ts}</a></li>\n          <li><a href=\"{$pcpInfoURL}\">{ts}Go to your page{/ts}</a></li>\n         </ol>\n         <p>{ts}When you view your campaign page WHILE LOGGED IN, the page includes links to edit your page, tell friends, and update your contact info.{/ts}</p>\n        </td>\n       </tr>\n       </tr>\n      </table>\n     </td>\n    </tr>\n\n   {elseif $pcpStatus EQ \'Waiting Review\'}\n\n    <tr>\n     <td>\n      <p>{ts}Your page requires administrator review before you can begin your fundraising efforts.{/ts}</p>\n      <p>{ts}A notification email has been sent to the site administrator, and you will receive another notification from them as soon as the review process is complete.{/ts}</p>\n      <p>{ts}You can still preview your page prior to approval{/ts}:</p>\n      <ol>\n       <li><a href=\"{$loginUrl}\">{ts}Login to your account{/ts}</a></li>\n       <li><a href=\"{$pcpInfoURL}\">{ts}Click this link{/ts}</a></li>\n      </ol>\n     </td>\n    </tr>\n\n   {/if}\n\n   {if $pcpNotifyEmailAddress}\n    <tr>\n     <td>\n      <p>{ts}Questions? Send email to{/ts}: {$pcpNotifyEmailAddress}</p>\n     </td>\n    </tr>\n   {/if}\n\n </table>\n\n</body>\n</html>\n',1,823,'pcp_supporter_notify',0,1,0,NULL),
+ (25,'Personal Campaign Pages - Owner Notification','{ts}Someone has just donated to your personal campaign page{/ts} - {contact.display_name}\n','===========================================================\n{ts}Personal Campaign Page Owner Notification{/ts}\n\n===========================================================\n{assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}{$greeting},{/if}\n\n{ts}You have received a donation at your personal page{/ts}: {$page_title}\n>> {$pcpInfoURL}\n\n{ts}Your fundraising total has been updated.{/ts}\n{ts}The donor\'s information is listed below.  You can choose to contact them and convey your thanks if you wish.{/ts}\n{if $is_honor_roll_enabled}\n    {ts}The donor\'s name has been added to your honor roll unless they asked not to be included.{/ts}\n{/if}\n\n{ts}Received{/ts}: {$receive_date|crmDate}\n\n{ts}Amount{/ts}: {$total_amount|crmMoney:$currency}\n\n{ts}Name{/ts}: {$donors_display_name}\n\n{ts}Email{/ts}: {$donors_email}\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n  {assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}<p>{$greeting},</p>{/if}\n  <p>{ts}You have received a donation at your personal page{/ts}: <a href=\"{$pcpInfoURL}\">{$page_title}</a></p>\n  <p>{ts}Your fundraising total has been updated.{/ts}<br/>\n    {ts}The donor\'s information is listed below.  You can choose to contact them and convey your thanks if you wish.{/ts} <br/>\n    {if $is_honor_roll_enabled}\n      {ts}The donor\'s name has been added to your honor roll unless they asked not to be included.{/ts}<br/>\n    {/if}\n  </p>\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n    <tr><td>{ts}Received{/ts}:</td><td> {$receive_date|crmDate}</td></tr>\n    <tr><td>{ts}Amount{/ts}:</td><td> {$total_amount|crmMoney:$currency}</td></tr>\n    <tr><td>{ts}Name{/ts}:</td><td> {$donors_display_name}</td></tr>\n    <tr><td>{ts}Email{/ts}:</td><td> {$donors_email}</td></tr>\n  </table>\n</body>\n</html>\n',1,824,'pcp_owner_notify',1,0,0,NULL),
+ (26,'Personal Campaign Pages - Owner Notification','{ts}Someone has just donated to your personal campaign page{/ts} - {contact.display_name}\n','===========================================================\n{ts}Personal Campaign Page Owner Notification{/ts}\n\n===========================================================\n{assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}{$greeting},{/if}\n\n{ts}You have received a donation at your personal page{/ts}: {$page_title}\n>> {$pcpInfoURL}\n\n{ts}Your fundraising total has been updated.{/ts}\n{ts}The donor\'s information is listed below.  You can choose to contact them and convey your thanks if you wish.{/ts}\n{if $is_honor_roll_enabled}\n    {ts}The donor\'s name has been added to your honor roll unless they asked not to be included.{/ts}\n{/if}\n\n{ts}Received{/ts}: {$receive_date|crmDate}\n\n{ts}Amount{/ts}: {$total_amount|crmMoney:$currency}\n\n{ts}Name{/ts}: {$donors_display_name}\n\n{ts}Email{/ts}: {$donors_email}\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n  {assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}<p>{$greeting},</p>{/if}\n  <p>{ts}You have received a donation at your personal page{/ts}: <a href=\"{$pcpInfoURL}\">{$page_title}</a></p>\n  <p>{ts}Your fundraising total has been updated.{/ts}<br/>\n    {ts}The donor\'s information is listed below.  You can choose to contact them and convey your thanks if you wish.{/ts} <br/>\n    {if $is_honor_roll_enabled}\n      {ts}The donor\'s name has been added to your honor roll unless they asked not to be included.{/ts}<br/>\n    {/if}\n  </p>\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n    <tr><td>{ts}Received{/ts}:</td><td> {$receive_date|crmDate}</td></tr>\n    <tr><td>{ts}Amount{/ts}:</td><td> {$total_amount|crmMoney:$currency}</td></tr>\n    <tr><td>{ts}Name{/ts}:</td><td> {$donors_display_name}</td></tr>\n    <tr><td>{ts}Email{/ts}:</td><td> {$donors_email}</td></tr>\n  </table>\n</body>\n</html>\n',1,824,'pcp_owner_notify',0,1,0,NULL),
+ (27,'Additional Payment Receipt or Refund Notification','{if $isRefund}{ts}Refund Notification{/ts}{else}{ts}Payment Receipt{/ts}{/if}{if $component eq \'event\'} - {$event.title}{/if} - {contact.display_name}\n','{if $emailGreeting}{$emailGreeting},\n{/if}\n\n{if $isRefund}\n{ts}A refund has been issued based on changes in your registration selections.{/ts}\n{else}\n{ts}Below you will find a receipt for this payment.{/ts}\n{/if}\n{if $paymentsComplete}\n{ts}Thank you for completing this payment.{/ts}\n{/if}\n\n{if $isRefund}\n===============================================================================\n\n{ts}Refund Details{/ts}\n\n===============================================================================\n{ts}This Refund Amount{/ts}: {$refundAmount|crmMoney}\n------------------------------------------------------------------------------------\n\n{else}\n===============================================================================\n\n{ts}Payment Details{/ts}\n\n===============================================================================\n{ts}This Payment Amount{/ts}: {$paymentAmount|crmMoney}\n------------------------------------------------------------------------------------\n{/if}\n{if $receive_date}\n{ts}Transaction Date{/ts}: {$receive_date|crmDate}\n{/if}\n{if !empty($trxn_id)}\n{ts}Transaction #{/ts}: {$trxn_id}\n{/if}\n{if !empty($paidBy)}\n{ts}Paid By{/ts}: {$paidBy}\n{/if}\n{if !empty($checkNumber)}\n{ts}Check Number{/ts}: {$checkNumber}\n{/if}\n\n===============================================================================\n\n{ts}Contribution Details{/ts}\n\n===============================================================================\n{if isset($totalAmount)}\n{ts}Total Fee{/ts}: {$totalAmount|crmMoney}\n{/if}\n{if isset($totalPaid)}\n{ts}Total Paid{/ts}: {$totalPaid|crmMoney}\n{/if}\n{if isset($amountOwed)}\n{ts}Balance Owed{/ts}: {$amountOwed|crmMoney} {* This will be zero after final payment. *}\n{/if}\n\n\n{if !empty($billingName) || !empty($address)}\n\n===============================================================================\n\n{ts}Billing Name and Address{/ts}\n\n===============================================================================\n{if !empty($billingName)}\n{$billingName}\n{/if}\n{if !empty($address)}\n{$address}\n{/if}\n{/if}\n\n{if !empty($credit_card_number)}\n===========================================================\n{ts}Credit Card Information{/ts}\n\n===============================================================================\n\n{$credit_card_type}\n{$credit_card_number}\n{ts}Expires{/ts}: {$credit_card_exp_date|truncate:7:\'\'|crmDate}\n{/if}\n{if $component eq \'event\'}\n===============================================================================\n\n{ts}Event Information and Location{/ts}\n\n===============================================================================\n\n{$event.event_title}\n{$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:\"%Y%m%d\" == $event.event_start_date|date_format:\"%Y%m%d\"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if} {$event.event_tz}\n\n{if !empty($event.participant_role)}\n{ts}Participant Role{/ts}: {$event.participant_role}\n{/if}\n\n{if !empty($isShowLocation)}\n{$location.address.1.display|strip_tags:false}\n{/if}{*End of isShowLocation condition*}\n\n{if !empty($location.phone.1.phone) || !empty($location.email.1.email)}\n\n{ts}Event Contacts:{/ts}\n{foreach from=$location.phone item=phone}\n{if $phone.phone}\n\n{if $phone.phone_type}{$phone.phone_type_display}{else}{ts}Phone{/ts}{/if}: {$phone.phone}{/if} {if $phone.phone_ext} {ts}ext.{/ts} {$phone.phone_ext}{/if}\n{/foreach}\n{foreach from=$location.email item=eventEmail}\n{if $eventEmail.email}\n\n{ts}Email{/ts}: {$eventEmail.email}{/if}{/foreach}\n{/if}\n{/if}\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n{capture assign=emptyBlockStyle }style=\"padding: 10px; border-bottom: 1px solid #999;background-color: #f7f7f7;\"{/capture}\n{capture assign=emptyBlockValueStyle }style=\"padding: 10px; border-bottom: 1px solid #999;\"{/capture}\n\n <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n  <tr>\n    <td>\n      {assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}<p>{$greeting},</p>{/if}\n      {if $isRefund}\n        <p>{ts}A refund has been issued based on changes in your registration selections.{/ts}</p>\n      {else}\n        <p>{ts}Below you will find a receipt for this payment.{/ts}</p>\n        {if $paymentsComplete}\n          <p>{ts}Thank you for completing this contribution.{/ts}</p>\n        {/if}\n      {/if}\n    </td>\n  </tr>\n  <tr>\n   <td>\n    <table style=\"border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse; width:100%;\">\n    {if $isRefund}\n      <tr>\n        <th {$headerStyle}>{ts}Refund Details{/ts}</th>\n      </tr>\n      <tr>\n        <td {$labelStyle}>\n        {ts}This Refund Amount{/ts}\n        </td>\n        <td {$valueStyle}>\n        {$refundAmount|crmMoney}\n        </td>\n      </tr>\n    {else}\n      <tr>\n        <th {$headerStyle}>{ts}Payment Details{/ts}</th>\n      </tr>\n      <tr>\n        <td {$labelStyle}>\n        {ts}This Payment Amount{/ts}\n        </td>\n        <td {$valueStyle}>\n        {$paymentAmount|crmMoney}\n        </td>\n      </tr>\n    {/if}\n    {if $receive_date}\n      <tr>\n        <td {$labelStyle}>\n        {ts}Transaction Date{/ts}\n        </td>\n        <td {$valueStyle}>\n        {$receive_date|crmDate}\n        </td>\n      </tr>\n    {/if}\n    {if !empty($trxn_id)}\n      <tr>\n        <td {$labelStyle}>\n        {ts}Transaction #{/ts}\n        </td>\n        <td {$valueStyle}>\n        {$trxn_id}\n        </td>\n      </tr>\n    {/if}\n    {if !empty($paidBy)}\n      <tr>\n        <td {$labelStyle}>\n        {ts}Paid By{/ts}\n        </td>\n        <td {$valueStyle}>\n        {$paidBy}\n        </td>\n      </tr>\n    {/if}\n    {if !empty($checkNumber)}\n      <tr>\n        <td {$labelStyle}>\n        {ts}Check Number{/ts}\n        </td>\n        <td {$valueStyle}>\n        {$checkNumber}\n        </td>\n      </tr>\n    {/if}\n\n  <tr>\n    <th {$headerStyle}>{ts}Contribution Details{/ts}</th>\n  </tr>\n  {if isset($totalAmount)}\n  <tr>\n    <td {$labelStyle}>\n      {ts}Total Fee{/ts}\n    </td>\n    <td {$valueStyle}>\n      {$totalAmount|crmMoney}\n    </td>\n  </tr>\n  {/if}\n  {if isset($totalPaid)}\n  <tr>\n    <td {$labelStyle}>\n      {ts}Total Paid{/ts}\n    </td>\n    <td {$valueStyle}>\n      {$totalPaid|crmMoney}\n    </td>\n  </tr>\n  {/if}\n  {if isset($amountOwed)}\n  <tr>\n    <td {$labelStyle}>\n      {ts}Balance Owed{/ts}\n    </td>\n    <td {$valueStyle}>\n      {$amountOwed|crmMoney}\n    </td> {* This will be zero after final payment. *}\n  </tr>\n  {/if}\n  </table>\n\n  </td>\n  </tr>\n    <tr>\n      <td>\n  <table style=\"border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse; width:100%;\">\n    {if !empty($billingName) || !empty($address)}\n          <tr>\n            <th {$headerStyle}>\n        {ts}Billing Name and Address{/ts}\n            </th>\n          </tr>\n          <tr>\n            <td colspan=\"2\" {$valueStyle}>\n        {if !empty($billingName)}{$billingName}{/if}<br />\n        {if !empty($address)}{$address|nl2br}{/if}\n            </td>\n          </tr>\n    {/if}\n    {if !empty($credit_card_number)}\n          <tr>\n            <th {$headerStyle}>\n        {ts}Credit Card Information{/ts}\n            </th>\n          </tr>\n          <tr>\n            <td colspan=\"2\" {$valueStyle}>\n        {$credit_card_type}<br />\n        {$credit_card_number}<br />\n        {ts}Expires:{/ts} {$credit_card_exp_date|truncate:7:\'\'|crmDate}\n            </td>\n          </tr>\n    {/if}\n    {if $component eq \'event\'}\n    <tr>\n      <th {$headerStyle}>\n        {ts}Event Information and Location{/ts}\n      </th>\n    </tr>\n    <tr>\n      <td colspan=\"2\" {$valueStyle}>\n         {$event.event_title}<br />\n        {$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:\"%Y%m%d\" == $event.event_start_date|date_format:\"%Y%m%d\"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if} {$event.event_tz}\n      </td>\n    </tr>\n\n    {if !empty($event.participant_role)}\n    <tr>\n      <td {$labelStyle}>\n        {ts}Participant Role{/ts}\n      </td>\n      <td {$valueStyle}>\n        {$event.participant_role}\n      </td>\n    </tr>\n    {/if}\n\n    {if !empty($isShowLocation)}\n    <tr>\n      <td colspan=\"2\" {$valueStyle}>\n        {$location.address.1.display|nl2br}\n      </td>\n    </tr>\n    {/if}\n\n    {if !empty($location.phone.1.phone) || !empty($location.email.1.email)}\n    <tr>\n      <td colspan=\"2\" {$labelStyle}>\n        {ts}Event Contacts:{/ts}\n      </td>\n    </tr>\n    {foreach from=$location.phone item=phone}\n    {if $phone.phone}\n          <tr>\n            <td {$labelStyle}>\n        {if $phone.phone_type}\n        {$phone.phone_type_display}\n        {else}\n        {ts}Phone{/ts}\n        {/if}\n            </td>\n            <td {$valueStyle}>\n        {$phone.phone} {if $phone.phone_ext}&nbsp;{ts}ext.{/ts} {$phone.phone_ext}{/if}\n            </td>\n          </tr>\n    {/if}\n    {/foreach}\n    {foreach from=$location.email item=eventEmail}\n    {if $eventEmail.email}\n          <tr>\n            <td {$labelStyle}>\n        {ts}Email{/ts}\n            </td>\n            <td {$valueStyle}>\n        {$eventEmail.email}\n            </td>\n          </tr>\n    {/if}\n    {/foreach}\n    {/if} {*phone block close*}\n    {/if}\n  </table>\n      </td>\n    </tr>\n\n    </table>\n\n </body>\n</html>\n',1,825,'payment_or_refund_notification',1,0,0,NULL),
+ (28,'Additional Payment Receipt or Refund Notification','{if $isRefund}{ts}Refund Notification{/ts}{else}{ts}Payment Receipt{/ts}{/if}{if $component eq \'event\'} - {$event.title}{/if} - {contact.display_name}\n','{if $emailGreeting}{$emailGreeting},\n{/if}\n\n{if $isRefund}\n{ts}A refund has been issued based on changes in your registration selections.{/ts}\n{else}\n{ts}Below you will find a receipt for this payment.{/ts}\n{/if}\n{if $paymentsComplete}\n{ts}Thank you for completing this payment.{/ts}\n{/if}\n\n{if $isRefund}\n===============================================================================\n\n{ts}Refund Details{/ts}\n\n===============================================================================\n{ts}This Refund Amount{/ts}: {$refundAmount|crmMoney}\n------------------------------------------------------------------------------------\n\n{else}\n===============================================================================\n\n{ts}Payment Details{/ts}\n\n===============================================================================\n{ts}This Payment Amount{/ts}: {$paymentAmount|crmMoney}\n------------------------------------------------------------------------------------\n{/if}\n{if $receive_date}\n{ts}Transaction Date{/ts}: {$receive_date|crmDate}\n{/if}\n{if !empty($trxn_id)}\n{ts}Transaction #{/ts}: {$trxn_id}\n{/if}\n{if !empty($paidBy)}\n{ts}Paid By{/ts}: {$paidBy}\n{/if}\n{if !empty($checkNumber)}\n{ts}Check Number{/ts}: {$checkNumber}\n{/if}\n\n===============================================================================\n\n{ts}Contribution Details{/ts}\n\n===============================================================================\n{if isset($totalAmount)}\n{ts}Total Fee{/ts}: {$totalAmount|crmMoney}\n{/if}\n{if isset($totalPaid)}\n{ts}Total Paid{/ts}: {$totalPaid|crmMoney}\n{/if}\n{if isset($amountOwed)}\n{ts}Balance Owed{/ts}: {$amountOwed|crmMoney} {* This will be zero after final payment. *}\n{/if}\n\n\n{if !empty($billingName) || !empty($address)}\n\n===============================================================================\n\n{ts}Billing Name and Address{/ts}\n\n===============================================================================\n{if !empty($billingName)}\n{$billingName}\n{/if}\n{if !empty($address)}\n{$address}\n{/if}\n{/if}\n\n{if !empty($credit_card_number)}\n===========================================================\n{ts}Credit Card Information{/ts}\n\n===============================================================================\n\n{$credit_card_type}\n{$credit_card_number}\n{ts}Expires{/ts}: {$credit_card_exp_date|truncate:7:\'\'|crmDate}\n{/if}\n{if $component eq \'event\'}\n===============================================================================\n\n{ts}Event Information and Location{/ts}\n\n===============================================================================\n\n{$event.event_title}\n{$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:\"%Y%m%d\" == $event.event_start_date|date_format:\"%Y%m%d\"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if} {$event.event_tz}\n\n{if !empty($event.participant_role)}\n{ts}Participant Role{/ts}: {$event.participant_role}\n{/if}\n\n{if !empty($isShowLocation)}\n{$location.address.1.display|strip_tags:false}\n{/if}{*End of isShowLocation condition*}\n\n{if !empty($location.phone.1.phone) || !empty($location.email.1.email)}\n\n{ts}Event Contacts:{/ts}\n{foreach from=$location.phone item=phone}\n{if $phone.phone}\n\n{if $phone.phone_type}{$phone.phone_type_display}{else}{ts}Phone{/ts}{/if}: {$phone.phone}{/if} {if $phone.phone_ext} {ts}ext.{/ts} {$phone.phone_ext}{/if}\n{/foreach}\n{foreach from=$location.email item=eventEmail}\n{if $eventEmail.email}\n\n{ts}Email{/ts}: {$eventEmail.email}{/if}{/foreach}\n{/if}\n{/if}\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n{capture assign=emptyBlockStyle }style=\"padding: 10px; border-bottom: 1px solid #999;background-color: #f7f7f7;\"{/capture}\n{capture assign=emptyBlockValueStyle }style=\"padding: 10px; border-bottom: 1px solid #999;\"{/capture}\n\n <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n  <tr>\n    <td>\n      {assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}<p>{$greeting},</p>{/if}\n      {if $isRefund}\n        <p>{ts}A refund has been issued based on changes in your registration selections.{/ts}</p>\n      {else}\n        <p>{ts}Below you will find a receipt for this payment.{/ts}</p>\n        {if $paymentsComplete}\n          <p>{ts}Thank you for completing this contribution.{/ts}</p>\n        {/if}\n      {/if}\n    </td>\n  </tr>\n  <tr>\n   <td>\n    <table style=\"border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse; width:100%;\">\n    {if $isRefund}\n      <tr>\n        <th {$headerStyle}>{ts}Refund Details{/ts}</th>\n      </tr>\n      <tr>\n        <td {$labelStyle}>\n        {ts}This Refund Amount{/ts}\n        </td>\n        <td {$valueStyle}>\n        {$refundAmount|crmMoney}\n        </td>\n      </tr>\n    {else}\n      <tr>\n        <th {$headerStyle}>{ts}Payment Details{/ts}</th>\n      </tr>\n      <tr>\n        <td {$labelStyle}>\n        {ts}This Payment Amount{/ts}\n        </td>\n        <td {$valueStyle}>\n        {$paymentAmount|crmMoney}\n        </td>\n      </tr>\n    {/if}\n    {if $receive_date}\n      <tr>\n        <td {$labelStyle}>\n        {ts}Transaction Date{/ts}\n        </td>\n        <td {$valueStyle}>\n        {$receive_date|crmDate}\n        </td>\n      </tr>\n    {/if}\n    {if !empty($trxn_id)}\n      <tr>\n        <td {$labelStyle}>\n        {ts}Transaction #{/ts}\n        </td>\n        <td {$valueStyle}>\n        {$trxn_id}\n        </td>\n      </tr>\n    {/if}\n    {if !empty($paidBy)}\n      <tr>\n        <td {$labelStyle}>\n        {ts}Paid By{/ts}\n        </td>\n        <td {$valueStyle}>\n        {$paidBy}\n        </td>\n      </tr>\n    {/if}\n    {if !empty($checkNumber)}\n      <tr>\n        <td {$labelStyle}>\n        {ts}Check Number{/ts}\n        </td>\n        <td {$valueStyle}>\n        {$checkNumber}\n        </td>\n      </tr>\n    {/if}\n\n  <tr>\n    <th {$headerStyle}>{ts}Contribution Details{/ts}</th>\n  </tr>\n  {if isset($totalAmount)}\n  <tr>\n    <td {$labelStyle}>\n      {ts}Total Fee{/ts}\n    </td>\n    <td {$valueStyle}>\n      {$totalAmount|crmMoney}\n    </td>\n  </tr>\n  {/if}\n  {if isset($totalPaid)}\n  <tr>\n    <td {$labelStyle}>\n      {ts}Total Paid{/ts}\n    </td>\n    <td {$valueStyle}>\n      {$totalPaid|crmMoney}\n    </td>\n  </tr>\n  {/if}\n  {if isset($amountOwed)}\n  <tr>\n    <td {$labelStyle}>\n      {ts}Balance Owed{/ts}\n    </td>\n    <td {$valueStyle}>\n      {$amountOwed|crmMoney}\n    </td> {* This will be zero after final payment. *}\n  </tr>\n  {/if}\n  </table>\n\n  </td>\n  </tr>\n    <tr>\n      <td>\n  <table style=\"border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse; width:100%;\">\n    {if !empty($billingName) || !empty($address)}\n          <tr>\n            <th {$headerStyle}>\n        {ts}Billing Name and Address{/ts}\n            </th>\n          </tr>\n          <tr>\n            <td colspan=\"2\" {$valueStyle}>\n        {if !empty($billingName)}{$billingName}{/if}<br />\n        {if !empty($address)}{$address|nl2br}{/if}\n            </td>\n          </tr>\n    {/if}\n    {if !empty($credit_card_number)}\n          <tr>\n            <th {$headerStyle}>\n        {ts}Credit Card Information{/ts}\n            </th>\n          </tr>\n          <tr>\n            <td colspan=\"2\" {$valueStyle}>\n        {$credit_card_type}<br />\n        {$credit_card_number}<br />\n        {ts}Expires:{/ts} {$credit_card_exp_date|truncate:7:\'\'|crmDate}\n            </td>\n          </tr>\n    {/if}\n    {if $component eq \'event\'}\n    <tr>\n      <th {$headerStyle}>\n        {ts}Event Information and Location{/ts}\n      </th>\n    </tr>\n    <tr>\n      <td colspan=\"2\" {$valueStyle}>\n         {$event.event_title}<br />\n        {$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:\"%Y%m%d\" == $event.event_start_date|date_format:\"%Y%m%d\"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if} {$event.event_tz}\n      </td>\n    </tr>\n\n    {if !empty($event.participant_role)}\n    <tr>\n      <td {$labelStyle}>\n        {ts}Participant Role{/ts}\n      </td>\n      <td {$valueStyle}>\n        {$event.participant_role}\n      </td>\n    </tr>\n    {/if}\n\n    {if !empty($isShowLocation)}\n    <tr>\n      <td colspan=\"2\" {$valueStyle}>\n        {$location.address.1.display|nl2br}\n      </td>\n    </tr>\n    {/if}\n\n    {if !empty($location.phone.1.phone) || !empty($location.email.1.email)}\n    <tr>\n      <td colspan=\"2\" {$labelStyle}>\n        {ts}Event Contacts:{/ts}\n      </td>\n    </tr>\n    {foreach from=$location.phone item=phone}\n    {if $phone.phone}\n          <tr>\n            <td {$labelStyle}>\n        {if $phone.phone_type}\n        {$phone.phone_type_display}\n        {else}\n        {ts}Phone{/ts}\n        {/if}\n            </td>\n            <td {$valueStyle}>\n        {$phone.phone} {if $phone.phone_ext}&nbsp;{ts}ext.{/ts} {$phone.phone_ext}{/if}\n            </td>\n          </tr>\n    {/if}\n    {/foreach}\n    {foreach from=$location.email item=eventEmail}\n    {if $eventEmail.email}\n          <tr>\n            <td {$labelStyle}>\n        {ts}Email{/ts}\n            </td>\n            <td {$valueStyle}>\n        {$eventEmail.email}\n            </td>\n          </tr>\n    {/if}\n    {/foreach}\n    {/if} {*phone block close*}\n    {/if}\n  </table>\n      </td>\n    </tr>\n\n    </table>\n\n </body>\n</html>\n',1,825,'payment_or_refund_notification',0,1,0,NULL),
+ (29,'Events - Registration Confirmation and Receipt (off-line)','{ts}Event Confirmation{/ts} - {$event.title} - {contact.display_name}\n','{assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}{$greeting},{/if}\n{if !empty($event.confirm_email_text) AND (empty($isOnWaitlist) AND empty($isRequireApproval))}\n{$event.confirm_email_text}\n{/if}\n\n{if !empty($isOnWaitlist)}\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{ts}You have been added to the WAIT LIST for this event.{/ts}\n\n{if !empty($isPrimary)}\n{ts}If space becomes available you will receive an email with a link to a web page where you can complete your registration.{/ts}\n\n{/if}\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{elseif !empty($isRequireApproval)}\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{ts}Your registration has been submitted.{/ts}\n\n{if !empty($isPrimary)}\n{ts}Once your registration has been reviewed, you will receive an email with a link to a web page where you can complete the registration process.{/ts}\n\n{/if}\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{elseif !empty($is_pay_later)}\n\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{if isset($pay_later_receipt)}{$pay_later_receipt}{/if}\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{/if}\n\n\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{ts}Event Information and Location{/ts}\n\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{$event.event_title}\n{$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:\"%Y%m%d\" == $event.event_start_date|date_format:\"%Y%m%d\"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if} {$event.event_tz}\n\n{if !empty($event.participant_role) and $event.participant_role neq \'Attendee\' and empty($defaultRole)}\n{ts}Participant Role{/ts}: {$event.participant_role}\n{/if}\n\n{if !empty($isShowLocation)}\n{$location.address.1.display|strip_tags:false}\n{/if}{*End of isShowLocation condition*}\n\n{if !empty($location.phone.1.phone) || !empty($location.email.1.email)}\n\n{ts}Event Contacts:{/ts}\n{foreach from=$location.phone item=phone}\n{if $phone.phone}\n\n{if $phone.phone_type}{$phone.phone_type_display}{else}{ts}Phone{/ts}{/if}: {$phone.phone}{/if} {if $phone.phone_ext} {ts}ext.{/ts} {$phone.phone_ext}{/if}\n{/foreach}\n{foreach from=$location.email item=eventEmail}\n{if $eventEmail.email}\n\n{ts}Email{/ts}: {$eventEmail.email}{/if}{/foreach}\n{/if}\n\n{if !empty($event.is_public)}\n{capture assign=icalFeed}{crmURL p=\'civicrm/event/ical\' q=\"reset=1&id=`$event.id`\" h=0 a=1 fe=1}{/capture}\n{ts}Download iCalendar File:{/ts} {$icalFeed}\n{/if}\n\n{if !empty($email)}\n\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{ts}Registered Email{/ts}\n\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{$email}\n{/if}\n{if !empty($event.is_monetary)} {* This section for Paid events only.*}\n\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{if !empty($event.fee_label)}{$event.fee_label}{/if}\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{if !empty($lineItem)}{foreach from=$lineItem item=value key=priceset}\n\n{if $value neq \'skip\'}\n{if !empty($isPrimary)}\n{if $lineItem|@count GT 1} {* Header for multi participant registration cases. *}\n{ts 1=$priceset+1}Participant %1{/ts}\n{/if}\n{/if}\n---------------------------------------------------------{if !empty($pricesetFieldsCount) }--------------------{/if}\n\n{capture assign=ts_item}{ts}Item{/ts}{/capture}\n{capture assign=ts_qty}{ts}Qty{/ts}{/capture}\n{capture assign=ts_each}{ts}Each{/ts}{/capture}\n{if !empty($dataArray)}\n{capture assign=ts_subtotal}{ts}Subtotal{/ts}{/capture}\n{capture assign=ts_taxRate}{ts}Tax Rate{/ts}{/capture}\n{capture assign=ts_taxAmount}{ts}Tax Amount{/ts}{/capture}\n{/if}\n{capture assign=ts_total}{ts}Total{/ts}{/capture}\n{capture assign=ts_participant_total}{if !empty($pricesetFieldsCount) }{ts}Total Participants{/ts}{/if}{/capture}\n{$ts_item|string_format:\"%-30s\"} {$ts_qty|string_format:\"%5s\"} {$ts_each|string_format:\"%10s\"} {if !empty($dataArray)} {$ts_subtotal|string_format:\"%10s\"} {$ts_taxRate|string_format:\"%10s\"} {$ts_taxAmount|string_format:\"%10s\"} {/if} {$ts_total|string_format:\"%10s\"} {if !empty($ts_participant_total)}{$ts_participant_total|string_format:\"%10s\"}{/if}\n----------------------------------------------------------{if !empty($pricesetFieldsCount) }--------------------{/if}\n\n{foreach from=$value item=line}\n{if !empty($pricesetFieldsCount) }{capture assign=ts_participant_count}{$line.participant_count}{/capture}{/if}\n{capture assign=ts_item}{if $line.html_type eq \'Text\'}{$line.label}{else}{$line.field_title} - {$line.label}{/if} {if $line.description} {$line.description}{/if}{/capture}{$ts_item|truncate:30:\"...\"|string_format:\"%-30s\"} {$line.qty|string_format:\"%5s\"} {$line.unit_price|crmMoney|string_format:\"%10s\"} {if !empty($dataArray)} {$line.unit_price*$line.qty|crmMoney:$currency|string_format:\"%10s\"} {if $line.tax_rate || $line.tax_amount != \"\"}  {$line.tax_rate|string_format:\"%.2f\"} %  {$line.tax_amount|crmMoney:$currency|string_format:\"%10s\"} {else}                  {/if}  {/if}  {$line.line_total+$line.tax_amount|crmMoney|string_format:\"%10s\"} {if !empty($ts_participant_count)}{$ts_participant_count|string_format:\"%10s\"}{/if}\n{/foreach}\n{/if}\n{/foreach}\n\n{if !empty($dataArray)}\n{if isset($totalAmount) and isset($totalTaxAmount)}\n{ts}Amount before Tax{/ts}: {$totalAmount-$totalTaxAmount|crmMoney:$currency}\n{/if}\n\n{foreach from=$dataArray item=value key=priceset}\n{if $priceset || $priceset == 0}\n{$taxTerm} {$priceset|string_format:\"%.2f\"}%: {$value|crmMoney:$currency}\n{else}\n{ts}No{/ts} {$taxTerm}: {$value|crmMoney:$currency}\n{/if}\n{/foreach}\n{/if}\n{/if}\n\n{if !empty($amount) && !$lineItem}\n{foreach from=$amount item=amnt key=level}{$amnt.amount|crmMoney} {$amnt.label}\n{/foreach}\n{/if}\n\n{if isset($totalTaxAmount)}\n{ts}Total Tax Amount{/ts}: {$totalTaxAmount|crmMoney:$currency}\n{/if}\n{if !empty($isPrimary)}\n\n{if !empty($balanceAmount)}{ts}Total Paid{/ts}{else}{ts}Total Amount{/ts}{/if}: {if !empty($totalAmount)}{$totalAmount|crmMoney}{/if} {if !empty($hookDiscount.message)}({$hookDiscount.message}){/if}\n\n{if !empty($balanceAmount)}\n{ts}Balance{/ts}: {$balanceAmount|crmMoney}\n{/if}\n\n{if !empty($pricesetFieldsCount) }\n      {assign var=\"count\" value= 0}\n      {foreach from=$lineItem item=pcount}\n      {assign var=\"lineItemCount\" value=0}\n      {if $pcount neq \'skip\'}\n        {foreach from=$pcount item=p_count}\n        {assign var=\"lineItemCount\" value=$lineItemCount+$p_count.participant_count}\n        {/foreach}\n        {if $lineItemCount < 1 }\n        {assign var=\"lineItemCount\" value=1}\n        {/if}\n      {assign var=\"count\" value=$count+$lineItemCount}\n      {/if}\n      {/foreach}\n\n{ts}Total Participants{/ts}: {$count}\n{/if}\n\n{if !empty($is_pay_later) }\n\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{$pay_later_receipt}\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{/if}\n\n{if $register_date}\n{ts}Registration Date{/ts}: {$register_date|crmDate}\n{/if}\n{if $receive_date}\n{ts}Transaction Date{/ts}: {$receive_date|crmDate}\n{/if}\n{if !empty($financialTypeName)}\n{ts}Financial Type{/ts}: {$financialTypeName}\n{/if}\n{if !empty($trxn_id)}\n{ts}Transaction #{/ts}: {$trxn_id}\n{/if}\n{if !empty($paidBy)}\n{ts}Paid By{/ts}: {$paidBy}\n{/if}\n{if !empty($checkNumber)}\n{ts}Check Number{/ts}: {$checkNumber}\n{/if}\n{if !empty($billingName)}\n\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{ts}Billing Name and Address{/ts}\n\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{$billingName}\n{$address}\n{/if}\n\n{if !empty($credit_card_type)}\n===========================================================\n{ts}Credit Card Information{/ts}\n\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{$credit_card_type}\n{$credit_card_number}\n{ts}Expires{/ts}: {$credit_card_exp_date|truncate:7:\'\'|crmDate}\n{/if}\n{/if}\n{/if} {* End of conditional section for Paid events *}\n\n{if !empty($customPre)}\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{$customPre_grouptitle}\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{foreach from=$customPre item=value key=customName}\n{if ( !empty($trackingFields) and ! in_array( $customName, $trackingFields ) ) or empty($trackingFields)}\n{$customName}: {$value}\n{/if}\n{/foreach}\n{/if}\n\n{if !empty($customPost)}\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{$customPost_grouptitle}\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{foreach from=$customPost item=value key=customName}\n{if ( !empty($trackingFields) and ! in_array( $customName, $trackingFields ) ) or empty($trackingFields)}\n{$customName}: {$value}\n{/if}\n{/foreach}\n{/if}\n{if !empty($customProfile)}\n\n{foreach from=$customProfile item=value key=customName}\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{ts 1=$customName+1}Participant Information - Participant %1{/ts}\n\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{foreach from=$value item=val key=field}\n{if $field eq \'additionalCustomPre\' or $field eq \'additionalCustomPost\' }\n{if $field eq \'additionalCustomPre\' }\n----------------------------------------------------------{if !empty($pricesetFieldsCount) }--------------------{/if}\n\n{$additionalCustomPre_grouptitle}\n----------------------------------------------------------{if !empty($pricesetFieldsCount) }--------------------{/if}\n\n{else}\n----------------------------------------------------------{if !empty($pricesetFieldsCount) }--------------------{/if}\n\n{$additionalCustomPost_grouptitle}\n----------------------------------------------------------{if !empty($pricesetFieldsCount) }--------------------{/if}\n\n{/if}\n{foreach from=$val item=v key=f}\n{$f}: {$v}\n{/foreach}\n{/if}\n{/foreach}\n{/foreach}\n{/if}\n{if !empty($customGroup)}\n{foreach from=$customGroup item=value key=customName}\n=========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{$customName}\n=========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{foreach from=$value item=v key=n}\n{$n}: {$v}\n{/foreach}\n{/foreach}\n{/if}\n\n\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n    {assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}<p>{$greeting},</p>{/if}\n\n    {if !empty($event.confirm_email_text) AND (empty($isOnWaitlist) AND empty($isRequireApproval))}\n     <p>{$event.confirm_email_text|htmlize}</p>\n    {/if}\n\n    {if !empty($isOnWaitlist)}\n     <p>{ts}You have been added to the WAIT LIST for this event.{/ts}</p>\n     {if !empty($isPrimary)}\n       <p>{ts}If space becomes available you will receive an email with a link to a web page where you can complete your registration.{/ts}</p>\n     {/if}\n    {elseif !empty($isRequireApproval)}\n     <p>{ts}Your registration has been submitted.{/ts}</p>\n     {if !empty($isPrimary)}\n      <p>{ts}Once your registration has been reviewed, you will receive an email with a link to a web page where you can complete the registration process.{/ts}</p>\n     {/if}\n    {elseif !empty($is_pay_later)}\n     <p>{if isset($pay_later_receipt)}{$pay_later_receipt}{/if}</p> {* FIXME: this might be text rather than HTML *}\n    {/if}\n\n   </td>\n  </tr>\n  <tr>\n   <td>\n    <table style=\"border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse; width:100%;\">\n     <tr>\n      <th {$headerStyle}>\n       {ts}Event Information and Location{/ts}\n      </th>\n     </tr>\n     <tr>\n      <td colspan=\"2\" {$valueStyle}>\n       {$event.event_title}<br />\n       {$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:\"%Y%m%d\" == $event.event_start_date|date_format:\"%Y%m%d\"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if} {$event.event_tz}\n      </td>\n     </tr>\n\n     {if !empty($event.participant_role) and $event.participant_role neq \'Attendee\' and !empty($defaultRole)}\n      <tr>\n       <td {$labelStyle}>\n        {ts}Participant Role{/ts}\n       </td>\n       <td {$valueStyle}>\n        {$event.participant_role}\n       </td>\n      </tr>\n     {/if}\n\n     {if !empty($isShowLocation)}\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n        {$location.address.1.display|nl2br}\n       </td>\n      </tr>\n     {/if}\n\n     {if !empty($location.phone.1.phone) || !empty($location.email.1.email)}\n      <tr>\n       <td colspan=\"2\" {$labelStyle}>\n        {ts}Event Contacts:{/ts}\n       </td>\n      </tr>\n      {foreach from=$location.phone item=phone}\n       {if $phone.phone}\n        <tr>\n         <td {$labelStyle}>\n          {if $phone.phone_type}\n           {$phone.phone_type_display}\n          {else}\n           {ts}Phone{/ts}\n          {/if}\n         </td>\n         <td {$valueStyle}>\n          {$phone.phone} {if $phone.phone_ext}&nbsp;{ts}ext.{/ts} {$phone.phone_ext}{/if}\n         </td>\n        </tr>\n       {/if}\n      {/foreach}\n      {foreach from=$location.email item=eventEmail}\n       {if $eventEmail.email}\n        <tr>\n         <td {$labelStyle}>\n          {ts}Email{/ts}\n         </td>\n         <td {$valueStyle}>\n          {$eventEmail.email}\n         </td>\n        </tr>\n       {/if}\n      {/foreach}\n     {/if}\n\n     {if !empty($event.is_public)}\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n        {capture assign=icalFeed}{crmURL p=\'civicrm/event/ical\' q=\"reset=1&id=`$event.id`\" h=0 a=1 fe=1}{/capture}\n        <a href=\"{$icalFeed}\">{ts}Download iCalendar File{/ts}</a>\n       </td>\n      </tr>\n     {/if}\n\n     {if $email}\n      <tr>\n       <th {$headerStyle}>\n        {ts}Registered Email{/ts}\n       </th>\n      </tr>\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n        {$email}\n       </td>\n      </tr>\n     {/if}\n\n\n     {if !empty($event.is_monetary)}\n\n      <tr>\n       <th {$headerStyle}>\n        {if !empty($event.fee_label)}{$event.fee_label}{/if}\n       </th>\n      </tr>\n\n      {if !empty($lineItem)}\n       {foreach from=$lineItem item=value key=priceset}\n        {if $value neq \'skip\'}\n         {if !empty($isPrimary)}\n          {if $lineItem|@count GT 1} {* Header for multi participant registration cases. *}\n           <tr>\n            <td colspan=\"2\" {$labelStyle}>\n             {ts 1=$priceset+1}Participant %1{/ts}\n            </td>\n           </tr>\n          {/if}\n         {/if}\n         <tr>\n          <td colspan=\"2\" {$valueStyle}>\n           <table> {* FIXME: style this table so that it looks like the text version (justification, etc.) *}\n            <tr>\n             <th>{ts}Item{/ts}</th>\n             <th>{ts}Qty{/ts}</th>\n             <th>{ts}Each{/ts}</th>\n             {if !empty($dataArray)}\n              <th>{ts}SubTotal{/ts}</th>\n              <th>{ts}Tax Rate{/ts}</th>\n              <th>{ts}Tax Amount{/ts}</th>\n             {/if}\n             <th>{ts}Total{/ts}</th>\n       {if !empty($pricesetFieldsCount) }<th>{ts}Total Participants{/ts}</th>{/if}\n            </tr>\n            {foreach from=$value item=line}\n             <tr>\n              <td>\n        {if $line.html_type eq \'Text\'}{$line.label}{else}{$line.field_title} - {$line.label}{/if} {if $line.description}<div>{$line.description|truncate:30:\"...\"}</div>{/if}\n              </td>\n              <td>\n               {$line.qty}\n              </td>\n              <td>\n               {$line.unit_price|crmMoney}\n              </td>\n              {if !empty($dataArray)}\n               <td>\n                {$line.unit_price*$line.qty|crmMoney}\n               </td>\n               {if $line.tax_rate || $line.tax_amount != \"\"}\n                <td>\n                 {$line.tax_rate|string_format:\"%.2f\"}%\n                </td>\n                <td>\n                 {$line.tax_amount|crmMoney}\n                </td>\n               {else}\n                <td></td>\n                <td></td>\n               {/if}\n              {/if}\n              <td>\n               {$line.line_total+$line.tax_amount|crmMoney}\n              </td>\n        {if  !empty($pricesetFieldsCount) }\n        <td>\n    {$line.participant_count}\n              </td>\n        {/if}\n             </tr>\n            {/foreach}\n           </table>\n          </td>\n         </tr>\n        {/if}\n       {/foreach}\n       {if !empty($dataArray)}\n        {if isset($totalAmount) and isset($totalTaxAmount)}\n        <tr>\n         <td {$labelStyle}>\n          {ts}Amount Before Tax:{/ts}\n         </td>\n         <td {$valueStyle}>\n          {$totalAmount-$totalTaxAmount|crmMoney}\n         </td>\n        </tr>\n        {/if}\n        {foreach from=$dataArray item=value key=priceset}\n          <tr>\n           {if $priceset || $priceset == 0}\n            <td>&nbsp;{$taxTerm} {$priceset|string_format:\"%.2f\"}%</td>\n            <td>&nbsp;{$value|crmMoney:$currency}</td>\n           {else}\n            <td>&nbsp;{ts}No{/ts} {$taxTerm}</td>\n            <td>&nbsp;{$value|crmMoney:$currency}</td>\n           {/if}\n          </tr>\n        {/foreach}\n       {/if}\n      {/if}\n\n      {if !empty($amount) && !$lineItem}\n       {foreach from=$amount item=amnt key=level}\n        <tr>\n         <td colspan=\"2\" {$valueStyle}>\n          {$amnt.amount|crmMoney} {$amnt.label}\n         </td>\n        </tr>\n       {/foreach}\n      {/if}\n      {if isset($totalTaxAmount)}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Total Tax Amount{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$totalTaxAmount|crmMoney:$currency}\n        </td>\n       </tr>\n      {/if}\n      {if !empty($isPrimary)}\n       <tr>\n        <td {$labelStyle}>\n        {if isset($balanceAmount)}\n           {ts}Total Paid{/ts}\n        {else}\n           {ts}Total Amount{/ts}\n         {/if}\n        </td>\n        <td {$valueStyle}>\n         {if !empty($totalAmount)}{$totalAmount|crmMoney}{/if} {if !empty($hookDiscount.message)}({$hookDiscount.message}){/if}\n        </td>\n       </tr>\n      {if isset($balanceAmount)}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Balance{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$balanceAmount|crmMoney}\n        </td>\n       </tr>\n      {/if}\n       {if !empty($pricesetFieldsCount) }\n     <tr>\n       <td {$labelStyle}>\n   {ts}Total Participants{/ts}</td>\n       <td {$valueStyle}>\n   {assign var=\"count\" value= 0}\n         {foreach from=$lineItem item=pcount}\n         {assign var=\"lineItemCount\" value=0}\n         {if $pcount neq \'skip\'}\n           {foreach from=$pcount item=p_count}\n           {assign var=\"lineItemCount\" value=$lineItemCount+$p_count.participant_count}\n           {/foreach}\n           {if $lineItemCount < 1 }\n           assign var=\"lineItemCount\" value=1}\n           {/if}\n           {assign var=\"count\" value=$count+$lineItemCount}\n         {/if}\n         {/foreach}\n   {$count}\n       </td>\n     </tr>\n     {/if}\n       {if !empty($is_pay_later)}\n        <tr>\n         <td colspan=\"2\" {$labelStyle}>\n          {if isset($pay_later_receipt)}{$pay_later_receipt}{/if}\n         </td>\n        </tr>\n       {/if}\n\n       {if $register_date}\n        <tr>\n         <td {$labelStyle}>\n          {ts}Registration Date{/ts}\n         </td>\n         <td {$valueStyle}>\n          {$register_date|crmDate}\n         </td>\n        </tr>\n       {/if}\n\n       {if !empty($receive_date)}\n        <tr>\n         <td {$labelStyle}>\n          {ts}Transaction Date{/ts}\n         </td>\n         <td {$valueStyle}>\n          {$receive_date|crmDate}\n         </td>\n        </tr>\n       {/if}\n\n       {if !empty($financialTypeName)}\n        <tr>\n         <td {$labelStyle}>\n          {ts}Financial Type{/ts}\n         </td>\n         <td {$valueStyle}>\n          {$financialTypeName}\n         </td>\n        </tr>\n       {/if}\n\n       {if !empty($trxn_id)}\n        <tr>\n         <td {$labelStyle}>\n          {ts}Transaction #{/ts}\n         </td>\n         <td {$valueStyle}>\n          {$trxn_id}\n         </td>\n        </tr>\n       {/if}\n\n       {if !empty($paidBy)}\n        <tr>\n         <td {$labelStyle}>\n          {ts}Paid By{/ts}\n         </td>\n         <td {$valueStyle}>\n         {$paidBy}\n         </td>\n        </tr>\n       {/if}\n\n       {if !empty($checkNumber)}\n        <tr>\n         <td {$labelStyle}>\n          {ts}Check Number{/ts}\n         </td>\n         <td {$valueStyle}>\n          {$checkNumber}\n         </td>\n        </tr>\n       {/if}\n\n       {if !empty($billingName)}\n        <tr>\n         <th {$headerStyle}>\n          {ts}Billing Name and Address{/ts}\n         </th>\n        </tr>\n        <tr>\n         <td colspan=\"2\" {$valueStyle}>\n          {$billingName}<br />\n          {$address|nl2br}\n         </td>\n        </tr>\n       {/if}\n\n       {if !empty($credit_card_type)}\n        <tr>\n         <th {$headerStyle}>\n          {ts}Credit Card Information{/ts}\n         </th>\n        </tr>\n        <tr>\n         <td colspan=\"2\" {$valueStyle}>\n          {$credit_card_type}<br />\n          {$credit_card_number}<br />\n          {ts}Expires{/ts}: {$credit_card_exp_date|truncate:7:\'\'|crmDate}\n         </td>\n        </tr>\n       {/if}\n\n      {/if}\n\n     {/if} {* End of conditional section for Paid events *}\n\n     {if !empty($customPre)}\n      <tr>\n       <th {$headerStyle}>\n        {$customPre_grouptitle}\n       </th>\n      </tr>\n      {foreach from=$customPre item=value key=customName}\n       {if ( !empty($trackingFields) and ! in_array( $customName, $trackingFields ) ) or empty($trackingFields)}\n        <tr>\n         <td {$labelStyle}>\n          {$customName}\n         </td>\n         <td {$valueStyle}>\n          {$value}\n         </td>\n        </tr>\n       {/if}\n      {/foreach}\n     {/if}\n\n     {if !empty($customPost)}\n      <tr>\n       <th {$headerStyle}>\n        {$customPost_grouptitle}\n       </th>\n      </tr>\n      {foreach from=$customPost item=value key=customName}\n       {if ( !empty($trackingFields) and ! in_array( $customName, $trackingFields ) ) or empty($trackingFields)}\n        <tr>\n         <td {$labelStyle}>\n          {$customName}\n         </td>\n         <td {$valueStyle}>\n          {$value}\n         </td>\n        </tr>\n       {/if}\n      {/foreach}\n     {/if}\n\n     {if !empty($customProfile)}\n      {foreach from=$customProfile item=value key=customName}\n       <tr>\n        <th {$headerStyle}>\n         {ts 1=$customName+1}Participant Information - Participant %1{/ts}\n        </th>\n       </tr>\n       {foreach from=$value item=val key=field}\n        {if $field eq \'additionalCustomPre\' or $field eq \'additionalCustomPost\'}\n         <tr>\n          <td colspan=\"2\" {$labelStyle}>\n           {if $field eq \'additionalCustomPre\'}\n            {$additionalCustomPre_grouptitle}\n           {else}\n            {$additionalCustomPost_grouptitle}\n           {/if}\n          </td>\n         </tr>\n         {foreach from=$val item=v key=f}\n          <tr>\n           <td {$labelStyle}>\n            {$f}\n           </td>\n           <td {$valueStyle}>\n            {$v}\n           </td>\n          </tr>\n         {/foreach}\n        {/if}\n       {/foreach}\n      {/foreach}\n     {/if}\n\n     {if !empty($customGroup)}\n      {foreach from=$customGroup item=value key=customName}\n       <tr>\n        <th {$headerStyle}>\n         {$customName}\n        </th>\n       </tr>\n       {foreach from=$value item=v key=n}\n        <tr>\n         <td {$labelStyle}>\n          {$n}\n         </td>\n         <td {$valueStyle}>\n          {$v}\n         </td>\n        </tr>\n       {/foreach}\n      {/foreach}\n     {/if}\n\n    </table>\n   </td>\n  </tr>\n\n </table>\n\n</body>\n</html>\n',1,826,'event_offline_receipt',1,0,0,NULL),
+ (30,'Events - Registration Confirmation and Receipt (off-line)','{ts}Event Confirmation{/ts} - {$event.title} - {contact.display_name}\n','{assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}{$greeting},{/if}\n{if !empty($event.confirm_email_text) AND (empty($isOnWaitlist) AND empty($isRequireApproval))}\n{$event.confirm_email_text}\n{/if}\n\n{if !empty($isOnWaitlist)}\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{ts}You have been added to the WAIT LIST for this event.{/ts}\n\n{if !empty($isPrimary)}\n{ts}If space becomes available you will receive an email with a link to a web page where you can complete your registration.{/ts}\n\n{/if}\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{elseif !empty($isRequireApproval)}\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{ts}Your registration has been submitted.{/ts}\n\n{if !empty($isPrimary)}\n{ts}Once your registration has been reviewed, you will receive an email with a link to a web page where you can complete the registration process.{/ts}\n\n{/if}\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{elseif !empty($is_pay_later)}\n\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{if isset($pay_later_receipt)}{$pay_later_receipt}{/if}\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{/if}\n\n\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{ts}Event Information and Location{/ts}\n\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{$event.event_title}\n{$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:\"%Y%m%d\" == $event.event_start_date|date_format:\"%Y%m%d\"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if} {$event.event_tz}\n\n{if !empty($event.participant_role) and $event.participant_role neq \'Attendee\' and empty($defaultRole)}\n{ts}Participant Role{/ts}: {$event.participant_role}\n{/if}\n\n{if !empty($isShowLocation)}\n{$location.address.1.display|strip_tags:false}\n{/if}{*End of isShowLocation condition*}\n\n{if !empty($location.phone.1.phone) || !empty($location.email.1.email)}\n\n{ts}Event Contacts:{/ts}\n{foreach from=$location.phone item=phone}\n{if $phone.phone}\n\n{if $phone.phone_type}{$phone.phone_type_display}{else}{ts}Phone{/ts}{/if}: {$phone.phone}{/if} {if $phone.phone_ext} {ts}ext.{/ts} {$phone.phone_ext}{/if}\n{/foreach}\n{foreach from=$location.email item=eventEmail}\n{if $eventEmail.email}\n\n{ts}Email{/ts}: {$eventEmail.email}{/if}{/foreach}\n{/if}\n\n{if !empty($event.is_public)}\n{capture assign=icalFeed}{crmURL p=\'civicrm/event/ical\' q=\"reset=1&id=`$event.id`\" h=0 a=1 fe=1}{/capture}\n{ts}Download iCalendar File:{/ts} {$icalFeed}\n{/if}\n\n{if !empty($email)}\n\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{ts}Registered Email{/ts}\n\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{$email}\n{/if}\n{if !empty($event.is_monetary)} {* This section for Paid events only.*}\n\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{if !empty($event.fee_label)}{$event.fee_label}{/if}\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{if !empty($lineItem)}{foreach from=$lineItem item=value key=priceset}\n\n{if $value neq \'skip\'}\n{if !empty($isPrimary)}\n{if $lineItem|@count GT 1} {* Header for multi participant registration cases. *}\n{ts 1=$priceset+1}Participant %1{/ts}\n{/if}\n{/if}\n---------------------------------------------------------{if !empty($pricesetFieldsCount) }--------------------{/if}\n\n{capture assign=ts_item}{ts}Item{/ts}{/capture}\n{capture assign=ts_qty}{ts}Qty{/ts}{/capture}\n{capture assign=ts_each}{ts}Each{/ts}{/capture}\n{if !empty($dataArray)}\n{capture assign=ts_subtotal}{ts}Subtotal{/ts}{/capture}\n{capture assign=ts_taxRate}{ts}Tax Rate{/ts}{/capture}\n{capture assign=ts_taxAmount}{ts}Tax Amount{/ts}{/capture}\n{/if}\n{capture assign=ts_total}{ts}Total{/ts}{/capture}\n{capture assign=ts_participant_total}{if !empty($pricesetFieldsCount) }{ts}Total Participants{/ts}{/if}{/capture}\n{$ts_item|string_format:\"%-30s\"} {$ts_qty|string_format:\"%5s\"} {$ts_each|string_format:\"%10s\"} {if !empty($dataArray)} {$ts_subtotal|string_format:\"%10s\"} {$ts_taxRate|string_format:\"%10s\"} {$ts_taxAmount|string_format:\"%10s\"} {/if} {$ts_total|string_format:\"%10s\"} {if !empty($ts_participant_total)}{$ts_participant_total|string_format:\"%10s\"}{/if}\n----------------------------------------------------------{if !empty($pricesetFieldsCount) }--------------------{/if}\n\n{foreach from=$value item=line}\n{if !empty($pricesetFieldsCount) }{capture assign=ts_participant_count}{$line.participant_count}{/capture}{/if}\n{capture assign=ts_item}{if $line.html_type eq \'Text\'}{$line.label}{else}{$line.field_title} - {$line.label}{/if} {if $line.description} {$line.description}{/if}{/capture}{$ts_item|truncate:30:\"...\"|string_format:\"%-30s\"} {$line.qty|string_format:\"%5s\"} {$line.unit_price|crmMoney|string_format:\"%10s\"} {if !empty($dataArray)} {$line.unit_price*$line.qty|crmMoney:$currency|string_format:\"%10s\"} {if $line.tax_rate || $line.tax_amount != \"\"}  {$line.tax_rate|string_format:\"%.2f\"} %  {$line.tax_amount|crmMoney:$currency|string_format:\"%10s\"} {else}                  {/if}  {/if}  {$line.line_total+$line.tax_amount|crmMoney|string_format:\"%10s\"} {if !empty($ts_participant_count)}{$ts_participant_count|string_format:\"%10s\"}{/if}\n{/foreach}\n{/if}\n{/foreach}\n\n{if !empty($dataArray)}\n{if isset($totalAmount) and isset($totalTaxAmount)}\n{ts}Amount before Tax{/ts}: {$totalAmount-$totalTaxAmount|crmMoney:$currency}\n{/if}\n\n{foreach from=$dataArray item=value key=priceset}\n{if $priceset || $priceset == 0}\n{$taxTerm} {$priceset|string_format:\"%.2f\"}%: {$value|crmMoney:$currency}\n{else}\n{ts}No{/ts} {$taxTerm}: {$value|crmMoney:$currency}\n{/if}\n{/foreach}\n{/if}\n{/if}\n\n{if !empty($amount) && !$lineItem}\n{foreach from=$amount item=amnt key=level}{$amnt.amount|crmMoney} {$amnt.label}\n{/foreach}\n{/if}\n\n{if isset($totalTaxAmount)}\n{ts}Total Tax Amount{/ts}: {$totalTaxAmount|crmMoney:$currency}\n{/if}\n{if !empty($isPrimary)}\n\n{if !empty($balanceAmount)}{ts}Total Paid{/ts}{else}{ts}Total Amount{/ts}{/if}: {if !empty($totalAmount)}{$totalAmount|crmMoney}{/if} {if !empty($hookDiscount.message)}({$hookDiscount.message}){/if}\n\n{if !empty($balanceAmount)}\n{ts}Balance{/ts}: {$balanceAmount|crmMoney}\n{/if}\n\n{if !empty($pricesetFieldsCount) }\n      {assign var=\"count\" value= 0}\n      {foreach from=$lineItem item=pcount}\n      {assign var=\"lineItemCount\" value=0}\n      {if $pcount neq \'skip\'}\n        {foreach from=$pcount item=p_count}\n        {assign var=\"lineItemCount\" value=$lineItemCount+$p_count.participant_count}\n        {/foreach}\n        {if $lineItemCount < 1 }\n        {assign var=\"lineItemCount\" value=1}\n        {/if}\n      {assign var=\"count\" value=$count+$lineItemCount}\n      {/if}\n      {/foreach}\n\n{ts}Total Participants{/ts}: {$count}\n{/if}\n\n{if !empty($is_pay_later) }\n\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{$pay_later_receipt}\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{/if}\n\n{if $register_date}\n{ts}Registration Date{/ts}: {$register_date|crmDate}\n{/if}\n{if $receive_date}\n{ts}Transaction Date{/ts}: {$receive_date|crmDate}\n{/if}\n{if !empty($financialTypeName)}\n{ts}Financial Type{/ts}: {$financialTypeName}\n{/if}\n{if !empty($trxn_id)}\n{ts}Transaction #{/ts}: {$trxn_id}\n{/if}\n{if !empty($paidBy)}\n{ts}Paid By{/ts}: {$paidBy}\n{/if}\n{if !empty($checkNumber)}\n{ts}Check Number{/ts}: {$checkNumber}\n{/if}\n{if !empty($billingName)}\n\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{ts}Billing Name and Address{/ts}\n\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{$billingName}\n{$address}\n{/if}\n\n{if !empty($credit_card_type)}\n===========================================================\n{ts}Credit Card Information{/ts}\n\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{$credit_card_type}\n{$credit_card_number}\n{ts}Expires{/ts}: {$credit_card_exp_date|truncate:7:\'\'|crmDate}\n{/if}\n{/if}\n{/if} {* End of conditional section for Paid events *}\n\n{if !empty($customPre)}\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{$customPre_grouptitle}\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{foreach from=$customPre item=value key=customName}\n{if ( !empty($trackingFields) and ! in_array( $customName, $trackingFields ) ) or empty($trackingFields)}\n{$customName}: {$value}\n{/if}\n{/foreach}\n{/if}\n\n{if !empty($customPost)}\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{$customPost_grouptitle}\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{foreach from=$customPost item=value key=customName}\n{if ( !empty($trackingFields) and ! in_array( $customName, $trackingFields ) ) or empty($trackingFields)}\n{$customName}: {$value}\n{/if}\n{/foreach}\n{/if}\n{if !empty($customProfile)}\n\n{foreach from=$customProfile item=value key=customName}\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{ts 1=$customName+1}Participant Information - Participant %1{/ts}\n\n==========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{foreach from=$value item=val key=field}\n{if $field eq \'additionalCustomPre\' or $field eq \'additionalCustomPost\' }\n{if $field eq \'additionalCustomPre\' }\n----------------------------------------------------------{if !empty($pricesetFieldsCount) }--------------------{/if}\n\n{$additionalCustomPre_grouptitle}\n----------------------------------------------------------{if !empty($pricesetFieldsCount) }--------------------{/if}\n\n{else}\n----------------------------------------------------------{if !empty($pricesetFieldsCount) }--------------------{/if}\n\n{$additionalCustomPost_grouptitle}\n----------------------------------------------------------{if !empty($pricesetFieldsCount) }--------------------{/if}\n\n{/if}\n{foreach from=$val item=v key=f}\n{$f}: {$v}\n{/foreach}\n{/if}\n{/foreach}\n{/foreach}\n{/if}\n{if !empty($customGroup)}\n{foreach from=$customGroup item=value key=customName}\n=========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{$customName}\n=========================================================={if !empty($pricesetFieldsCount) }===================={/if}\n\n{foreach from=$value item=v key=n}\n{$n}: {$v}\n{/foreach}\n{/foreach}\n{/if}\n\n\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n    {assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}<p>{$greeting},</p>{/if}\n\n    {if !empty($event.confirm_email_text) AND (empty($isOnWaitlist) AND empty($isRequireApproval))}\n     <p>{$event.confirm_email_text|htmlize}</p>\n    {/if}\n\n    {if !empty($isOnWaitlist)}\n     <p>{ts}You have been added to the WAIT LIST for this event.{/ts}</p>\n     {if !empty($isPrimary)}\n       <p>{ts}If space becomes available you will receive an email with a link to a web page where you can complete your registration.{/ts}</p>\n     {/if}\n    {elseif !empty($isRequireApproval)}\n     <p>{ts}Your registration has been submitted.{/ts}</p>\n     {if !empty($isPrimary)}\n      <p>{ts}Once your registration has been reviewed, you will receive an email with a link to a web page where you can complete the registration process.{/ts}</p>\n     {/if}\n    {elseif !empty($is_pay_later)}\n     <p>{if isset($pay_later_receipt)}{$pay_later_receipt}{/if}</p> {* FIXME: this might be text rather than HTML *}\n    {/if}\n\n   </td>\n  </tr>\n  <tr>\n   <td>\n    <table style=\"border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse; width:100%;\">\n     <tr>\n      <th {$headerStyle}>\n       {ts}Event Information and Location{/ts}\n      </th>\n     </tr>\n     <tr>\n      <td colspan=\"2\" {$valueStyle}>\n       {$event.event_title}<br />\n       {$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:\"%Y%m%d\" == $event.event_start_date|date_format:\"%Y%m%d\"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if} {$event.event_tz}\n      </td>\n     </tr>\n\n     {if !empty($event.participant_role) and $event.participant_role neq \'Attendee\' and !empty($defaultRole)}\n      <tr>\n       <td {$labelStyle}>\n        {ts}Participant Role{/ts}\n       </td>\n       <td {$valueStyle}>\n        {$event.participant_role}\n       </td>\n      </tr>\n     {/if}\n\n     {if !empty($isShowLocation)}\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n        {$location.address.1.display|nl2br}\n       </td>\n      </tr>\n     {/if}\n\n     {if !empty($location.phone.1.phone) || !empty($location.email.1.email)}\n      <tr>\n       <td colspan=\"2\" {$labelStyle}>\n        {ts}Event Contacts:{/ts}\n       </td>\n      </tr>\n      {foreach from=$location.phone item=phone}\n       {if $phone.phone}\n        <tr>\n         <td {$labelStyle}>\n          {if $phone.phone_type}\n           {$phone.phone_type_display}\n          {else}\n           {ts}Phone{/ts}\n          {/if}\n         </td>\n         <td {$valueStyle}>\n          {$phone.phone} {if $phone.phone_ext}&nbsp;{ts}ext.{/ts} {$phone.phone_ext}{/if}\n         </td>\n        </tr>\n       {/if}\n      {/foreach}\n      {foreach from=$location.email item=eventEmail}\n       {if $eventEmail.email}\n        <tr>\n         <td {$labelStyle}>\n          {ts}Email{/ts}\n         </td>\n         <td {$valueStyle}>\n          {$eventEmail.email}\n         </td>\n        </tr>\n       {/if}\n      {/foreach}\n     {/if}\n\n     {if !empty($event.is_public)}\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n        {capture assign=icalFeed}{crmURL p=\'civicrm/event/ical\' q=\"reset=1&id=`$event.id`\" h=0 a=1 fe=1}{/capture}\n        <a href=\"{$icalFeed}\">{ts}Download iCalendar File{/ts}</a>\n       </td>\n      </tr>\n     {/if}\n\n     {if $email}\n      <tr>\n       <th {$headerStyle}>\n        {ts}Registered Email{/ts}\n       </th>\n      </tr>\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n        {$email}\n       </td>\n      </tr>\n     {/if}\n\n\n     {if !empty($event.is_monetary)}\n\n      <tr>\n       <th {$headerStyle}>\n        {if !empty($event.fee_label)}{$event.fee_label}{/if}\n       </th>\n      </tr>\n\n      {if !empty($lineItem)}\n       {foreach from=$lineItem item=value key=priceset}\n        {if $value neq \'skip\'}\n         {if !empty($isPrimary)}\n          {if $lineItem|@count GT 1} {* Header for multi participant registration cases. *}\n           <tr>\n            <td colspan=\"2\" {$labelStyle}>\n             {ts 1=$priceset+1}Participant %1{/ts}\n            </td>\n           </tr>\n          {/if}\n         {/if}\n         <tr>\n          <td colspan=\"2\" {$valueStyle}>\n           <table> {* FIXME: style this table so that it looks like the text version (justification, etc.) *}\n            <tr>\n             <th>{ts}Item{/ts}</th>\n             <th>{ts}Qty{/ts}</th>\n             <th>{ts}Each{/ts}</th>\n             {if !empty($dataArray)}\n              <th>{ts}SubTotal{/ts}</th>\n              <th>{ts}Tax Rate{/ts}</th>\n              <th>{ts}Tax Amount{/ts}</th>\n             {/if}\n             <th>{ts}Total{/ts}</th>\n       {if !empty($pricesetFieldsCount) }<th>{ts}Total Participants{/ts}</th>{/if}\n            </tr>\n            {foreach from=$value item=line}\n             <tr>\n              <td>\n        {if $line.html_type eq \'Text\'}{$line.label}{else}{$line.field_title} - {$line.label}{/if} {if $line.description}<div>{$line.description|truncate:30:\"...\"}</div>{/if}\n              </td>\n              <td>\n               {$line.qty}\n              </td>\n              <td>\n               {$line.unit_price|crmMoney}\n              </td>\n              {if !empty($dataArray)}\n               <td>\n                {$line.unit_price*$line.qty|crmMoney}\n               </td>\n               {if $line.tax_rate || $line.tax_amount != \"\"}\n                <td>\n                 {$line.tax_rate|string_format:\"%.2f\"}%\n                </td>\n                <td>\n                 {$line.tax_amount|crmMoney}\n                </td>\n               {else}\n                <td></td>\n                <td></td>\n               {/if}\n              {/if}\n              <td>\n               {$line.line_total+$line.tax_amount|crmMoney}\n              </td>\n        {if  !empty($pricesetFieldsCount) }\n        <td>\n    {$line.participant_count}\n              </td>\n        {/if}\n             </tr>\n            {/foreach}\n           </table>\n          </td>\n         </tr>\n        {/if}\n       {/foreach}\n       {if !empty($dataArray)}\n        {if isset($totalAmount) and isset($totalTaxAmount)}\n        <tr>\n         <td {$labelStyle}>\n          {ts}Amount Before Tax:{/ts}\n         </td>\n         <td {$valueStyle}>\n          {$totalAmount-$totalTaxAmount|crmMoney}\n         </td>\n        </tr>\n        {/if}\n        {foreach from=$dataArray item=value key=priceset}\n          <tr>\n           {if $priceset || $priceset == 0}\n            <td>&nbsp;{$taxTerm} {$priceset|string_format:\"%.2f\"}%</td>\n            <td>&nbsp;{$value|crmMoney:$currency}</td>\n           {else}\n            <td>&nbsp;{ts}No{/ts} {$taxTerm}</td>\n            <td>&nbsp;{$value|crmMoney:$currency}</td>\n           {/if}\n          </tr>\n        {/foreach}\n       {/if}\n      {/if}\n\n      {if !empty($amount) && !$lineItem}\n       {foreach from=$amount item=amnt key=level}\n        <tr>\n         <td colspan=\"2\" {$valueStyle}>\n          {$amnt.amount|crmMoney} {$amnt.label}\n         </td>\n        </tr>\n       {/foreach}\n      {/if}\n      {if isset($totalTaxAmount)}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Total Tax Amount{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$totalTaxAmount|crmMoney:$currency}\n        </td>\n       </tr>\n      {/if}\n      {if !empty($isPrimary)}\n       <tr>\n        <td {$labelStyle}>\n        {if isset($balanceAmount)}\n           {ts}Total Paid{/ts}\n        {else}\n           {ts}Total Amount{/ts}\n         {/if}\n        </td>\n        <td {$valueStyle}>\n         {if !empty($totalAmount)}{$totalAmount|crmMoney}{/if} {if !empty($hookDiscount.message)}({$hookDiscount.message}){/if}\n        </td>\n       </tr>\n      {if isset($balanceAmount)}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Balance{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$balanceAmount|crmMoney}\n        </td>\n       </tr>\n      {/if}\n       {if !empty($pricesetFieldsCount) }\n     <tr>\n       <td {$labelStyle}>\n   {ts}Total Participants{/ts}</td>\n       <td {$valueStyle}>\n   {assign var=\"count\" value= 0}\n         {foreach from=$lineItem item=pcount}\n         {assign var=\"lineItemCount\" value=0}\n         {if $pcount neq \'skip\'}\n           {foreach from=$pcount item=p_count}\n           {assign var=\"lineItemCount\" value=$lineItemCount+$p_count.participant_count}\n           {/foreach}\n           {if $lineItemCount < 1 }\n           assign var=\"lineItemCount\" value=1}\n           {/if}\n           {assign var=\"count\" value=$count+$lineItemCount}\n         {/if}\n         {/foreach}\n   {$count}\n       </td>\n     </tr>\n     {/if}\n       {if !empty($is_pay_later)}\n        <tr>\n         <td colspan=\"2\" {$labelStyle}>\n          {if isset($pay_later_receipt)}{$pay_later_receipt}{/if}\n         </td>\n        </tr>\n       {/if}\n\n       {if $register_date}\n        <tr>\n         <td {$labelStyle}>\n          {ts}Registration Date{/ts}\n         </td>\n         <td {$valueStyle}>\n          {$register_date|crmDate}\n         </td>\n        </tr>\n       {/if}\n\n       {if !empty($receive_date)}\n        <tr>\n         <td {$labelStyle}>\n          {ts}Transaction Date{/ts}\n         </td>\n         <td {$valueStyle}>\n          {$receive_date|crmDate}\n         </td>\n        </tr>\n       {/if}\n\n       {if !empty($financialTypeName)}\n        <tr>\n         <td {$labelStyle}>\n          {ts}Financial Type{/ts}\n         </td>\n         <td {$valueStyle}>\n          {$financialTypeName}\n         </td>\n        </tr>\n       {/if}\n\n       {if !empty($trxn_id)}\n        <tr>\n         <td {$labelStyle}>\n          {ts}Transaction #{/ts}\n         </td>\n         <td {$valueStyle}>\n          {$trxn_id}\n         </td>\n        </tr>\n       {/if}\n\n       {if !empty($paidBy)}\n        <tr>\n         <td {$labelStyle}>\n          {ts}Paid By{/ts}\n         </td>\n         <td {$valueStyle}>\n         {$paidBy}\n         </td>\n        </tr>\n       {/if}\n\n       {if !empty($checkNumber)}\n        <tr>\n         <td {$labelStyle}>\n          {ts}Check Number{/ts}\n         </td>\n         <td {$valueStyle}>\n          {$checkNumber}\n         </td>\n        </tr>\n       {/if}\n\n       {if !empty($billingName)}\n        <tr>\n         <th {$headerStyle}>\n          {ts}Billing Name and Address{/ts}\n         </th>\n        </tr>\n        <tr>\n         <td colspan=\"2\" {$valueStyle}>\n          {$billingName}<br />\n          {$address|nl2br}\n         </td>\n        </tr>\n       {/if}\n\n       {if !empty($credit_card_type)}\n        <tr>\n         <th {$headerStyle}>\n          {ts}Credit Card Information{/ts}\n         </th>\n        </tr>\n        <tr>\n         <td colspan=\"2\" {$valueStyle}>\n          {$credit_card_type}<br />\n          {$credit_card_number}<br />\n          {ts}Expires{/ts}: {$credit_card_exp_date|truncate:7:\'\'|crmDate}\n         </td>\n        </tr>\n       {/if}\n\n      {/if}\n\n     {/if} {* End of conditional section for Paid events *}\n\n     {if !empty($customPre)}\n      <tr>\n       <th {$headerStyle}>\n        {$customPre_grouptitle}\n       </th>\n      </tr>\n      {foreach from=$customPre item=value key=customName}\n       {if ( !empty($trackingFields) and ! in_array( $customName, $trackingFields ) ) or empty($trackingFields)}\n        <tr>\n         <td {$labelStyle}>\n          {$customName}\n         </td>\n         <td {$valueStyle}>\n          {$value}\n         </td>\n        </tr>\n       {/if}\n      {/foreach}\n     {/if}\n\n     {if !empty($customPost)}\n      <tr>\n       <th {$headerStyle}>\n        {$customPost_grouptitle}\n       </th>\n      </tr>\n      {foreach from=$customPost item=value key=customName}\n       {if ( !empty($trackingFields) and ! in_array( $customName, $trackingFields ) ) or empty($trackingFields)}\n        <tr>\n         <td {$labelStyle}>\n          {$customName}\n         </td>\n         <td {$valueStyle}>\n          {$value}\n         </td>\n        </tr>\n       {/if}\n      {/foreach}\n     {/if}\n\n     {if !empty($customProfile)}\n      {foreach from=$customProfile item=value key=customName}\n       <tr>\n        <th {$headerStyle}>\n         {ts 1=$customName+1}Participant Information - Participant %1{/ts}\n        </th>\n       </tr>\n       {foreach from=$value item=val key=field}\n        {if $field eq \'additionalCustomPre\' or $field eq \'additionalCustomPost\'}\n         <tr>\n          <td colspan=\"2\" {$labelStyle}>\n           {if $field eq \'additionalCustomPre\'}\n            {$additionalCustomPre_grouptitle}\n           {else}\n            {$additionalCustomPost_grouptitle}\n           {/if}\n          </td>\n         </tr>\n         {foreach from=$val item=v key=f}\n          <tr>\n           <td {$labelStyle}>\n            {$f}\n           </td>\n           <td {$valueStyle}>\n            {$v}\n           </td>\n          </tr>\n         {/foreach}\n        {/if}\n       {/foreach}\n      {/foreach}\n     {/if}\n\n     {if !empty($customGroup)}\n      {foreach from=$customGroup item=value key=customName}\n       <tr>\n        <th {$headerStyle}>\n         {$customName}\n        </th>\n       </tr>\n       {foreach from=$value item=v key=n}\n        <tr>\n         <td {$labelStyle}>\n          {$n}\n         </td>\n         <td {$valueStyle}>\n          {$v}\n         </td>\n        </tr>\n       {/foreach}\n      {/foreach}\n     {/if}\n\n    </table>\n   </td>\n  </tr>\n\n </table>\n\n</body>\n</html>\n',1,826,'event_offline_receipt',0,1,0,NULL),
+ (31,'Events - Registration Confirmation and Receipt (on-line)','{if !empty($isOnWaitlist)}{ts}Wait List Confirmation{/ts}{elseif !empty($isRequireApproval)}{ts}Registration Request Confirmation{/ts}{else}{ts}Registration Confirmation{/ts}{/if} - {$event.event_title} - {contact.display_name}\n','{assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}{$greeting},{/if}\n{if !empty($event.confirm_email_text) AND (empty($isOnWaitlist) AND empty($isRequireApproval))}\n{$event.confirm_email_text}\n\n{else}\n  {ts}Thank you for your registration.{/ts}\n  {if $participant_status}{ts 1=$participant_status}This is a confirmation that your registration has been received and your status has been updated to %1.{/ts}\n  {else}{if !empty($isOnWaitlist)}{ts}This is a confirmation that your registration has been received and your status has been updated to waitlisted.{/ts}{else}{ts}This is a confirmation that your registration has been received and your status has been updated to registered.{/ts}{/if}\n  {/if}\n{/if}\n\n{if !empty($isOnWaitlist)}\n==========================================================={if !empty($pricesetFieldsCount)}===================={/if}\n\n{ts}You have been added to the WAIT LIST for this event.{/ts}\n\n{if !empty($isPrimary)}\n{ts}If space becomes available you will receive an email with a link to a web page where you can complete your registration.{/ts}\n{/if}\n==========================================================={if !empty($pricesetFieldsCount)}===================={/if}\n\n{elseif !empty($isRequireApproval)}\n==========================================================={if !empty($pricesetFieldsCount)}===================={/if}\n\n{ts}Your registration has been submitted.{/ts}\n\n{if !empty($isPrimary)}\n{ts}Once your registration has been reviewed, you will receive an email with a link to a web page where you can complete the registration process.{/ts}\n\n{/if}\n==========================================================={if !empty($pricesetFieldsCount)}===================={/if}\n\n{elseif !empty($is_pay_later) && empty($isAmountzero) && empty($isAdditionalParticipant)}\n\n==========================================================={if !empty($pricesetFieldsCount)}===================={/if}\n\n{if isset($pay_later_receipt)}{$pay_later_receipt}{/if}\n==========================================================={if !empty($pricesetFieldsCount)}===================={/if}\n\n{/if}\n\n\n==========================================================={if !empty($pricesetFieldsCount)}===================={/if}\n\n{ts}Event Information and Location{/ts}\n\n==========================================================={if !empty($pricesetFieldsCount)}===================={/if}\n\n{$event.event_title}\n{$event.event_start_date|date_format:\"%A\"} {$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:\"%Y%m%d\" == $event.event_start_date|date_format:\"%Y%m%d\"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|date_format:\"%A\"} {$event.event_end_date|crmDate}{/if}{/if} {$event.event_tz}\n{if !empty($conference_sessions)}\n\n\n{ts}Your schedule:{/ts}\n{assign var=\'group_by_day\' value=\'NA\'}\n{foreach from=$conference_sessions item=session}\n{if $session.start_date|date_format:\"%Y/%m/%d\" != $group_by_day|date_format:\"%Y/%m/%d\"}\n{assign var=\'group_by_day\' value=$session.start_date}\n\n{$group_by_day|date_format:\"%m/%d/%Y\"}\n\n\n{/if}\n{$session.start_date|crmDate:0:1}{if $session.end_date}-{$session.end_date|crmDate:0:1}{/if} {$session.title}\n{if $session.location}    {$session.location}{/if}\n{/foreach}\n{/if}\n\n{if !empty($event.participant_role) and $event.participant_role neq \'Attendee\' and !empty($defaultRole)}\n{ts}Participant Role{/ts}: {$event.participant_role}\n{/if}\n\n{if !empty($isShowLocation)}\n{$location.address.1.display|strip_tags:false}\n{/if}{*End of isShowLocation condition*}\n\n{if !empty($location.phone.1.phone) || !empty($location.email.1.email)}\n\n{ts}Event Contacts:{/ts}\n{foreach from=$location.phone item=phone}\n{if $phone.phone}\n\n{if $phone.phone_type}{$phone.phone_type_display}{else}{ts}Phone{/ts}{/if}: {$phone.phone}{/if} {if $phone.phone_ext} {ts}ext.{/ts} {$phone.phone_ext}{/if}\n{/foreach}\n{foreach from=$location.email item=eventEmail}\n{if $eventEmail.email}\n\n{ts}Email{/ts}: {$eventEmail.email}{/if}{/foreach}\n{/if}\n\n{if !empty($event.is_public)}\n{capture assign=icalFeed}{crmURL p=\'civicrm/event/ical\' q=\"reset=1&id=`$event.id`\" h=0 a=1 fe=1}{/capture}\n{ts}Download iCalendar File:{/ts} {$icalFeed}\n{/if}\n\n{if !empty($payer.name)}\nYou were registered by: {$payer.name}\n{/if}\n{if !empty($event.is_monetary) and empty($isRequireApproval)} {* This section for Paid events only.*}\n\n==========================================================={if !empty($pricesetFieldsCount)}===================={/if}\n\n{if !empty ($event.fee_label)}{$event.fee_label}{/if}\n==========================================================={if !empty($pricesetFieldsCount)}===================={/if}\n\n{if !empty($lineItem)}{foreach from=$lineItem item=value key=priceset}\n\n{if $value neq \'skip\'}\n{if !empty($isPrimary)}\n{if $lineItem|@count GT 1} {* Header for multi participant registration cases. *}\n{ts 1=$priceset+1}Participant %1{/ts} {if !empty($part.$priceset)}{$part.$priceset.info}{/if}\n\n{/if}\n{/if}\n-----------------------------------------------------------{if !empty($pricesetFieldsCount)}-----------------------------------------------------{/if}\n\n{capture assign=ts_item}{ts}Item{/ts}{/capture}\n{capture assign=ts_qty}{ts}Qty{/ts}{/capture}\n{capture assign=ts_each}{ts}Each{/ts}{/capture}\n{if !empty($dataArray)}\n{capture assign=ts_subtotal}{ts}Subtotal{/ts}{/capture}\n{capture assign=ts_taxRate}{ts}Tax Rate{/ts}{/capture}\n{capture assign=ts_taxAmount}{ts}Tax Amount{/ts}{/capture}\n{/if}\n{capture assign=ts_total}{ts}Total{/ts}{/capture}\n{if !empty($pricesetFieldsCount) }{capture assign=ts_participant_total}{ts}Total Participants{/ts}{/capture}{/if}\n{$ts_item|string_format:\"%-30s\"} {$ts_qty|string_format:\"%5s\"} {$ts_each|string_format:\"%10s\"} {if !empty($dataArray)} {$ts_subtotal|string_format:\"%10s\"} {$ts_taxRate|string_format:\"%10s\"} {$ts_taxAmount|string_format:\"%10s\"} {/if} {$ts_total|string_format:\"%10s\"} {if !empty($ts_participant_total)}{$ts_participant_total|string_format:\"%10s\"}{/if}\n-----------------------------------------------------------{if !empty($pricesetFieldsCount)}-----------------------------------------------------{/if}\n\n{foreach from=$value item=line}\n{if !empty($pricesetFieldsCount) }{capture assign=ts_participant_count}{$line.participant_count}{/capture}{/if}\n{capture assign=ts_item}{if $line.html_type eq \'Text\'}{$line.label}{else}{$line.field_title} - {$line.label}{/if} {if $line.description} {$line.description}{/if}{/capture}{$ts_item|truncate:30:\"...\"|string_format:\"%-30s\"} {$line.qty|string_format:\"%5s\"} {$line.unit_price|crmMoney:$currency|string_format:\"%10s\"} {if !empty($dataArray)} {$line.unit_price*$line.qty|crmMoney:$currency|string_format:\"%10s\"} {if $line.tax_rate || $line.tax_amount != \"\"}  {$line.tax_rate|string_format:\"%.2f\"} %  {$line.tax_amount|crmMoney:$currency|string_format:\"%10s\"} {else}                  {/if}  {/if} {$line.line_total+$line.tax_amount|crmMoney:$currency|string_format:\"%10s\"}{if !empty($ts_participant_count)}{$ts_participant_count|string_format:\"%10s\"}{/if}\n{/foreach}\n----------------------------------------------------------------------------------------------------------------\n{if !empty($individual)}{ts}Participant Total{/ts} {$individual.$priceset.totalAmtWithTax-$individual.$priceset.totalTaxAmt|crmMoney:$currency|string_format:\"%29s\"} {$individual.$priceset.totalTaxAmt|crmMoney:$currency|string_format:\"%33s\"} {$individual.$priceset.totalAmtWithTax|crmMoney:$currency|string_format:\"%12s\"}{/if}\n{/if}\n{\"\"|string_format:\"%120s\"}\n{/foreach}\n{\"\"|string_format:\"%120s\"}\n\n{if !empty($dataArray)}\n{if isset($totalAmount) and isset($totalTaxAmount)}\n{ts}Amount before Tax{/ts}: {$totalAmount-$totalTaxAmount|crmMoney:$currency}\n{/if}\n\n{foreach from=$dataArray item=value key=priceset}\n{if $priceset || $priceset == 0}\n{$taxTerm} {$priceset|string_format:\"%.2f\"}%: {$value|crmMoney:$currency}\n{else}\n{ts}No{/ts} {$taxTerm}: {$value|crmMoney:$currency}\n{/if}\n{/foreach}\n{/if}\n{/if}\n\n{if !empty($amounts) && empty($lineItem)}\n{foreach from=$amounts item=amnt key=level}{$amnt.amount|crmMoney:$currency} {$amnt.label}\n{/foreach}\n{/if}\n\n{if isset($totalTaxAmount)}\n{ts}Total Tax Amount{/ts}: {$totalTaxAmount|crmMoney:$currency}\n{/if}\n{if !empty($isPrimary) }\n\n{ts}Total Amount{/ts}: {if !empty($totalAmount)}{$totalAmount|crmMoney:$currency}{/if} {if !empty($hookDiscount.message)}({$hookDiscount.message}){/if}\n\n{if !empty($pricesetFieldsCount) }\n      {assign var=\"count\" value= 0}\n      {foreach from=$lineItem item=pcount}\n      {assign var=\"lineItemCount\" value=0}\n      {if $pcount neq \'skip\'}\n        {foreach from=$pcount item=p_count}\n        {assign var=\"lineItemCount\" value=$lineItemCount+$p_count.participant_count}\n        {/foreach}\n      {if $lineItemCount < 1 }\n        {assign var=\"lineItemCount\" value=1}\n      {/if}\n      {assign var=\"count\" value=$count+$lineItemCount}\n      {/if}\n      {/foreach}\n\n{ts}Total Participants{/ts}: {$count}\n{/if}\n\n{if $register_date}\n{ts}Registration Date{/ts}: {$register_date|crmDate}\n{/if}\n{if !empty($receive_date)}\n{ts}Transaction Date{/ts}: {$receive_date|crmDate}\n{/if}\n{if !empty($financialTypeName)}\n{ts}Financial Type{/ts}: {$financialTypeName}\n{/if}\n{if !empty($trxn_id)}\n{ts}Transaction #{/ts}: {$trxn_id}\n{/if}\n{if !empty($paidBy)}\n{ts}Paid By{/ts}: {$paidBy}\n{/if}\n{if !empty($checkNumber)}\n{ts}Check Number{/ts}: {$checkNumber}\n{/if}\n{if !empty($billingName)}\n\n==========================================================={if !empty($pricesetFieldsCount)}===================={/if}\n\n{ts}Billing Name and Address{/ts}\n\n==========================================================={if !empty($pricesetFieldsCount)}===================={/if}\n\n{$billingName}\n{$address}\n{/if}\n\n{if !empty($credit_card_type)}\n==========================================================={if !empty($pricesetFieldsCount)}===================={/if}\n\n{ts}Credit Card Information{/ts}\n\n==========================================================={if !empty($pricesetFieldsCount)}===================={/if}\n\n{$credit_card_type}\n{$credit_card_number}\n{ts}Expires{/ts}: {$credit_card_exp_date|truncate:7:\'\'|crmDate}\n{/if}\n{/if}\n{/if} {* End of conditional section for Paid events *}\n\n{if !empty($customPre)}\n{foreach from=$customPre item=customPr key=i}\n==========================================================={if !empty($pricesetFieldsCount)}===================={/if}\n\n{$customPre_grouptitle.$i}\n==========================================================={if !empty($pricesetFieldsCount)}===================={/if}\n\n{foreach from=$customPr item=customValue key=customName}\n{if ( !empty($trackingFields) and ! in_array( $customName, $trackingFields ) ) or empty($trackingFields)}\n {$customName}: {$customValue}\n{/if}\n{/foreach}\n{/foreach}\n{/if}\n\n{if !empty($customPost)}\n{foreach from=$customPost item=customPos key=j}\n==========================================================={if !empty($pricesetFieldsCount)}===================={/if}\n\n{$customPost_grouptitle.$j}\n==========================================================={if !empty($pricesetFieldsCount)}===================={/if}\n\n{foreach from=$customPos item=customValue key=customName}\n{if ( !empty($trackingFields) and ! in_array( $customName, $trackingFields ) ) or empty($trackingFields)}\n {$customName}: {$customValue}\n{/if}\n{/foreach}\n{/foreach}\n{/if}\n{if !empty($customProfile)}\n\n{foreach from=$customProfile.profile item=eachParticipant key=participantID}\n==========================================================={if !empty($pricesetFieldsCount)}===================={/if}\n\n{ts 1=$participantID+2}Participant Information - Participant %1{/ts}\n\n==========================================================={if !empty($pricesetFieldsCount)}===================={/if}\n\n{foreach from=$eachParticipant item=eachProfile key=pid}\n----------------------------------------------------------{if !empty($pricesetFieldsCount)}--------------------{/if}\n\n{$customProfile.title.$pid}\n----------------------------------------------------------{if !empty($pricesetFieldsCount)}--------------------{/if}\n\n{foreach from=$eachProfile item=val key=field}\n{foreach from=$val item=v key=f}\n{$field}: {$v}\n{/foreach}\n{/foreach}\n{/foreach}\n{/foreach}\n{/if}\n\n{if !empty($event.allow_selfcancelxfer) }\n{ts 1=$selfcancelxfer_time 2=$selfservice_preposition}You may transfer your registration to another participant or cancel your registration up to %1 hours %2 the event.{/ts} {if !empty($totalAmount)}{ts}Cancellations are not refundable.{/ts}{/if}\n   {capture assign=selfService}{crmURL p=\'civicrm/event/selfsvcupdate\' q=\"reset=1&pid=`$participant.id`&{contact.checksum}\"  h=0 a=1 fe=1}{/capture}\n{ts}Transfer or cancel your registration:{/ts} {$selfService}\n{/if}\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n{capture assign=tdfirstStyle}style=\"width: 180px; padding-bottom: 15px;\"{/capture}\n{capture assign=tdStyle}style=\"width: 100px;\"{/capture}\n{capture assign=participantTotal}style=\"margin: 0.5em 0 0.5em;padding: 0.5em;background-color: #999999;font-weight: bold;color: #FAFAFA;border-radius: 2px;\"{/capture}\n\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n     {assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}<p>{$greeting},</p>{/if}\n\n    {if !empty($event.confirm_email_text) AND (empty($isOnWaitlist) AND empty($isRequireApproval))}\n     <p>{$event.confirm_email_text|htmlize}</p>\n\n    {else}\n     <p>{ts}Thank you for your registration.{/ts}\n     {if $participant_status}{ts 1=$participant_status}This is a confirmation that your registration has been received and your status has been updated to <strong> %1</strong>.{/ts}\n     {else}{if $isOnWaitlist}{ts}This is a confirmation that your registration has been received and your status has been updated to <strong>waitlisted</strong>.{/ts}{else}{ts}This is a confirmation that your registration has been received and your status has been updated to <strong>registered<strong>.{/ts}{/if}{/if}</p>\n\n    {/if}\n\n    <p>\n    {if !empty($isOnWaitlist)}\n     <p>{ts}You have been added to the WAIT LIST for this event.{/ts}</p>\n     {if !empty($isPrimary)}\n       <p>{ts}If space becomes available you will receive an email with a link to a web page where you can complete your registration.{/ts}</p>\n     {/if}\n    {elseif !empty($isRequireApproval)}\n     <p>{ts}Your registration has been submitted.{/ts}</p>\n     {if !empty($isPrimary)}\n      <p>{ts}Once your registration has been reviewed, you will receive an email with a link to a web page where you can complete the registration process.{/ts}</p>\n     {/if}\n    {elseif !empty($is_pay_later) && empty($isAmountzero) && empty($isAdditionalParticipant)}\n     <p>{if isset($pay_later_receipt)}{$pay_later_receipt}{/if}</p> {* FIXME: this might be text rather than HTML *}\n    {/if}\n\n   </td>\n  </tr>\n  <tr>\n   <td>\n    <table style=\"width:100%; max-width:700px; border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse;\">\n     <tr>\n      <th {$headerStyle}>\n       {ts}Event Information and Location{/ts}\n      </th>\n     </tr>\n     <tr>\n      <td colspan=\"2\" {$valueStyle}>\n       {$event.event_title}<br />\n       {$event.event_start_date|date_format:\"%A\"} {$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:\"%Y%m%d\" == $event.event_start_date|date_format:\"%Y%m%d\"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|date_format:\"%A\"} {$event.event_end_date|crmDate}{/if}{/if} {$event.event_tz}\n      </td>\n     </tr>\n\n\n     {if $conference_sessions}\n      <tr>\n       <td colspan=\"2\" {$labelStyle}>\n  {ts}Your schedule:{/ts}\n       </td>\n      </tr>\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n  {assign var=\'group_by_day\' value=\'NA\'}\n  {foreach from=$conference_sessions item=session}\n   {if $session.start_date|date_format:\"%Y/%m/%d\" != $group_by_day|date_format:\"%Y/%m/%d\"}\n    {assign var=\'group_by_day\' value=$session.start_date}\n          <em>{$group_by_day|date_format:\"%m/%d/%Y\"}</em><br />\n   {/if}\n   {$session.start_date|crmDate:0:1}{if $session.end_date}-{$session.end_date|crmDate:0:1}{/if} {$session.title}<br />\n   {if $session.location}&nbsp;&nbsp;&nbsp;&nbsp;{$session.location}<br />{/if}\n  {/foreach}\n       </td>\n      </tr>\n     {/if}\n\n     {if !empty($event.participant_role) and $event.participant_role neq \'Attendee\' and !empty($defaultRole)}\n      <tr>\n       <td {$labelStyle}>\n        {ts}Participant Role{/ts}\n       </td>\n       <td {$valueStyle}>\n        {$event.participant_role}\n       </td>\n      </tr>\n     {/if}\n\n     {if !empty($isShowLocation)}\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n        {$location.address.1.display|nl2br}\n       </td>\n      </tr>\n     {/if}\n\n     {if !empty($location.phone.1.phone) || !empty($location.email.1.email)}\n      <tr>\n       <td colspan=\"2\" {$labelStyle}>\n        {ts}Event Contacts:{/ts}\n       </td>\n      </tr>\n      {foreach from=$location.phone item=phone}\n       {if $phone.phone}\n        <tr>\n         <td {$labelStyle}>\n          {if $phone.phone_type}\n           {$phone.phone_type_display}\n          {else}\n           {ts}Phone{/ts}\n          {/if}\n         </td>\n         <td {$valueStyle}>\n          {$phone.phone} {if $phone.phone_ext}&nbsp;{ts}ext.{/ts} {$phone.phone_ext}{/if}\n         </td>\n        </tr>\n       {/if}\n      {/foreach}\n      {foreach from=$location.email item=eventEmail}\n       {if $eventEmail.email}\n        <tr>\n         <td {$labelStyle}>\n          {ts}Email{/ts}\n         </td>\n         <td {$valueStyle}>\n          {$eventEmail.email}\n         </td>\n        </tr>\n       {/if}\n      {/foreach}\n     {/if}\n\n     {if !empty($event.is_public)}\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n        {capture assign=icalFeed}{crmURL p=\'civicrm/event/ical\' q=\"reset=1&id=`$event.id`\" h=0 a=1 fe=1}{/capture}\n        <a href=\"{$icalFeed}\">{ts}Download iCalendar File{/ts}</a>\n       </td>\n      </tr>\n     {/if}\n\n    {if !empty($event.is_share)}\n        <tr>\n            <td colspan=\"2\" {$valueStyle}>\n                {capture assign=eventUrl}{crmURL p=\'civicrm/event/info\' q=\"id=`$event.id`&reset=1\" a=true fe=1 h=1}{/capture}\n                {include file=\"CRM/common/SocialNetwork.tpl\" emailMode=true url=$eventUrl title=$event.title pageURL=$eventUrl}\n            </td>\n        </tr>\n    {/if}\n    {if !empty($payer.name)}\n     <tr>\n       <th {$headerStyle}>\n         {ts}You were registered by:{/ts}\n       </th>\n     </tr>\n     <tr>\n       <td colspan=\"2\" {$valueStyle}>\n        {$payer.name}\n       </td>\n     </tr>\n    {/if}\n    {if !empty($event.is_monetary) and empty($isRequireApproval)}\n\n      <tr>\n       <th {$headerStyle}>\n        {if !empty($event.fee_label)}{$event.fee_label}{/if}\n       </th>\n      </tr>\n\n      {if !empty($lineItem)}\n       {foreach from=$lineItem item=value key=priceset}\n        {if $value neq \'skip\'}\n         {if !empty($isPrimary)}\n          {if $lineItem|@count GT 1} {* Header for multi participant registration cases. *}\n           <tr>\n            <td colspan=\"2\" {$labelStyle}>\n             {ts 1=$priceset+1}Participant %1{/ts} {if !empty($part.$priceset)}{$part.$priceset.info}{/if}\n            </td>\n           </tr>\n          {/if}\n         {/if}\n         <tr>\n          <td colspan=\"2\" {$valueStyle}>\n           <table> {* FIXME: style this table so that it looks like the text version (justification, etc.) *}\n            <tr>\n             <th>{ts}Item{/ts}</th>\n             <th>{ts}Qty{/ts}</th>\n             <th>{ts}Each{/ts}</th>\n             {if !empty($dataArray)}\n              <th>{ts}SubTotal{/ts}</th>\n              <th>{ts}Tax Rate{/ts}</th>\n              <th>{ts}Tax Amount{/ts}</th>\n             {/if}\n             <th>{ts}Total{/ts}</th>\n       {if  !empty($pricesetFieldsCount) }<th>{ts}Total Participants{/ts}</th>{/if}\n            </tr>\n            {foreach from=$value item=line}\n             <tr>\n              <td {$tdfirstStyle}>\n              {if $line.html_type eq \'Text\'}{$line.label}{else}{$line.field_title} - {$line.label}{/if} {if $line.description}<div>{$line.description|truncate:30:\"...\"}</div>{/if}\n              </td>\n              <td {$tdStyle} align=\"middle\">\n               {$line.qty}\n              </td>\n              <td {$tdStyle}>\n               {$line.unit_price|crmMoney:$currency}\n              </td>\n              {if !empty($dataArray)}\n               <td {$tdStyle}>\n                {$line.unit_price*$line.qty|crmMoney}\n               </td>\n               {if $line.tax_rate || $line.tax_amount != \"\"}\n                <td {$tdStyle}>\n                 {$line.tax_rate|string_format:\"%.2f\"}%\n                </td>\n                <td {$tdStyle}>\n                 {$line.tax_amount|crmMoney}\n                </td>\n               {else}\n                <td></td>\n                <td></td>\n               {/if}\n              {/if}\n              <td {$tdStyle}>\n               {$line.line_total+$line.tax_amount|crmMoney:$currency}\n              </td>\n        {if !empty($pricesetFieldsCount) }<td {$tdStyle}>{$line.participant_count}</td> {/if}\n             </tr>\n            {/foreach}\n            {if !empty($individual)}\n              <tr {$participantTotal}>\n                <td colspan=3>{ts}Participant Total{/ts}</td>\n                <td colspan=2>{$individual.$priceset.totalAmtWithTax-$individual.$priceset.totalTaxAmt|crmMoney}</td>\n                <td colspan=1>{$individual.$priceset.totalTaxAmt|crmMoney}</td>\n                <td colspan=2>{$individual.$priceset.totalAmtWithTax|crmMoney}</td>\n              </tr>\n            {/if}\n           </table>\n          </td>\n         </tr>\n        {/if}\n       {/foreach}\n       {if !empty($dataArray)}\n        {if isset($totalAmount) and isset($totalTaxAmount)}\n        <tr>\n         <td {$labelStyle}>\n          {ts} Amount Before Tax: {/ts}\n         </td>\n         <td {$valueStyle}>\n          {$totalAmount-$totalTaxAmount|crmMoney}\n         </td>\n        </tr>\n        {/if}\n        {foreach from=$dataArray item=value key=priceset}\n         <tr>\n          {if $priceset || $priceset == 0}\n           <td>&nbsp;{$taxTerm} {$priceset|string_format:\"%.2f\"}%</td>\n           <td>&nbsp;{$value|crmMoney:$currency}</td>\n          {else}\n           <td>&nbsp;{ts}No{/ts} {$taxTerm}</td>\n           <td>&nbsp;{$value|crmMoney:$currency}</td>\n          {/if}\n         </tr>\n        {/foreach}\n       {/if}\n      {/if}\n\n      {if !empty($amounts) && empty($lineItem)}\n       {foreach from=$amounts item=amnt key=level}\n        <tr>\n         <td colspan=\"2\" {$valueStyle}>\n          {$amnt.amount|crmMoney:$currency} {$amnt.label}\n         </td>\n        </tr>\n       {/foreach}\n      {/if}\n\n    {if isset($totalTaxAmount)}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Total Tax Amount{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$totalTaxAmount|crmMoney:$currency}\n        </td>\n       </tr>\n      {/if}\n      {if !empty($isPrimary)}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Total Amount{/ts}\n        </td>\n        <td {$valueStyle}>\n         {if !empty($totalAmount)}{$totalAmount|crmMoney:$currency}{/if} {if !empty($hookDiscount.message)}({$hookDiscount.message}){/if}\n        </td>\n       </tr>\n       {if !empty($pricesetFieldsCount) }\n     <tr>\n       <td {$labelStyle}>\n      {ts}Total Participants{/ts}</td>\n      <td {$valueStyle}>\n      {assign var=\"count\" value= 0}\n      {foreach from=$lineItem item=pcount}\n      {assign var=\"lineItemCount\" value=0}\n      {if $pcount neq \'skip\'}\n        {foreach from=$pcount item=p_count}\n        {assign var=\"lineItemCount\" value=$lineItemCount+$p_count.participant_count}\n        {/foreach}\n      {if $lineItemCount < 1 }\n        {assign var=\"lineItemCount\" value=1}\n      {/if}\n      {assign var=\"count\" value=$count+$lineItemCount}\n      {/if}\n      {/foreach}\n     {$count}\n     </td> </tr>\n      {/if}\n\n       {if $register_date}\n        <tr>\n         <td {$labelStyle}>\n          {ts}Registration Date{/ts}\n         </td>\n         <td {$valueStyle}>\n          {$register_date|crmDate}\n         </td>\n        </tr>\n       {/if}\n\n       {if !empty($receive_date)}\n        <tr>\n         <td {$labelStyle}>\n          {ts}Transaction Date{/ts}\n         </td>\n         <td {$valueStyle}>\n          {$receive_date|crmDate}\n         </td>\n        </tr>\n       {/if}\n\n       {if !empty($financialTypeName)}\n        <tr>\n         <td {$labelStyle}>\n          {ts}Financial Type{/ts}\n         </td>\n         <td {$valueStyle}>\n          {$financialTypeName}\n         </td>\n        </tr>\n       {/if}\n\n       {if !empty($trxn_id)}\n        <tr>\n         <td {$labelStyle}>\n          {ts}Transaction #{/ts}\n         </td>\n         <td {$valueStyle}>\n          {$trxn_id}\n         </td>\n        </tr>\n       {/if}\n\n       {if !empty($paidBy)}\n        <tr>\n         <td {$labelStyle}>\n          {ts}Paid By{/ts}\n         </td>\n         <td {$valueStyle}>\n         {$paidBy}\n         </td>\n        </tr>\n       {/if}\n\n       {if !empty($checkNumber)}\n        <tr>\n         <td {$labelStyle}>\n          {ts}Check Number{/ts}\n         </td>\n         <td {$valueStyle}>\n          {$checkNumber}\n         </td>\n        </tr>\n       {/if}\n\n       {if !empty($billingName)}\n        <tr>\n         <th {$headerStyle}>\n          {ts}Billing Name and Address{/ts}\n         </th>\n        </tr>\n        <tr>\n         <td colspan=\"2\" {$valueStyle}>\n          {$billingName}<br />\n          {$address|nl2br}\n         </td>\n        </tr>\n       {/if}\n\n       {if !empty($credit_card_type)}\n        <tr>\n         <th {$headerStyle}>\n          {ts}Credit Card Information{/ts}\n         </th>\n        </tr>\n        <tr>\n         <td colspan=\"2\" {$valueStyle}>\n          {$credit_card_type}<br />\n          {$credit_card_number}<br />\n          {ts}Expires{/ts}: {$credit_card_exp_date|truncate:7:\'\'|crmDate}\n         </td>\n        </tr>\n       {/if}\n\n      {/if}\n\n     {/if} {* End of conditional section for Paid events *}\n\n\n{if !empty($customPre)}\n{foreach from=$customPre item=customPr key=i}\n   <tr> <th {$headerStyle}>{$customPre_grouptitle.$i}</th></tr>\n   {foreach from=$customPr item=customValue key=customName}\n   {if ( !empty($trackingFields) and ! in_array( $customName, $trackingFields ) ) or empty($trackingFields)}\n     <tr>\n         <td {$labelStyle}>{$customName}</td>\n         <td {$valueStyle}>{$customValue}</td>\n     </tr>\n   {/if}\n   {/foreach}\n{/foreach}\n{/if}\n\n{if !empty($customPost)}\n{foreach from=$customPost item=customPos key=j}\n   <tr> <th {$headerStyle}>{$customPost_grouptitle.$j}</th></tr>\n   {foreach from=$customPos item=customValue key=customName}\n   {if (!empty($trackingFields) and ! in_array( $customName, $trackingFields ) ) or empty($trackingFields)}\n     <tr>\n         <td {$labelStyle}>{$customName}</td>\n         <td {$valueStyle}>{$customValue}</td>\n     </tr>\n{/if}\n{/foreach}\n{/foreach}\n{/if}\n\n{if !empty($customProfile)}\n{foreach from=$customProfile.profile item=eachParticipant key=participantID}\n     <tr><th {$headerStyle}>{ts 1=$participantID+2}Participant %1{/ts} </th></tr>\n     {foreach from=$eachParticipant item=eachProfile key=pid}\n     <tr><th {$headerStyle}>{$customProfile.title.$pid}</th></tr>\n     {foreach from=$eachProfile item=val key=field}\n     <tr>{foreach from=$val item=v key=f}\n         <td {$labelStyle}>{$field}</td>\n         <td {$valueStyle}>{$v}</td>\n         {/foreach}\n     </tr>\n     {/foreach}\n{/foreach}\n{/foreach}\n{/if}\n\n    </table>\n    {if !empty($event.allow_selfcancelxfer) }\n     <tr>\n      <td colspan=\"2\" {$valueStyle}>\n        {ts 1=$selfcancelxfer_time 2=$selfservice_preposition}You may transfer your registration to another participant or cancel your registration up to %1 hours %2 the event.{/ts} {if !empty($totalAmount)}{ts}Cancellations are not refundable.{/ts}{/if}<br />\n        {capture assign=selfService}{crmURL p=\'civicrm/event/selfsvcupdate\' q=\"reset=1&pid=`$participant.id`&{contact.checksum}\"  h=0 a=1 fe=1}{/capture}\n        <a href=\"{$selfService}\">{ts}Click here to transfer or cancel your registration.{/ts}</a>\n      </td>\n     </tr>\n    {/if}\n </table>\n\n</body>\n</html>\n',1,827,'event_online_receipt',1,0,0,NULL),
+ (32,'Events - Registration Confirmation and Receipt (on-line)','{if !empty($isOnWaitlist)}{ts}Wait List Confirmation{/ts}{elseif !empty($isRequireApproval)}{ts}Registration Request Confirmation{/ts}{else}{ts}Registration Confirmation{/ts}{/if} - {$event.event_title} - {contact.display_name}\n','{assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}{$greeting},{/if}\n{if !empty($event.confirm_email_text) AND (empty($isOnWaitlist) AND empty($isRequireApproval))}\n{$event.confirm_email_text}\n\n{else}\n  {ts}Thank you for your registration.{/ts}\n  {if $participant_status}{ts 1=$participant_status}This is a confirmation that your registration has been received and your status has been updated to %1.{/ts}\n  {else}{if !empty($isOnWaitlist)}{ts}This is a confirmation that your registration has been received and your status has been updated to waitlisted.{/ts}{else}{ts}This is a confirmation that your registration has been received and your status has been updated to registered.{/ts}{/if}\n  {/if}\n{/if}\n\n{if !empty($isOnWaitlist)}\n==========================================================={if !empty($pricesetFieldsCount)}===================={/if}\n\n{ts}You have been added to the WAIT LIST for this event.{/ts}\n\n{if !empty($isPrimary)}\n{ts}If space becomes available you will receive an email with a link to a web page where you can complete your registration.{/ts}\n{/if}\n==========================================================={if !empty($pricesetFieldsCount)}===================={/if}\n\n{elseif !empty($isRequireApproval)}\n==========================================================={if !empty($pricesetFieldsCount)}===================={/if}\n\n{ts}Your registration has been submitted.{/ts}\n\n{if !empty($isPrimary)}\n{ts}Once your registration has been reviewed, you will receive an email with a link to a web page where you can complete the registration process.{/ts}\n\n{/if}\n==========================================================={if !empty($pricesetFieldsCount)}===================={/if}\n\n{elseif !empty($is_pay_later) && empty($isAmountzero) && empty($isAdditionalParticipant)}\n\n==========================================================={if !empty($pricesetFieldsCount)}===================={/if}\n\n{if isset($pay_later_receipt)}{$pay_later_receipt}{/if}\n==========================================================={if !empty($pricesetFieldsCount)}===================={/if}\n\n{/if}\n\n\n==========================================================={if !empty($pricesetFieldsCount)}===================={/if}\n\n{ts}Event Information and Location{/ts}\n\n==========================================================={if !empty($pricesetFieldsCount)}===================={/if}\n\n{$event.event_title}\n{$event.event_start_date|date_format:\"%A\"} {$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:\"%Y%m%d\" == $event.event_start_date|date_format:\"%Y%m%d\"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|date_format:\"%A\"} {$event.event_end_date|crmDate}{/if}{/if} {$event.event_tz}\n{if !empty($conference_sessions)}\n\n\n{ts}Your schedule:{/ts}\n{assign var=\'group_by_day\' value=\'NA\'}\n{foreach from=$conference_sessions item=session}\n{if $session.start_date|date_format:\"%Y/%m/%d\" != $group_by_day|date_format:\"%Y/%m/%d\"}\n{assign var=\'group_by_day\' value=$session.start_date}\n\n{$group_by_day|date_format:\"%m/%d/%Y\"}\n\n\n{/if}\n{$session.start_date|crmDate:0:1}{if $session.end_date}-{$session.end_date|crmDate:0:1}{/if} {$session.title}\n{if $session.location}    {$session.location}{/if}\n{/foreach}\n{/if}\n\n{if !empty($event.participant_role) and $event.participant_role neq \'Attendee\' and !empty($defaultRole)}\n{ts}Participant Role{/ts}: {$event.participant_role}\n{/if}\n\n{if !empty($isShowLocation)}\n{$location.address.1.display|strip_tags:false}\n{/if}{*End of isShowLocation condition*}\n\n{if !empty($location.phone.1.phone) || !empty($location.email.1.email)}\n\n{ts}Event Contacts:{/ts}\n{foreach from=$location.phone item=phone}\n{if $phone.phone}\n\n{if $phone.phone_type}{$phone.phone_type_display}{else}{ts}Phone{/ts}{/if}: {$phone.phone}{/if} {if $phone.phone_ext} {ts}ext.{/ts} {$phone.phone_ext}{/if}\n{/foreach}\n{foreach from=$location.email item=eventEmail}\n{if $eventEmail.email}\n\n{ts}Email{/ts}: {$eventEmail.email}{/if}{/foreach}\n{/if}\n\n{if !empty($event.is_public)}\n{capture assign=icalFeed}{crmURL p=\'civicrm/event/ical\' q=\"reset=1&id=`$event.id`\" h=0 a=1 fe=1}{/capture}\n{ts}Download iCalendar File:{/ts} {$icalFeed}\n{/if}\n\n{if !empty($payer.name)}\nYou were registered by: {$payer.name}\n{/if}\n{if !empty($event.is_monetary) and empty($isRequireApproval)} {* This section for Paid events only.*}\n\n==========================================================={if !empty($pricesetFieldsCount)}===================={/if}\n\n{if !empty ($event.fee_label)}{$event.fee_label}{/if}\n==========================================================={if !empty($pricesetFieldsCount)}===================={/if}\n\n{if !empty($lineItem)}{foreach from=$lineItem item=value key=priceset}\n\n{if $value neq \'skip\'}\n{if !empty($isPrimary)}\n{if $lineItem|@count GT 1} {* Header for multi participant registration cases. *}\n{ts 1=$priceset+1}Participant %1{/ts} {if !empty($part.$priceset)}{$part.$priceset.info}{/if}\n\n{/if}\n{/if}\n-----------------------------------------------------------{if !empty($pricesetFieldsCount)}-----------------------------------------------------{/if}\n\n{capture assign=ts_item}{ts}Item{/ts}{/capture}\n{capture assign=ts_qty}{ts}Qty{/ts}{/capture}\n{capture assign=ts_each}{ts}Each{/ts}{/capture}\n{if !empty($dataArray)}\n{capture assign=ts_subtotal}{ts}Subtotal{/ts}{/capture}\n{capture assign=ts_taxRate}{ts}Tax Rate{/ts}{/capture}\n{capture assign=ts_taxAmount}{ts}Tax Amount{/ts}{/capture}\n{/if}\n{capture assign=ts_total}{ts}Total{/ts}{/capture}\n{if !empty($pricesetFieldsCount) }{capture assign=ts_participant_total}{ts}Total Participants{/ts}{/capture}{/if}\n{$ts_item|string_format:\"%-30s\"} {$ts_qty|string_format:\"%5s\"} {$ts_each|string_format:\"%10s\"} {if !empty($dataArray)} {$ts_subtotal|string_format:\"%10s\"} {$ts_taxRate|string_format:\"%10s\"} {$ts_taxAmount|string_format:\"%10s\"} {/if} {$ts_total|string_format:\"%10s\"} {if !empty($ts_participant_total)}{$ts_participant_total|string_format:\"%10s\"}{/if}\n-----------------------------------------------------------{if !empty($pricesetFieldsCount)}-----------------------------------------------------{/if}\n\n{foreach from=$value item=line}\n{if !empty($pricesetFieldsCount) }{capture assign=ts_participant_count}{$line.participant_count}{/capture}{/if}\n{capture assign=ts_item}{if $line.html_type eq \'Text\'}{$line.label}{else}{$line.field_title} - {$line.label}{/if} {if $line.description} {$line.description}{/if}{/capture}{$ts_item|truncate:30:\"...\"|string_format:\"%-30s\"} {$line.qty|string_format:\"%5s\"} {$line.unit_price|crmMoney:$currency|string_format:\"%10s\"} {if !empty($dataArray)} {$line.unit_price*$line.qty|crmMoney:$currency|string_format:\"%10s\"} {if $line.tax_rate || $line.tax_amount != \"\"}  {$line.tax_rate|string_format:\"%.2f\"} %  {$line.tax_amount|crmMoney:$currency|string_format:\"%10s\"} {else}                  {/if}  {/if} {$line.line_total+$line.tax_amount|crmMoney:$currency|string_format:\"%10s\"}{if !empty($ts_participant_count)}{$ts_participant_count|string_format:\"%10s\"}{/if}\n{/foreach}\n----------------------------------------------------------------------------------------------------------------\n{if !empty($individual)}{ts}Participant Total{/ts} {$individual.$priceset.totalAmtWithTax-$individual.$priceset.totalTaxAmt|crmMoney:$currency|string_format:\"%29s\"} {$individual.$priceset.totalTaxAmt|crmMoney:$currency|string_format:\"%33s\"} {$individual.$priceset.totalAmtWithTax|crmMoney:$currency|string_format:\"%12s\"}{/if}\n{/if}\n{\"\"|string_format:\"%120s\"}\n{/foreach}\n{\"\"|string_format:\"%120s\"}\n\n{if !empty($dataArray)}\n{if isset($totalAmount) and isset($totalTaxAmount)}\n{ts}Amount before Tax{/ts}: {$totalAmount-$totalTaxAmount|crmMoney:$currency}\n{/if}\n\n{foreach from=$dataArray item=value key=priceset}\n{if $priceset || $priceset == 0}\n{$taxTerm} {$priceset|string_format:\"%.2f\"}%: {$value|crmMoney:$currency}\n{else}\n{ts}No{/ts} {$taxTerm}: {$value|crmMoney:$currency}\n{/if}\n{/foreach}\n{/if}\n{/if}\n\n{if !empty($amounts) && empty($lineItem)}\n{foreach from=$amounts item=amnt key=level}{$amnt.amount|crmMoney:$currency} {$amnt.label}\n{/foreach}\n{/if}\n\n{if isset($totalTaxAmount)}\n{ts}Total Tax Amount{/ts}: {$totalTaxAmount|crmMoney:$currency}\n{/if}\n{if !empty($isPrimary) }\n\n{ts}Total Amount{/ts}: {if !empty($totalAmount)}{$totalAmount|crmMoney:$currency}{/if} {if !empty($hookDiscount.message)}({$hookDiscount.message}){/if}\n\n{if !empty($pricesetFieldsCount) }\n      {assign var=\"count\" value= 0}\n      {foreach from=$lineItem item=pcount}\n      {assign var=\"lineItemCount\" value=0}\n      {if $pcount neq \'skip\'}\n        {foreach from=$pcount item=p_count}\n        {assign var=\"lineItemCount\" value=$lineItemCount+$p_count.participant_count}\n        {/foreach}\n      {if $lineItemCount < 1 }\n        {assign var=\"lineItemCount\" value=1}\n      {/if}\n      {assign var=\"count\" value=$count+$lineItemCount}\n      {/if}\n      {/foreach}\n\n{ts}Total Participants{/ts}: {$count}\n{/if}\n\n{if $register_date}\n{ts}Registration Date{/ts}: {$register_date|crmDate}\n{/if}\n{if !empty($receive_date)}\n{ts}Transaction Date{/ts}: {$receive_date|crmDate}\n{/if}\n{if !empty($financialTypeName)}\n{ts}Financial Type{/ts}: {$financialTypeName}\n{/if}\n{if !empty($trxn_id)}\n{ts}Transaction #{/ts}: {$trxn_id}\n{/if}\n{if !empty($paidBy)}\n{ts}Paid By{/ts}: {$paidBy}\n{/if}\n{if !empty($checkNumber)}\n{ts}Check Number{/ts}: {$checkNumber}\n{/if}\n{if !empty($billingName)}\n\n==========================================================={if !empty($pricesetFieldsCount)}===================={/if}\n\n{ts}Billing Name and Address{/ts}\n\n==========================================================={if !empty($pricesetFieldsCount)}===================={/if}\n\n{$billingName}\n{$address}\n{/if}\n\n{if !empty($credit_card_type)}\n==========================================================={if !empty($pricesetFieldsCount)}===================={/if}\n\n{ts}Credit Card Information{/ts}\n\n==========================================================={if !empty($pricesetFieldsCount)}===================={/if}\n\n{$credit_card_type}\n{$credit_card_number}\n{ts}Expires{/ts}: {$credit_card_exp_date|truncate:7:\'\'|crmDate}\n{/if}\n{/if}\n{/if} {* End of conditional section for Paid events *}\n\n{if !empty($customPre)}\n{foreach from=$customPre item=customPr key=i}\n==========================================================={if !empty($pricesetFieldsCount)}===================={/if}\n\n{$customPre_grouptitle.$i}\n==========================================================={if !empty($pricesetFieldsCount)}===================={/if}\n\n{foreach from=$customPr item=customValue key=customName}\n{if ( !empty($trackingFields) and ! in_array( $customName, $trackingFields ) ) or empty($trackingFields)}\n {$customName}: {$customValue}\n{/if}\n{/foreach}\n{/foreach}\n{/if}\n\n{if !empty($customPost)}\n{foreach from=$customPost item=customPos key=j}\n==========================================================={if !empty($pricesetFieldsCount)}===================={/if}\n\n{$customPost_grouptitle.$j}\n==========================================================={if !empty($pricesetFieldsCount)}===================={/if}\n\n{foreach from=$customPos item=customValue key=customName}\n{if ( !empty($trackingFields) and ! in_array( $customName, $trackingFields ) ) or empty($trackingFields)}\n {$customName}: {$customValue}\n{/if}\n{/foreach}\n{/foreach}\n{/if}\n{if !empty($customProfile)}\n\n{foreach from=$customProfile.profile item=eachParticipant key=participantID}\n==========================================================={if !empty($pricesetFieldsCount)}===================={/if}\n\n{ts 1=$participantID+2}Participant Information - Participant %1{/ts}\n\n==========================================================={if !empty($pricesetFieldsCount)}===================={/if}\n\n{foreach from=$eachParticipant item=eachProfile key=pid}\n----------------------------------------------------------{if !empty($pricesetFieldsCount)}--------------------{/if}\n\n{$customProfile.title.$pid}\n----------------------------------------------------------{if !empty($pricesetFieldsCount)}--------------------{/if}\n\n{foreach from=$eachProfile item=val key=field}\n{foreach from=$val item=v key=f}\n{$field}: {$v}\n{/foreach}\n{/foreach}\n{/foreach}\n{/foreach}\n{/if}\n\n{if !empty($event.allow_selfcancelxfer) }\n{ts 1=$selfcancelxfer_time 2=$selfservice_preposition}You may transfer your registration to another participant or cancel your registration up to %1 hours %2 the event.{/ts} {if !empty($totalAmount)}{ts}Cancellations are not refundable.{/ts}{/if}\n   {capture assign=selfService}{crmURL p=\'civicrm/event/selfsvcupdate\' q=\"reset=1&pid=`$participant.id`&{contact.checksum}\"  h=0 a=1 fe=1}{/capture}\n{ts}Transfer or cancel your registration:{/ts} {$selfService}\n{/if}\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n{capture assign=tdfirstStyle}style=\"width: 180px; padding-bottom: 15px;\"{/capture}\n{capture assign=tdStyle}style=\"width: 100px;\"{/capture}\n{capture assign=participantTotal}style=\"margin: 0.5em 0 0.5em;padding: 0.5em;background-color: #999999;font-weight: bold;color: #FAFAFA;border-radius: 2px;\"{/capture}\n\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n     {assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}<p>{$greeting},</p>{/if}\n\n    {if !empty($event.confirm_email_text) AND (empty($isOnWaitlist) AND empty($isRequireApproval))}\n     <p>{$event.confirm_email_text|htmlize}</p>\n\n    {else}\n     <p>{ts}Thank you for your registration.{/ts}\n     {if $participant_status}{ts 1=$participant_status}This is a confirmation that your registration has been received and your status has been updated to <strong> %1</strong>.{/ts}\n     {else}{if $isOnWaitlist}{ts}This is a confirmation that your registration has been received and your status has been updated to <strong>waitlisted</strong>.{/ts}{else}{ts}This is a confirmation that your registration has been received and your status has been updated to <strong>registered<strong>.{/ts}{/if}{/if}</p>\n\n    {/if}\n\n    <p>\n    {if !empty($isOnWaitlist)}\n     <p>{ts}You have been added to the WAIT LIST for this event.{/ts}</p>\n     {if !empty($isPrimary)}\n       <p>{ts}If space becomes available you will receive an email with a link to a web page where you can complete your registration.{/ts}</p>\n     {/if}\n    {elseif !empty($isRequireApproval)}\n     <p>{ts}Your registration has been submitted.{/ts}</p>\n     {if !empty($isPrimary)}\n      <p>{ts}Once your registration has been reviewed, you will receive an email with a link to a web page where you can complete the registration process.{/ts}</p>\n     {/if}\n    {elseif !empty($is_pay_later) && empty($isAmountzero) && empty($isAdditionalParticipant)}\n     <p>{if isset($pay_later_receipt)}{$pay_later_receipt}{/if}</p> {* FIXME: this might be text rather than HTML *}\n    {/if}\n\n   </td>\n  </tr>\n  <tr>\n   <td>\n    <table style=\"width:100%; max-width:700px; border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse;\">\n     <tr>\n      <th {$headerStyle}>\n       {ts}Event Information and Location{/ts}\n      </th>\n     </tr>\n     <tr>\n      <td colspan=\"2\" {$valueStyle}>\n       {$event.event_title}<br />\n       {$event.event_start_date|date_format:\"%A\"} {$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:\"%Y%m%d\" == $event.event_start_date|date_format:\"%Y%m%d\"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|date_format:\"%A\"} {$event.event_end_date|crmDate}{/if}{/if} {$event.event_tz}\n      </td>\n     </tr>\n\n\n     {if $conference_sessions}\n      <tr>\n       <td colspan=\"2\" {$labelStyle}>\n  {ts}Your schedule:{/ts}\n       </td>\n      </tr>\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n  {assign var=\'group_by_day\' value=\'NA\'}\n  {foreach from=$conference_sessions item=session}\n   {if $session.start_date|date_format:\"%Y/%m/%d\" != $group_by_day|date_format:\"%Y/%m/%d\"}\n    {assign var=\'group_by_day\' value=$session.start_date}\n          <em>{$group_by_day|date_format:\"%m/%d/%Y\"}</em><br />\n   {/if}\n   {$session.start_date|crmDate:0:1}{if $session.end_date}-{$session.end_date|crmDate:0:1}{/if} {$session.title}<br />\n   {if $session.location}&nbsp;&nbsp;&nbsp;&nbsp;{$session.location}<br />{/if}\n  {/foreach}\n       </td>\n      </tr>\n     {/if}\n\n     {if !empty($event.participant_role) and $event.participant_role neq \'Attendee\' and !empty($defaultRole)}\n      <tr>\n       <td {$labelStyle}>\n        {ts}Participant Role{/ts}\n       </td>\n       <td {$valueStyle}>\n        {$event.participant_role}\n       </td>\n      </tr>\n     {/if}\n\n     {if !empty($isShowLocation)}\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n        {$location.address.1.display|nl2br}\n       </td>\n      </tr>\n     {/if}\n\n     {if !empty($location.phone.1.phone) || !empty($location.email.1.email)}\n      <tr>\n       <td colspan=\"2\" {$labelStyle}>\n        {ts}Event Contacts:{/ts}\n       </td>\n      </tr>\n      {foreach from=$location.phone item=phone}\n       {if $phone.phone}\n        <tr>\n         <td {$labelStyle}>\n          {if $phone.phone_type}\n           {$phone.phone_type_display}\n          {else}\n           {ts}Phone{/ts}\n          {/if}\n         </td>\n         <td {$valueStyle}>\n          {$phone.phone} {if $phone.phone_ext}&nbsp;{ts}ext.{/ts} {$phone.phone_ext}{/if}\n         </td>\n        </tr>\n       {/if}\n      {/foreach}\n      {foreach from=$location.email item=eventEmail}\n       {if $eventEmail.email}\n        <tr>\n         <td {$labelStyle}>\n          {ts}Email{/ts}\n         </td>\n         <td {$valueStyle}>\n          {$eventEmail.email}\n         </td>\n        </tr>\n       {/if}\n      {/foreach}\n     {/if}\n\n     {if !empty($event.is_public)}\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n        {capture assign=icalFeed}{crmURL p=\'civicrm/event/ical\' q=\"reset=1&id=`$event.id`\" h=0 a=1 fe=1}{/capture}\n        <a href=\"{$icalFeed}\">{ts}Download iCalendar File{/ts}</a>\n       </td>\n      </tr>\n     {/if}\n\n    {if !empty($event.is_share)}\n        <tr>\n            <td colspan=\"2\" {$valueStyle}>\n                {capture assign=eventUrl}{crmURL p=\'civicrm/event/info\' q=\"id=`$event.id`&reset=1\" a=true fe=1 h=1}{/capture}\n                {include file=\"CRM/common/SocialNetwork.tpl\" emailMode=true url=$eventUrl title=$event.title pageURL=$eventUrl}\n            </td>\n        </tr>\n    {/if}\n    {if !empty($payer.name)}\n     <tr>\n       <th {$headerStyle}>\n         {ts}You were registered by:{/ts}\n       </th>\n     </tr>\n     <tr>\n       <td colspan=\"2\" {$valueStyle}>\n        {$payer.name}\n       </td>\n     </tr>\n    {/if}\n    {if !empty($event.is_monetary) and empty($isRequireApproval)}\n\n      <tr>\n       <th {$headerStyle}>\n        {if !empty($event.fee_label)}{$event.fee_label}{/if}\n       </th>\n      </tr>\n\n      {if !empty($lineItem)}\n       {foreach from=$lineItem item=value key=priceset}\n        {if $value neq \'skip\'}\n         {if !empty($isPrimary)}\n          {if $lineItem|@count GT 1} {* Header for multi participant registration cases. *}\n           <tr>\n            <td colspan=\"2\" {$labelStyle}>\n             {ts 1=$priceset+1}Participant %1{/ts} {if !empty($part.$priceset)}{$part.$priceset.info}{/if}\n            </td>\n           </tr>\n          {/if}\n         {/if}\n         <tr>\n          <td colspan=\"2\" {$valueStyle}>\n           <table> {* FIXME: style this table so that it looks like the text version (justification, etc.) *}\n            <tr>\n             <th>{ts}Item{/ts}</th>\n             <th>{ts}Qty{/ts}</th>\n             <th>{ts}Each{/ts}</th>\n             {if !empty($dataArray)}\n              <th>{ts}SubTotal{/ts}</th>\n              <th>{ts}Tax Rate{/ts}</th>\n              <th>{ts}Tax Amount{/ts}</th>\n             {/if}\n             <th>{ts}Total{/ts}</th>\n       {if  !empty($pricesetFieldsCount) }<th>{ts}Total Participants{/ts}</th>{/if}\n            </tr>\n            {foreach from=$value item=line}\n             <tr>\n              <td {$tdfirstStyle}>\n              {if $line.html_type eq \'Text\'}{$line.label}{else}{$line.field_title} - {$line.label}{/if} {if $line.description}<div>{$line.description|truncate:30:\"...\"}</div>{/if}\n              </td>\n              <td {$tdStyle} align=\"middle\">\n               {$line.qty}\n              </td>\n              <td {$tdStyle}>\n               {$line.unit_price|crmMoney:$currency}\n              </td>\n              {if !empty($dataArray)}\n               <td {$tdStyle}>\n                {$line.unit_price*$line.qty|crmMoney}\n               </td>\n               {if $line.tax_rate || $line.tax_amount != \"\"}\n                <td {$tdStyle}>\n                 {$line.tax_rate|string_format:\"%.2f\"}%\n                </td>\n                <td {$tdStyle}>\n                 {$line.tax_amount|crmMoney}\n                </td>\n               {else}\n                <td></td>\n                <td></td>\n               {/if}\n              {/if}\n              <td {$tdStyle}>\n               {$line.line_total+$line.tax_amount|crmMoney:$currency}\n              </td>\n        {if !empty($pricesetFieldsCount) }<td {$tdStyle}>{$line.participant_count}</td> {/if}\n             </tr>\n            {/foreach}\n            {if !empty($individual)}\n              <tr {$participantTotal}>\n                <td colspan=3>{ts}Participant Total{/ts}</td>\n                <td colspan=2>{$individual.$priceset.totalAmtWithTax-$individual.$priceset.totalTaxAmt|crmMoney}</td>\n                <td colspan=1>{$individual.$priceset.totalTaxAmt|crmMoney}</td>\n                <td colspan=2>{$individual.$priceset.totalAmtWithTax|crmMoney}</td>\n              </tr>\n            {/if}\n           </table>\n          </td>\n         </tr>\n        {/if}\n       {/foreach}\n       {if !empty($dataArray)}\n        {if isset($totalAmount) and isset($totalTaxAmount)}\n        <tr>\n         <td {$labelStyle}>\n          {ts} Amount Before Tax: {/ts}\n         </td>\n         <td {$valueStyle}>\n          {$totalAmount-$totalTaxAmount|crmMoney}\n         </td>\n        </tr>\n        {/if}\n        {foreach from=$dataArray item=value key=priceset}\n         <tr>\n          {if $priceset || $priceset == 0}\n           <td>&nbsp;{$taxTerm} {$priceset|string_format:\"%.2f\"}%</td>\n           <td>&nbsp;{$value|crmMoney:$currency}</td>\n          {else}\n           <td>&nbsp;{ts}No{/ts} {$taxTerm}</td>\n           <td>&nbsp;{$value|crmMoney:$currency}</td>\n          {/if}\n         </tr>\n        {/foreach}\n       {/if}\n      {/if}\n\n      {if !empty($amounts) && empty($lineItem)}\n       {foreach from=$amounts item=amnt key=level}\n        <tr>\n         <td colspan=\"2\" {$valueStyle}>\n          {$amnt.amount|crmMoney:$currency} {$amnt.label}\n         </td>\n        </tr>\n       {/foreach}\n      {/if}\n\n    {if isset($totalTaxAmount)}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Total Tax Amount{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$totalTaxAmount|crmMoney:$currency}\n        </td>\n       </tr>\n      {/if}\n      {if !empty($isPrimary)}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Total Amount{/ts}\n        </td>\n        <td {$valueStyle}>\n         {if !empty($totalAmount)}{$totalAmount|crmMoney:$currency}{/if} {if !empty($hookDiscount.message)}({$hookDiscount.message}){/if}\n        </td>\n       </tr>\n       {if !empty($pricesetFieldsCount) }\n     <tr>\n       <td {$labelStyle}>\n      {ts}Total Participants{/ts}</td>\n      <td {$valueStyle}>\n      {assign var=\"count\" value= 0}\n      {foreach from=$lineItem item=pcount}\n      {assign var=\"lineItemCount\" value=0}\n      {if $pcount neq \'skip\'}\n        {foreach from=$pcount item=p_count}\n        {assign var=\"lineItemCount\" value=$lineItemCount+$p_count.participant_count}\n        {/foreach}\n      {if $lineItemCount < 1 }\n        {assign var=\"lineItemCount\" value=1}\n      {/if}\n      {assign var=\"count\" value=$count+$lineItemCount}\n      {/if}\n      {/foreach}\n     {$count}\n     </td> </tr>\n      {/if}\n\n       {if $register_date}\n        <tr>\n         <td {$labelStyle}>\n          {ts}Registration Date{/ts}\n         </td>\n         <td {$valueStyle}>\n          {$register_date|crmDate}\n         </td>\n        </tr>\n       {/if}\n\n       {if !empty($receive_date)}\n        <tr>\n         <td {$labelStyle}>\n          {ts}Transaction Date{/ts}\n         </td>\n         <td {$valueStyle}>\n          {$receive_date|crmDate}\n         </td>\n        </tr>\n       {/if}\n\n       {if !empty($financialTypeName)}\n        <tr>\n         <td {$labelStyle}>\n          {ts}Financial Type{/ts}\n         </td>\n         <td {$valueStyle}>\n          {$financialTypeName}\n         </td>\n        </tr>\n       {/if}\n\n       {if !empty($trxn_id)}\n        <tr>\n         <td {$labelStyle}>\n          {ts}Transaction #{/ts}\n         </td>\n         <td {$valueStyle}>\n          {$trxn_id}\n         </td>\n        </tr>\n       {/if}\n\n       {if !empty($paidBy)}\n        <tr>\n         <td {$labelStyle}>\n          {ts}Paid By{/ts}\n         </td>\n         <td {$valueStyle}>\n         {$paidBy}\n         </td>\n        </tr>\n       {/if}\n\n       {if !empty($checkNumber)}\n        <tr>\n         <td {$labelStyle}>\n          {ts}Check Number{/ts}\n         </td>\n         <td {$valueStyle}>\n          {$checkNumber}\n         </td>\n        </tr>\n       {/if}\n\n       {if !empty($billingName)}\n        <tr>\n         <th {$headerStyle}>\n          {ts}Billing Name and Address{/ts}\n         </th>\n        </tr>\n        <tr>\n         <td colspan=\"2\" {$valueStyle}>\n          {$billingName}<br />\n          {$address|nl2br}\n         </td>\n        </tr>\n       {/if}\n\n       {if !empty($credit_card_type)}\n        <tr>\n         <th {$headerStyle}>\n          {ts}Credit Card Information{/ts}\n         </th>\n        </tr>\n        <tr>\n         <td colspan=\"2\" {$valueStyle}>\n          {$credit_card_type}<br />\n          {$credit_card_number}<br />\n          {ts}Expires{/ts}: {$credit_card_exp_date|truncate:7:\'\'|crmDate}\n         </td>\n        </tr>\n       {/if}\n\n      {/if}\n\n     {/if} {* End of conditional section for Paid events *}\n\n\n{if !empty($customPre)}\n{foreach from=$customPre item=customPr key=i}\n   <tr> <th {$headerStyle}>{$customPre_grouptitle.$i}</th></tr>\n   {foreach from=$customPr item=customValue key=customName}\n   {if ( !empty($trackingFields) and ! in_array( $customName, $trackingFields ) ) or empty($trackingFields)}\n     <tr>\n         <td {$labelStyle}>{$customName}</td>\n         <td {$valueStyle}>{$customValue}</td>\n     </tr>\n   {/if}\n   {/foreach}\n{/foreach}\n{/if}\n\n{if !empty($customPost)}\n{foreach from=$customPost item=customPos key=j}\n   <tr> <th {$headerStyle}>{$customPost_grouptitle.$j}</th></tr>\n   {foreach from=$customPos item=customValue key=customName}\n   {if (!empty($trackingFields) and ! in_array( $customName, $trackingFields ) ) or empty($trackingFields)}\n     <tr>\n         <td {$labelStyle}>{$customName}</td>\n         <td {$valueStyle}>{$customValue}</td>\n     </tr>\n{/if}\n{/foreach}\n{/foreach}\n{/if}\n\n{if !empty($customProfile)}\n{foreach from=$customProfile.profile item=eachParticipant key=participantID}\n     <tr><th {$headerStyle}>{ts 1=$participantID+2}Participant %1{/ts} </th></tr>\n     {foreach from=$eachParticipant item=eachProfile key=pid}\n     <tr><th {$headerStyle}>{$customProfile.title.$pid}</th></tr>\n     {foreach from=$eachProfile item=val key=field}\n     <tr>{foreach from=$val item=v key=f}\n         <td {$labelStyle}>{$field}</td>\n         <td {$valueStyle}>{$v}</td>\n         {/foreach}\n     </tr>\n     {/foreach}\n{/foreach}\n{/foreach}\n{/if}\n\n    </table>\n    {if !empty($event.allow_selfcancelxfer) }\n     <tr>\n      <td colspan=\"2\" {$valueStyle}>\n        {ts 1=$selfcancelxfer_time 2=$selfservice_preposition}You may transfer your registration to another participant or cancel your registration up to %1 hours %2 the event.{/ts} {if !empty($totalAmount)}{ts}Cancellations are not refundable.{/ts}{/if}<br />\n        {capture assign=selfService}{crmURL p=\'civicrm/event/selfsvcupdate\' q=\"reset=1&pid=`$participant.id`&{contact.checksum}\"  h=0 a=1 fe=1}{/capture}\n        <a href=\"{$selfService}\">{ts}Click here to transfer or cancel your registration.{/ts}</a>\n      </td>\n     </tr>\n    {/if}\n </table>\n\n</body>\n</html>\n',1,827,'event_online_receipt',0,1,0,NULL),
+ (33,'Events - Receipt only','Receipt for {if $events_in_cart} Event Registration{/if} - {contact.display_name}\n','{assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}{$greeting},{/if}\n\n{if $is_pay_later}\n  This is being sent to you as an acknowledgement that you have registered one or more members for the following workshop, event or purchase. Please note, however, that the status of your payment is pending, and the registration for this event will not be completed until your payment is received.\n{else}\n  This is being sent to you as a {if !empty($is_refund)}confirmation of refund{else}receipt of payment made{/if} for the following workshop, event registration or purchase.\n{/if}\n\n{if $is_pay_later}\n  {if isset($pay_later_receipt)}{$pay_later_receipt}{/if}\n{/if}\n\n  Your order number is #{$transaction_id}. {if !empty($line_items) && empty($is_refund)} Information about the workshops will be sent separately to each participant.{/if}\n Here\'s a summary of your transaction placed on {$transaction_date|date_format:\"%D %I:%M %p %Z\"}:\n\n{if $billing_name}\n===========================================================\n{ts}Billing Name and Address{/ts}\n\n===========================================================\n{$billing_name}\n\n{$billing_street_address}\n\n{$billing_city}, {$billing_state} {$billing_postal_code}\n\n{$email}\n{/if}\n\n{if !empty($source)}\n{$source}\n{/if}\n\n\n{foreach from=$line_items item=line_item}\n{$line_item.event->title} ({$line_item.event->start_date|date_format:\"%D\"})\n{if $line_item.event->is_show_location}\n  {$line_item.location.address.1.display|strip_tags:false}\n{/if}{*End of isShowLocation condition*}\n{$line_item.event->start_date|date_format:\"%D %I:%M %p\"} - {$line_item.event->end_date|date_format:\"%I:%M %p\"}\n\n  Quantity: {$line_item.num_participants}\n\n{if $line_item.num_participants > 0}\n  {foreach from=$line_item.participants item=participant}\n    {$participant.display_name}\n  {/foreach}\n{/if}\n{if $line_item.num_waiting_participants > 0}\n  Waitlisted:\n    {foreach from=$line_item.waiting_participants item=participant}\n      {$participant.display_name}\n    {/foreach}\n{/if}\nCost: {$line_item.cost|crmMoney:$currency|string_format:\"%10s\"}\nTotal For This Event: {$line_item.amount|crmMoney:$currency|string_format:\"%10s\"}\n\n{/foreach}\n\n{if $discounts}\nSubtotal: {$sub_total|crmMoney:$currency|string_format:\"%10s\"}\n--------------------------------------\nDiscounts\n{foreach from=$discounts key=myId item=i}\n  {$i.title}: -{$i.amount|crmMoney:$currency|string_format:\"%10s\"}\n{/foreach}\n{/if}\n======================================\nTotal: {$total|crmMoney:$currency|string_format:\"%10s\"}\n\n{if $credit_card_type}\n===========================================================\n{ts}Payment Information{/ts}\n\n===========================================================\n{$credit_card_type}\n{$credit_card_number}\n{ts}Expires{/ts}: {$credit_card_exp_date.M}/{$credit_card_exp_date.Y}\n{/if}\n\n  If you have questions about the status of your registration or purchase please feel free to contact us.\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n  <head>\n    <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n    <title></title>\n  </head>\n  <body>\n    {capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n    {capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n    {capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n    {assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}<p>{$greeting},</p>{/if}\n    {if $is_pay_later}\n      <p>\n        This is being sent to you as an acknowledgement that you have registered one or more members for the following workshop, event or purchase. Please note, however, that the status of your payment is pending, and the registration for this event will not be completed until your payment is received.\n      </p>\n    {else}\n      <p>\n        This is being sent to you as a {if !empty($is_refund)}confirmation of refund{else}receipt of payment made{/if} for the following workshop, event registration or purchase.\n      </p>\n    {/if}\n\n    {if $is_pay_later}\n      <p>{if isset($pay_later_receipt)}{$pay_later_receipt}{/if}</p>\n    {/if}\n\n    <p>Your order number is #{$transaction_id}. {if !empty($line_items) && empty($is_refund)} Information about the workshops will be sent separately to each participant.{/if}\n  Here\'s a summary of your transaction placed on {$transaction_date|date_format:\"%D %I:%M %p %Z\"}:</p>\n\n{if $billing_name}\n  <table class=\"billing-info\">\n      <tr>\n    <th style=\"text-align: left;\">\n      {ts}Billing Name and Address{/ts}\n    </th>\n      </tr>\n      <tr>\n    <td>\n      {$billing_name}<br />\n      {$billing_street_address}<br />\n      {$billing_city}, {$billing_state} {$billing_postal_code}<br/>\n      <br/>\n      {$email}\n    </td>\n    </tr>\n    </table>\n{/if}\n{if $credit_card_type}\n  <p>&nbsp;</p>\n  <table class=\"billing-info\">\n      <tr>\n    <th style=\"text-align: left;\">\n      {ts}Credit Card Information{/ts}\n    </th>\n      </tr>\n      <tr>\n    <td>\n      {$credit_card_type}<br />\n      {$credit_card_number}<br />\n      {ts}Expires{/ts}: {$credit_card_exp_date.M}/{$credit_card_exp_date.Y}\n    </td>\n    </tr>\n    </table>\n{/if}\n{if !empty($source)}\n    <p>&nbsp;</p>\n    {$source}\n{/if}\n    <p>&nbsp;</p>\n    <table width=\"700\">\n      <thead>\n    <tr>\n{if $line_items}\n      <th style=\"text-align: left;\">\n      Event\n      </th>\n      <th style=\"text-align: left;\">\n      Participants\n      </th>\n{/if}\n      <th style=\"text-align: left;\">\n      Price\n      </th>\n      <th style=\"text-align: left;\">\n      Total\n      </th>\n    </tr>\n    </thead>\n      <tbody>\n  {foreach from=$line_items item=line_item}\n  <tr>\n    <td style=\"width: 220px\">\n      {$line_item.event->title} ({$line_item.event->start_date|date_format:\"%D\"})<br />\n      {if $line_item.event->is_show_location}\n        {$line_item.location.address.1.display|nl2br}\n      {/if}{*End of isShowLocation condition*}<br /><br />\n      {$line_item.event->start_date|date_format:\"%D %I:%M %p\"} - {$line_item.event->end_date|date_format:\"%I:%M %p\"}\n    </td>\n    <td style=\"width: 180px\">\n    {$line_item.num_participants}\n      {if $line_item.num_participants > 0}\n      <div class=\"participants\" style=\"padding-left: 10px;\">\n        {foreach from=$line_item.participants item=participant}\n        {$participant.display_name}<br />\n        {/foreach}\n      </div>\n      {/if}\n      {if $line_item.num_waiting_participants > 0}\n      Waitlisted:<br/>\n      <div class=\"participants\" style=\"padding-left: 10px;\">\n        {foreach from=$line_item.waiting_participants item=participant}\n        {$participant.display_name}<br />\n        {/foreach}\n      </div>\n      {/if}\n    </td>\n    <td style=\"width: 100px\">\n      {$line_item.cost|crmMoney:$currency|string_format:\"%10s\"}\n    </td>\n    <td style=\"width: 100px\">\n      &nbsp;{$line_item.amount|crmMoney:$currency|string_format:\"%10s\"}\n    </td>\n  </tr>\n  {/foreach}\n      </tbody>\n      <tfoot>\n  {if $discounts}\n  <tr>\n    <td>\n    </td>\n    <td>\n    </td>\n    <td>\n      Subtotal:\n    </td>\n    <td>\n      &nbsp;{$sub_total|crmMoney:$currency|string_format:\"%10s\"}\n    </td>\n  </tr>\n  {foreach from=$discounts key=myId item=i}\n  <tr>\n    <td>\n      {$i.title}\n    </td>\n    <td>\n    </td>\n    <td>\n    </td>\n    <td>\n      -{$i.amount}\n    </td>\n  </tr>\n  {/foreach}\n  {/if}\n  <tr>\n{if $line_items}\n    <td>\n    </td>\n    <td>\n    </td>\n{/if}\n    <td>\n      <strong>Total:</strong>\n    </td>\n    <td>\n      <strong>&nbsp;{$total|crmMoney:$currency|string_format:\"%10s\"}</strong>\n    </td>\n  </tr>\n      </tfoot>\n    </table>\n\n    If you have questions about the status of your registration or purchase please feel free to contact us.\n  </body>\n</html>\n',1,828,'event_registration_receipt',1,0,0,NULL),
+ (34,'Events - Receipt only','Receipt for {if $events_in_cart} Event Registration{/if} - {contact.display_name}\n','{assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}{$greeting},{/if}\n\n{if $is_pay_later}\n  This is being sent to you as an acknowledgement that you have registered one or more members for the following workshop, event or purchase. Please note, however, that the status of your payment is pending, and the registration for this event will not be completed until your payment is received.\n{else}\n  This is being sent to you as a {if !empty($is_refund)}confirmation of refund{else}receipt of payment made{/if} for the following workshop, event registration or purchase.\n{/if}\n\n{if $is_pay_later}\n  {if isset($pay_later_receipt)}{$pay_later_receipt}{/if}\n{/if}\n\n  Your order number is #{$transaction_id}. {if !empty($line_items) && empty($is_refund)} Information about the workshops will be sent separately to each participant.{/if}\n Here\'s a summary of your transaction placed on {$transaction_date|date_format:\"%D %I:%M %p %Z\"}:\n\n{if $billing_name}\n===========================================================\n{ts}Billing Name and Address{/ts}\n\n===========================================================\n{$billing_name}\n\n{$billing_street_address}\n\n{$billing_city}, {$billing_state} {$billing_postal_code}\n\n{$email}\n{/if}\n\n{if !empty($source)}\n{$source}\n{/if}\n\n\n{foreach from=$line_items item=line_item}\n{$line_item.event->title} ({$line_item.event->start_date|date_format:\"%D\"})\n{if $line_item.event->is_show_location}\n  {$line_item.location.address.1.display|strip_tags:false}\n{/if}{*End of isShowLocation condition*}\n{$line_item.event->start_date|date_format:\"%D %I:%M %p\"} - {$line_item.event->end_date|date_format:\"%I:%M %p\"}\n\n  Quantity: {$line_item.num_participants}\n\n{if $line_item.num_participants > 0}\n  {foreach from=$line_item.participants item=participant}\n    {$participant.display_name}\n  {/foreach}\n{/if}\n{if $line_item.num_waiting_participants > 0}\n  Waitlisted:\n    {foreach from=$line_item.waiting_participants item=participant}\n      {$participant.display_name}\n    {/foreach}\n{/if}\nCost: {$line_item.cost|crmMoney:$currency|string_format:\"%10s\"}\nTotal For This Event: {$line_item.amount|crmMoney:$currency|string_format:\"%10s\"}\n\n{/foreach}\n\n{if $discounts}\nSubtotal: {$sub_total|crmMoney:$currency|string_format:\"%10s\"}\n--------------------------------------\nDiscounts\n{foreach from=$discounts key=myId item=i}\n  {$i.title}: -{$i.amount|crmMoney:$currency|string_format:\"%10s\"}\n{/foreach}\n{/if}\n======================================\nTotal: {$total|crmMoney:$currency|string_format:\"%10s\"}\n\n{if $credit_card_type}\n===========================================================\n{ts}Payment Information{/ts}\n\n===========================================================\n{$credit_card_type}\n{$credit_card_number}\n{ts}Expires{/ts}: {$credit_card_exp_date.M}/{$credit_card_exp_date.Y}\n{/if}\n\n  If you have questions about the status of your registration or purchase please feel free to contact us.\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n  <head>\n    <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n    <title></title>\n  </head>\n  <body>\n    {capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n    {capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n    {capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n    {assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}<p>{$greeting},</p>{/if}\n    {if $is_pay_later}\n      <p>\n        This is being sent to you as an acknowledgement that you have registered one or more members for the following workshop, event or purchase. Please note, however, that the status of your payment is pending, and the registration for this event will not be completed until your payment is received.\n      </p>\n    {else}\n      <p>\n        This is being sent to you as a {if !empty($is_refund)}confirmation of refund{else}receipt of payment made{/if} for the following workshop, event registration or purchase.\n      </p>\n    {/if}\n\n    {if $is_pay_later}\n      <p>{if isset($pay_later_receipt)}{$pay_later_receipt}{/if}</p>\n    {/if}\n\n    <p>Your order number is #{$transaction_id}. {if !empty($line_items) && empty($is_refund)} Information about the workshops will be sent separately to each participant.{/if}\n  Here\'s a summary of your transaction placed on {$transaction_date|date_format:\"%D %I:%M %p %Z\"}:</p>\n\n{if $billing_name}\n  <table class=\"billing-info\">\n      <tr>\n    <th style=\"text-align: left;\">\n      {ts}Billing Name and Address{/ts}\n    </th>\n      </tr>\n      <tr>\n    <td>\n      {$billing_name}<br />\n      {$billing_street_address}<br />\n      {$billing_city}, {$billing_state} {$billing_postal_code}<br/>\n      <br/>\n      {$email}\n    </td>\n    </tr>\n    </table>\n{/if}\n{if $credit_card_type}\n  <p>&nbsp;</p>\n  <table class=\"billing-info\">\n      <tr>\n    <th style=\"text-align: left;\">\n      {ts}Credit Card Information{/ts}\n    </th>\n      </tr>\n      <tr>\n    <td>\n      {$credit_card_type}<br />\n      {$credit_card_number}<br />\n      {ts}Expires{/ts}: {$credit_card_exp_date.M}/{$credit_card_exp_date.Y}\n    </td>\n    </tr>\n    </table>\n{/if}\n{if !empty($source)}\n    <p>&nbsp;</p>\n    {$source}\n{/if}\n    <p>&nbsp;</p>\n    <table width=\"700\">\n      <thead>\n    <tr>\n{if $line_items}\n      <th style=\"text-align: left;\">\n      Event\n      </th>\n      <th style=\"text-align: left;\">\n      Participants\n      </th>\n{/if}\n      <th style=\"text-align: left;\">\n      Price\n      </th>\n      <th style=\"text-align: left;\">\n      Total\n      </th>\n    </tr>\n    </thead>\n      <tbody>\n  {foreach from=$line_items item=line_item}\n  <tr>\n    <td style=\"width: 220px\">\n      {$line_item.event->title} ({$line_item.event->start_date|date_format:\"%D\"})<br />\n      {if $line_item.event->is_show_location}\n        {$line_item.location.address.1.display|nl2br}\n      {/if}{*End of isShowLocation condition*}<br /><br />\n      {$line_item.event->start_date|date_format:\"%D %I:%M %p\"} - {$line_item.event->end_date|date_format:\"%I:%M %p\"}\n    </td>\n    <td style=\"width: 180px\">\n    {$line_item.num_participants}\n      {if $line_item.num_participants > 0}\n      <div class=\"participants\" style=\"padding-left: 10px;\">\n        {foreach from=$line_item.participants item=participant}\n        {$participant.display_name}<br />\n        {/foreach}\n      </div>\n      {/if}\n      {if $line_item.num_waiting_participants > 0}\n      Waitlisted:<br/>\n      <div class=\"participants\" style=\"padding-left: 10px;\">\n        {foreach from=$line_item.waiting_participants item=participant}\n        {$participant.display_name}<br />\n        {/foreach}\n      </div>\n      {/if}\n    </td>\n    <td style=\"width: 100px\">\n      {$line_item.cost|crmMoney:$currency|string_format:\"%10s\"}\n    </td>\n    <td style=\"width: 100px\">\n      &nbsp;{$line_item.amount|crmMoney:$currency|string_format:\"%10s\"}\n    </td>\n  </tr>\n  {/foreach}\n      </tbody>\n      <tfoot>\n  {if $discounts}\n  <tr>\n    <td>\n    </td>\n    <td>\n    </td>\n    <td>\n      Subtotal:\n    </td>\n    <td>\n      &nbsp;{$sub_total|crmMoney:$currency|string_format:\"%10s\"}\n    </td>\n  </tr>\n  {foreach from=$discounts key=myId item=i}\n  <tr>\n    <td>\n      {$i.title}\n    </td>\n    <td>\n    </td>\n    <td>\n    </td>\n    <td>\n      -{$i.amount}\n    </td>\n  </tr>\n  {/foreach}\n  {/if}\n  <tr>\n{if $line_items}\n    <td>\n    </td>\n    <td>\n    </td>\n{/if}\n    <td>\n      <strong>Total:</strong>\n    </td>\n    <td>\n      <strong>&nbsp;{$total|crmMoney:$currency|string_format:\"%10s\"}</strong>\n    </td>\n  </tr>\n      </tfoot>\n    </table>\n\n    If you have questions about the status of your registration or purchase please feel free to contact us.\n  </body>\n</html>\n',1,828,'event_registration_receipt',0,1,0,NULL),
+ (35,'Events - Registration Cancellation Notice','{ts 1=$event.event_title}Event Registration Cancelled for %1{/ts} - {contact.display_name}\n','{assign var=\"greeting\" value=\"{contact.email_greeting_display}\"}{if $greeting}{$greeting},{/if}\n\n{ts}Your Event Registration has been cancelled.{/ts}\n\n\n===========================================================\n{ts}Event Information and Location{/ts}\n\n===========================================================\n{$event.event_title}\n{$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|crmDate:\"shortdate\" == $event.event_start_date|crmDate:\"shortdate\"}{$event.event_end_date|crmDate:\"Time\"}{else}{$event.event_end_date|crmDate}{/if}{/if} {$event.event_tz}\n\n{ts}Participant Role{/ts}: {participant.role_id:label}\n\n{if $isShowLocation}\n{$event.location.address.1.display|strip_tags:false}\n{/if}{*End of isShowLocation condition*}\n\n{if !empty($event.location.phone.1.phone) || !empty($event.location.email.1.email)}\n\n{ts}Event Contacts:{/ts}\n{foreach from=$event.location.phone item=phone}\n{if $phone.phone}\n\n{if $phone.phone_type}{$phone.phone_type_display}{else}{ts}Phone{/ts}{/if}: {$phone.phone}{/if}\n{/foreach}\n{foreach from=$event.location.email item=eventEmail}\n{if $eventEmail.email}\n\n{ts}Email{/ts}: {$eventEmail.email}{/if}{/foreach}\n{/if}\n\n{if \'{contact.email}\'}\n\n===========================================================\n{ts}Registered Email{/ts}\n\n===========================================================\n{contact.email}\n{/if}\n\n{if !empty(\'{participant.register_date}\')}\n{ts}Registration Date{/ts}: {participant.register_date}\n{/if}\n\n{ts 1=\'{domain.phone}\' 2=\'{domain.email}\'}Please contact us at %1 or send email to %2 if you have questions.{/ts}\n\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n    {assign var=\"greeting\" value=\"{contact.email_greeting_display}\"}{if $greeting}<p>{$greeting},</p>{/if}\n    <p>{ts}Your Event Registration has been cancelled.{/ts}</p>\n   </td>\n  </tr>\n  <tr>\n   <td>\n    <table style=\"border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse; width:100%;\">\n     <tr>\n      <th {$headerStyle}>\n       {ts}Event Information and Location{/ts}\n      </th>\n     </tr>\n     <tr>\n      <td colspan=\"2\" {$valueStyle}>\n       {$event.event_title}<br />\n       {$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|crmDate:\"shortdate\" == $event.event_start_date|crmDate:\"shortdate\"}{$event.event_end_date|crmDate:\"Time\"}{else}{$event.event_end_date|crmDate}{/if}{/if} {$event.event_tz}\n      </td>\n     </tr>\n     <tr>\n      <td {$labelStyle}>\n       {ts}Participant Role{/ts}:\n      </td>\n      <td {$valueStyle}>\n       {participant.role_id:label}\n      </td>\n     </tr>\n\n     {if $isShowLocation}\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n        {$event.location.address.1.display|nl2br}\n       </td>\n      </tr>\n     {/if}\n\n     {if !empty($event.location.phone.1.phone) || !empty($event.location.email.1.email)}\n      <tr>\n       <td colspan=\"2\" {$labelStyle}>\n        {ts}Event Contacts:{/ts}\n       </td>\n      </tr>\n      {foreach from=$event.location.phone item=phone}\n       {if $phone.phone}\n        <tr>\n         <td {$labelStyle}>\n          {if $phone.phone_type}{$phone.phone_type_display}{else}{ts}Phone{/ts}{/if}\n         </td>\n         <td {$valueStyle}>\n          {$phone.phone}\n         </td>\n        </tr>\n       {/if}\n      {/foreach}\n      {foreach from=$event.location.email item=eventEmail}\n       {if $eventEmail.email}\n        <tr>\n         <td {$labelStyle}>\n          {ts}Email{/ts}\n         </td>\n         <td {$valueStyle}>\n          {$eventEmail.email}\n         </td>\n        </tr>\n       {/if}\n      {/foreach}\n     {/if}\n\n     {if \'{contact.email}\'}\n      <tr>\n       <th {$headerStyle}>\n        {ts}Registered Email{/ts}\n       </th>\n      </tr>\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n        {contact.email}\n       </td>\n      </tr>\n     {/if}\n\n     {if !empty(\'{participant.register_date}\')}\n      <tr>\n       <td {$labelStyle}>\n        {ts}Registration Date{/ts}\n       </td>\n       <td {$valueStyle}>\n        {participant.register_date}\n       </td>\n      </tr>\n     {/if}\n\n    </table>\n   </td>\n  </tr>\n\n  <tr>\n   <td>\n    <p>{ts 1=\'{domain.phone}\' 2=\'{domain.email}\'}Please contact us at %1 or send email to %2 if you have questions.{/ts}</p>\n   </td>\n  </tr>\n\n </table>\n\n</body>\n</html>\n',1,829,'participant_cancelled',1,0,0,NULL),
+ (36,'Events - Registration Cancellation Notice','{ts 1=$event.event_title}Event Registration Cancelled for %1{/ts} - {contact.display_name}\n','{assign var=\"greeting\" value=\"{contact.email_greeting_display}\"}{if $greeting}{$greeting},{/if}\n\n{ts}Your Event Registration has been cancelled.{/ts}\n\n\n===========================================================\n{ts}Event Information and Location{/ts}\n\n===========================================================\n{$event.event_title}\n{$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|crmDate:\"shortdate\" == $event.event_start_date|crmDate:\"shortdate\"}{$event.event_end_date|crmDate:\"Time\"}{else}{$event.event_end_date|crmDate}{/if}{/if} {$event.event_tz}\n\n{ts}Participant Role{/ts}: {participant.role_id:label}\n\n{if $isShowLocation}\n{$event.location.address.1.display|strip_tags:false}\n{/if}{*End of isShowLocation condition*}\n\n{if !empty($event.location.phone.1.phone) || !empty($event.location.email.1.email)}\n\n{ts}Event Contacts:{/ts}\n{foreach from=$event.location.phone item=phone}\n{if $phone.phone}\n\n{if $phone.phone_type}{$phone.phone_type_display}{else}{ts}Phone{/ts}{/if}: {$phone.phone}{/if}\n{/foreach}\n{foreach from=$event.location.email item=eventEmail}\n{if $eventEmail.email}\n\n{ts}Email{/ts}: {$eventEmail.email}{/if}{/foreach}\n{/if}\n\n{if \'{contact.email}\'}\n\n===========================================================\n{ts}Registered Email{/ts}\n\n===========================================================\n{contact.email}\n{/if}\n\n{if !empty(\'{participant.register_date}\')}\n{ts}Registration Date{/ts}: {participant.register_date}\n{/if}\n\n{ts 1=\'{domain.phone}\' 2=\'{domain.email}\'}Please contact us at %1 or send email to %2 if you have questions.{/ts}\n\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n    {assign var=\"greeting\" value=\"{contact.email_greeting_display}\"}{if $greeting}<p>{$greeting},</p>{/if}\n    <p>{ts}Your Event Registration has been cancelled.{/ts}</p>\n   </td>\n  </tr>\n  <tr>\n   <td>\n    <table style=\"border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse; width:100%;\">\n     <tr>\n      <th {$headerStyle}>\n       {ts}Event Information and Location{/ts}\n      </th>\n     </tr>\n     <tr>\n      <td colspan=\"2\" {$valueStyle}>\n       {$event.event_title}<br />\n       {$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|crmDate:\"shortdate\" == $event.event_start_date|crmDate:\"shortdate\"}{$event.event_end_date|crmDate:\"Time\"}{else}{$event.event_end_date|crmDate}{/if}{/if} {$event.event_tz}\n      </td>\n     </tr>\n     <tr>\n      <td {$labelStyle}>\n       {ts}Participant Role{/ts}:\n      </td>\n      <td {$valueStyle}>\n       {participant.role_id:label}\n      </td>\n     </tr>\n\n     {if $isShowLocation}\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n        {$event.location.address.1.display|nl2br}\n       </td>\n      </tr>\n     {/if}\n\n     {if !empty($event.location.phone.1.phone) || !empty($event.location.email.1.email)}\n      <tr>\n       <td colspan=\"2\" {$labelStyle}>\n        {ts}Event Contacts:{/ts}\n       </td>\n      </tr>\n      {foreach from=$event.location.phone item=phone}\n       {if $phone.phone}\n        <tr>\n         <td {$labelStyle}>\n          {if $phone.phone_type}{$phone.phone_type_display}{else}{ts}Phone{/ts}{/if}\n         </td>\n         <td {$valueStyle}>\n          {$phone.phone}\n         </td>\n        </tr>\n       {/if}\n      {/foreach}\n      {foreach from=$event.location.email item=eventEmail}\n       {if $eventEmail.email}\n        <tr>\n         <td {$labelStyle}>\n          {ts}Email{/ts}\n         </td>\n         <td {$valueStyle}>\n          {$eventEmail.email}\n         </td>\n        </tr>\n       {/if}\n      {/foreach}\n     {/if}\n\n     {if \'{contact.email}\'}\n      <tr>\n       <th {$headerStyle}>\n        {ts}Registered Email{/ts}\n       </th>\n      </tr>\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n        {contact.email}\n       </td>\n      </tr>\n     {/if}\n\n     {if !empty(\'{participant.register_date}\')}\n      <tr>\n       <td {$labelStyle}>\n        {ts}Registration Date{/ts}\n       </td>\n       <td {$valueStyle}>\n        {participant.register_date}\n       </td>\n      </tr>\n     {/if}\n\n    </table>\n   </td>\n  </tr>\n\n  <tr>\n   <td>\n    <p>{ts 1=\'{domain.phone}\' 2=\'{domain.email}\'}Please contact us at %1 or send email to %2 if you have questions.{/ts}</p>\n   </td>\n  </tr>\n\n </table>\n\n</body>\n</html>\n',1,829,'participant_cancelled',0,1,0,NULL),
+ (37,'Events - Registration Confirmation Invite','{ts 1=$event.event_title}Confirm your registration for %1{/ts} - {contact.display_name}\n','{assign var=\"greeting\" value=\"{contact.email_greeting_display}\"}{if $greeting}{$greeting},{/if}\n\n{ts}This is an invitation to complete your registration that was initially waitlisted.{/ts}\n\n{if !$isAdditional and $participant.id}\n\n===========================================================\n{ts}Confirm Your Registration{/ts}\n\n===========================================================\n{capture assign=confirmUrl}{crmURL p=\'civicrm/event/confirm\' q=\"reset=1&participantId=`$participant.id`&cs=`$checksumValue`\" a=true h=0 fe=1}{/capture}\nClick this link to go to a web page where you can confirm your registration online:\n{$confirmUrl}\n{/if}\n{if $event.allow_selfcancelxfer }\n{ts 1=$selfcancelxfer_time 2=$selfservice_preposition}You may transfer your registration to another participant or cancel your registration up to %1 hours %2 the event.{/ts} {if $totalAmount}{ts}Cancellations are not refundable.{/ts}{/if}\n   {capture assign=selfService}{crmURL p=\'civicrm/event/selfsvcupdate\' q=\"reset=1&pid=`$participant.id`&{contact.checksum}\"  h=0 a=1 fe=1}{/capture}\n{ts}Transfer or cancel your registration:{/ts} {$selfService}\n{/if}\n===========================================================\n{ts}Event Information and Location{/ts}\n\n===========================================================\n{$event.event_title}\n{$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:\"%Y%m%d\" == $event.event_start_date|date_format:\"%Y%m%d\"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if} {$event.event_tz}\n{if $conference_sessions}\n\n\n{ts}Your schedule:{/ts}\n{assign var=\'group_by_day\' value=\'NA\'}\n{foreach from=$conference_sessions item=session}\n{if $session.start_date|date_format:\"%Y/%m/%d\" != $group_by_day|date_format:\"%Y/%m/%d\"}\n{assign var=\'group_by_day\' value=$session.start_date}\n\n{$group_by_day|date_format:\"%m/%d/%Y\"}\n\n\n{/if}\n{$session.start_date|crmDate:0:1}{if $session.end_date}-{$session.end_date|crmDate:0:1}{/if} {$session.title}\n{if $session.location}    {$session.location}{/if}\n{/foreach}\n{/if}\n\n\n{ts}Participant Role{/ts}: {$participant.role}\n\n{if $isShowLocation}\n{$event.location.address.1.display|strip_tags:false}\n{/if}{*End of isShowLocation condition*}\n\n{if $event.location.phone.1.phone || $event.location.email.1.email}\n\n{ts}Event Contacts:{/ts}\n{foreach from=$event.location.phone item=phone}\n{if $phone.phone}\n\n{if $phone.phone_type}{$phone.phone_type_display}{else}{ts}Phone{/ts}{/if}: {$phone.phone}{/if}\n{/foreach}\n{foreach from=$event.location.email item=eventEmail}\n{if $eventEmail.email}\n\n{ts}Email{/ts}: {$eventEmail.email}{/if}{/foreach}\n{/if}\n\n{if $event.is_public}\n{capture assign=icalFeed}{crmURL p=\'civicrm/event/ical\' q=\"reset=1&id=`$event.id`\" h=0 a=1 fe=1}{/capture}\n{ts}Download iCalendar File:{/ts} {$icalFeed}\n{/if}\n\n{if \'{contact.email}\'}\n\n===========================================================\n{ts}Registered Email{/ts}\n\n===========================================================\n{contact.email}\n{/if}\n\n{if $register_date}\n{ts}Registration Date{/ts}: {$participant.register_date|crmDate}\n{/if}\n\n{ts 1=\'{domain.phone}\' 2=\'{domain.email}\'}Please contact us at %1 or send email to %2 if you have questions.{/ts}\n\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n    {assign var=\"greeting\" value=\"{contact.email_greeting_display}\"}{if $greeting}<p>{$greeting},</p>{/if}\n    <p>{ts}This is an invitation to complete your registration that was initially waitlisted.{/ts}</p>\n   </td>\n  </tr>\n  {if !$isAdditional and $participant.id}\n   <tr>\n    <th {$headerStyle}>\n     {ts}Confirm Your Registration{/ts}\n    </th>\n   </tr>\n   <tr>\n    <td colspan=\"2\" {$valueStyle}>\n     {capture assign=confirmUrl}{crmURL p=\'civicrm/event/confirm\' q=\"reset=1&participantId=`$participant.id`&cs=`$checksumValue`\" a=true h=0 fe=1}{/capture}\n     <a href=\"{$confirmUrl}\">{ts}Click here to confirm and complete your registration{/ts}</a>\n    </td>\n   </tr>\n  {/if}\n  {if $event.allow_selfcancelxfer }\n  {ts}This event allows for{/ts}\n  {capture assign=selfService}{crmURL p=\'civicrm/event/selfsvcupdate\' q=\"reset=1&pid=`$participant.id`&{contact.checksum}\" h=0 a=1 fe=1}{/capture}\n       <a href=\"{$selfService}\"> {ts}self service cancel or transfer{/ts}</a>\n  {/if}\n\n  <tr>\n   <td>\n    <table style=\"border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse; width:100%;\">\n     <tr>\n      <th {$headerStyle}>\n       {ts}Event Information and Location{/ts}\n      </th>\n     </tr>\n     <tr>\n      <td colspan=\"2\" {$valueStyle}>\n       {$event.event_title}<br />\n       {$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:\"%Y%m%d\" == $event.event_start_date|date_format:\"%Y%m%d\"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if} {$event.event_tz}\n      </td>\n     </tr>\n     {if $conference_sessions}\n      <tr>\n       <td colspan=\"2\" {$labelStyle}>\n  {ts}Your schedule:{/ts}\n       </td>\n      </tr>\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n  {assign var=\'group_by_day\' value=\'NA\'}\n  {foreach from=$conference_sessions item=session}\n   {if $session.start_date|date_format:\"%Y/%m/%d\" != $group_by_day|date_format:\"%Y/%m/%d\"}\n    {assign var=\'group_by_day\' value=$session.start_date}\n          <em>{$group_by_day|date_format:\"%m/%d/%Y\"}</em><br />\n   {/if}\n   {$session.start_date|crmDate:0:1}{if $session.end_date}-{$session.end_date|crmDate:0:1}{/if} {$session.title}<br />\n   {if $session.location}&nbsp;&nbsp;&nbsp;&nbsp;{$session.location}<br />{/if}\n  {/foreach}\n       </td>\n      </tr>\n     {/if}\n     <tr>\n      <td {$labelStyle}>\n       {ts}Participant Role{/ts}:\n      </td>\n      <td {$valueStyle}>\n       {$participant.role}\n      </td>\n     </tr>\n\n     {if $isShowLocation}\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n        {$event.location.address.1.display|nl2br}\n       </td>\n      </tr>\n     {/if}\n\n     {if $event.location.phone.1.phone || $event.location.email.1.email}\n      <tr>\n       <td colspan=\"2\" {$labelStyle}>\n        {ts}Event Contacts:{/ts}\n       </td>\n      </tr>\n      {foreach from=$event.location.phone item=phone}\n       {if $phone.phone}\n        <tr>\n         <td {$labelStyle}>\n          {if $phone.phone_type}{$phone.phone_type_display}{else}{ts}Phone{/ts}{/if}\n         </td>\n         <td {$valueStyle}>\n          {$phone.phone}\n         </td>\n        </tr>\n       {/if}\n      {/foreach}\n      {foreach from=$event.location.email item=eventEmail}\n       {if $eventEmail.email}\n        <tr>\n         <td {$labelStyle}>\n          {ts}Email{/ts}\n         </td>\n         <td {$valueStyle}>\n          {$eventEmail.email}\n         </td>\n        </tr>\n       {/if}\n      {/foreach}\n     {/if}\n\n     {if $event.is_public}\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n        {capture assign=icalFeed}{crmURL p=\'civicrm/event/ical\' q=\"reset=1&id=`$event.id`\" h=0 a=1 fe=1}{/capture}\n        <a href=\"{$icalFeed}\">{ts}Download iCalendar File{/ts}</a>\n       </td>\n      </tr>\n     {/if}\n\n     {if \'{contact.email}\'}\n      <tr>\n       <th {$headerStyle}>\n        {ts}Registered Email{/ts}\n       </th>\n      </tr>\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n        {contact.email}\n       </td>\n      </tr>\n     {/if}\n\n     {if $register_date}\n      <tr>\n       <td {$labelStyle}>\n        {ts}Registration Date{/ts}\n       </td>\n       <td {$valueStyle}>\n        {$participant.register_date|crmDate}\n       </td>\n      </tr>\n     {/if}\n\n    </table>\n   </td>\n  </tr>\n  {if $event.allow_selfcancelxfer }\n   <tr>\n     <td colspan=\"2\" {$valueStyle}>\n       {ts 1=$selfcancelxfer_time 2=$selfservice_preposition}You may transfer your registration to another participant or cancel your registration up to %1 hours %2 the event.{/ts} {if $totalAmount}{ts}Cancellations are not refundable.{/ts}{/if}<br />\n         {capture assign=selfService}{crmURL p=\'civicrm/event/selfsvcupdate\' q=\"reset=1&pid=`$participant.id`&{contact.checksum}\"  h=0 a=1 fe=1}{/capture}\n       <a href=\"{$selfService}\">{ts}Click here to transfer or cancel your registration.{/ts}</a>\n     </td>\n   </tr>\n  {/if}\n  <tr>\n   <td colspan=\"2\" {$valueStyle}>\n    <p>{ts 1=\'{domain.phone}\' 2=\'{domain.email}\'}Please contact us at %1 or send email to %2 if you have questions.{/ts}</p>\n   </td>\n  </tr>\n\n </table>\n\n</body>\n</html>\n',1,830,'participant_confirm',1,0,0,NULL),
+ (38,'Events - Registration Confirmation Invite','{ts 1=$event.event_title}Confirm your registration for %1{/ts} - {contact.display_name}\n','{assign var=\"greeting\" value=\"{contact.email_greeting_display}\"}{if $greeting}{$greeting},{/if}\n\n{ts}This is an invitation to complete your registration that was initially waitlisted.{/ts}\n\n{if !$isAdditional and $participant.id}\n\n===========================================================\n{ts}Confirm Your Registration{/ts}\n\n===========================================================\n{capture assign=confirmUrl}{crmURL p=\'civicrm/event/confirm\' q=\"reset=1&participantId=`$participant.id`&cs=`$checksumValue`\" a=true h=0 fe=1}{/capture}\nClick this link to go to a web page where you can confirm your registration online:\n{$confirmUrl}\n{/if}\n{if $event.allow_selfcancelxfer }\n{ts 1=$selfcancelxfer_time 2=$selfservice_preposition}You may transfer your registration to another participant or cancel your registration up to %1 hours %2 the event.{/ts} {if $totalAmount}{ts}Cancellations are not refundable.{/ts}{/if}\n   {capture assign=selfService}{crmURL p=\'civicrm/event/selfsvcupdate\' q=\"reset=1&pid=`$participant.id`&{contact.checksum}\"  h=0 a=1 fe=1}{/capture}\n{ts}Transfer or cancel your registration:{/ts} {$selfService}\n{/if}\n===========================================================\n{ts}Event Information and Location{/ts}\n\n===========================================================\n{$event.event_title}\n{$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:\"%Y%m%d\" == $event.event_start_date|date_format:\"%Y%m%d\"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if} {$event.event_tz}\n{if $conference_sessions}\n\n\n{ts}Your schedule:{/ts}\n{assign var=\'group_by_day\' value=\'NA\'}\n{foreach from=$conference_sessions item=session}\n{if $session.start_date|date_format:\"%Y/%m/%d\" != $group_by_day|date_format:\"%Y/%m/%d\"}\n{assign var=\'group_by_day\' value=$session.start_date}\n\n{$group_by_day|date_format:\"%m/%d/%Y\"}\n\n\n{/if}\n{$session.start_date|crmDate:0:1}{if $session.end_date}-{$session.end_date|crmDate:0:1}{/if} {$session.title}\n{if $session.location}    {$session.location}{/if}\n{/foreach}\n{/if}\n\n\n{ts}Participant Role{/ts}: {$participant.role}\n\n{if $isShowLocation}\n{$event.location.address.1.display|strip_tags:false}\n{/if}{*End of isShowLocation condition*}\n\n{if $event.location.phone.1.phone || $event.location.email.1.email}\n\n{ts}Event Contacts:{/ts}\n{foreach from=$event.location.phone item=phone}\n{if $phone.phone}\n\n{if $phone.phone_type}{$phone.phone_type_display}{else}{ts}Phone{/ts}{/if}: {$phone.phone}{/if}\n{/foreach}\n{foreach from=$event.location.email item=eventEmail}\n{if $eventEmail.email}\n\n{ts}Email{/ts}: {$eventEmail.email}{/if}{/foreach}\n{/if}\n\n{if $event.is_public}\n{capture assign=icalFeed}{crmURL p=\'civicrm/event/ical\' q=\"reset=1&id=`$event.id`\" h=0 a=1 fe=1}{/capture}\n{ts}Download iCalendar File:{/ts} {$icalFeed}\n{/if}\n\n{if \'{contact.email}\'}\n\n===========================================================\n{ts}Registered Email{/ts}\n\n===========================================================\n{contact.email}\n{/if}\n\n{if $register_date}\n{ts}Registration Date{/ts}: {$participant.register_date|crmDate}\n{/if}\n\n{ts 1=\'{domain.phone}\' 2=\'{domain.email}\'}Please contact us at %1 or send email to %2 if you have questions.{/ts}\n\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n    {assign var=\"greeting\" value=\"{contact.email_greeting_display}\"}{if $greeting}<p>{$greeting},</p>{/if}\n    <p>{ts}This is an invitation to complete your registration that was initially waitlisted.{/ts}</p>\n   </td>\n  </tr>\n  {if !$isAdditional and $participant.id}\n   <tr>\n    <th {$headerStyle}>\n     {ts}Confirm Your Registration{/ts}\n    </th>\n   </tr>\n   <tr>\n    <td colspan=\"2\" {$valueStyle}>\n     {capture assign=confirmUrl}{crmURL p=\'civicrm/event/confirm\' q=\"reset=1&participantId=`$participant.id`&cs=`$checksumValue`\" a=true h=0 fe=1}{/capture}\n     <a href=\"{$confirmUrl}\">{ts}Click here to confirm and complete your registration{/ts}</a>\n    </td>\n   </tr>\n  {/if}\n  {if $event.allow_selfcancelxfer }\n  {ts}This event allows for{/ts}\n  {capture assign=selfService}{crmURL p=\'civicrm/event/selfsvcupdate\' q=\"reset=1&pid=`$participant.id`&{contact.checksum}\" h=0 a=1 fe=1}{/capture}\n       <a href=\"{$selfService}\"> {ts}self service cancel or transfer{/ts}</a>\n  {/if}\n\n  <tr>\n   <td>\n    <table style=\"border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse; width:100%;\">\n     <tr>\n      <th {$headerStyle}>\n       {ts}Event Information and Location{/ts}\n      </th>\n     </tr>\n     <tr>\n      <td colspan=\"2\" {$valueStyle}>\n       {$event.event_title}<br />\n       {$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:\"%Y%m%d\" == $event.event_start_date|date_format:\"%Y%m%d\"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if} {$event.event_tz}\n      </td>\n     </tr>\n     {if $conference_sessions}\n      <tr>\n       <td colspan=\"2\" {$labelStyle}>\n  {ts}Your schedule:{/ts}\n       </td>\n      </tr>\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n  {assign var=\'group_by_day\' value=\'NA\'}\n  {foreach from=$conference_sessions item=session}\n   {if $session.start_date|date_format:\"%Y/%m/%d\" != $group_by_day|date_format:\"%Y/%m/%d\"}\n    {assign var=\'group_by_day\' value=$session.start_date}\n          <em>{$group_by_day|date_format:\"%m/%d/%Y\"}</em><br />\n   {/if}\n   {$session.start_date|crmDate:0:1}{if $session.end_date}-{$session.end_date|crmDate:0:1}{/if} {$session.title}<br />\n   {if $session.location}&nbsp;&nbsp;&nbsp;&nbsp;{$session.location}<br />{/if}\n  {/foreach}\n       </td>\n      </tr>\n     {/if}\n     <tr>\n      <td {$labelStyle}>\n       {ts}Participant Role{/ts}:\n      </td>\n      <td {$valueStyle}>\n       {$participant.role}\n      </td>\n     </tr>\n\n     {if $isShowLocation}\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n        {$event.location.address.1.display|nl2br}\n       </td>\n      </tr>\n     {/if}\n\n     {if $event.location.phone.1.phone || $event.location.email.1.email}\n      <tr>\n       <td colspan=\"2\" {$labelStyle}>\n        {ts}Event Contacts:{/ts}\n       </td>\n      </tr>\n      {foreach from=$event.location.phone item=phone}\n       {if $phone.phone}\n        <tr>\n         <td {$labelStyle}>\n          {if $phone.phone_type}{$phone.phone_type_display}{else}{ts}Phone{/ts}{/if}\n         </td>\n         <td {$valueStyle}>\n          {$phone.phone}\n         </td>\n        </tr>\n       {/if}\n      {/foreach}\n      {foreach from=$event.location.email item=eventEmail}\n       {if $eventEmail.email}\n        <tr>\n         <td {$labelStyle}>\n          {ts}Email{/ts}\n         </td>\n         <td {$valueStyle}>\n          {$eventEmail.email}\n         </td>\n        </tr>\n       {/if}\n      {/foreach}\n     {/if}\n\n     {if $event.is_public}\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n        {capture assign=icalFeed}{crmURL p=\'civicrm/event/ical\' q=\"reset=1&id=`$event.id`\" h=0 a=1 fe=1}{/capture}\n        <a href=\"{$icalFeed}\">{ts}Download iCalendar File{/ts}</a>\n       </td>\n      </tr>\n     {/if}\n\n     {if \'{contact.email}\'}\n      <tr>\n       <th {$headerStyle}>\n        {ts}Registered Email{/ts}\n       </th>\n      </tr>\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n        {contact.email}\n       </td>\n      </tr>\n     {/if}\n\n     {if $register_date}\n      <tr>\n       <td {$labelStyle}>\n        {ts}Registration Date{/ts}\n       </td>\n       <td {$valueStyle}>\n        {$participant.register_date|crmDate}\n       </td>\n      </tr>\n     {/if}\n\n    </table>\n   </td>\n  </tr>\n  {if $event.allow_selfcancelxfer }\n   <tr>\n     <td colspan=\"2\" {$valueStyle}>\n       {ts 1=$selfcancelxfer_time 2=$selfservice_preposition}You may transfer your registration to another participant or cancel your registration up to %1 hours %2 the event.{/ts} {if $totalAmount}{ts}Cancellations are not refundable.{/ts}{/if}<br />\n         {capture assign=selfService}{crmURL p=\'civicrm/event/selfsvcupdate\' q=\"reset=1&pid=`$participant.id`&{contact.checksum}\"  h=0 a=1 fe=1}{/capture}\n       <a href=\"{$selfService}\">{ts}Click here to transfer or cancel your registration.{/ts}</a>\n     </td>\n   </tr>\n  {/if}\n  <tr>\n   <td colspan=\"2\" {$valueStyle}>\n    <p>{ts 1=\'{domain.phone}\' 2=\'{domain.email}\'}Please contact us at %1 or send email to %2 if you have questions.{/ts}</p>\n   </td>\n  </tr>\n\n </table>\n\n</body>\n</html>\n',1,830,'participant_confirm',0,1,0,NULL),
+ (39,'Events - Pending Registration Expiration Notice','{ts 1=$event.event_title}Event registration has expired for %1{/ts} - {contact.display_name}\n','{assign var=\"greeting\" value=\"{contact.email_greeting_display}\"}{if $greeting}{$greeting},{/if}\n\n{ts 1=$event.event_title}Your pending event registration for %1 has expired\nbecause you did not confirm your registration.{/ts}\n\n\n{ts 1=\'{domain.phone}\' 2=\'{domain.email}\'}Please contact us at %1 or send email to %2 if you have questions\nor want to inquire about reinstating your registration for this event.{/ts}\n\n===========================================================\n{ts}Event Information and Location{/ts}\n\n===========================================================\n{$event.event_title}\n{$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:\"%Y%m%d\" == $event.event_start_date|date_format:\"%Y%m%d\"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if} {$event.event_tz}\n\n{ts}Participant Role{/ts}: {$participant.role}\n\n{if $isShowLocation}\n{$event.location.address.1.display|strip_tags:false}\n{/if}{*End of isShowLocation condition*}\n\n{if !empty($event.location.phone.1.phone) || !empty($event.location.email.1.email)}\n\n{ts}Event Contacts:{/ts}\n{foreach from=$event.location.phone item=phone}\n{if $phone.phone}\n\n{if $phone.phone_type}{$phone.phone_type_display}{else}{ts}Phone{/ts}{/if}: {$phone.phone}{/if}\n{/foreach}\n{foreach from=$event.location.email item=eventEmail}\n{if $eventEmail.email}\n\n{ts}Email{/ts}: {$eventEmail.email}{/if}{/foreach}\n{/if}\n\n{if \'{contact.email}\'}\n\n===========================================================\n{ts}Registered Email{/ts}\n\n===========================================================\n{contact.email}\n{/if}\n\n{if $register_date}\n{ts}Registration Date{/ts}: {$participant.register_date|crmDate}\n{/if}\n\n{ts 1=\'{domain.phone}\' 2=\'{domain.email}\'}Please contact us at %1 or send email to %2 if you have questions.{/ts}\n\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n    {assign var=\"greeting\" value=\"{contact.email_greeting_display}\"}{if $greeting}<p>{$greeting},</p>{/if}\n    <p>{ts 1=$event.event_title}Your pending event registration for %1 has expired\nbecause you did not confirm your registration.{/ts}</p>\n    <p>{ts 1=\'{domain.phone}\' 2=\'{domain.email}\'}Please contact us at %1 or send email to %2 if you have questions\nor want to inquire about reinstating your registration for this event.{/ts}</p>\n   </td>\n  </tr>\n  <tr>\n   <td>\n    <table style=\"border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse; width:100%;\">\n     <tr>\n      <th {$headerStyle}>\n       {ts}Event Information and Location{/ts}\n      </th>\n     </tr>\n     <tr>\n      <td colspan=\"2\" {$valueStyle}>\n       {$event.event_title}<br />\n       {$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:\"%Y%m%d\" == $event.event_start_date|date_format:\"%Y%m%d\"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if} {$event.event_tz}\n      </td>\n     </tr>\n     <tr>\n      <td {$labelStyle}>\n       {ts}Participant Role{/ts}:\n      </td>\n      <td {$valueStyle}>\n       {$participant.role}\n      </td>\n     </tr>\n\n     {if $isShowLocation}\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n        {$event.location.address.1.display|nl2br}\n       </td>\n      </tr>\n     {/if}\n\n     {if !empty($event.location.phone.1.phone) || !empty($event.location.email.1.email)}\n      <tr>\n       <td colspan=\"2\" {$labelStyle}>\n        {ts}Event Contacts:{/ts}\n       </td>\n      </tr>\n      {foreach from=$event.location.phone item=phone}\n       {if $phone.phone}\n        <tr>\n         <td {$labelStyle}>\n          {if $phone.phone_type}{$phone.phone_type_display}{else}{ts}Phone{/ts}{/if}\n         </td>\n         <td {$valueStyle}>\n          {$phone.phone}\n         </td>\n        </tr>\n       {/if}\n      {/foreach}\n      {foreach from=$event.location.email item=eventEmail}\n       {if $eventEmail.email}\n        <tr>\n         <td {$labelStyle}>\n          {ts}Email{/ts}\n         </td>\n         <td {$valueStyle}>\n          {$eventEmail.email}\n         </td>\n        </tr>\n       {/if}\n      {/foreach}\n     {/if}\n\n     {if \'{contact.email}\'}\n      <tr>\n       <th {$headerStyle}>\n        {ts}Registered Email{/ts}\n       </th>\n      </tr>\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n        {contact.email}\n       </td>\n      </tr>\n     {/if}\n\n     {if $register_date}\n      <tr>\n       <td {$labelStyle}>\n        {ts}Registration Date{/ts}\n       </td>\n       <td {$valueStyle}>\n        {$participant.register_date|crmDate}\n       </td>\n      </tr>\n     {/if}\n\n    </table>\n   </td>\n  </tr>\n\n  <tr>\n   <td>\n    <p>{ts 1=\'{domain.phone}\' 2=\'{domain.email}\'}Please contact us at %1 or send email to %2 if you have questions.{/ts}</p>\n   </td>\n  </tr>\n\n </table>\n\n</body>\n</html>\n',1,831,'participant_expired',1,0,0,NULL),
+ (40,'Events - Pending Registration Expiration Notice','{ts 1=$event.event_title}Event registration has expired for %1{/ts} - {contact.display_name}\n','{assign var=\"greeting\" value=\"{contact.email_greeting_display}\"}{if $greeting}{$greeting},{/if}\n\n{ts 1=$event.event_title}Your pending event registration for %1 has expired\nbecause you did not confirm your registration.{/ts}\n\n\n{ts 1=\'{domain.phone}\' 2=\'{domain.email}\'}Please contact us at %1 or send email to %2 if you have questions\nor want to inquire about reinstating your registration for this event.{/ts}\n\n===========================================================\n{ts}Event Information and Location{/ts}\n\n===========================================================\n{$event.event_title}\n{$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:\"%Y%m%d\" == $event.event_start_date|date_format:\"%Y%m%d\"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if} {$event.event_tz}\n\n{ts}Participant Role{/ts}: {$participant.role}\n\n{if $isShowLocation}\n{$event.location.address.1.display|strip_tags:false}\n{/if}{*End of isShowLocation condition*}\n\n{if !empty($event.location.phone.1.phone) || !empty($event.location.email.1.email)}\n\n{ts}Event Contacts:{/ts}\n{foreach from=$event.location.phone item=phone}\n{if $phone.phone}\n\n{if $phone.phone_type}{$phone.phone_type_display}{else}{ts}Phone{/ts}{/if}: {$phone.phone}{/if}\n{/foreach}\n{foreach from=$event.location.email item=eventEmail}\n{if $eventEmail.email}\n\n{ts}Email{/ts}: {$eventEmail.email}{/if}{/foreach}\n{/if}\n\n{if \'{contact.email}\'}\n\n===========================================================\n{ts}Registered Email{/ts}\n\n===========================================================\n{contact.email}\n{/if}\n\n{if $register_date}\n{ts}Registration Date{/ts}: {$participant.register_date|crmDate}\n{/if}\n\n{ts 1=\'{domain.phone}\' 2=\'{domain.email}\'}Please contact us at %1 or send email to %2 if you have questions.{/ts}\n\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n    {assign var=\"greeting\" value=\"{contact.email_greeting_display}\"}{if $greeting}<p>{$greeting},</p>{/if}\n    <p>{ts 1=$event.event_title}Your pending event registration for %1 has expired\nbecause you did not confirm your registration.{/ts}</p>\n    <p>{ts 1=\'{domain.phone}\' 2=\'{domain.email}\'}Please contact us at %1 or send email to %2 if you have questions\nor want to inquire about reinstating your registration for this event.{/ts}</p>\n   </td>\n  </tr>\n  <tr>\n   <td>\n    <table style=\"border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse; width:100%;\">\n     <tr>\n      <th {$headerStyle}>\n       {ts}Event Information and Location{/ts}\n      </th>\n     </tr>\n     <tr>\n      <td colspan=\"2\" {$valueStyle}>\n       {$event.event_title}<br />\n       {$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:\"%Y%m%d\" == $event.event_start_date|date_format:\"%Y%m%d\"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if} {$event.event_tz}\n      </td>\n     </tr>\n     <tr>\n      <td {$labelStyle}>\n       {ts}Participant Role{/ts}:\n      </td>\n      <td {$valueStyle}>\n       {$participant.role}\n      </td>\n     </tr>\n\n     {if $isShowLocation}\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n        {$event.location.address.1.display|nl2br}\n       </td>\n      </tr>\n     {/if}\n\n     {if !empty($event.location.phone.1.phone) || !empty($event.location.email.1.email)}\n      <tr>\n       <td colspan=\"2\" {$labelStyle}>\n        {ts}Event Contacts:{/ts}\n       </td>\n      </tr>\n      {foreach from=$event.location.phone item=phone}\n       {if $phone.phone}\n        <tr>\n         <td {$labelStyle}>\n          {if $phone.phone_type}{$phone.phone_type_display}{else}{ts}Phone{/ts}{/if}\n         </td>\n         <td {$valueStyle}>\n          {$phone.phone}\n         </td>\n        </tr>\n       {/if}\n      {/foreach}\n      {foreach from=$event.location.email item=eventEmail}\n       {if $eventEmail.email}\n        <tr>\n         <td {$labelStyle}>\n          {ts}Email{/ts}\n         </td>\n         <td {$valueStyle}>\n          {$eventEmail.email}\n         </td>\n        </tr>\n       {/if}\n      {/foreach}\n     {/if}\n\n     {if \'{contact.email}\'}\n      <tr>\n       <th {$headerStyle}>\n        {ts}Registered Email{/ts}\n       </th>\n      </tr>\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n        {contact.email}\n       </td>\n      </tr>\n     {/if}\n\n     {if $register_date}\n      <tr>\n       <td {$labelStyle}>\n        {ts}Registration Date{/ts}\n       </td>\n       <td {$valueStyle}>\n        {$participant.register_date|crmDate}\n       </td>\n      </tr>\n     {/if}\n\n    </table>\n   </td>\n  </tr>\n\n  <tr>\n   <td>\n    <p>{ts 1=\'{domain.phone}\' 2=\'{domain.email}\'}Please contact us at %1 or send email to %2 if you have questions.{/ts}</p>\n   </td>\n  </tr>\n\n </table>\n\n</body>\n</html>\n',1,831,'participant_expired',0,1,0,NULL),
+ (41,'Events - Registration Transferred Notice','{ts 1=$event.event_title}Event Registration Transferred for %1{/ts} - {contact.display_name}\n','{assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}{$greeting},{/if}\n\n{ts 1=$to_participant}Your Event Registration has been transferred to %1.{/ts}\n\n===========================================================\n{ts}Event Information and Location{/ts}\n\n===========================================================\n{$event.event_title}\n{$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:\"%Y%m%d\" == $event.event_start_date|date_format:\"%Y%m%d\"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if} {$event.event_tz}\n\n{ts}Participant Role{/ts}: {$participant.role}\n\n{if $isShowLocation}\n{$event.location.address.1.display|strip_tags:false}\n{/if}{*End of isShowLocation condition*}\n\n{if !empty($event.location.phone.1.phone) || !empty($event.location.email.1.email)}\n\n{ts}Event Contacts:{/ts}\n{foreach from=$event.location.phone item=phone}\n{if $phone.phone}\n\n{if $phone.phone_type}{$phone.phone_type_display}{else}{ts}Phone{/ts}{/if}: {$phone.phone}{/if}\n{/foreach}\n{foreach from=$event.location.email item=eventEmail}\n{if $eventEmail.email}\n\n{ts}Email{/ts}: {$eventEmail.email}{/if}{/foreach}\n{/if}\n\n{if \'{contact.email}\'}\n\n===========================================================\n{ts}Registered Email{/ts}\n\n===========================================================\n{contact.email}\n{/if}\n\n{if $register_date}\n{ts}Registration Date{/ts}: {$participant.register_date|crmDate}\n{/if}\n\n{ts 1=\'{domain.phone}\' 2=\'{domain.email}\'}Please contact us at %1 or send email to %2 if you have questions.{/ts}\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n    {assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}<p>{$greeting},</p>{/if}\n    <p>{ts 1=$to_participant}Your Event Registration has been Transferred to %1.{/ts}</p>\n   </td>\n  </tr>\n  <tr>\n   <td>\n    <table style=\"border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse; width:100%;\">\n     <tr>\n      <th {$headerStyle}>\n       {ts}Event Information and Location{/ts}\n      </th>\n     </tr>\n     <tr>\n      <td colspan=\"2\" {$valueStyle}>\n       {$event.event_title}<br />\n       {$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:\"%Y%m%d\" == $event.event_start_date|date_format:\"%Y%m%d\"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if} {$event.event_tz}\n      </td>\n     </tr>\n     <tr>\n      <td {$labelStyle}>\n       {ts}Participant Role{/ts}:\n      </td>\n      <td {$valueStyle}>\n       {$participant.role}\n      </td>\n     </tr>\n\n     {if $isShowLocation}\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n        {$event.location.address.1.display|nl2br}\n       </td>\n      </tr>\n     {/if}\n\n     {if !empty($event.location.phone.1.phone) || !empty($event.location.email.1.email)}\n      <tr>\n       <td colspan=\"2\" {$labelStyle}>\n        {ts}Event Contacts:{/ts}\n       </td>\n      </tr>\n      {foreach from=$event.location.phone item=phone}\n       {if $phone.phone}\n        <tr>\n         <td {$labelStyle}>\n          {if $phone.phone_type}{$phone.phone_type_display}{else}{ts}Phone{/ts}{/if}\n         </td>\n         <td {$valueStyle}>\n          {$phone.phone}\n         </td>\n        </tr>\n       {/if}\n      {/foreach}\n      {foreach from=$event.location.email item=eventEmail}\n       {if $eventEmail.email}\n        <tr>\n         <td {$labelStyle}>\n          {ts}Email{/ts}\n         </td>\n         <td {$valueStyle}>\n          {$eventEmail.email}\n         </td>\n        </tr>\n       {/if}\n      {/foreach}\n     {/if}\n\n     {if \'{contact.email}\'}\n      <tr>\n       <th {$headerStyle}>\n        {ts}Registered Email{/ts}\n       </th>\n      </tr>\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n        {contact.email}\n       </td>\n      </tr>\n     {/if}\n\n     {if $register_date}\n      <tr>\n       <td {$labelStyle}>\n        {ts}Registration Date{/ts}\n       </td>\n       <td {$valueStyle}>\n        {$participant.register_date|crmDate}\n       </td>\n      </tr>\n     {/if}\n\n    </table>\n   </td>\n  </tr>\n\n  <tr>\n   <td>\n    <p>{ts 1=\'{domain.phone}\' 2=\'{domain.email}\'}Please contact us at %1 or send email to %2 if you have questions.{/ts}</p>\n   </td>\n  </tr>\n\n </table>\n\n</body>\n</html>\n',1,832,'participant_transferred',1,0,0,NULL),
+ (42,'Events - Registration Transferred Notice','{ts 1=$event.event_title}Event Registration Transferred for %1{/ts} - {contact.display_name}\n','{assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}{$greeting},{/if}\n\n{ts 1=$to_participant}Your Event Registration has been transferred to %1.{/ts}\n\n===========================================================\n{ts}Event Information and Location{/ts}\n\n===========================================================\n{$event.event_title}\n{$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:\"%Y%m%d\" == $event.event_start_date|date_format:\"%Y%m%d\"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if} {$event.event_tz}\n\n{ts}Participant Role{/ts}: {$participant.role}\n\n{if $isShowLocation}\n{$event.location.address.1.display|strip_tags:false}\n{/if}{*End of isShowLocation condition*}\n\n{if !empty($event.location.phone.1.phone) || !empty($event.location.email.1.email)}\n\n{ts}Event Contacts:{/ts}\n{foreach from=$event.location.phone item=phone}\n{if $phone.phone}\n\n{if $phone.phone_type}{$phone.phone_type_display}{else}{ts}Phone{/ts}{/if}: {$phone.phone}{/if}\n{/foreach}\n{foreach from=$event.location.email item=eventEmail}\n{if $eventEmail.email}\n\n{ts}Email{/ts}: {$eventEmail.email}{/if}{/foreach}\n{/if}\n\n{if \'{contact.email}\'}\n\n===========================================================\n{ts}Registered Email{/ts}\n\n===========================================================\n{contact.email}\n{/if}\n\n{if $register_date}\n{ts}Registration Date{/ts}: {$participant.register_date|crmDate}\n{/if}\n\n{ts 1=\'{domain.phone}\' 2=\'{domain.email}\'}Please contact us at %1 or send email to %2 if you have questions.{/ts}\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n    {assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}<p>{$greeting},</p>{/if}\n    <p>{ts 1=$to_participant}Your Event Registration has been Transferred to %1.{/ts}</p>\n   </td>\n  </tr>\n  <tr>\n   <td>\n    <table style=\"border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse; width:100%;\">\n     <tr>\n      <th {$headerStyle}>\n       {ts}Event Information and Location{/ts}\n      </th>\n     </tr>\n     <tr>\n      <td colspan=\"2\" {$valueStyle}>\n       {$event.event_title}<br />\n       {$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:\"%Y%m%d\" == $event.event_start_date|date_format:\"%Y%m%d\"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if} {$event.event_tz}\n      </td>\n     </tr>\n     <tr>\n      <td {$labelStyle}>\n       {ts}Participant Role{/ts}:\n      </td>\n      <td {$valueStyle}>\n       {$participant.role}\n      </td>\n     </tr>\n\n     {if $isShowLocation}\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n        {$event.location.address.1.display|nl2br}\n       </td>\n      </tr>\n     {/if}\n\n     {if !empty($event.location.phone.1.phone) || !empty($event.location.email.1.email)}\n      <tr>\n       <td colspan=\"2\" {$labelStyle}>\n        {ts}Event Contacts:{/ts}\n       </td>\n      </tr>\n      {foreach from=$event.location.phone item=phone}\n       {if $phone.phone}\n        <tr>\n         <td {$labelStyle}>\n          {if $phone.phone_type}{$phone.phone_type_display}{else}{ts}Phone{/ts}{/if}\n         </td>\n         <td {$valueStyle}>\n          {$phone.phone}\n         </td>\n        </tr>\n       {/if}\n      {/foreach}\n      {foreach from=$event.location.email item=eventEmail}\n       {if $eventEmail.email}\n        <tr>\n         <td {$labelStyle}>\n          {ts}Email{/ts}\n         </td>\n         <td {$valueStyle}>\n          {$eventEmail.email}\n         </td>\n        </tr>\n       {/if}\n      {/foreach}\n     {/if}\n\n     {if \'{contact.email}\'}\n      <tr>\n       <th {$headerStyle}>\n        {ts}Registered Email{/ts}\n       </th>\n      </tr>\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n        {contact.email}\n       </td>\n      </tr>\n     {/if}\n\n     {if $register_date}\n      <tr>\n       <td {$labelStyle}>\n        {ts}Registration Date{/ts}\n       </td>\n       <td {$valueStyle}>\n        {$participant.register_date|crmDate}\n       </td>\n      </tr>\n     {/if}\n\n    </table>\n   </td>\n  </tr>\n\n  <tr>\n   <td>\n    <p>{ts 1=\'{domain.phone}\' 2=\'{domain.email}\'}Please contact us at %1 or send email to %2 if you have questions.{/ts}</p>\n   </td>\n  </tr>\n\n </table>\n\n</body>\n</html>\n',1,832,'participant_transferred',0,1,0,NULL),
+ (43,'Tell-a-Friend Email','{ts 1=$senderContactName 2=$title}%1 wants you to know about %2{/ts}\n','{$senderMessage}\n\n{if $generalLink}{ts}For more information, visit:{/ts}\n>> {$generalLink}\n\n{/if}\n{if $contribute}{ts}To make a contribution, go to:{/ts}\n>> {$pageURL}\n\n{/if}\n{if $event}{ts}To find out more about this event, go to:{/ts}\n>> {$pageURL}\n{/if}\n\n\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n    <p>{$senderMessage}</p>\n    {if $generalLink}\n     <p><a href=\"{$generalLink}\">{ts}More information{/ts}</a></p>\n    {/if}\n    {if $contribute}\n     <p><a href=\"{$pageURL}\">{ts}Make a contribution{/ts}</a></p>\n    {/if}\n    {if $event}\n     <p><a href=\"{$pageURL}\">{ts}Find out more about this event{/ts}</a></p>\n    {/if}\n   </td>\n  </tr>\n </table>\n\n</body>\n</html>\n',1,833,'friend',1,0,0,NULL),
+ (44,'Tell-a-Friend Email','{ts 1=$senderContactName 2=$title}%1 wants you to know about %2{/ts}\n','{$senderMessage}\n\n{if $generalLink}{ts}For more information, visit:{/ts}\n>> {$generalLink}\n\n{/if}\n{if $contribute}{ts}To make a contribution, go to:{/ts}\n>> {$pageURL}\n\n{/if}\n{if $event}{ts}To find out more about this event, go to:{/ts}\n>> {$pageURL}\n{/if}\n\n\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n    <p>{$senderMessage}</p>\n    {if $generalLink}\n     <p><a href=\"{$generalLink}\">{ts}More information{/ts}</a></p>\n    {/if}\n    {if $contribute}\n     <p><a href=\"{$pageURL}\">{ts}Make a contribution{/ts}</a></p>\n    {/if}\n    {if $event}\n     <p><a href=\"{$pageURL}\">{ts}Find out more about this event{/ts}</a></p>\n    {/if}\n   </td>\n  </tr>\n </table>\n\n</body>\n</html>\n',1,833,'friend',0,1,0,NULL),
+ (45,'Memberships - Signup and Renewal Receipts (off-line)','{if $receiptType EQ \'membership signup\'}\n{ts}Membership Confirmation and Receipt{/ts}\n{elseif $receiptType EQ \'membership renewal\'}\n{ts}Membership Renewal Confirmation and Receipt{/ts}\n{/if} - {contact.display_name}\n','{assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}{$greeting},{/if}\n\n{if !empty($formValues.receipt_text_signup)}\n{$formValues.receipt_text_signup}\n{elseif !empty($formValues.receipt_text_renewal)}\n{$formValues.receipt_text_renewal}\n{else}{ts}Thank you for this contribution.{/ts}{/if}\n\n{if empty($lineItem)}\n===========================================================\n{ts}Membership Information{/ts}\n\n===========================================================\n{ts}Membership Type{/ts}: {$membership_name}\n{/if}\n{if empty($cancelled)}\n{if empty($lineItem)}\n{ts}Membership Start Date{/ts}: {$mem_start_date}\n{ts}Membership End Date{/ts}: {$mem_end_date}\n{/if}\n\n{if $formValues.total_amount OR $formValues.total_amount eq 0 }\n===========================================================\n{ts}Membership Fee{/ts}\n\n===========================================================\n{if !empty($formValues.contributionType_name)}\n{ts}Financial Type{/ts}: {$formValues.contributionType_name}\n{/if}\n{if !empty($lineItem)}\n{foreach from=$lineItem item=value key=priceset}\n{capture assign=ts_item}{ts}Item{/ts}{/capture}\n{capture assign=ts_total}{ts}Fee{/ts}{/capture}\n{if !empty($dataArray)}\n{capture assign=ts_subtotal}{ts}Subtotal{/ts}{/capture}\n{capture assign=ts_taxRate}{ts}Tax Rate{/ts}{/capture}\n{capture assign=ts_taxAmount}{ts}Tax Amount{/ts}{/capture}\n{capture assign=ts_total}{ts}Total{/ts}{/capture}\n{/if}\n{capture assign=ts_start_date}{ts}Membership Start Date{/ts}{/capture}\n{capture assign=ts_end_date}{ts}Membership End Date{/ts}{/capture}\n{$ts_item|string_format:\"%-30s\"} {$ts_total|string_format:\"%10s\"} {if !empty($dataArray)} {$ts_subtotal|string_format:\"%10s\"} {$ts_taxRate|string_format:\"%10s\"} {$ts_taxAmount|string_format:\"%10s\"} {$ts_total|string_format:\"%10s\"} {/if} {$ts_start_date|string_format:\"%20s\"} {$ts_end_date|string_format:\"%20s\"}\n--------------------------------------------------------------------------------------------------\n\n{foreach from=$value item=line}\n{capture assign=ts_item}{if $line.html_type eq \'Text\'}{$line.label}{else}{$line.field_title} - {$line.label}{/if} {if $line.description} {$line.description}{/if}{/capture}{$ts_item|truncate:30:\"...\"|string_format:\"%-30s\"} {$line.line_total|crmMoney|string_format:\"%10s\"}  {if !empty($dataArray)} {$line.unit_price*$line.qty|crmMoney:$currency|string_format:\"%10s\"} {if $line.tax_rate || $line.tax_amount != \"\"}  {$line.tax_rate|string_format:\"%.2f\"} %  {$line.tax_amount|crmMoney:$currency|string_format:\"%10s\"}  {else}                  {/if}   {$line.line_total+$line.tax_amount|crmMoney|string_format:\"%10s\"} {/if} {$line.start_date|string_format:\"%20s\"} {$line.end_date|string_format:\"%20s\"}\n{/foreach}\n{/foreach}\n\n{if !empty($dataArray)}\n{ts}Amount before Tax{/ts}: {$formValues.total_amount-$totalTaxAmount|crmMoney:$currency}\n\n{foreach from=$dataArray item=value key=priceset}\n{if $priceset}\n{$taxTerm} {$priceset|string_format:\"%.2f\"} %: {$value|crmMoney:$currency}\n{elseif  $priceset == 0}\n{ts}No{/ts} {$taxTerm}: {$value|crmMoney:$currency}\n{/if}\n{/foreach}\n{/if}\n--------------------------------------------------------------------------------------------------\n{/if}\n\n{if isset($totalTaxAmount)}\n{ts}Total Tax Amount{/ts}: {$totalTaxAmount|crmMoney:$currency}\n{/if}\n\n{ts}Amount{/ts}: {$formValues.total_amount|crmMoney}\n{if !empty($receive_date)}\n{ts}Date Received{/ts}: {$receive_date|truncate:10:\'\'|crmDate}\n{/if}\n{if !empty($formValues.paidBy)}\n{ts}Paid By{/ts}: {$formValues.paidBy}\n{if !empty($formValues.check_number)}\n{ts}Check Number{/ts}: {$formValues.check_number}\n{/if}\n{/if}\n{/if}\n{/if}\n\n{if !empty($isPrimary) }\n{if !empty($billingName)}\n\n===========================================================\n{ts}Billing Name and Address{/ts}\n\n===========================================================\n{$billingName}\n{$address}\n{/if}\n\n{if !empty($credit_card_type)}\n===========================================================\n{ts}Credit Card Information{/ts}\n\n===========================================================\n{$credit_card_type}\n{$credit_card_number}\n{ts}Expires{/ts}: {$credit_card_exp_date|truncate:7:\'\'|crmDate}\n{/if}\n{/if}\n\n{if !empty($customValues)}\n===========================================================\n{ts}Membership Options{/ts}\n\n===========================================================\n{foreach from=$customValues item=value key=customName}\n {$customName} : {$value}\n{/foreach}\n{/if}\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\"\n        \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n  <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\"/>\n  <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n  <table id=\"crm-event_receipt\"\n         style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n    <!-- BEGIN HEADER -->\n    <!-- You can add table row(s) here with logo or other header elements -->\n    <!-- END HEADER -->\n\n    <!-- BEGIN CONTENT -->\n\n    <tr>\n      <td>\n        {assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}<p>{$greeting},</p>{/if}\n        {if !empty($formValues.receipt_text_signup)}\n          <p>{$formValues.receipt_text_signup|htmlize}</p>\n        {elseif !empty($formValues.receipt_text_renewal)}\n          <p>{$formValues.receipt_text_renewal|htmlize}</p>\n        {else}\n          <p>{ts}Thank you for this contribution.{/ts}</p>\n        {/if}\n      </td>\n    </tr>\n    <tr>\n      <td>\n        <table style=\"border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse; width:100%;\">\n          {if empty($lineItem)}\n            <tr>\n              <th {$headerStyle}>\n                {ts}Membership Information{/ts}\n              </th>\n            </tr>\n            <tr>\n              <td {$labelStyle}>\n                {ts}Membership Type{/ts}\n              </td>\n              <td {$valueStyle}>\n                {$membership_name}\n              </td>\n            </tr>\n          {/if}\n          {if empty($cancelled)}\n            {if empty($lineItem)}\n              <tr>\n                <td {$labelStyle}>\n                  {ts}Membership Start Date{/ts}\n                </td>\n                <td {$valueStyle}>\n                  {$mem_start_date}\n                </td>\n              </tr>\n              <tr>\n                <td {$labelStyle}>\n                  {ts}Membership End Date{/ts}\n                </td>\n                <td {$valueStyle}>\n                  {$mem_end_date}\n                </td>\n              </tr>\n            {/if}\n            {if $formValues.total_amount OR $formValues.total_amount eq 0 }\n              <tr>\n                <th {$headerStyle}>\n                  {ts}Membership Fee{/ts}\n                </th>\n              </tr>\n              {if !empty($formValues.contributionType_name)}\n                <tr>\n                  <td {$labelStyle}>\n                    {ts}Financial Type{/ts}\n                  </td>\n                  <td {$valueStyle}>\n                    {$formValues.contributionType_name}\n                  </td>\n                </tr>\n              {/if}\n\n              {if !empty($lineItem)}\n                {foreach from=$lineItem item=value key=priceset}\n                  <tr>\n                    <td colspan=\"2\" {$valueStyle}>\n                      <table> {* FIXME: style this table so that it looks like the text version (justification, etc.) *}\n                        <tr>\n                          <th>{ts}Item{/ts}</th>\n                          <th>{ts}Fee{/ts}</th>\n                          {if !empty($dataArray)}\n                            <th>{ts}SubTotal{/ts}</th>\n                            <th>{ts}Tax Rate{/ts}</th>\n                            <th>{ts}Tax Amount{/ts}</th>\n                            <th>{ts}Total{/ts}</th>\n                          {/if}\n                          <th>{ts}Membership Start Date{/ts}</th>\n                          <th>{ts}Membership End Date{/ts}</th>\n                        </tr>\n                        {foreach from=$value item=line}\n                          <tr>\n                            <td>\n                              {if $line.html_type eq \'Text\'}{$line.label}{else}{$line.field_title} - {$line.label}{/if} {if $line.description}\n                                <div>{$line.description|truncate:30:\"...\"}</div>{/if}\n                            </td>\n                            <td>\n                              {$line.line_total|crmMoney}\n                            </td>\n                            {if !empty($dataArray)}\n                              <td>\n                                {$line.unit_price*$line.qty|crmMoney}\n                              </td>\n                              {if $line.tax_rate || $line.tax_amount != \"\"}\n                                <td>\n                                  {$line.tax_rate|string_format:\"%.2f\"}%\n                                </td>\n                                <td>\n                                  {$line.tax_amount|crmMoney}\n                                </td>\n                              {else}\n                                <td></td>\n                                <td></td>\n                              {/if}\n                              <td>\n                                {$line.line_total+$line.tax_amount|crmMoney}\n                              </td>\n                            {/if}\n                            <td>\n                              {$line.start_date}\n                            </td>\n                            <td>\n                              {$line.end_date}\n                            </td>\n                          </tr>\n                        {/foreach}\n                      </table>\n                    </td>\n                  </tr>\n                {/foreach}\n                {if !empty($dataArray)}\n                  {if isset($formValues.total_amount) and isset($totalTaxAmount)}\n                  <tr>\n                    <td {$labelStyle}>\n                      {ts}Amount Before Tax:{/ts}\n                    </td>\n                    <td {$valueStyle}>\n                      {$formValues.total_amount-$totalTaxAmount|crmMoney}\n                    </td>\n                  </tr>\n                  {/if}\n                  {foreach from=$dataArray item=value key=priceset}\n                    <tr>\n                      {if $priceset}\n                        <td>&nbsp;{$taxTerm} {$priceset|string_format:\"%.2f\"}%</td>\n                        <td>&nbsp;{$value|crmMoney:$currency}</td>\n                      {elseif  $priceset == 0}\n                        <td>&nbsp;{ts}No{/ts} {$taxTerm}</td>\n                        <td>&nbsp;{$value|crmMoney:$currency}</td>\n                      {/if}\n                    </tr>\n                  {/foreach}\n                {/if}\n              {/if}\n              {if isset($totalTaxAmount)}\n                <tr>\n                  <td {$labelStyle}>\n                    {ts}Total Tax Amount{/ts}\n                  </td>\n                  <td {$valueStyle}>\n                    {$totalTaxAmount|crmMoney:$currency}\n                  </td>\n                </tr>\n              {/if}\n              <tr>\n                <td {$labelStyle}>\n                  {ts}Amount{/ts}\n                </td>\n                <td {$valueStyle}>\n                  {$formValues.total_amount|crmMoney}\n                </td>\n              </tr>\n              {if !empty($receive_date)}\n                <tr>\n                  <td {$labelStyle}>\n                    {ts}Date Received{/ts}\n                  </td>\n                  <td {$valueStyle}>\n                    {$receive_date|truncate:10:\'\'|crmDate}\n                  </td>\n                </tr>\n              {/if}\n              {if !empty($formValues.paidBy)}\n                <tr>\n                  <td {$labelStyle}>\n                    {ts}Paid By{/ts}\n                  </td>\n                  <td {$valueStyle}>\n                    {$formValues.paidBy}\n                  </td>\n                </tr>\n                {if !empty($formValues.check_number)}\n                  <tr>\n                    <td {$labelStyle}>\n                      {ts}Check Number{/ts}\n                    </td>\n                    <td {$valueStyle}>\n                      {$formValues.check_number}\n                    </td>\n                  </tr>\n                {/if}\n              {/if}\n            {/if}\n          {/if}\n        </table>\n      </td>\n    </tr>\n\n    {if !empty($isPrimary)}\n      <tr>\n        <td>\n          <table style=\"border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse; width:100%;\">\n\n            {if !empty($billingName)}\n              <tr>\n                <th {$headerStyle}>\n                  {ts}Billing Name and Address{/ts}\n                </th>\n              </tr>\n              <tr>\n                <td {$labelStyle}>\n                  {$billingName}<br/>\n                  {$address}\n                </td>\n              </tr>\n            {/if}\n\n            {if !empty($credit_card_type)}\n              <tr>\n                <th {$headerStyle}>\n                  {ts}Credit Card Information{/ts}\n                </th>\n              </tr>\n              <tr>\n                <td {$valueStyle}>\n                  {$credit_card_type}<br/>\n                  {$credit_card_number}\n                </td>\n              </tr>\n              <tr>\n                <td {$labelStyle}>\n                  {ts}Expires{/ts}\n                </td>\n                <td {$valueStyle}>\n                  {$credit_card_exp_date|truncate:7:\'\'|crmDate}\n                </td>\n              </tr>\n            {/if}\n\n          </table>\n        </td>\n      </tr>\n    {/if}\n\n    {if !empty($customValues)}\n      <tr>\n        <td>\n          <table style=\"border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse; width:100%;\">\n            <tr>\n              <th {$headerStyle}>\n                {ts}Membership Options{/ts}\n              </th>\n            </tr>\n            {foreach from=$customValues item=value key=customName}\n              <tr>\n                <td {$labelStyle}>\n                  {$customName}\n                </td>\n                <td {$valueStyle}>\n                  {$value}\n                </td>\n              </tr>\n            {/foreach}\n          </table>\n        </td>\n      </tr>\n    {/if}\n\n  </table>\n\n</body>\n</html>\n',1,834,'membership_offline_receipt',1,0,0,NULL),
+ (46,'Memberships - Signup and Renewal Receipts (off-line)','{if $receiptType EQ \'membership signup\'}\n{ts}Membership Confirmation and Receipt{/ts}\n{elseif $receiptType EQ \'membership renewal\'}\n{ts}Membership Renewal Confirmation and Receipt{/ts}\n{/if} - {contact.display_name}\n','{assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}{$greeting},{/if}\n\n{if !empty($formValues.receipt_text_signup)}\n{$formValues.receipt_text_signup}\n{elseif !empty($formValues.receipt_text_renewal)}\n{$formValues.receipt_text_renewal}\n{else}{ts}Thank you for this contribution.{/ts}{/if}\n\n{if empty($lineItem)}\n===========================================================\n{ts}Membership Information{/ts}\n\n===========================================================\n{ts}Membership Type{/ts}: {$membership_name}\n{/if}\n{if empty($cancelled)}\n{if empty($lineItem)}\n{ts}Membership Start Date{/ts}: {$mem_start_date}\n{ts}Membership End Date{/ts}: {$mem_end_date}\n{/if}\n\n{if $formValues.total_amount OR $formValues.total_amount eq 0 }\n===========================================================\n{ts}Membership Fee{/ts}\n\n===========================================================\n{if !empty($formValues.contributionType_name)}\n{ts}Financial Type{/ts}: {$formValues.contributionType_name}\n{/if}\n{if !empty($lineItem)}\n{foreach from=$lineItem item=value key=priceset}\n{capture assign=ts_item}{ts}Item{/ts}{/capture}\n{capture assign=ts_total}{ts}Fee{/ts}{/capture}\n{if !empty($dataArray)}\n{capture assign=ts_subtotal}{ts}Subtotal{/ts}{/capture}\n{capture assign=ts_taxRate}{ts}Tax Rate{/ts}{/capture}\n{capture assign=ts_taxAmount}{ts}Tax Amount{/ts}{/capture}\n{capture assign=ts_total}{ts}Total{/ts}{/capture}\n{/if}\n{capture assign=ts_start_date}{ts}Membership Start Date{/ts}{/capture}\n{capture assign=ts_end_date}{ts}Membership End Date{/ts}{/capture}\n{$ts_item|string_format:\"%-30s\"} {$ts_total|string_format:\"%10s\"} {if !empty($dataArray)} {$ts_subtotal|string_format:\"%10s\"} {$ts_taxRate|string_format:\"%10s\"} {$ts_taxAmount|string_format:\"%10s\"} {$ts_total|string_format:\"%10s\"} {/if} {$ts_start_date|string_format:\"%20s\"} {$ts_end_date|string_format:\"%20s\"}\n--------------------------------------------------------------------------------------------------\n\n{foreach from=$value item=line}\n{capture assign=ts_item}{if $line.html_type eq \'Text\'}{$line.label}{else}{$line.field_title} - {$line.label}{/if} {if $line.description} {$line.description}{/if}{/capture}{$ts_item|truncate:30:\"...\"|string_format:\"%-30s\"} {$line.line_total|crmMoney|string_format:\"%10s\"}  {if !empty($dataArray)} {$line.unit_price*$line.qty|crmMoney:$currency|string_format:\"%10s\"} {if $line.tax_rate || $line.tax_amount != \"\"}  {$line.tax_rate|string_format:\"%.2f\"} %  {$line.tax_amount|crmMoney:$currency|string_format:\"%10s\"}  {else}                  {/if}   {$line.line_total+$line.tax_amount|crmMoney|string_format:\"%10s\"} {/if} {$line.start_date|string_format:\"%20s\"} {$line.end_date|string_format:\"%20s\"}\n{/foreach}\n{/foreach}\n\n{if !empty($dataArray)}\n{ts}Amount before Tax{/ts}: {$formValues.total_amount-$totalTaxAmount|crmMoney:$currency}\n\n{foreach from=$dataArray item=value key=priceset}\n{if $priceset}\n{$taxTerm} {$priceset|string_format:\"%.2f\"} %: {$value|crmMoney:$currency}\n{elseif  $priceset == 0}\n{ts}No{/ts} {$taxTerm}: {$value|crmMoney:$currency}\n{/if}\n{/foreach}\n{/if}\n--------------------------------------------------------------------------------------------------\n{/if}\n\n{if isset($totalTaxAmount)}\n{ts}Total Tax Amount{/ts}: {$totalTaxAmount|crmMoney:$currency}\n{/if}\n\n{ts}Amount{/ts}: {$formValues.total_amount|crmMoney}\n{if !empty($receive_date)}\n{ts}Date Received{/ts}: {$receive_date|truncate:10:\'\'|crmDate}\n{/if}\n{if !empty($formValues.paidBy)}\n{ts}Paid By{/ts}: {$formValues.paidBy}\n{if !empty($formValues.check_number)}\n{ts}Check Number{/ts}: {$formValues.check_number}\n{/if}\n{/if}\n{/if}\n{/if}\n\n{if !empty($isPrimary) }\n{if !empty($billingName)}\n\n===========================================================\n{ts}Billing Name and Address{/ts}\n\n===========================================================\n{$billingName}\n{$address}\n{/if}\n\n{if !empty($credit_card_type)}\n===========================================================\n{ts}Credit Card Information{/ts}\n\n===========================================================\n{$credit_card_type}\n{$credit_card_number}\n{ts}Expires{/ts}: {$credit_card_exp_date|truncate:7:\'\'|crmDate}\n{/if}\n{/if}\n\n{if !empty($customValues)}\n===========================================================\n{ts}Membership Options{/ts}\n\n===========================================================\n{foreach from=$customValues item=value key=customName}\n {$customName} : {$value}\n{/foreach}\n{/if}\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\"\n        \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n  <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\"/>\n  <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n  <table id=\"crm-event_receipt\"\n         style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n    <!-- BEGIN HEADER -->\n    <!-- You can add table row(s) here with logo or other header elements -->\n    <!-- END HEADER -->\n\n    <!-- BEGIN CONTENT -->\n\n    <tr>\n      <td>\n        {assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}<p>{$greeting},</p>{/if}\n        {if !empty($formValues.receipt_text_signup)}\n          <p>{$formValues.receipt_text_signup|htmlize}</p>\n        {elseif !empty($formValues.receipt_text_renewal)}\n          <p>{$formValues.receipt_text_renewal|htmlize}</p>\n        {else}\n          <p>{ts}Thank you for this contribution.{/ts}</p>\n        {/if}\n      </td>\n    </tr>\n    <tr>\n      <td>\n        <table style=\"border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse; width:100%;\">\n          {if empty($lineItem)}\n            <tr>\n              <th {$headerStyle}>\n                {ts}Membership Information{/ts}\n              </th>\n            </tr>\n            <tr>\n              <td {$labelStyle}>\n                {ts}Membership Type{/ts}\n              </td>\n              <td {$valueStyle}>\n                {$membership_name}\n              </td>\n            </tr>\n          {/if}\n          {if empty($cancelled)}\n            {if empty($lineItem)}\n              <tr>\n                <td {$labelStyle}>\n                  {ts}Membership Start Date{/ts}\n                </td>\n                <td {$valueStyle}>\n                  {$mem_start_date}\n                </td>\n              </tr>\n              <tr>\n                <td {$labelStyle}>\n                  {ts}Membership End Date{/ts}\n                </td>\n                <td {$valueStyle}>\n                  {$mem_end_date}\n                </td>\n              </tr>\n            {/if}\n            {if $formValues.total_amount OR $formValues.total_amount eq 0 }\n              <tr>\n                <th {$headerStyle}>\n                  {ts}Membership Fee{/ts}\n                </th>\n              </tr>\n              {if !empty($formValues.contributionType_name)}\n                <tr>\n                  <td {$labelStyle}>\n                    {ts}Financial Type{/ts}\n                  </td>\n                  <td {$valueStyle}>\n                    {$formValues.contributionType_name}\n                  </td>\n                </tr>\n              {/if}\n\n              {if !empty($lineItem)}\n                {foreach from=$lineItem item=value key=priceset}\n                  <tr>\n                    <td colspan=\"2\" {$valueStyle}>\n                      <table> {* FIXME: style this table so that it looks like the text version (justification, etc.) *}\n                        <tr>\n                          <th>{ts}Item{/ts}</th>\n                          <th>{ts}Fee{/ts}</th>\n                          {if !empty($dataArray)}\n                            <th>{ts}SubTotal{/ts}</th>\n                            <th>{ts}Tax Rate{/ts}</th>\n                            <th>{ts}Tax Amount{/ts}</th>\n                            <th>{ts}Total{/ts}</th>\n                          {/if}\n                          <th>{ts}Membership Start Date{/ts}</th>\n                          <th>{ts}Membership End Date{/ts}</th>\n                        </tr>\n                        {foreach from=$value item=line}\n                          <tr>\n                            <td>\n                              {if $line.html_type eq \'Text\'}{$line.label}{else}{$line.field_title} - {$line.label}{/if} {if $line.description}\n                                <div>{$line.description|truncate:30:\"...\"}</div>{/if}\n                            </td>\n                            <td>\n                              {$line.line_total|crmMoney}\n                            </td>\n                            {if !empty($dataArray)}\n                              <td>\n                                {$line.unit_price*$line.qty|crmMoney}\n                              </td>\n                              {if $line.tax_rate || $line.tax_amount != \"\"}\n                                <td>\n                                  {$line.tax_rate|string_format:\"%.2f\"}%\n                                </td>\n                                <td>\n                                  {$line.tax_amount|crmMoney}\n                                </td>\n                              {else}\n                                <td></td>\n                                <td></td>\n                              {/if}\n                              <td>\n                                {$line.line_total+$line.tax_amount|crmMoney}\n                              </td>\n                            {/if}\n                            <td>\n                              {$line.start_date}\n                            </td>\n                            <td>\n                              {$line.end_date}\n                            </td>\n                          </tr>\n                        {/foreach}\n                      </table>\n                    </td>\n                  </tr>\n                {/foreach}\n                {if !empty($dataArray)}\n                  {if isset($formValues.total_amount) and isset($totalTaxAmount)}\n                  <tr>\n                    <td {$labelStyle}>\n                      {ts}Amount Before Tax:{/ts}\n                    </td>\n                    <td {$valueStyle}>\n                      {$formValues.total_amount-$totalTaxAmount|crmMoney}\n                    </td>\n                  </tr>\n                  {/if}\n                  {foreach from=$dataArray item=value key=priceset}\n                    <tr>\n                      {if $priceset}\n                        <td>&nbsp;{$taxTerm} {$priceset|string_format:\"%.2f\"}%</td>\n                        <td>&nbsp;{$value|crmMoney:$currency}</td>\n                      {elseif  $priceset == 0}\n                        <td>&nbsp;{ts}No{/ts} {$taxTerm}</td>\n                        <td>&nbsp;{$value|crmMoney:$currency}</td>\n                      {/if}\n                    </tr>\n                  {/foreach}\n                {/if}\n              {/if}\n              {if isset($totalTaxAmount)}\n                <tr>\n                  <td {$labelStyle}>\n                    {ts}Total Tax Amount{/ts}\n                  </td>\n                  <td {$valueStyle}>\n                    {$totalTaxAmount|crmMoney:$currency}\n                  </td>\n                </tr>\n              {/if}\n              <tr>\n                <td {$labelStyle}>\n                  {ts}Amount{/ts}\n                </td>\n                <td {$valueStyle}>\n                  {$formValues.total_amount|crmMoney}\n                </td>\n              </tr>\n              {if !empty($receive_date)}\n                <tr>\n                  <td {$labelStyle}>\n                    {ts}Date Received{/ts}\n                  </td>\n                  <td {$valueStyle}>\n                    {$receive_date|truncate:10:\'\'|crmDate}\n                  </td>\n                </tr>\n              {/if}\n              {if !empty($formValues.paidBy)}\n                <tr>\n                  <td {$labelStyle}>\n                    {ts}Paid By{/ts}\n                  </td>\n                  <td {$valueStyle}>\n                    {$formValues.paidBy}\n                  </td>\n                </tr>\n                {if !empty($formValues.check_number)}\n                  <tr>\n                    <td {$labelStyle}>\n                      {ts}Check Number{/ts}\n                    </td>\n                    <td {$valueStyle}>\n                      {$formValues.check_number}\n                    </td>\n                  </tr>\n                {/if}\n              {/if}\n            {/if}\n          {/if}\n        </table>\n      </td>\n    </tr>\n\n    {if !empty($isPrimary)}\n      <tr>\n        <td>\n          <table style=\"border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse; width:100%;\">\n\n            {if !empty($billingName)}\n              <tr>\n                <th {$headerStyle}>\n                  {ts}Billing Name and Address{/ts}\n                </th>\n              </tr>\n              <tr>\n                <td {$labelStyle}>\n                  {$billingName}<br/>\n                  {$address}\n                </td>\n              </tr>\n            {/if}\n\n            {if !empty($credit_card_type)}\n              <tr>\n                <th {$headerStyle}>\n                  {ts}Credit Card Information{/ts}\n                </th>\n              </tr>\n              <tr>\n                <td {$valueStyle}>\n                  {$credit_card_type}<br/>\n                  {$credit_card_number}\n                </td>\n              </tr>\n              <tr>\n                <td {$labelStyle}>\n                  {ts}Expires{/ts}\n                </td>\n                <td {$valueStyle}>\n                  {$credit_card_exp_date|truncate:7:\'\'|crmDate}\n                </td>\n              </tr>\n            {/if}\n\n          </table>\n        </td>\n      </tr>\n    {/if}\n\n    {if !empty($customValues)}\n      <tr>\n        <td>\n          <table style=\"border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse; width:100%;\">\n            <tr>\n              <th {$headerStyle}>\n                {ts}Membership Options{/ts}\n              </th>\n            </tr>\n            {foreach from=$customValues item=value key=customName}\n              <tr>\n                <td {$labelStyle}>\n                  {$customName}\n                </td>\n                <td {$valueStyle}>\n                  {$value}\n                </td>\n              </tr>\n            {/foreach}\n          </table>\n        </td>\n      </tr>\n    {/if}\n\n  </table>\n\n</body>\n</html>\n',1,834,'membership_offline_receipt',0,1,0,NULL),
+ (47,'Memberships - Receipt (on-line)','{if $is_pay_later}{ts}Invoice{/ts}{else}{ts}Receipt{/ts}{/if} - {$title} - {contact.display_name}\n','{assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}{$greeting},{/if}\n{if !empty($receipt_text)}\n{$receipt_text}\n{/if}\n{if $is_pay_later}\n\n===========================================================\n{if isset($pay_later_receipt)}{$pay_later_receipt}{/if}\n===========================================================\n{/if}\n\n{if $membership_assign && !$useForMember}\n===========================================================\n{ts}Membership Information{/ts}\n\n===========================================================\n{ts}Membership Type{/ts}: {$membership_name}\n{if $mem_start_date}{ts}Membership Start Date{/ts}: {$mem_start_date|crmDate}\n{/if}\n{if $mem_end_date}{ts}Membership End Date{/ts}: {$mem_end_date|crmDate}\n{/if}\n\n{/if}\n{if $amount}\n===========================================================\n{ts}Membership Fee{/ts}\n\n===========================================================\n{if !$useForMember && isset($membership_amount) && !empty($is_quick_config)}\n{ts 1=$membership_name}%1 Membership{/ts}: {$membership_amount|crmMoney}\n{if $amount && !$is_separate_payment }\n{ts}Contribution Amount{/ts}: {$amount|crmMoney}\n-------------------------------------------\n{ts}Total{/ts}: {$amount+$membership_amount|crmMoney}\n{/if}\n{elseif !$useForMember && !empty($lineItem) and !empty($priceSetID) & empty($is_quick_config)}\n{foreach from=$lineItem item=value key=priceset}\n---------------------------------------------------------\n{capture assign=ts_item}{ts}Item{/ts}{/capture}\n{capture assign=ts_qty}{ts}Qty{/ts}{/capture}\n{capture assign=ts_each}{ts}Each{/ts}{/capture}\n{capture assign=ts_total}{ts}Total{/ts}{/capture}\n{$ts_item|string_format:\"%-30s\"} {$ts_qty|string_format:\"%5s\"} {$ts_each|string_format:\"%10s\"} {$ts_total|string_format:\"%10s\"}\n----------------------------------------------------------\n{foreach from=$value item=line}\n{$line.description|truncate:30:\"...\"|string_format:\"%-30s\"} {$line.qty|string_format:\"%5s\"} {$line.unit_price|crmMoney|string_format:\"%10s\"} {$line.line_total|crmMoney|string_format:\"%10s\"}\n{/foreach}\n{/foreach}\n\n{ts}Total Amount{/ts}: {$amount|crmMoney}\n{else}\n{if $useForMember && $lineItem && empty($is_quick_config)}\n{foreach from=$lineItem item=value key=priceset}\n{capture assign=ts_item}{ts}Item{/ts}{/capture}\n{capture assign=ts_total}{ts}Fee{/ts}{/capture}\n{if !empty($dataArray)}\n{capture assign=ts_subtotal}{ts}Subtotal{/ts}{/capture}\n{capture assign=ts_taxRate}{ts}Tax Rate{/ts}{/capture}\n{capture assign=ts_taxAmount}{ts}Tax Amount{/ts}{/capture}\n{capture assign=ts_total}{ts}Total{/ts}{/capture}\n{/if}\n{capture assign=ts_start_date}{ts}Membership Start Date{/ts}{/capture}\n{capture assign=ts_end_date}{ts}Membership End Date{/ts}{/capture}\n{$ts_item|string_format:\"%-30s\"} {$ts_total|string_format:\"%10s\"} {if !empty($dataArray)} {$ts_subtotal|string_format:\"%10s\"} {$ts_taxRate|string_format:\"%10s\"} {$ts_taxAmount|string_format:\"%10s\"} {$ts_total|string_format:\"%10s\"} {/if} {$ts_start_date|string_format:\"%20s\"} {$ts_end_date|string_format:\"%20s\"}\n--------------------------------------------------------------------------------------------------\n\n{foreach from=$value item=line}\n{capture assign=ts_item}{if $line.html_type eq \'Text\'}{$line.label}{else}{$line.field_title} - {$line.label}{/if} {if $line.description} {$line.description}{/if}{/capture}{$ts_item|truncate:30:\"...\"|string_format:\"%-30s\"} {$line.line_total|crmMoney|string_format:\"%10s\"}  {if !empty($dataArray)} {$line.unit_price*$line.qty|crmMoney:$currency|string_format:\"%10s\"} {if $line.tax_rate || $line.tax_amount != \"\"}  {$line.tax_rate|string_format:\"%.2f\"} %  {$line.tax_amount|crmMoney:$currency|string_format:\"%10s\"} {else}                  {/if}   {$line.line_total+$line.tax_amount|crmMoney|string_format:\"%10s\"} {/if} {$line.start_date|string_format:\"%20s\"} {$line.end_date|string_format:\"%20s\"}\n{/foreach}\n{/foreach}\n\n{if !empty($dataArray)}\n{ts}Amount before Tax{/ts}: {$amount-$totalTaxAmount|crmMoney:$currency}\n\n{foreach from=$dataArray item=value key=priceset}\n{if $priceset || $priceset == 0}\n{$taxTerm} {$priceset|string_format:\"%.2f\"}%: {$value|crmMoney:$currency}\n{else}\n{ts}No{/ts} {$taxTerm}: {$value|crmMoney:$currency}\n{/if}\n{/foreach}\n{/if}\n--------------------------------------------------------------------------------------------------\n{/if}\n\n{if isset($totalTaxAmount)}\n{ts}Total Tax Amount{/ts}: {$totalTaxAmount|crmMoney:$currency}\n{/if}\n\n{ts}Amount{/ts}: {$amount|crmMoney} {if isset($amount_level) } - {$amount_level} {/if}\n{/if}\n{elseif isset($membership_amount)}\n===========================================================\n{ts}Membership Fee{/ts}\n\n===========================================================\n{ts 1=$membership_name}%1 Membership{/ts}: {$membership_amount|crmMoney}\n{/if}\n\n{if !empty($receive_date)}\n\n{ts}Date{/ts}: {$receive_date|crmDate}\n{/if}\n{if !empty($is_monetary) and !empty($trxn_id)}\n{ts}Transaction #{/ts}: {$trxn_id}\n\n{/if}\n{if !empty($membership_trx_id)}\n{ts}Membership Transaction #{/ts}: {$membership_trx_id}\n\n{/if}\n{if !empty($is_recur)}\n{ts}This membership will be renewed automatically.{/ts}\n{if $cancelSubscriptionUrl}\n\n{ts 1=$cancelSubscriptionUrl}You can cancel the auto-renewal option by visiting this web page: %1.{/ts}\n\n{/if}\n\n{if $updateSubscriptionBillingUrl}\n\n{ts 1=$updateSubscriptionBillingUrl}You can update billing details for this automatically renewed membership by <a href=\"%1\">visiting this web page</a>.{/ts}\n{/if}\n{/if}\n\n{if $honor_block_is_active }\n===========================================================\n{$soft_credit_type}\n===========================================================\n{foreach from=$honoreeProfile item=value key=label}\n{$label}: {$value}\n{/foreach}\n\n{/if}\n{if !empty($pcpBlock)}\n===========================================================\n{ts}Personal Campaign Page{/ts}\n\n===========================================================\n{ts}Display In Honor Roll{/ts}: {if $pcp_display_in_roll}{ts}Yes{/ts}{else}{ts}No{/ts}{/if}\n\n{if $pcp_roll_nickname}{ts}Nickname{/ts}: {$pcp_roll_nickname}{/if}\n\n{if $pcp_personal_note}{ts}Personal Note{/ts}: {$pcp_personal_note}{/if}\n\n{/if}\n{if !empty($onBehalfProfile)}\n===========================================================\n{ts}On Behalf Of{/ts}\n\n===========================================================\n{foreach from=$onBehalfProfile item=onBehalfValue key=onBehalfName}\n{$onBehalfName}: {$onBehalfValue}\n{/foreach}\n{/if}\n\n{if !empty($billingName)}\n===========================================================\n{ts}Billing Name and Address{/ts}\n\n===========================================================\n{$billingName}\n{$address}\n\n{$email}\n{elseif !empty($email)}\n===========================================================\n{ts}Registered Email{/ts}\n\n===========================================================\n{$email}\n{/if} {* End billingName or email *}\n{if !empty($credit_card_type)}\n\n===========================================================\n{ts}Credit Card Information{/ts}\n\n===========================================================\n{$credit_card_type}\n{$credit_card_number}\n{ts}Expires{/ts}: {$credit_card_exp_date|truncate:7:\'\'|crmDate}\n{/if}\n\n{if !empty($selectPremium)}\n===========================================================\n{ts}Premium Information{/ts}\n\n===========================================================\n{$product_name}\n{if $option}\n{ts}Option{/ts}: {$option}\n{/if}\n{if $sku}\n{ts}SKU{/ts}: {$sku}\n{/if}\n{if $start_date}\n{ts}Start Date{/ts}: {$start_date|crmDate}\n{/if}\n{if $end_date}\n{ts}End Date{/ts}: {$end_date|crmDate}\n{/if}\n{if !empty($contact_email) OR !empty($contact_phone)}\n\n{ts}For information about this premium, contact:{/ts}\n\n{if !empty($contact_email)}\n  {$contact_email}\n{/if}\n{if !empty($contact_phone)}\n  {$contact_phone}\n{/if}\n{/if}\n{if !empty($is_deductible) AND !empty($price)}\n\n{ts 1=$price|crmMoney}The value of this premium is %1. This may affect the amount of the tax deduction you can claim. Consult your tax advisor for more information.{/ts}{/if}\n{/if}\n\n{if !empty($customPre)}\n===========================================================\n{$customPre_grouptitle}\n\n===========================================================\n{foreach from=$customPre item=customValue key=customName}\n{if ( !empty($trackingFields) and ! in_array( $customName, $trackingFields ) ) or empty($trackingFields)}\n {$customName}: {$customValue}\n{/if}\n{/foreach}\n{/if}\n\n\n{if !empty($customPost)}\n===========================================================\n{$customPost_grouptitle}\n\n===========================================================\n{foreach from=$customPost item=customValue key=customName}\n{if ( !empty($trackingFields) and ! in_array( $customName, $trackingFields ) ) or empty($trackingFields)}\n {$customName}: {$customValue}\n{/if}\n{/foreach}\n{/if}\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n     {assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}<p>{$greeting},</p>{/if}\n    {if !empty($receipt_text)}\n     <p>{$receipt_text|htmlize}</p>\n    {/if}\n\n    {if $is_pay_later}\n     <p>{if isset($pay_later_receipt)}{$pay_later_receipt}{/if}</p> {* FIXME: this might be text rather than HTML *}\n    {/if}\n\n   </td>\n  </tr>\n  </table>\n  <table style=\"width:100%; max-width:500px; border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse;\">\n\n     {if $membership_assign && !$useForMember}\n      <tr>\n       <th {$headerStyle}>\n        {ts}Membership Information{/ts}\n       </th>\n      </tr>\n      <tr>\n       <td {$labelStyle}>\n        {ts}Membership Type{/ts}\n       </td>\n       <td {$valueStyle}>\n        {$membership_name}\n       </td>\n      </tr>\n      {if $mem_start_date}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Membership Start Date{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$mem_start_date|crmDate}\n        </td>\n       </tr>\n      {/if}\n      {if $mem_end_date}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Membership End Date{/ts}\n        </td>\n        <td {$valueStyle}>\n          {$mem_end_date|crmDate}\n        </td>\n       </tr>\n      {/if}\n     {/if}\n\n\n     {if $amount}\n      <tr>\n       <th {$headerStyle}>\n        {ts}Membership Fee{/ts}\n       </th>\n      </tr>\n\n      {if !$useForMember and isset($membership_amount) and !empty($is_quick_config)}\n\n       <tr>\n        <td {$labelStyle}>\n         {ts 1=$membership_name}%1 Membership{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$membership_amount|crmMoney}\n        </td>\n       </tr>\n       {if $amount && !$is_separate_payment }\n         <tr>\n          <td {$labelStyle}>\n           {ts}Contribution Amount{/ts}\n          </td>\n          <td {$valueStyle}>\n           {$amount|crmMoney}\n          </td>\n         </tr>\n         <tr>\n           <td {$labelStyle}>\n           {ts}Total{/ts}\n            </td>\n            <td {$valueStyle}>\n            {$amount+$membership_amount|crmMoney}\n           </td>\n         </tr>\n       {/if}\n\n      {elseif empty($useForMember) && !empty($lineItem) and $priceSetID and empty($is_quick_config)}\n\n       {foreach from=$lineItem item=value key=priceset}\n        <tr>\n         <td colspan=\"2\" {$valueStyle}>\n          <table> {* FIXME: style this table so that it looks like the text version (justification, etc.) *}\n           <tr>\n            <th>{ts}Item{/ts}</th>\n            <th>{ts}Qty{/ts}</th>\n            <th>{ts}Each{/ts}</th>\n            <th>{ts}Total{/ts}</th>\n           </tr>\n           {foreach from=$value item=line}\n            <tr>\n             <td>\n              {$line.description|truncate:30:\"...\"}\n             </td>\n             <td>\n              {$line.qty}\n             </td>\n             <td>\n              {$line.unit_price|crmMoney}\n             </td>\n             <td>\n              {$line.line_total|crmMoney}\n             </td>\n            </tr>\n           {/foreach}\n          </table>\n         </td>\n        </tr>\n       {/foreach}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Total Amount{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$amount|crmMoney}\n        </td>\n       </tr>\n\n      {else}\n       {if $useForMember && $lineItem and empty($is_quick_config)}\n       {foreach from=$lineItem item=value key=priceset}\n        <tr>\n         <td colspan=\"2\" {$valueStyle}>\n          <table> {* FIXME: style this table so that it looks like the text version (justification, etc.) *}\n           <tr>\n            <th>{ts}Item{/ts}</th>\n            <th>{ts}Fee{/ts}</th>\n            {if !empty($dataArray)}\n              <th>{ts}SubTotal{/ts}</th>\n              <th>{ts}Tax Rate{/ts}</th>\n              <th>{ts}Tax Amount{/ts}</th>\n              <th>{ts}Total{/ts}</th>\n            {/if}\n      <th>{ts}Membership Start Date{/ts}</th>\n      <th>{ts}Membership End Date{/ts}</th>\n           </tr>\n           {foreach from=$value item=line}\n            <tr>\n             <td>\n             {if $line.html_type eq \'Text\'}{$line.label}{else}{$line.field_title} - {$line.label}{/if} {if $line.description}<div>{$line.description|truncate:30:\"...\"}</div>{/if}\n             </td>\n             <td>\n              {$line.line_total|crmMoney}\n             </td>\n             {if !empty($dataArray)}\n              <td>\n               {$line.unit_price*$line.qty|crmMoney}\n              </td>\n              {if ($line.tax_rate || $line.tax_amount != \"\")}\n               <td>\n                {$line.tax_rate|string_format:\"%.2f\"}%\n               </td>\n               <td>\n                {$line.tax_amount|crmMoney}\n               </td>\n              {else}\n               <td></td>\n               <td></td>\n              {/if}\n              <td>\n               {$line.line_total+$line.tax_amount|crmMoney}\n              </td>\n             {/if}\n             <td>\n              {$line.start_date}\n             </td>\n       <td>\n              {$line.end_date}\n             </td>\n            </tr>\n           {/foreach}\n          </table>\n         </td>\n        </tr>\n       {/foreach}\n       {if !empty($dataArray)}\n        <tr>\n         <td {$labelStyle}>\n          {ts}Amount Before Tax:{/ts}\n         </td>\n         <td {$valueStyle}>\n          {$amount-$totalTaxAmount|crmMoney}\n         </td>\n        </tr>\n        {foreach from=$dataArray item=value key=priceset}\n         <tr>\n         {if $priceset || $priceset == 0}\n           <td>&nbsp;{$taxTerm} {$priceset|string_format:\"%.2f\"}%</td>\n           <td>&nbsp;{$value|crmMoney:$currency}</td>\n         {else}\n           <td>&nbsp;{ts}NO{/ts} {$taxTerm}</td>\n           <td>&nbsp;{$value|crmMoney:$currency}</td>\n         {/if}\n         </tr>\n        {/foreach}\n       {/if}\n       {/if}\n       {if isset($totalTaxAmount)}\n        <tr>\n         <td {$labelStyle}>\n          {ts}Total Tax Amount{/ts}\n         </td>\n         <td {$valueStyle}>\n          {$totalTaxAmount|crmMoney:$currency}\n         </td>\n        </tr>\n       {/if}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Amount{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$amount|crmMoney} {if isset($amount_level)} - {$amount_level}{/if}\n        </td>\n       </tr>\n\n      {/if}\n\n\n     {elseif isset($membership_amount)}\n\n\n      <tr>\n       <th {$headerStyle}>\n        {ts}Membership Fee{/ts}\n       </th>\n      </tr>\n      <tr>\n       <td {$labelStyle}>\n        {ts 1=$membership_name}%1 Membership{/ts}\n       </td>\n       <td {$valueStyle}>\n        {$membership_amount|crmMoney}\n       </td>\n      </tr>\n\n\n     {/if}\n\n     {if !empty($receive_date)}\n      <tr>\n       <td {$labelStyle}>\n        {ts}Date{/ts}\n       </td>\n       <td {$valueStyle}>\n        {$receive_date|crmDate}\n       </td>\n      </tr>\n     {/if}\n\n     {if !empty($is_monetary) and !empty($trxn_id)}\n      <tr>\n       <td {$labelStyle}>\n        {ts}Transaction #{/ts}\n       </td>\n       <td {$valueStyle}>\n        {$trxn_id}\n       </td>\n      </tr>\n     {/if}\n\n     {if !empty($membership_trx_id)}\n      <tr>\n       <td {$labelStyle}>\n        {ts}Membership Transaction #{/ts}\n       </td>\n       <td {$valueStyle}>\n        {$membership_trx_id}\n       </td>\n      </tr>\n     {/if}\n     {if !empty($is_recur)}\n       <tr>\n        <td colspan=\"2\" {$labelStyle}>\n         {ts}This membership will be renewed automatically.{/ts}\n         {if $cancelSubscriptionUrl}\n           {ts 1=$cancelSubscriptionUrl}You can cancel the auto-renewal option by <a href=\"%1\">visiting this web page</a>.{/ts}\n         {/if}\n        </td>\n       </tr>\n       {if $updateSubscriptionBillingUrl}\n         <tr>\n          <td colspan=\"2\" {$labelStyle}>\n           {ts 1=$updateSubscriptionBillingUrl}You can update billing details for this automatically renewed membership by <a href=\"%1\">visiting this web page</a>.{/ts}\n          </td>\n         </tr>\n       {/if}\n     {/if}\n\n     {if $honor_block_is_active}\n      <tr>\n       <th {$headerStyle}>\n        {$soft_credit_type}\n       </th>\n      </tr>\n      {foreach from=$honoreeProfile item=value key=label}\n        <tr>\n         <td {$labelStyle}>\n          {$label}\n         </td>\n         <td {$valueStyle}>\n          {$value}\n         </td>\n        </tr>\n      {/foreach}\n     {/if}\n\n     {if !empty($pcpBlock)}\n      <tr>\n       <th {$headerStyle}>\n        {ts}Personal Campaign Page{/ts}\n       </th>\n      </tr>\n      <tr>\n       <td {$labelStyle}>\n        {ts}Display In Honor Roll{/ts}\n       </td>\n       <td {$valueStyle}>\n        {if $pcp_display_in_roll}{ts}Yes{/ts}{else}{ts}No{/ts}{/if}\n       </td>\n      </tr>\n      {if $pcp_roll_nickname}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Nickname{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$pcp_roll_nickname}\n        </td>\n       </tr>\n      {/if}\n      {if $pcp_personal_note}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Personal Note{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$pcp_personal_note}\n        </td>\n       </tr>\n      {/if}\n     {/if}\n\n     {if !empty($onBehalfProfile)}\n      <tr>\n       <th {$headerStyle}>\n        {$onBehalfProfile_grouptitle}\n       </th>\n      </tr>\n      {foreach from=$onBehalfProfile item=onBehalfValue key=onBehalfName}\n        <tr>\n         <td {$labelStyle}>\n          {$onBehalfName}\n         </td>\n         <td {$valueStyle}>\n          {$onBehalfValue}\n         </td>\n        </tr>\n      {/foreach}\n     {/if}\n\n     {if !empty($billingName)}\n       <tr>\n         <th {$headerStyle}>\n           {ts}Billing Name and Address{/ts}\n         </th>\n      </tr>\n      <tr>\n        <td colspan=\"2\" {$valueStyle}>\n          {$billingName}<br />\n          {$address|nl2br}<br />\n          {$email}\n        </td>\n      </tr>\n    {elseif !empty($email)}\n      <tr>\n        <th {$headerStyle}>\n          {ts}Registered Email{/ts}\n        </th>\n      </tr>\n      <tr>\n        <td colspan=\"2\" {$valueStyle}>\n          {$email}\n        </td>\n      </tr>\n    {/if}\n\n     {if !empty($credit_card_type)}\n      <tr>\n       <th {$headerStyle}>\n        {ts}Credit Card Information{/ts}\n       </th>\n      </tr>\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n        {$credit_card_type}<br />\n        {$credit_card_number}<br />\n        {ts}Expires{/ts}: {$credit_card_exp_date|truncate:7:\'\'|crmDate}<br />\n       </td>\n      </tr>\n     {/if}\n\n     {if !empty($selectPremium)}\n      <tr>\n       <th {$headerStyle}>\n        {ts}Premium Information{/ts}\n       </th>\n      </tr>\n      <tr>\n       <td colspan=\"2\" {$labelStyle}>\n        {$product_name}\n       </td>\n      </tr>\n      {if $option}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Option{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$option}\n        </td>\n       </tr>\n      {/if}\n      {if $sku}\n       <tr>\n        <td {$labelStyle}>\n         {ts}SKU{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$sku}\n        </td>\n       </tr>\n      {/if}\n      {if $start_date}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Start Date{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$start_date|crmDate}\n        </td>\n       </tr>\n      {/if}\n      {if $end_date}\n       <tr>\n        <td {$labelStyle}>\n         {ts}End Date{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$end_date|crmDate}\n        </td>\n       </tr>\n      {/if}\n      {if !empty($contact_email) OR !empty($contact_phone)}\n       <tr>\n        <td colspan=\"2\" {$valueStyle}>\n         <p>{ts}For information about this premium, contact:{/ts}</p>\n         {if !empty($contact_email)}\n          <p>{$contact_email}</p>\n         {/if}\n         {if !empty($contact_phone)}\n          <p>{$contact_phone}</p>\n         {/if}\n        </td>\n       </tr>\n      {/if}\n      {if !empty($is_deductible) AND !empty($price)}\n        <tr>\n         <td colspan=\"2\" {$valueStyle}>\n          <p>{ts 1=$price|crmMoney}The value of this premium is %1. This may affect the amount of the tax deduction you can claim. Consult your tax advisor for more information.{/ts}</p>\n         </td>\n        </tr>\n      {/if}\n     {/if}\n\n     {if !empty($customPre)}\n      <tr>\n       <th {$headerStyle}>\n        {$customPre_grouptitle}\n       </th>\n      </tr>\n      {foreach from=$customPre item=customValue key=customName}\n       {if (!empty($trackingFields) and ! in_array($customName, $trackingFields)) or empty($trackingFields)}\n        <tr>\n         <td {$labelStyle}>\n          {$customName}\n         </td>\n         <td {$valueStyle}>\n          {$customValue}\n         </td>\n        </tr>\n       {/if}\n      {/foreach}\n     {/if}\n\n     {if !empty($customPost)}\n      <tr>\n       <th {$headerStyle}>\n        {$customPost_grouptitle}\n       </th>\n      </tr>\n      {foreach from=$customPost item=customValue key=customName}\n       {if (!empty($trackingFields) and ! in_array($customName, $trackingFields)) or empty($trackingFields)}\n        <tr>\n         <td {$labelStyle}>\n          {$customName}\n         </td>\n         <td {$valueStyle}>\n          {$customValue}\n         </td>\n        </tr>\n       {/if}\n      {/foreach}\n     {/if}\n\n  </table>\n\n</body>\n</html>\n',1,835,'membership_online_receipt',1,0,0,NULL),
+ (48,'Memberships - Receipt (on-line)','{if $is_pay_later}{ts}Invoice{/ts}{else}{ts}Receipt{/ts}{/if} - {$title} - {contact.display_name}\n','{assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}{$greeting},{/if}\n{if !empty($receipt_text)}\n{$receipt_text}\n{/if}\n{if $is_pay_later}\n\n===========================================================\n{if isset($pay_later_receipt)}{$pay_later_receipt}{/if}\n===========================================================\n{/if}\n\n{if $membership_assign && !$useForMember}\n===========================================================\n{ts}Membership Information{/ts}\n\n===========================================================\n{ts}Membership Type{/ts}: {$membership_name}\n{if $mem_start_date}{ts}Membership Start Date{/ts}: {$mem_start_date|crmDate}\n{/if}\n{if $mem_end_date}{ts}Membership End Date{/ts}: {$mem_end_date|crmDate}\n{/if}\n\n{/if}\n{if $amount}\n===========================================================\n{ts}Membership Fee{/ts}\n\n===========================================================\n{if !$useForMember && isset($membership_amount) && !empty($is_quick_config)}\n{ts 1=$membership_name}%1 Membership{/ts}: {$membership_amount|crmMoney}\n{if $amount && !$is_separate_payment }\n{ts}Contribution Amount{/ts}: {$amount|crmMoney}\n-------------------------------------------\n{ts}Total{/ts}: {$amount+$membership_amount|crmMoney}\n{/if}\n{elseif !$useForMember && !empty($lineItem) and !empty($priceSetID) & empty($is_quick_config)}\n{foreach from=$lineItem item=value key=priceset}\n---------------------------------------------------------\n{capture assign=ts_item}{ts}Item{/ts}{/capture}\n{capture assign=ts_qty}{ts}Qty{/ts}{/capture}\n{capture assign=ts_each}{ts}Each{/ts}{/capture}\n{capture assign=ts_total}{ts}Total{/ts}{/capture}\n{$ts_item|string_format:\"%-30s\"} {$ts_qty|string_format:\"%5s\"} {$ts_each|string_format:\"%10s\"} {$ts_total|string_format:\"%10s\"}\n----------------------------------------------------------\n{foreach from=$value item=line}\n{$line.description|truncate:30:\"...\"|string_format:\"%-30s\"} {$line.qty|string_format:\"%5s\"} {$line.unit_price|crmMoney|string_format:\"%10s\"} {$line.line_total|crmMoney|string_format:\"%10s\"}\n{/foreach}\n{/foreach}\n\n{ts}Total Amount{/ts}: {$amount|crmMoney}\n{else}\n{if $useForMember && $lineItem && empty($is_quick_config)}\n{foreach from=$lineItem item=value key=priceset}\n{capture assign=ts_item}{ts}Item{/ts}{/capture}\n{capture assign=ts_total}{ts}Fee{/ts}{/capture}\n{if !empty($dataArray)}\n{capture assign=ts_subtotal}{ts}Subtotal{/ts}{/capture}\n{capture assign=ts_taxRate}{ts}Tax Rate{/ts}{/capture}\n{capture assign=ts_taxAmount}{ts}Tax Amount{/ts}{/capture}\n{capture assign=ts_total}{ts}Total{/ts}{/capture}\n{/if}\n{capture assign=ts_start_date}{ts}Membership Start Date{/ts}{/capture}\n{capture assign=ts_end_date}{ts}Membership End Date{/ts}{/capture}\n{$ts_item|string_format:\"%-30s\"} {$ts_total|string_format:\"%10s\"} {if !empty($dataArray)} {$ts_subtotal|string_format:\"%10s\"} {$ts_taxRate|string_format:\"%10s\"} {$ts_taxAmount|string_format:\"%10s\"} {$ts_total|string_format:\"%10s\"} {/if} {$ts_start_date|string_format:\"%20s\"} {$ts_end_date|string_format:\"%20s\"}\n--------------------------------------------------------------------------------------------------\n\n{foreach from=$value item=line}\n{capture assign=ts_item}{if $line.html_type eq \'Text\'}{$line.label}{else}{$line.field_title} - {$line.label}{/if} {if $line.description} {$line.description}{/if}{/capture}{$ts_item|truncate:30:\"...\"|string_format:\"%-30s\"} {$line.line_total|crmMoney|string_format:\"%10s\"}  {if !empty($dataArray)} {$line.unit_price*$line.qty|crmMoney:$currency|string_format:\"%10s\"} {if $line.tax_rate || $line.tax_amount != \"\"}  {$line.tax_rate|string_format:\"%.2f\"} %  {$line.tax_amount|crmMoney:$currency|string_format:\"%10s\"} {else}                  {/if}   {$line.line_total+$line.tax_amount|crmMoney|string_format:\"%10s\"} {/if} {$line.start_date|string_format:\"%20s\"} {$line.end_date|string_format:\"%20s\"}\n{/foreach}\n{/foreach}\n\n{if !empty($dataArray)}\n{ts}Amount before Tax{/ts}: {$amount-$totalTaxAmount|crmMoney:$currency}\n\n{foreach from=$dataArray item=value key=priceset}\n{if $priceset || $priceset == 0}\n{$taxTerm} {$priceset|string_format:\"%.2f\"}%: {$value|crmMoney:$currency}\n{else}\n{ts}No{/ts} {$taxTerm}: {$value|crmMoney:$currency}\n{/if}\n{/foreach}\n{/if}\n--------------------------------------------------------------------------------------------------\n{/if}\n\n{if isset($totalTaxAmount)}\n{ts}Total Tax Amount{/ts}: {$totalTaxAmount|crmMoney:$currency}\n{/if}\n\n{ts}Amount{/ts}: {$amount|crmMoney} {if isset($amount_level) } - {$amount_level} {/if}\n{/if}\n{elseif isset($membership_amount)}\n===========================================================\n{ts}Membership Fee{/ts}\n\n===========================================================\n{ts 1=$membership_name}%1 Membership{/ts}: {$membership_amount|crmMoney}\n{/if}\n\n{if !empty($receive_date)}\n\n{ts}Date{/ts}: {$receive_date|crmDate}\n{/if}\n{if !empty($is_monetary) and !empty($trxn_id)}\n{ts}Transaction #{/ts}: {$trxn_id}\n\n{/if}\n{if !empty($membership_trx_id)}\n{ts}Membership Transaction #{/ts}: {$membership_trx_id}\n\n{/if}\n{if !empty($is_recur)}\n{ts}This membership will be renewed automatically.{/ts}\n{if $cancelSubscriptionUrl}\n\n{ts 1=$cancelSubscriptionUrl}You can cancel the auto-renewal option by visiting this web page: %1.{/ts}\n\n{/if}\n\n{if $updateSubscriptionBillingUrl}\n\n{ts 1=$updateSubscriptionBillingUrl}You can update billing details for this automatically renewed membership by <a href=\"%1\">visiting this web page</a>.{/ts}\n{/if}\n{/if}\n\n{if $honor_block_is_active }\n===========================================================\n{$soft_credit_type}\n===========================================================\n{foreach from=$honoreeProfile item=value key=label}\n{$label}: {$value}\n{/foreach}\n\n{/if}\n{if !empty($pcpBlock)}\n===========================================================\n{ts}Personal Campaign Page{/ts}\n\n===========================================================\n{ts}Display In Honor Roll{/ts}: {if $pcp_display_in_roll}{ts}Yes{/ts}{else}{ts}No{/ts}{/if}\n\n{if $pcp_roll_nickname}{ts}Nickname{/ts}: {$pcp_roll_nickname}{/if}\n\n{if $pcp_personal_note}{ts}Personal Note{/ts}: {$pcp_personal_note}{/if}\n\n{/if}\n{if !empty($onBehalfProfile)}\n===========================================================\n{ts}On Behalf Of{/ts}\n\n===========================================================\n{foreach from=$onBehalfProfile item=onBehalfValue key=onBehalfName}\n{$onBehalfName}: {$onBehalfValue}\n{/foreach}\n{/if}\n\n{if !empty($billingName)}\n===========================================================\n{ts}Billing Name and Address{/ts}\n\n===========================================================\n{$billingName}\n{$address}\n\n{$email}\n{elseif !empty($email)}\n===========================================================\n{ts}Registered Email{/ts}\n\n===========================================================\n{$email}\n{/if} {* End billingName or email *}\n{if !empty($credit_card_type)}\n\n===========================================================\n{ts}Credit Card Information{/ts}\n\n===========================================================\n{$credit_card_type}\n{$credit_card_number}\n{ts}Expires{/ts}: {$credit_card_exp_date|truncate:7:\'\'|crmDate}\n{/if}\n\n{if !empty($selectPremium)}\n===========================================================\n{ts}Premium Information{/ts}\n\n===========================================================\n{$product_name}\n{if $option}\n{ts}Option{/ts}: {$option}\n{/if}\n{if $sku}\n{ts}SKU{/ts}: {$sku}\n{/if}\n{if $start_date}\n{ts}Start Date{/ts}: {$start_date|crmDate}\n{/if}\n{if $end_date}\n{ts}End Date{/ts}: {$end_date|crmDate}\n{/if}\n{if !empty($contact_email) OR !empty($contact_phone)}\n\n{ts}For information about this premium, contact:{/ts}\n\n{if !empty($contact_email)}\n  {$contact_email}\n{/if}\n{if !empty($contact_phone)}\n  {$contact_phone}\n{/if}\n{/if}\n{if !empty($is_deductible) AND !empty($price)}\n\n{ts 1=$price|crmMoney}The value of this premium is %1. This may affect the amount of the tax deduction you can claim. Consult your tax advisor for more information.{/ts}{/if}\n{/if}\n\n{if !empty($customPre)}\n===========================================================\n{$customPre_grouptitle}\n\n===========================================================\n{foreach from=$customPre item=customValue key=customName}\n{if ( !empty($trackingFields) and ! in_array( $customName, $trackingFields ) ) or empty($trackingFields)}\n {$customName}: {$customValue}\n{/if}\n{/foreach}\n{/if}\n\n\n{if !empty($customPost)}\n===========================================================\n{$customPost_grouptitle}\n\n===========================================================\n{foreach from=$customPost item=customValue key=customName}\n{if ( !empty($trackingFields) and ! in_array( $customName, $trackingFields ) ) or empty($trackingFields)}\n {$customName}: {$customValue}\n{/if}\n{/foreach}\n{/if}\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n     {assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}<p>{$greeting},</p>{/if}\n    {if !empty($receipt_text)}\n     <p>{$receipt_text|htmlize}</p>\n    {/if}\n\n    {if $is_pay_later}\n     <p>{if isset($pay_later_receipt)}{$pay_later_receipt}{/if}</p> {* FIXME: this might be text rather than HTML *}\n    {/if}\n\n   </td>\n  </tr>\n  </table>\n  <table style=\"width:100%; max-width:500px; border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse;\">\n\n     {if $membership_assign && !$useForMember}\n      <tr>\n       <th {$headerStyle}>\n        {ts}Membership Information{/ts}\n       </th>\n      </tr>\n      <tr>\n       <td {$labelStyle}>\n        {ts}Membership Type{/ts}\n       </td>\n       <td {$valueStyle}>\n        {$membership_name}\n       </td>\n      </tr>\n      {if $mem_start_date}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Membership Start Date{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$mem_start_date|crmDate}\n        </td>\n       </tr>\n      {/if}\n      {if $mem_end_date}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Membership End Date{/ts}\n        </td>\n        <td {$valueStyle}>\n          {$mem_end_date|crmDate}\n        </td>\n       </tr>\n      {/if}\n     {/if}\n\n\n     {if $amount}\n      <tr>\n       <th {$headerStyle}>\n        {ts}Membership Fee{/ts}\n       </th>\n      </tr>\n\n      {if !$useForMember and isset($membership_amount) and !empty($is_quick_config)}\n\n       <tr>\n        <td {$labelStyle}>\n         {ts 1=$membership_name}%1 Membership{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$membership_amount|crmMoney}\n        </td>\n       </tr>\n       {if $amount && !$is_separate_payment }\n         <tr>\n          <td {$labelStyle}>\n           {ts}Contribution Amount{/ts}\n          </td>\n          <td {$valueStyle}>\n           {$amount|crmMoney}\n          </td>\n         </tr>\n         <tr>\n           <td {$labelStyle}>\n           {ts}Total{/ts}\n            </td>\n            <td {$valueStyle}>\n            {$amount+$membership_amount|crmMoney}\n           </td>\n         </tr>\n       {/if}\n\n      {elseif empty($useForMember) && !empty($lineItem) and $priceSetID and empty($is_quick_config)}\n\n       {foreach from=$lineItem item=value key=priceset}\n        <tr>\n         <td colspan=\"2\" {$valueStyle}>\n          <table> {* FIXME: style this table so that it looks like the text version (justification, etc.) *}\n           <tr>\n            <th>{ts}Item{/ts}</th>\n            <th>{ts}Qty{/ts}</th>\n            <th>{ts}Each{/ts}</th>\n            <th>{ts}Total{/ts}</th>\n           </tr>\n           {foreach from=$value item=line}\n            <tr>\n             <td>\n              {$line.description|truncate:30:\"...\"}\n             </td>\n             <td>\n              {$line.qty}\n             </td>\n             <td>\n              {$line.unit_price|crmMoney}\n             </td>\n             <td>\n              {$line.line_total|crmMoney}\n             </td>\n            </tr>\n           {/foreach}\n          </table>\n         </td>\n        </tr>\n       {/foreach}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Total Amount{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$amount|crmMoney}\n        </td>\n       </tr>\n\n      {else}\n       {if $useForMember && $lineItem and empty($is_quick_config)}\n       {foreach from=$lineItem item=value key=priceset}\n        <tr>\n         <td colspan=\"2\" {$valueStyle}>\n          <table> {* FIXME: style this table so that it looks like the text version (justification, etc.) *}\n           <tr>\n            <th>{ts}Item{/ts}</th>\n            <th>{ts}Fee{/ts}</th>\n            {if !empty($dataArray)}\n              <th>{ts}SubTotal{/ts}</th>\n              <th>{ts}Tax Rate{/ts}</th>\n              <th>{ts}Tax Amount{/ts}</th>\n              <th>{ts}Total{/ts}</th>\n            {/if}\n      <th>{ts}Membership Start Date{/ts}</th>\n      <th>{ts}Membership End Date{/ts}</th>\n           </tr>\n           {foreach from=$value item=line}\n            <tr>\n             <td>\n             {if $line.html_type eq \'Text\'}{$line.label}{else}{$line.field_title} - {$line.label}{/if} {if $line.description}<div>{$line.description|truncate:30:\"...\"}</div>{/if}\n             </td>\n             <td>\n              {$line.line_total|crmMoney}\n             </td>\n             {if !empty($dataArray)}\n              <td>\n               {$line.unit_price*$line.qty|crmMoney}\n              </td>\n              {if ($line.tax_rate || $line.tax_amount != \"\")}\n               <td>\n                {$line.tax_rate|string_format:\"%.2f\"}%\n               </td>\n               <td>\n                {$line.tax_amount|crmMoney}\n               </td>\n              {else}\n               <td></td>\n               <td></td>\n              {/if}\n              <td>\n               {$line.line_total+$line.tax_amount|crmMoney}\n              </td>\n             {/if}\n             <td>\n              {$line.start_date}\n             </td>\n       <td>\n              {$line.end_date}\n             </td>\n            </tr>\n           {/foreach}\n          </table>\n         </td>\n        </tr>\n       {/foreach}\n       {if !empty($dataArray)}\n        <tr>\n         <td {$labelStyle}>\n          {ts}Amount Before Tax:{/ts}\n         </td>\n         <td {$valueStyle}>\n          {$amount-$totalTaxAmount|crmMoney}\n         </td>\n        </tr>\n        {foreach from=$dataArray item=value key=priceset}\n         <tr>\n         {if $priceset || $priceset == 0}\n           <td>&nbsp;{$taxTerm} {$priceset|string_format:\"%.2f\"}%</td>\n           <td>&nbsp;{$value|crmMoney:$currency}</td>\n         {else}\n           <td>&nbsp;{ts}NO{/ts} {$taxTerm}</td>\n           <td>&nbsp;{$value|crmMoney:$currency}</td>\n         {/if}\n         </tr>\n        {/foreach}\n       {/if}\n       {/if}\n       {if isset($totalTaxAmount)}\n        <tr>\n         <td {$labelStyle}>\n          {ts}Total Tax Amount{/ts}\n         </td>\n         <td {$valueStyle}>\n          {$totalTaxAmount|crmMoney:$currency}\n         </td>\n        </tr>\n       {/if}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Amount{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$amount|crmMoney} {if isset($amount_level)} - {$amount_level}{/if}\n        </td>\n       </tr>\n\n      {/if}\n\n\n     {elseif isset($membership_amount)}\n\n\n      <tr>\n       <th {$headerStyle}>\n        {ts}Membership Fee{/ts}\n       </th>\n      </tr>\n      <tr>\n       <td {$labelStyle}>\n        {ts 1=$membership_name}%1 Membership{/ts}\n       </td>\n       <td {$valueStyle}>\n        {$membership_amount|crmMoney}\n       </td>\n      </tr>\n\n\n     {/if}\n\n     {if !empty($receive_date)}\n      <tr>\n       <td {$labelStyle}>\n        {ts}Date{/ts}\n       </td>\n       <td {$valueStyle}>\n        {$receive_date|crmDate}\n       </td>\n      </tr>\n     {/if}\n\n     {if !empty($is_monetary) and !empty($trxn_id)}\n      <tr>\n       <td {$labelStyle}>\n        {ts}Transaction #{/ts}\n       </td>\n       <td {$valueStyle}>\n        {$trxn_id}\n       </td>\n      </tr>\n     {/if}\n\n     {if !empty($membership_trx_id)}\n      <tr>\n       <td {$labelStyle}>\n        {ts}Membership Transaction #{/ts}\n       </td>\n       <td {$valueStyle}>\n        {$membership_trx_id}\n       </td>\n      </tr>\n     {/if}\n     {if !empty($is_recur)}\n       <tr>\n        <td colspan=\"2\" {$labelStyle}>\n         {ts}This membership will be renewed automatically.{/ts}\n         {if $cancelSubscriptionUrl}\n           {ts 1=$cancelSubscriptionUrl}You can cancel the auto-renewal option by <a href=\"%1\">visiting this web page</a>.{/ts}\n         {/if}\n        </td>\n       </tr>\n       {if $updateSubscriptionBillingUrl}\n         <tr>\n          <td colspan=\"2\" {$labelStyle}>\n           {ts 1=$updateSubscriptionBillingUrl}You can update billing details for this automatically renewed membership by <a href=\"%1\">visiting this web page</a>.{/ts}\n          </td>\n         </tr>\n       {/if}\n     {/if}\n\n     {if $honor_block_is_active}\n      <tr>\n       <th {$headerStyle}>\n        {$soft_credit_type}\n       </th>\n      </tr>\n      {foreach from=$honoreeProfile item=value key=label}\n        <tr>\n         <td {$labelStyle}>\n          {$label}\n         </td>\n         <td {$valueStyle}>\n          {$value}\n         </td>\n        </tr>\n      {/foreach}\n     {/if}\n\n     {if !empty($pcpBlock)}\n      <tr>\n       <th {$headerStyle}>\n        {ts}Personal Campaign Page{/ts}\n       </th>\n      </tr>\n      <tr>\n       <td {$labelStyle}>\n        {ts}Display In Honor Roll{/ts}\n       </td>\n       <td {$valueStyle}>\n        {if $pcp_display_in_roll}{ts}Yes{/ts}{else}{ts}No{/ts}{/if}\n       </td>\n      </tr>\n      {if $pcp_roll_nickname}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Nickname{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$pcp_roll_nickname}\n        </td>\n       </tr>\n      {/if}\n      {if $pcp_personal_note}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Personal Note{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$pcp_personal_note}\n        </td>\n       </tr>\n      {/if}\n     {/if}\n\n     {if !empty($onBehalfProfile)}\n      <tr>\n       <th {$headerStyle}>\n        {$onBehalfProfile_grouptitle}\n       </th>\n      </tr>\n      {foreach from=$onBehalfProfile item=onBehalfValue key=onBehalfName}\n        <tr>\n         <td {$labelStyle}>\n          {$onBehalfName}\n         </td>\n         <td {$valueStyle}>\n          {$onBehalfValue}\n         </td>\n        </tr>\n      {/foreach}\n     {/if}\n\n     {if !empty($billingName)}\n       <tr>\n         <th {$headerStyle}>\n           {ts}Billing Name and Address{/ts}\n         </th>\n      </tr>\n      <tr>\n        <td colspan=\"2\" {$valueStyle}>\n          {$billingName}<br />\n          {$address|nl2br}<br />\n          {$email}\n        </td>\n      </tr>\n    {elseif !empty($email)}\n      <tr>\n        <th {$headerStyle}>\n          {ts}Registered Email{/ts}\n        </th>\n      </tr>\n      <tr>\n        <td colspan=\"2\" {$valueStyle}>\n          {$email}\n        </td>\n      </tr>\n    {/if}\n\n     {if !empty($credit_card_type)}\n      <tr>\n       <th {$headerStyle}>\n        {ts}Credit Card Information{/ts}\n       </th>\n      </tr>\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n        {$credit_card_type}<br />\n        {$credit_card_number}<br />\n        {ts}Expires{/ts}: {$credit_card_exp_date|truncate:7:\'\'|crmDate}<br />\n       </td>\n      </tr>\n     {/if}\n\n     {if !empty($selectPremium)}\n      <tr>\n       <th {$headerStyle}>\n        {ts}Premium Information{/ts}\n       </th>\n      </tr>\n      <tr>\n       <td colspan=\"2\" {$labelStyle}>\n        {$product_name}\n       </td>\n      </tr>\n      {if $option}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Option{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$option}\n        </td>\n       </tr>\n      {/if}\n      {if $sku}\n       <tr>\n        <td {$labelStyle}>\n         {ts}SKU{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$sku}\n        </td>\n       </tr>\n      {/if}\n      {if $start_date}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Start Date{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$start_date|crmDate}\n        </td>\n       </tr>\n      {/if}\n      {if $end_date}\n       <tr>\n        <td {$labelStyle}>\n         {ts}End Date{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$end_date|crmDate}\n        </td>\n       </tr>\n      {/if}\n      {if !empty($contact_email) OR !empty($contact_phone)}\n       <tr>\n        <td colspan=\"2\" {$valueStyle}>\n         <p>{ts}For information about this premium, contact:{/ts}</p>\n         {if !empty($contact_email)}\n          <p>{$contact_email}</p>\n         {/if}\n         {if !empty($contact_phone)}\n          <p>{$contact_phone}</p>\n         {/if}\n        </td>\n       </tr>\n      {/if}\n      {if !empty($is_deductible) AND !empty($price)}\n        <tr>\n         <td colspan=\"2\" {$valueStyle}>\n          <p>{ts 1=$price|crmMoney}The value of this premium is %1. This may affect the amount of the tax deduction you can claim. Consult your tax advisor for more information.{/ts}</p>\n         </td>\n        </tr>\n      {/if}\n     {/if}\n\n     {if !empty($customPre)}\n      <tr>\n       <th {$headerStyle}>\n        {$customPre_grouptitle}\n       </th>\n      </tr>\n      {foreach from=$customPre item=customValue key=customName}\n       {if (!empty($trackingFields) and ! in_array($customName, $trackingFields)) or empty($trackingFields)}\n        <tr>\n         <td {$labelStyle}>\n          {$customName}\n         </td>\n         <td {$valueStyle}>\n          {$customValue}\n         </td>\n        </tr>\n       {/if}\n      {/foreach}\n     {/if}\n\n     {if !empty($customPost)}\n      <tr>\n       <th {$headerStyle}>\n        {$customPost_grouptitle}\n       </th>\n      </tr>\n      {foreach from=$customPost item=customValue key=customName}\n       {if (!empty($trackingFields) and ! in_array($customName, $trackingFields)) or empty($trackingFields)}\n        <tr>\n         <td {$labelStyle}>\n          {$customName}\n         </td>\n         <td {$valueStyle}>\n          {$customValue}\n         </td>\n        </tr>\n       {/if}\n      {/foreach}\n     {/if}\n\n  </table>\n\n</body>\n</html>\n',1,835,'membership_online_receipt',0,1,0,NULL),
+ (49,'Memberships - Auto-renew Cancellation Notification','{ts}Autorenew Membership Cancellation Notification{/ts} - {contact.display_name}\n','{assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}{$greeting},{/if}\n\n{ts 1=$membershipType}The automatic renewal of your %1 membership has been cancelled as requested. This does not affect the status of your membership - you will receive a separate notification when your membership is up for renewal.{/ts}\n\n===========================================================\n{ts}Membership Information{/ts}\n\n===========================================================\n{ts}Membership Status{/ts}: {$membership_status}\n{if $mem_start_date}{ts}Membership Start Date{/ts}: {$mem_start_date|crmDate}\n{/if}\n{if $mem_end_date}{ts}Membership End Date{/ts}: {$mem_end_date|crmDate}\n{/if}\n\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n    {assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}<p>{$greeting},</p>{/if}\n    <p>{ts 1=$membershipType}The automatic renewal of your %1 membership has been cancelled as requested. This does not affect the status of your membership - you will receive a separate notification when your membership is up for renewal.{/ts}</p>\n\n   </td>\n  </tr>\n </table>\n <table style=\"width:100%; max-width:500px; border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse;\">\n\n      <tr>\n       <th {$headerStyle}>\n        {ts}Membership Information{/ts}\n       </th>\n      </tr>\n      <tr>\n       <td {$labelStyle}>\n        {ts}Membership Status{/ts}\n       </td>\n       <td {$valueStyle}>\n        {$membership_status}\n       </td>\n      </tr>\n      {if $mem_start_date}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Membership Start Date{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$mem_start_date|crmDate}\n        </td>\n       </tr>\n      {/if}\n      {if $mem_end_date}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Membership End Date{/ts}\n        </td>\n        <td {$valueStyle}>\n          {$mem_end_date|crmDate}\n        </td>\n       </tr>\n      {/if}\n\n </table>\n\n</body>\n</html>\n',1,836,'membership_autorenew_cancelled',1,0,0,NULL),
+ (50,'Memberships - Auto-renew Cancellation Notification','{ts}Autorenew Membership Cancellation Notification{/ts} - {contact.display_name}\n','{assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}{$greeting},{/if}\n\n{ts 1=$membershipType}The automatic renewal of your %1 membership has been cancelled as requested. This does not affect the status of your membership - you will receive a separate notification when your membership is up for renewal.{/ts}\n\n===========================================================\n{ts}Membership Information{/ts}\n\n===========================================================\n{ts}Membership Status{/ts}: {$membership_status}\n{if $mem_start_date}{ts}Membership Start Date{/ts}: {$mem_start_date|crmDate}\n{/if}\n{if $mem_end_date}{ts}Membership End Date{/ts}: {$mem_end_date|crmDate}\n{/if}\n\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n    {assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}<p>{$greeting},</p>{/if}\n    <p>{ts 1=$membershipType}The automatic renewal of your %1 membership has been cancelled as requested. This does not affect the status of your membership - you will receive a separate notification when your membership is up for renewal.{/ts}</p>\n\n   </td>\n  </tr>\n </table>\n <table style=\"width:100%; max-width:500px; border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse;\">\n\n      <tr>\n       <th {$headerStyle}>\n        {ts}Membership Information{/ts}\n       </th>\n      </tr>\n      <tr>\n       <td {$labelStyle}>\n        {ts}Membership Status{/ts}\n       </td>\n       <td {$valueStyle}>\n        {$membership_status}\n       </td>\n      </tr>\n      {if $mem_start_date}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Membership Start Date{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$mem_start_date|crmDate}\n        </td>\n       </tr>\n      {/if}\n      {if $mem_end_date}\n       <tr>\n        <td {$labelStyle}>\n         {ts}Membership End Date{/ts}\n        </td>\n        <td {$valueStyle}>\n          {$mem_end_date|crmDate}\n        </td>\n       </tr>\n      {/if}\n\n </table>\n\n</body>\n</html>\n',1,836,'membership_autorenew_cancelled',0,1,0,NULL),
+ (51,'Memberships - Auto-renew Billing Updates','{ts}Membership Autorenewal Billing Updates{/ts} - {contact.display_name}\n','{assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}{$greeting},{/if}\n\n{ts 1=$membershipType}Billing details for your automatically renewed %1 membership have been updated.{/ts}\n\n===========================================================\n{ts}Billing Name and Address{/ts}\n\n===========================================================\n{$billingName}\n{$address}\n\n{$email}\n\n===========================================================\n{ts}Credit Card Information{/ts}\n\n===========================================================\n{$credit_card_type}\n{$credit_card_number}\n{ts}Expires{/ts}: {$credit_card_exp_date|truncate:7:\'\'|crmDate}\n\n\n{ts 1=$receipt_from_email}If you have questions please contact us at %1{/ts}\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n    {assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}<p>{$greeting},</p>{/if}\n    <p>{ts 1=$membershipType}Billing details for your automatically renewed %1 membership have been updated.{/ts}</p>\n   </td>\n  </tr>\n  <tr>\n </table>\n\n  <table style=\"width:100%; max-width:500px; border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse;\">\n   <tr>\n        <th {$headerStyle}>\n         {ts}Billing Name and Address{/ts}\n        </th>\n       </tr>\n       <tr>\n        <td colspan=\"2\" {$valueStyle}>\n         {$billingName}<br />\n         {$address|nl2br}<br />\n         {$email}\n        </td>\n       </tr>\n        <tr>\n       <th {$headerStyle}>\n        {ts}Credit Card Information{/ts}\n       </th>\n      </tr>\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n        {$credit_card_type}<br />\n        {$credit_card_number}<br />\n        {ts}Expires{/ts}: {$credit_card_exp_date|truncate:7:\'\'|crmDate}<br />\n       </td>\n      </tr>\n      <tr>\n        <td {$labelStyle}>\n         {ts 1=$receipt_from_email}If you have questions please contact us at %1{/ts}\n        </td>\n      </tr>\n\n  </table>\n\n</body>\n</html>\n',1,837,'membership_autorenew_billing',1,0,0,NULL),
+ (52,'Memberships - Auto-renew Billing Updates','{ts}Membership Autorenewal Billing Updates{/ts} - {contact.display_name}\n','{assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}{$greeting},{/if}\n\n{ts 1=$membershipType}Billing details for your automatically renewed %1 membership have been updated.{/ts}\n\n===========================================================\n{ts}Billing Name and Address{/ts}\n\n===========================================================\n{$billingName}\n{$address}\n\n{$email}\n\n===========================================================\n{ts}Credit Card Information{/ts}\n\n===========================================================\n{$credit_card_type}\n{$credit_card_number}\n{ts}Expires{/ts}: {$credit_card_exp_date|truncate:7:\'\'|crmDate}\n\n\n{ts 1=$receipt_from_email}If you have questions please contact us at %1{/ts}\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n    {assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}<p>{$greeting},</p>{/if}\n    <p>{ts 1=$membershipType}Billing details for your automatically renewed %1 membership have been updated.{/ts}</p>\n   </td>\n  </tr>\n  <tr>\n </table>\n\n  <table style=\"width:100%; max-width:500px; border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse;\">\n   <tr>\n        <th {$headerStyle}>\n         {ts}Billing Name and Address{/ts}\n        </th>\n       </tr>\n       <tr>\n        <td colspan=\"2\" {$valueStyle}>\n         {$billingName}<br />\n         {$address|nl2br}<br />\n         {$email}\n        </td>\n       </tr>\n        <tr>\n       <th {$headerStyle}>\n        {ts}Credit Card Information{/ts}\n       </th>\n      </tr>\n      <tr>\n       <td colspan=\"2\" {$valueStyle}>\n        {$credit_card_type}<br />\n        {$credit_card_number}<br />\n        {ts}Expires{/ts}: {$credit_card_exp_date|truncate:7:\'\'|crmDate}<br />\n       </td>\n      </tr>\n      <tr>\n        <td {$labelStyle}>\n         {ts 1=$receipt_from_email}If you have questions please contact us at %1{/ts}\n        </td>\n      </tr>\n\n  </table>\n\n</body>\n</html>\n',1,837,'membership_autorenew_billing',0,1,0,NULL),
+ (53,'Test-drive - Receipt Header','[TEST]\n','***********************************************************\n\n{ts}Test-drive Email / Receipt{/ts}\n\n{ts}This is a test-drive email. No live financial transaction has occurred.{/ts}\n\n***********************************************************\n',' <table id=\"crm-event_receipt_test\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n  <tr>\n   <td>\n    <p>{ts}Test-drive Email / Receipt{/ts}</p>\n    <p>{ts}This is a test-drive email. No live financial transaction has occurred.{/ts}</p>\n   </td>\n  </tr>\n </table>\n',1,838,'test_preview',1,0,0,NULL),
+ (54,'Test-drive - Receipt Header','[TEST]\n','***********************************************************\n\n{ts}Test-drive Email / Receipt{/ts}\n\n{ts}This is a test-drive email. No live financial transaction has occurred.{/ts}\n\n***********************************************************\n',' <table id=\"crm-event_receipt_test\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n  <tr>\n   <td>\n    <p>{ts}Test-drive Email / Receipt{/ts}</p>\n    <p>{ts}This is a test-drive email. No live financial transaction has occurred.{/ts}</p>\n   </td>\n  </tr>\n </table>\n',1,838,'test_preview',0,1,0,NULL),
+ (55,'Pledges - Acknowledgement','{ts}Thank you for your Pledge{/ts} - {contact.display_name}\n','{assign var=\"greeting\" value=\"{contact.email_greeting_display}\"}{if $greeting}{$greeting},{/if}\n\n{ts}Thank you for your generous pledge.{/ts}\n\n===========================================================\n{ts}Pledge Information{/ts}\n\n===========================================================\n{ts}Pledge Received{/ts}: {$create_date|truncate:10:\'\'|crmDate}\n{ts}Total Pledge Amount{/ts}: {$total_pledge_amount|crmMoney:$currency}\n\n===========================================================\n{ts}Payment Schedule{/ts}\n\n===========================================================\n{ts 1=$scheduled_amount|crmMoney:$currency 2=$frequency_interval 3=$frequency_unit 4=$installments}%1 every %2 %3 for %4 installments.{/ts}\n\n{if $frequency_day}\n\n{ts 1=$frequency_day 2=$frequency_unit}Payments are due on day %1 of the %2.{/ts}\n{/if}\n\n{if $payments}\n{assign var=\"count\" value=\"1\"}\n{foreach from=$payments item=payment}\n\n{ts 1=$count}Payment %1{/ts}: {$payment.amount|crmMoney:$currency} {if $payment.status eq 1}{ts}paid{/ts} {$payment.receive_date|truncate:10:\'\'|crmDate}{else}{ts}due{/ts} {$payment.due_date|truncate:10:\'\'|crmDate}{/if}\n{assign var=\"count\" value=`$count+1`}\n{/foreach}\n{/if}\n\n\n{ts 1=\'{domain.phone}\' 2=\'{domain.email}\'}Please contact us at %1 or send email to %2 if you have questions\nor need to modify your payment schedule.{/ts}\n\n{if $customGroup}\n{foreach from=$customGroup item=value key=customName}\n===========================================================\n{$customName}\n===========================================================\n{foreach from=$value item=v key=n}\n{$n}: {$v}\n{/foreach}\n{/foreach}\n{/if}\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n    {assign var=\"greeting\" value=\"{contact.email_greeting_display}\"}{if $greeting}<p>{$greeting},</p>{/if}\n    <p>{ts}Thank you for your generous pledge.{/ts}</p>\n   </td>\n  </tr>\n  <tr>\n   <td>\n    <table style=\"border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse; width:100%;\">\n     <tr>\n      <th {$headerStyle}>\n       {ts}Pledge Information{/ts}\n      </th>\n     </tr>\n     <tr>\n      <td {$labelStyle}>\n       {ts}Pledge Received{/ts}\n      </td>\n      <td {$valueStyle}>\n       {$create_date|truncate:10:\'\'|crmDate}\n      </td>\n     </tr>\n     <tr>\n      <td {$labelStyle}>\n       {ts}Total Pledge Amount{/ts}\n      </td>\n      <td {$valueStyle}>\n       {$total_pledge_amount|crmMoney:$currency}\n      </td>\n     </tr>\n     <tr>\n      <th {$headerStyle}>\n       {ts}Payment Schedule{/ts}\n      </th>\n     </tr>\n     <tr>\n      <td colspan=\"2\" {$valueStyle}>\n       <p>{ts 1=$scheduled_amount|crmMoney:$currency 2=$frequency_interval 3=$frequency_unit 4=$installments}%1 every %2 %3 for %4 installments.{/ts}</p>\n\n       {if $frequency_day}\n        <p>{ts 1=$frequency_day 2=$frequency_unit}Payments are due on day %1 of the %2.{/ts}</p>\n       {/if}\n      </td>\n     </tr>\n\n     {if $payments}\n      {assign var=\"count\" value=\"1\"}\n      {foreach from=$payments item=payment}\n       <tr>\n        <td {$labelStyle}>\n         {ts 1=$count}Payment %1{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$payment.amount|crmMoney:$currency} {if $payment.status eq 1}{ts}paid{/ts} {$payment.receive_date|truncate:10:\'\'|crmDate}{else}{ts}due{/ts} {$payment.due_date|truncate:10:\'\'|crmDate}{/if}\n        </td>\n       </tr>\n       {assign var=\"count\" value=`$count+1`}\n      {/foreach}\n     {/if}\n\n     <tr>\n      <td colspan=\"2\" {$valueStyle}>\n       <p>{ts 1=\'{domain.phone}\' 2=\'{domain.email}\'}Please contact us at %1 or send email to %2 if you have questions\nor need to modify your payment schedule.{/ts}</p>\n      </td>\n     </tr>\n\n     {if $customGroup}\n      {foreach from=$customGroup item=value key=customName}\n       <tr>\n        <th {$headerStyle}>\n         {$customName}\n        </th>\n       </tr>\n       {foreach from=$value item=v key=n}\n        <tr>\n         <td {$labelStyle}>\n          {$n}\n         </td>\n         <td {$valueStyle}>\n          {$v}\n         </td>\n        </tr>\n       {/foreach}\n      {/foreach}\n     {/if}\n\n    </table>\n   </td>\n  </tr>\n\n </table>\n\n</body>\n</html>\n',1,839,'pledge_acknowledge',1,0,0,NULL),
+ (56,'Pledges - Acknowledgement','{ts}Thank you for your Pledge{/ts} - {contact.display_name}\n','{assign var=\"greeting\" value=\"{contact.email_greeting_display}\"}{if $greeting}{$greeting},{/if}\n\n{ts}Thank you for your generous pledge.{/ts}\n\n===========================================================\n{ts}Pledge Information{/ts}\n\n===========================================================\n{ts}Pledge Received{/ts}: {$create_date|truncate:10:\'\'|crmDate}\n{ts}Total Pledge Amount{/ts}: {$total_pledge_amount|crmMoney:$currency}\n\n===========================================================\n{ts}Payment Schedule{/ts}\n\n===========================================================\n{ts 1=$scheduled_amount|crmMoney:$currency 2=$frequency_interval 3=$frequency_unit 4=$installments}%1 every %2 %3 for %4 installments.{/ts}\n\n{if $frequency_day}\n\n{ts 1=$frequency_day 2=$frequency_unit}Payments are due on day %1 of the %2.{/ts}\n{/if}\n\n{if $payments}\n{assign var=\"count\" value=\"1\"}\n{foreach from=$payments item=payment}\n\n{ts 1=$count}Payment %1{/ts}: {$payment.amount|crmMoney:$currency} {if $payment.status eq 1}{ts}paid{/ts} {$payment.receive_date|truncate:10:\'\'|crmDate}{else}{ts}due{/ts} {$payment.due_date|truncate:10:\'\'|crmDate}{/if}\n{assign var=\"count\" value=`$count+1`}\n{/foreach}\n{/if}\n\n\n{ts 1=\'{domain.phone}\' 2=\'{domain.email}\'}Please contact us at %1 or send email to %2 if you have questions\nor need to modify your payment schedule.{/ts}\n\n{if $customGroup}\n{foreach from=$customGroup item=value key=customName}\n===========================================================\n{$customName}\n===========================================================\n{foreach from=$value item=v key=n}\n{$n}: {$v}\n{/foreach}\n{/foreach}\n{/if}\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n    {assign var=\"greeting\" value=\"{contact.email_greeting_display}\"}{if $greeting}<p>{$greeting},</p>{/if}\n    <p>{ts}Thank you for your generous pledge.{/ts}</p>\n   </td>\n  </tr>\n  <tr>\n   <td>\n    <table style=\"border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse; width:100%;\">\n     <tr>\n      <th {$headerStyle}>\n       {ts}Pledge Information{/ts}\n      </th>\n     </tr>\n     <tr>\n      <td {$labelStyle}>\n       {ts}Pledge Received{/ts}\n      </td>\n      <td {$valueStyle}>\n       {$create_date|truncate:10:\'\'|crmDate}\n      </td>\n     </tr>\n     <tr>\n      <td {$labelStyle}>\n       {ts}Total Pledge Amount{/ts}\n      </td>\n      <td {$valueStyle}>\n       {$total_pledge_amount|crmMoney:$currency}\n      </td>\n     </tr>\n     <tr>\n      <th {$headerStyle}>\n       {ts}Payment Schedule{/ts}\n      </th>\n     </tr>\n     <tr>\n      <td colspan=\"2\" {$valueStyle}>\n       <p>{ts 1=$scheduled_amount|crmMoney:$currency 2=$frequency_interval 3=$frequency_unit 4=$installments}%1 every %2 %3 for %4 installments.{/ts}</p>\n\n       {if $frequency_day}\n        <p>{ts 1=$frequency_day 2=$frequency_unit}Payments are due on day %1 of the %2.{/ts}</p>\n       {/if}\n      </td>\n     </tr>\n\n     {if $payments}\n      {assign var=\"count\" value=\"1\"}\n      {foreach from=$payments item=payment}\n       <tr>\n        <td {$labelStyle}>\n         {ts 1=$count}Payment %1{/ts}\n        </td>\n        <td {$valueStyle}>\n         {$payment.amount|crmMoney:$currency} {if $payment.status eq 1}{ts}paid{/ts} {$payment.receive_date|truncate:10:\'\'|crmDate}{else}{ts}due{/ts} {$payment.due_date|truncate:10:\'\'|crmDate}{/if}\n        </td>\n       </tr>\n       {assign var=\"count\" value=`$count+1`}\n      {/foreach}\n     {/if}\n\n     <tr>\n      <td colspan=\"2\" {$valueStyle}>\n       <p>{ts 1=\'{domain.phone}\' 2=\'{domain.email}\'}Please contact us at %1 or send email to %2 if you have questions\nor need to modify your payment schedule.{/ts}</p>\n      </td>\n     </tr>\n\n     {if $customGroup}\n      {foreach from=$customGroup item=value key=customName}\n       <tr>\n        <th {$headerStyle}>\n         {$customName}\n        </th>\n       </tr>\n       {foreach from=$value item=v key=n}\n        <tr>\n         <td {$labelStyle}>\n          {$n}\n         </td>\n         <td {$valueStyle}>\n          {$v}\n         </td>\n        </tr>\n       {/foreach}\n      {/foreach}\n     {/if}\n\n    </table>\n   </td>\n  </tr>\n\n </table>\n\n</body>\n</html>\n',1,839,'pledge_acknowledge',0,1,0,NULL),
+ (57,'Pledges - Payment Reminder','{ts}Pledge Payment Reminder{/ts} - {contact.display_name}\n','{assign var=\"greeting\" value=\"{contact.email_greeting_display}\"}{if $greeting}{$greeting},{/if}\n\n{ts 1=$next_payment|truncate:10:\'\'|crmDate}This is a reminder that the next payment on your pledge is due on %1.{/ts}\n\n===========================================================\n{ts}Payment Due{/ts}\n\n===========================================================\n{ts}Amount Due{/ts}: {$amount_due|crmMoney:$currency}\n{ts}Due Date{/ts}: {$scheduled_payment_date|truncate:10:\'\'|crmDate}\n\n{if $contribution_page_id}\n{capture assign=contributionUrl}{crmURL p=\'civicrm/contribute/transact\' q=\"reset=1&id=`$contribution_page_id`&cid=`{contact.id}`&pledgeId=`$pledge_id`&cs=`$checksumValue`\" a=true h=0 fe=1}{/capture}\nClick this link to go to a web page where you can make your payment online:\n{$contributionUrl}\n{else}\n{ts}Please mail your payment to{/ts}:\n{domain.address}\n{/if}\n\n===========================================================\n{ts}Pledge Information{/ts}\n\n===========================================================\n{ts}Pledge Received{/ts}: {$create_date|truncate:10:\'\'|crmDate}\n{ts}Total Pledge Amount{/ts}: {$amount|crmMoney:$currency}\n{ts}Total Paid{/ts}: {$amount_paid|crmMoney:$currency}\n\n{ts 1=\'{domain.phone}\' 2=\'{domain.email}\'} Please contact us at %1 or send email to %2 if you have questions\nor need to modify your payment schedule.{/ts}\n\n\n{ts}Thank your for your generous support.{/ts}\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n    {assign var=\"greeting\" value=\"{contact.email_greeting_display}\"}{if $greeting}<p>{$greeting},</p>{/if}\n    <p>{ts 1=$next_payment|truncate:10:\'\'|crmDate}This is a reminder that the next payment on your pledge is due on %1.{/ts}</p>\n   </td>\n  </tr>\n  <tr>\n   <td>\n    <table style=\"border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse; width:100%;\">\n     <tr>\n      <th {$headerStyle}>\n       {ts}Payment Due{/ts}\n      </th>\n     </tr>\n     <tr>\n      <td {$labelStyle}>\n       {ts}Amount Due{/ts}\n      </td>\n      <td {$valueStyle}>\n       {$amount_due|crmMoney:$currency}\n      </td>\n     </tr>\n    </table>\n   </td>\n  </tr>\n\n  <tr>\n   <td>\n    {if $contribution_page_id}\n     {capture assign=contributionUrl}{crmURL p=\'civicrm/contribute/transact\' q=\"reset=1&id=`$contribution_page_id`&cid=`{contact.id}`&pledgeId=`$pledge_id`&cs=`$checksumValue`\" a=true h=0 fe=1}{/capture}\n     <p><a href=\"{$contributionUrl}\">{ts}Go to a web page where you can make your payment online{/ts}</a></p>\n    {else}\n     <p>{ts}Please mail your payment to{/ts}: {domain.address}</p>\n    {/if}\n   </td>\n  </tr>\n\n  <tr>\n   <td>\n    <table style=\"border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse; width:100%;\">\n     <tr>\n      <th {$headerStyle}>\n       {ts}Pledge Information{/ts}\n      </th>\n     </tr>\n     <tr>\n      <td {$labelStyle}>\n       {ts}Pledge Received{/ts}\n      </td>\n      <td {$valueStyle}>\n       {$create_date|truncate:10:\'\'|crmDate}\n      </td>\n     </tr>\n     <tr>\n      <td {$labelStyle}>\n       {ts}Total Pledge Amount{/ts}\n      </td>\n      <td {$valueStyle}>\n       {$amount|crmMoney:$currency}\n      </td>\n     </tr>\n     <tr>\n      <td {$labelStyle}>\n       {ts}Total Paid{/ts}\n      </td>\n      <td {$valueStyle}>\n       {$amount_paid|crmMoney:$currency}\n      </td>\n     </tr>\n    </table>\n   </td>\n  </tr>\n\n  <tr>\n   <td>\n    <p>{ts 1=\'{domain.phone}\' 2=\'{domain.email}\'}Please contact us at %1 or send email to %2 if you have questions\nor need to modify your payment schedule.{/ts}</p>\n    <p>{ts}Thank your for your generous support.{/ts}</p>\n   </td>\n  </tr>\n\n </table>\n\n</body>\n</html>\n',1,840,'pledge_reminder',1,0,0,NULL),
+ (58,'Pledges - Payment Reminder','{ts}Pledge Payment Reminder{/ts} - {contact.display_name}\n','{assign var=\"greeting\" value=\"{contact.email_greeting_display}\"}{if $greeting}{$greeting},{/if}\n\n{ts 1=$next_payment|truncate:10:\'\'|crmDate}This is a reminder that the next payment on your pledge is due on %1.{/ts}\n\n===========================================================\n{ts}Payment Due{/ts}\n\n===========================================================\n{ts}Amount Due{/ts}: {$amount_due|crmMoney:$currency}\n{ts}Due Date{/ts}: {$scheduled_payment_date|truncate:10:\'\'|crmDate}\n\n{if $contribution_page_id}\n{capture assign=contributionUrl}{crmURL p=\'civicrm/contribute/transact\' q=\"reset=1&id=`$contribution_page_id`&cid=`{contact.id}`&pledgeId=`$pledge_id`&cs=`$checksumValue`\" a=true h=0 fe=1}{/capture}\nClick this link to go to a web page where you can make your payment online:\n{$contributionUrl}\n{else}\n{ts}Please mail your payment to{/ts}:\n{domain.address}\n{/if}\n\n===========================================================\n{ts}Pledge Information{/ts}\n\n===========================================================\n{ts}Pledge Received{/ts}: {$create_date|truncate:10:\'\'|crmDate}\n{ts}Total Pledge Amount{/ts}: {$amount|crmMoney:$currency}\n{ts}Total Paid{/ts}: {$amount_paid|crmMoney:$currency}\n\n{ts 1=\'{domain.phone}\' 2=\'{domain.email}\'} Please contact us at %1 or send email to %2 if you have questions\nor need to modify your payment schedule.{/ts}\n\n\n{ts}Thank your for your generous support.{/ts}\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n    {assign var=\"greeting\" value=\"{contact.email_greeting_display}\"}{if $greeting}<p>{$greeting},</p>{/if}\n    <p>{ts 1=$next_payment|truncate:10:\'\'|crmDate}This is a reminder that the next payment on your pledge is due on %1.{/ts}</p>\n   </td>\n  </tr>\n  <tr>\n   <td>\n    <table style=\"border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse; width:100%;\">\n     <tr>\n      <th {$headerStyle}>\n       {ts}Payment Due{/ts}\n      </th>\n     </tr>\n     <tr>\n      <td {$labelStyle}>\n       {ts}Amount Due{/ts}\n      </td>\n      <td {$valueStyle}>\n       {$amount_due|crmMoney:$currency}\n      </td>\n     </tr>\n    </table>\n   </td>\n  </tr>\n\n  <tr>\n   <td>\n    {if $contribution_page_id}\n     {capture assign=contributionUrl}{crmURL p=\'civicrm/contribute/transact\' q=\"reset=1&id=`$contribution_page_id`&cid=`{contact.id}`&pledgeId=`$pledge_id`&cs=`$checksumValue`\" a=true h=0 fe=1}{/capture}\n     <p><a href=\"{$contributionUrl}\">{ts}Go to a web page where you can make your payment online{/ts}</a></p>\n    {else}\n     <p>{ts}Please mail your payment to{/ts}: {domain.address}</p>\n    {/if}\n   </td>\n  </tr>\n\n  <tr>\n   <td>\n    <table style=\"border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse; width:100%;\">\n     <tr>\n      <th {$headerStyle}>\n       {ts}Pledge Information{/ts}\n      </th>\n     </tr>\n     <tr>\n      <td {$labelStyle}>\n       {ts}Pledge Received{/ts}\n      </td>\n      <td {$valueStyle}>\n       {$create_date|truncate:10:\'\'|crmDate}\n      </td>\n     </tr>\n     <tr>\n      <td {$labelStyle}>\n       {ts}Total Pledge Amount{/ts}\n      </td>\n      <td {$valueStyle}>\n       {$amount|crmMoney:$currency}\n      </td>\n     </tr>\n     <tr>\n      <td {$labelStyle}>\n       {ts}Total Paid{/ts}\n      </td>\n      <td {$valueStyle}>\n       {$amount_paid|crmMoney:$currency}\n      </td>\n     </tr>\n    </table>\n   </td>\n  </tr>\n\n  <tr>\n   <td>\n    <p>{ts 1=\'{domain.phone}\' 2=\'{domain.email}\'}Please contact us at %1 or send email to %2 if you have questions\nor need to modify your payment schedule.{/ts}</p>\n    <p>{ts}Thank your for your generous support.{/ts}</p>\n   </td>\n  </tr>\n\n </table>\n\n</body>\n</html>\n',1,840,'pledge_reminder',0,1,0,NULL),
+ (59,'Profiles - Admin Notification','{$grouptitle} {ts 1=$displayName}Submitted by %1{/ts} - {contact.display_name}\n','{ts}Submitted For:{/ts} {$displayName}\n{ts}Date:{/ts} {$currentDate}\n{ts}Contact Summary:{/ts} {$contactLink}\n\n===========================================================\n{$grouptitle}\n\n===========================================================\n{foreach from=$values item=value key=valueName}\n{$valueName}: {$value}\n{/foreach}\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n    <table style=\"border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse; width:100%;\">\n     <tr>\n      <td {$labelStyle}>\n       {ts}Submitted For{/ts}\n      </td>\n      <td {$valueStyle}>\n       {$displayName}\n      </td>\n     </tr>\n     <tr>\n      <td {$labelStyle}>\n       {ts}Date{/ts}\n      </td>\n      <td {$valueStyle}>\n       {$currentDate}\n      </td>\n     </tr>\n     <tr>\n      <td {$labelStyle}>\n       {ts}Contact Summary{/ts}\n      </td>\n      <td {$valueStyle}>\n       {$contactLink}\n      </td>\n     </tr>\n\n     <tr>\n      <th {$headerStyle}>\n       {$grouptitle}\n      </th>\n     </tr>\n\n     {foreach from=$values item=value key=valueName}\n      <tr>\n       <td {$labelStyle}>\n        {$valueName}\n       </td>\n       <td {$valueStyle}>\n        {$value}\n       </td>\n      </tr>\n     {/foreach}\n    </table>\n   </td>\n  </tr>\n\n </table>\n\n</body>\n</html>\n',1,841,'uf_notify',1,0,0,NULL),
+ (60,'Profiles - Admin Notification','{$grouptitle} {ts 1=$displayName}Submitted by %1{/ts} - {contact.display_name}\n','{ts}Submitted For:{/ts} {$displayName}\n{ts}Date:{/ts} {$currentDate}\n{ts}Contact Summary:{/ts} {$contactLink}\n\n===========================================================\n{$grouptitle}\n\n===========================================================\n{foreach from=$values item=value key=valueName}\n{$valueName}: {$value}\n{/foreach}\n','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n{capture assign=headerStyle}colspan=\"2\" style=\"text-align: left; padding: 4px; border-bottom: 1px solid #999; background-color: #eee;\"{/capture}\n{capture assign=labelStyle }style=\"padding: 4px; border-bottom: 1px solid #999; background-color: #f7f7f7;\"{/capture}\n{capture assign=valueStyle }style=\"padding: 4px; border-bottom: 1px solid #999;\"{/capture}\n\n  <table id=\"crm-event_receipt\" style=\"font-family: Arial, Verdana, sans-serif; text-align: left; width:100%; max-width:700px; padding:0; margin:0; border:0px;\">\n\n  <!-- BEGIN HEADER -->\n  <!-- You can add table row(s) here with logo or other header elements -->\n  <!-- END HEADER -->\n\n  <!-- BEGIN CONTENT -->\n\n  <tr>\n   <td>\n    <table style=\"border: 1px solid #999; margin: 1em 0em 1em; border-collapse: collapse; width:100%;\">\n     <tr>\n      <td {$labelStyle}>\n       {ts}Submitted For{/ts}\n      </td>\n      <td {$valueStyle}>\n       {$displayName}\n      </td>\n     </tr>\n     <tr>\n      <td {$labelStyle}>\n       {ts}Date{/ts}\n      </td>\n      <td {$valueStyle}>\n       {$currentDate}\n      </td>\n     </tr>\n     <tr>\n      <td {$labelStyle}>\n       {ts}Contact Summary{/ts}\n      </td>\n      <td {$valueStyle}>\n       {$contactLink}\n      </td>\n     </tr>\n\n     <tr>\n      <th {$headerStyle}>\n       {$grouptitle}\n      </th>\n     </tr>\n\n     {foreach from=$values item=value key=valueName}\n      <tr>\n       <td {$labelStyle}>\n        {$valueName}\n       </td>\n       <td {$valueStyle}>\n        {$value}\n       </td>\n      </tr>\n     {/foreach}\n    </table>\n   </td>\n  </tr>\n\n </table>\n\n</body>\n</html>\n',1,841,'uf_notify',0,1,0,NULL),
+ (61,'Petition - signature added','Thank you for signing {$petition.title} - {contact.display_name}\n','{assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}{$greeting},{/if}\n\nThank you for signing {$petition.title}.\n','{assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}<p>{$greeting},</p>{/if}\n\n<p>Thank you for signing {$petition.title}.</p>\n\n{include file=\"CRM/Campaign/Page/Petition/SocialNetwork.tpl\" petition_id=$survey_id noscript=true emailMode=true}\n',1,842,'petition_sign',1,0,0,NULL),
+ (62,'Petition - signature added','Thank you for signing {$petition.title} - {contact.display_name}\n','{assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}{$greeting},{/if}\n\nThank you for signing {$petition.title}.\n','{assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}<p>{$greeting},</p>{/if}\n\n<p>Thank you for signing {$petition.title}.</p>\n\n{include file=\"CRM/Campaign/Page/Petition/SocialNetwork.tpl\" petition_id=$survey_id noscript=true emailMode=true}\n',1,842,'petition_sign',0,1,0,NULL),
+ (63,'Petition - need verification','Confirmation of signature needed for {$petition.title} - {contact.display_name}\n','{assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}{$greeting},{/if}\n\nThank you for signing {$petition.title}.\n\nIn order to complete your signature, we must confirm your e-mail.\nPlease do so by visiting the following email confirmation web page:\n\n{$petition.confirmUrlPlainText}\n\nIf you did not sign this petition, please ignore this message.\n','{assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}<p>{$greeting},</p>{/if}\n\n<p>Thank you for signing {$petition.title}.</p>\n\n<p>In order to <b>complete your signature</b>, we must confirm your e-mail.\n<br />\nPlease do so by visiting the following web page by clicking\non the link below or pasting the link into your browser.\n<br /><br />\nEmail confirmation page: <a href=\"{$petition.confirmUrl}\">{$petition.confirmUrl}</a></p>\n\n<p>If you did not sign this petition, please ignore this message.</p>\n',1,843,'petition_confirmation_needed',1,0,0,NULL),
+ (64,'Petition - need verification','Confirmation of signature needed for {$petition.title} - {contact.display_name}\n','{assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}{$greeting},{/if}\n\nThank you for signing {$petition.title}.\n\nIn order to complete your signature, we must confirm your e-mail.\nPlease do so by visiting the following email confirmation web page:\n\n{$petition.confirmUrlPlainText}\n\nIf you did not sign this petition, please ignore this message.\n','{assign var=\"greeting\" value=\"{contact.email_greeting}\"}{if $greeting}<p>{$greeting},</p>{/if}\n\n<p>Thank you for signing {$petition.title}.</p>\n\n<p>In order to <b>complete your signature</b>, we must confirm your e-mail.\n<br />\nPlease do so by visiting the following web page by clicking\non the link below or pasting the link into your browser.\n<br /><br />\nEmail confirmation page: <a href=\"{$petition.confirmUrl}\">{$petition.confirmUrl}</a></p>\n\n<p>If you did not sign this petition, please ignore this message.</p>\n',1,843,'petition_confirmation_needed',0,1,0,NULL),
  (65,'Sample CiviMail Newsletter Template','Sample CiviMail Newsletter','','<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n <title></title>\n</head>\n<body>\n\n<table width=612 cellpadding=0 cellspacing=0 bgcolor=\"#ffffff\">\n  <tr>\n    <td colspan=\"2\" bgcolor=\"#ffffff\" valign=\"middle\" >\n      <table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" >\n        <tr>\n          <td>\n          <a href=\"https://civicrm.org\"><img src=\"https://civicrm.org/sites/civicrm.org/files/top-logo_2.png\" border=0 alt=\"Replace this logo with the URL to your own\"></a>\n          </td>\n          <td>&nbsp; &nbsp;</td>\n          <td>\n          <a href=\"https://civicrm.org\" style=\"text-decoration: none;\"><font size=5 face=\"Arial, Verdana, sans-serif\" color=\"#8bc539\">Your Newsletter Title</font></a>\n          </td>\n        </tr>\n      </table>\n    </td>\n  </tr>\n  <tr>\n    <td valign=\"top\" width=\"70%\">\n      <!-- left column -->\n      <table cellpadding=\"10\" cellspacing=\"0\" border=\"0\">\n      <tr>\n        <td style=\"font-family: Arial, Verdana, sans-serif; font-size: 12px;\" >\n        <font face=\"Arial, Verdana, sans-serif\" size=\"2\" >\n        Greetings {contact.display_name},\n        <br /><br />\n        This is a sample template designed to help you get started creating and sending your own CiviMail messages. This template uses an HTML layout that is generally compatible with the wide variety of email clients that your recipients might be using (e.g. Gmail, Outlook, Yahoo, etc.).\n        <br /><br />You can select this \"Sample CiviMail Newsletter Template\" from the \"Use Template\" drop-down in Step 3 of creating a mailing, and customize it to your needs. Then check the \"Save as New Template\" box on the bottom the page to save your customized version for use in future mailings.\n        <br /><br />The logo you use must be uploaded to your server.  Copy and paste the URL path to the logo into the &lt;img src= tag in the HTML at the top.  Click \"Source\" or the Image button if you are using the text editor.\n        <br /><br />\n        Edit the color of the links and headers using the color button or by editing the HTML.\n        <br /><br />\n        Your newsletter message and donation appeal can go here.  Click the link button to <a href=\"#\">create links</a> - remember to use a fully qualified URL starting with http:// in all your links!\n        <br /><br />\n        To use CiviMail:\n        <ul>\n          <li><a href=\"http://book.civicrm.org/user/advanced-configuration/email-system-configuration/\">Configure your Email System</a>.</li>\n          <li>Make sure your web hosting provider allows outgoing bulk mail, and see if they have a restriction on quantity.  If they don\'t allow bulk mail, consider <a href=\"https://civicrm.org/providers/hosting\">finding a new host</a>.</li>\n        </ul>\n        Sincerely,\n        <br /><br />\n        Your Team\n        <br /><br />\n        </font>\n        </td>\n      </tr>\n      </table>\n    </td>\n\n    <td valign=\"top\" width=\"30%\" bgcolor=\"#ffffff\" style=\"border: 1px solid #056085;\">\n      <!-- right column -->\n      <table cellpadding=10 cellspacing=0 border=0>\n      <tr>\n        <td bgcolor=\"#056085\"><font face=\"Arial, Verdana, sans-serif\" size=\"4\" color=\"#ffffff\">News and Events</font></td>\n      </tr>\n      <tr>\n        <td style=\"color: #000; font-family: Arial, Verdana, sans-serif; font-size: 12px;\" >\n        <font face=\"Arial, Verdana, sans-serif\" size=\"2\" >\n        <font color=\"#056085\"><strong>Featured Events</strong> </font><br />\n        Fundraising Dinner<br />\n        Training Meeting<br />\n        Board of Directors Annual Meeting<br />\n\n        <br /><br />\n        <font color=\"#056085\"><strong>Community Events</strong></font><br />\n        Bake Sale<br />\n        Charity Auction<br />\n        Art Exhibit<br />\n\n        <br /><br />\n        <font color=\"#056085\"><strong>Important Dates</strong></font><br />\n        Tuesday August 27<br />\n        Wednesday September 8<br />\n        Thursday September 29<br />\n        Saturday October 1<br />\n        Sunday October 20<br />\n        </font>\n        </td>\n      </tr>\n      </table>\n    </td>\n  </tr>\n\n  <tr>\n    <td colspan=\"2\">\n      <table cellpadding=\"10\" cellspacing=\"0\" border=\"0\">\n      <tr>\n        <td>\n        <font face=\"Arial, Verdana, sans-serif\" size=\"2\" >\n        <font color=\"#7dc857\"><strong>Helpful Tips</strong></font>\n        <br /><br />\n        <font color=\"#3b5187\">Tokens</font><br />\n        Click \"Insert Tokens\" to dynamically insert names, addresses, and other contact data of your recipients.\n        <br /><br />\n        <font color=\"#3b5187\">Plain Text Version</font><br />\n        Some people refuse HTML emails altogether.  We recommend sending a plain-text version of your important communications to accommodate them.  Luckily, CiviCRM accommodates for this!  Just click \"Plain Text\" and copy and paste in some text.  Line breaks (carriage returns) and fully qualified URLs like http://www.example.com are all you get, no HTML here!\n        <br /><br />\n        <font color=\"#3b5187\">Play by the Rules</font><br />\n        The address of the sender is required by the Can Spam Act law.  This is an available token called domain.address.  An unsubscribe or opt-out link is also required.  There are several available tokens for this. <em>{action.optOutUrl}</em> creates a link for recipients to click if they want to opt out of receiving  emails from your organization. <em>{action.unsubscribeUrl}</em> creates a link to unsubscribe from the specific mailing list used to send this message. Click on \"Insert Tokens\" to find these and look for tokens named \"Domain\" or \"Unsubscribe\".  This sample template includes both required tokens at the bottom of the message. You can also configure a default Mailing Footer containing these tokens.\n        <br /><br />\n        <font color=\"#3b5187\">Composing Offline</font><br />\n        If you prefer to compose an HTML email offline in your own text editor, you can upload this HTML content into CiviMail or simply click \"Source\" and then copy and paste the HTML in.\n        <br /><br />\n        <font color=\"#3b5187\">Images</font><br />\n        Most email clients these days (Outlook, Gmail, etc) block image loading by default.  This is to protect their users from annoying or harmful email.  Not much we can do about this, so encourage recipients to add you to their contacts or \"whitelist\".  Also use images sparingly, do not rely on images to convey vital information, and always use HTML \"alt\" tags which describe the image content.\n        </td>\n      </tr>\n      </table>\n    </td>\n  </tr>\n  <tr>\n    <td colspan=\"2\" style=\"color: #000; font-family: Arial, Verdana, sans-serif; font-size: 10px;\">\n      <font face=\"Arial, Verdana, sans-serif\" size=\"2\" >\n      <hr />\n      <a href=\"{action.unsubscribeUrl}\" title=\"click to unsubscribe\">Click here</a> to unsubscribe from this mailing list.<br /><br />\n      Our mailing address is:<br />\n      {domain.address}\n    </td>\n  </tr>\n  </table>\n\n</body>\n</html>\n',1,NULL,NULL,1,0,0,NULL),
  (66,'Sample Responsive Design Newsletter - Single Column Template','Sample Responsive Design Newsletter - Single Column','','<html xmlns=\"http://www.w3.org/1999/xhtml\">\n<meta content=\"text/html; charset=utf-8\" http-equiv=\"Content-Type\" />\n  <meta content=\"width=device-width, initial-scale=1.0\" name=\"viewport\" />\n  <title></title>\n\n  <style type=\"text/css\">\n    {literal}\n    /* Client-specific Styles */\n    #outlook a {padding:0;} /* Force Outlook to provide a \"view in browser\" menu link. */\n    body{width:100% !important; -webkit-text-size-adjust:100%; -ms-text-size-adjust:100%; margin:0; padding:0;}\n\n    /* Prevent Webkit and Windows Mobile platforms from changing default font sizes, while not breaking desktop design. */\n    .ExternalClass {width:100%;} /* Force Hotmail to display emails at full width */\n    .ExternalClass, .ExternalClass p, .ExternalClass span, .ExternalClass font, .ExternalClass td, .ExternalClass div {line-height: 100%;} /* Force Hotmail to display normal line spacing. */\n    #backgroundTable {margin:0; padding:0; width:100% !important; line-height: 100% !important;}\n    img {outline:none; text-decoration:none;border:none; -ms-interpolation-mode: bicubic;}\n    a img {border:none;}\n    .image_fix {display:block;}\n    p {margin: 0px 0px !important;}\n    table td {border-collapse: collapse;}\n    table { border-collapse:collapse; mso-table-lspace:0pt; mso-table-rspace:0pt; }\n    a {text-decoration: none;text-decoration:none;}\n\n    /*STYLES*/\n    table[class=full] { width: 100%; clear: both; }\n\n    /*IPAD STYLES*/\n    @media only screen and (max-width: 640px) {\n    a[href^=\"tel\"], a[href^=\"sms\"] {text-decoration: none;color:#136388;pointer-events: none;cursor: default;}\n    .mobile_link a[href^=\"tel\"], .mobile_link a[href^=\"sms\"] {text-decoration: default;color:#136388;pointer-events: auto;cursor: default;}\n    table[class=devicewidth] {width: 440px!important;text-align:center!important;}\n    table[class=devicewidthmob] {width: 416px!important;text-align:center!important;}\n    table[class=devicewidthinner] {width: 416px!important;text-align:center!important;}\n    img[class=banner] {width: 440px!important;auto!important;}\n    img[class=col2img] {width: 440px!important;height:auto!important;}\n    table[class=\"cols3inner\"] {width: 100px!important;}\n    table[class=\"col3img\"] {width: 131px!important;}\n    img[class=\"col3img\"] {width: 131px!important;height: auto!important;}\n    table[class=\"removeMobile\"]{width:10px!important;}\n    img[class=\"blog\"] {width: 440px!important;height: auto!important;}\n    }\n\n    /*IPHONE STYLES*/\n    @media only screen and (max-width: 480px) {\n    a[href^=\"tel\"], a[href^=\"sms\"] {text-decoration: none;color: #136388;pointer-events: none;cursor: default;}\n    .mobile_link a[href^=\"tel\"], .mobile_link a[href^=\"sms\"] {text-decoration: none;color:#136388;pointer-events: auto;cursor: default;}\n\n    table[class=devicewidth] {width: 280px!important;text-align:center!important;}\n    table[class=devicewidthmob] {width: 260px!important;text-align:center!important;}\n    table[class=devicewidthinner] {width: 260px!important;text-align:center!important;}\n    img[class=banner] {width: 280px!important;height:100px!important;}\n    img[class=col2img] {width: 280px!important;height:auto!important;}\n    table[class=\"cols3inner\"] {width: 260px!important;}\n    img[class=\"col3img\"] {width: 280px!important;height: auto!important;}\n    table[class=\"col3img\"] {width: 280px!important;}\n    img[class=\"blog\"] {width: 280px!important;auto!important;}\n    td[class=\"padding-top-right15\"]{padding:15px 15px 0 0 !important;}\n    td[class=\"padding-right15\"]{padding-right:15px !important;}\n    }\n\n    @media only screen and (max-device-width: 800px)\n    {td[class=\"padding-top-right15\"]{padding:15px 15px 0 0 !important;}\n    td[class=\"padding-right15\"]{padding-right:15px !important;}}\n    @media only screen and (max-device-width: 769px) {\n    .devicewidthmob {font-size:16px;}\n    }\n\n    @media only screen and (max-width: 640px) {\n    .desktop-spacer {display:none !important;}\n }\n  {/literal}\n  </style>\n\n<body>\n  <!-- Start of preheader --><!-- Start of preheader -->\n  <table bgcolor=\"#89c66b\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" id=\"backgroundTable\" width=\"100%\">\n  	<tbody>\n  		<tr>\n  			<td>\n  			<table align=\"center\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" class=\"devicewidth\" width=\"650\">\n  				<tbody>\n  					<tr>\n  						<td width=\"100%\">\n  						<table align=\"center\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" class=\"devicewidth\" width=\"650\">\n  							<tbody><!-- Spacing -->\n  								<tr>\n  									<td height=\"20\" width=\"100%\">&nbsp;</td>\n  								</tr>\n  								<!-- Spacing -->\n  								<tr>\n  									<td>\n  									<table align=\"left\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" class=\"devicewidthinner\" width=\"310\">\n  										<tbody>\n  											<tr>\n  												<td align=\"left\" style=\"font-family: Helvetica, arial, sans-serif; font-size: 16px; line-height:120%; color: #f8f8f8;padding-left:15px; padding-bottom:5px;\" valign=\"middle\">Organization or Program Name Here</td>\n  											</tr>\n  										</tbody>\n  									</table>\n\n  									<table align=\"right\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" class=\"emhide\" width=\"310\">\n  										<tbody>\n  											<tr>\n                          <td align=\"right\" style=\"font-family: Helvetica, arial, sans-serif; font-size: 16px;color: #f8f8f8;padding-right:15px; text-align:right;\" valign=\"middle\">Month and Year</td>\n  											</tr>\n  										</tbody>\n  									</table>\n  									</td>\n  								</tr>\n  								<!-- Spacing -->\n  								<tr>\n  									<td height=\"20\" width=\"100%\">&nbsp;</td>\n  								</tr>\n  								<!-- Spacing -->\n  							</tbody>\n  						</table>\n  						</td>\n  					</tr>\n  				</tbody>\n  			</table>\n  			</td>\n  		</tr>\n  	</tbody>\n  </table>\n  <!-- End of main-banner-->\n\n  <table bgcolor=\"#d8d8d8\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" id=\"backgroundTable\" st-sortable=\"left-image\" width=\"100%\">\n  	<tbody>\n  		<tr>\n  			<td>\n  			<table align=\"center\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" class=\"devicewidth\" width=\"650\">\n  				<tbody>\n  					<tr>\n  						<td width=\"100%\">\n  						<table align=\"center\" bgcolor=\"#ffffff\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" class=\"devicewidth\" width=\"650\">\n  							<tbody><!-- Spacing -->\n  								<tr>\n  									<td height=\"20\" width=\"100%\">\n  									<table align=\"center\" border=\"0\" cellpadding=\"2\" cellspacing=\"0\" width=\"93%\">\n  										<tbody>\n  											<tr>\n                          <td rowspan=\"2\" style=\"padding-top:10px; padding-bottom:10px;\" width=\"38%\"><img src=\"https://civicrm.org/sites/default/files/civicrm/custom/images/civicrm-logo-transparent.png\" alt=\"Replace with your own logo\" width=\"220\" border=\"0\" /></td>\n  												<td align=\"right\" width=\"62%\">\n  												<h6 class=\"collapse\">&nbsp;</h6>\n  												</td>\n  											</tr>\n  											<tr>\n  												<td align=\"right\">\n  												<h5 style=\"font-family: Gill Sans, Gill Sans MT, Myriad Pro, DejaVu Sans Condensed, Helvetica, Arial, sans-serif; color:#136388;\">&nbsp;</h5>\n  												</td>\n  											</tr>\n  										</tbody>\n  									</table>\n  									</td>\n  								</tr>\n  								<tr>\n  									<td>\n  									<table align=\"center\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" class=\"devicewidth\" width=\"650\">\n  										<tbody>\n  											<tr>\n  												<td width=\"100%\">\n  												<table align=\"center\" bgcolor=\"#ffffff\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" class=\"devicewidth\" width=\"650\">\n  													<tbody><!-- /Spacing -->\n  														<tr>\n  															<td style=\"font-family: Helvetica, arial, sans-serif; font-size: 23px; color:#f8f8f8; text-align:left; line-height: 32px; padding:5px 15px; background-color:#136388;\">Headline Here</td>\n  														</tr>\n  														<!-- Spacing -->\n  														<tr>\n  															<td>\n  															<table align=\"center\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" class=\"devicewidthinner\" width=\"650\">\n  																<tbody><!-- hero story -->\n  																	<tr>\n  																		<td align=\"center\" class=\"devicewidthinner\" width=\"100%\">\n  																		<div class=\"imgpop\"><a href=\"#\"><img alt=\"\" border=\"0\" class=\"blog\" height=\"auto\" src=\"https://civicrm.org/sites/default/files/civicrm/custom/images/650x396.png\" style=\"display:block; border:none; outline:none; text-decoration:none; padding:0; line-height:0;\" width=\"650\" /></a></div>\n  																		</td>\n  																	</tr>\n  																	<!-- /hero image --><!-- Spacing -->\n  																	<tr>\n  																		<td height=\"15\" style=\"font-size:1px; line-height:1px; mso-line-height-rule: exactly;\" width=\"100%\">&nbsp;</td>\n  																	</tr>\n  																	<!-- /Spacing -->\n  																	<tr>\n  																		<td style=\"font-family: Helvetica, arial, sans-serif; font-size: 18px;  text-align:left; line-height: 26px; padding:0 15px; color:#89c66b;\"><a href=\"#\" style=\"color:#89c66b;\">Your Heading Here</a></td>\n  																	</tr>\n  																	<!-- Spacing -->\n  																	<tr>\n  																		<td height=\"15\" style=\"font-size:1px; line-height:1px; mso-line-height-rule: exactly;\" width=\"100%\">&nbsp;</td>\n  																	</tr>\n  																	<!-- /Spacing --><!-- content -->\n  																	<tr>\n  																		<td style=\"padding:0 15px;\">\n  																		<p style=\"font-family: Helvetica, arial, sans-serif; font-size: 16px; color: #7a6e67; text-align:left; line-height: 26px; padding-bottom:10px;\">{contact.email_greeting},																		</p>\n  																		<p style=\"font-family: Helvetica, arial, sans-serif; font-size: 16px; color: #7a6e67; text-align:left; line-height: 26px; padding-bottom:10px;\"><span class=\"padding-right15\" style=\"font-family: Helvetica, arial, sans-serif; font-size: 14px; color: #7a6e67; text-align:left; line-height: 24px;\">Replace with your text and images, and remember to link the facebook and twitter links in the footer to your pages. Have fun!</span></p>\n  																		</td>\n  																	</tr>\n  																	<tr>\n  																		<td class=\"padding-right15\" style=\"font-family: Helvetica, arial, sans-serif; font-size: 16px; font-weight:bold; color: #333333; text-align:left;line-height: 24px; padding-top:10px; padding-left:15px;\"><a href=\"#\" style=\"color:#136388;text-decoration:none;font-weight:bold;\" target=\"_blank\" title=\"read more\">Read More</a></td>\n  																	</tr>\n  																	<!-- /button --><!-- Spacing -->\n  																	<tr>\n  																		<td height=\"20\" style=\"font-size:1px; line-height:1px; mso-line-height-rule: exactly;\">&nbsp;</td>\n  																	</tr>\n  																	<!-- Spacing --><!-- end of content -->\n  																</tbody>\n  															</table>\n  															</td>\n  														</tr>\n  													</tbody>\n  												</table>\n  												</td>\n  											</tr>\n  										</tbody>\n  									</table>\n  									</td>\n  								</tr>\n  							</tbody>\n  						</table>\n  						</td>\n  					</tr>\n  				</tbody>\n  			</table>\n  			</td>\n  		</tr>\n  	</tbody>\n  </table>\n  <!-- end of hero image and story --><!-- story 1 -->\n\n  <table bgcolor=\"#d8d8d8\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" id=\"backgroundTable\" st-sortable=\"left-image\" width=\"100%\">\n  	<tbody>\n  		<tr>\n  			<td>\n  			<table align=\"center\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" class=\"devicewidth\" width=\"650\">\n  				<tbody>\n  					<tr>\n  						<td width=\"100%\">\n  						<table align=\"center\" bgcolor=\"#ffffff\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" class=\"devicewidth\" width=\"650\">\n  							<tbody><!-- Spacing -->\n  								<tr>\n  									<td>\n  									<table align=\"center\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" class=\"devicewidth\" width=\"650\">\n  										<tbody>\n  											<tr>\n  												<td width=\"100%\">\n  												<table align=\"center\" bgcolor=\"#ffffff\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" class=\"devicewidth\" width=\"650\">\n  													<tbody>\n  														<tr>\n  															<td>\n  															<table align=\"center\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" class=\"devicewidthinner\" width=\"650\">\n  																<tbody><!-- image -->\n  																	<tr>\n  																		<td align=\"center\" class=\"devicewidthinner\" width=\"100%\">\n  																		<div class=\"imgpop\"><a href=\"#\" target=\"_blank\"><img alt=\"\" border=\"0\" class=\"blog\" height=\"250\" src=\"https://civicrm.org/sites/default/files/civicrm/custom/images/banner-image-650-250.png\" style=\"display:block; border:none; outline:none; text-decoration:none; padding:0; line-height:0;\" width=\"650\" /></a></div>\n  																		</td>\n  																	</tr>\n  																	<!-- /image --><!-- Spacing -->\n  																	<tr>\n  																		<td height=\"15\" style=\"font-size:1px; line-height:1px; mso-line-height-rule: exactly;\" width=\"100%\">&nbsp;</td>\n  																	</tr>\n  																	<!-- /Spacing -->\n  																	<tr>\n  																		<td style=\"font-family: Helvetica, arial, sans-serif; font-size: 18px;  text-align:left; line-height: 26px; padding:0 15px;\"><a href=\"#\" style=\"color:#89c66b;\">Your Heading  Here</a></td>\n  																	</tr>\n  																	<!-- Spacing -->\n  																	<tr>\n  																		<td height=\"15\" style=\"font-size:1px; line-height:1px; mso-line-height-rule: exactly;\" width=\"100%\">&nbsp;</td>\n  																	</tr>\n  																	<!-- /Spacing --><!-- content -->\n  																	<tr>\n  																		<td style=\"padding:0 15px;\">\n  																		<p style=\"font-family: Helvetica, arial, sans-serif; font-size: 16px; color: #7a6e67; text-align:left; line-height: 26px; padding-bottom:10px;\">Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna </p>\n  																		</td>\n  																	</tr>\n  																	<tr>\n  																		<td class=\"padding-right15\" style=\"font-family: Helvetica, arial, sans-serif; font-size: 16px; font-weight:bold; color: #333333; text-align:left;line-height: 24px; padding-top:10px; padding-left:15px;\"><a href=\"#\" style=\"color:#136388;text-decoration:none;font-weight:bold;\" target=\"_blank\" title=\"read more\">Read More</a></td>\n  																	</tr>\n  																	<!-- /button --><!-- Spacing -->\n  																	<tr>\n  																		<td height=\"20\" style=\"font-size:1px; line-height:1px; mso-line-height-rule: exactly;\">&nbsp;</td>\n  																	</tr>\n  																	<!-- Spacing --><!-- end of content -->\n  																</tbody>\n  															</table>\n  															</td>\n  														</tr>\n  													</tbody>\n  												</table>\n  												</td>\n  											</tr>\n  										</tbody>\n  									</table>\n  									</td>\n  								</tr>\n  							</tbody>\n  						</table>\n  						</td>\n  					</tr>\n  				</tbody>\n  			</table>\n  			</td>\n  		</tr>\n  	</tbody>\n  </table>\n  <!-- /story 2--><!-- banner1 -->\n\n  <table bgcolor=\"#d8d8d8\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" id=\"backgroundTable\" st-sortable=\"left-image\" width=\"100%\">\n  	<tbody>\n  		<tr>\n  			<td>\n  			<table align=\"center\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" class=\"devicewidth\" width=\"650\">\n  				<tbody>\n  					<tr>\n  						<td width=\"100%\">\n  						<table align=\"center\" bgcolor=\"#ffffff\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" class=\"devicewidth\" width=\"650\">\n  							<tbody><!-- Spacing -->\n  								<tr>\n  									<td>\n  									<table align=\"center\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" class=\"devicewidth\" width=\"650\">\n  										<tbody>\n  											<tr>\n  												<td width=\"100%\">\n  												<table align=\"center\" bgcolor=\"#89c66b\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" class=\"devicewidth\" width=\"650\">\n  													<tbody>\n  														<tr>\n  															<td>\n  															<table align=\"center\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" class=\"devicewidthinner\" width=\"650\">\n  																<tbody><!-- image -->\n  																	<tr>\n  																		<td align=\"center\" class=\"devicewidthinner\" width=\"100%\">\n  																		<div class=\"imgpop\"><a href=\"#\" target=\"_blank\"><img alt=\"\" border=\"0\" class=\"blog\" height=\"auto\" src=\"https://civicrm.org/sites/default/files/civicrm/custom/images/banner-image-650-250.png\" style=\"display:block; border:none; outline:none; text-decoration:none; padding:0; line-height:0;\" width=\"650\" /></a></div>\n  																		</td>\n  																	</tr>\n  																	<!-- /image --><!-- content --><!-- Spacing -->\n  																	<tr>\n  																		<td height=\"15\" style=\"font-size:1px; line-height:1px; mso-line-height-rule: exactly;\" width=\"100%\">&nbsp;</td>\n  																	</tr>\n  																	<!-- /Spacing -->\n  																	<tr>\n  																		<td style=\"padding:15px;\">\n  																		<p style=\"font-family: Helvetica, arial, sans-serif; font-size: 16px; color: #f0f0f0; text-align:left; line-height: 26px; padding-bottom:10px;\">Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna </p>\n  																		</td>\n  																	</tr>\n  																	<!-- /button --><!-- white button -->\n  																	<!-- /button --><!-- Spacing --><!-- end of content -->\n  																</tbody>\n  															</table>\n  															</td>\n  														</tr>\n  													</tbody>\n  												</table>\n  												</td>\n  											</tr>\n  										</tbody>\n  									</table>\n  									</td>\n  								</tr>\n  							</tbody>\n  						</table>\n  						</td>\n  					</tr>\n  				</tbody>\n  			</table>\n  			</td>\n  		</tr>\n  	</tbody>\n  </table>\n  <!-- /banner 1--><!-- banner 2 -->\n\n  <table bgcolor=\"#d8d8d8\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" id=\"backgroundTable\" st-sortable=\"left-image\" width=\"100%\">\n  	<tbody>\n  		<tr>\n  			<td>\n  			<table align=\"center\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" class=\"devicewidth\" width=\"650\">\n  				<tbody>\n  					<tr>\n  						<td width=\"100%\">\n  						<table align=\"center\" bgcolor=\"#ffffff\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" class=\"devicewidth\" width=\"650\">\n  							<tbody><!-- Spacing -->\n  								<tr>\n  									<td>\n  									<table align=\"center\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" class=\"devicewidth\" width=\"650\">\n  										<tbody>\n  											<tr>\n  												<td width=\"100%\">\n  												<table align=\"center\" bgcolor=\"#136388\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" class=\"devicewidth\" width=\"650\">\n  													<tbody>\n  														<tr>\n  															<td>\n  															<table align=\"center\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" class=\"devicewidthinner\" width=\"650\">\n  																<tbody><!-- image -->\n  																	<tr>\n  																		<td align=\"center\" class=\"devicewidthinner\" width=\"100%\">\n  																		<div class=\"imgpop\"><a href=\"#\" target=\"_blank\"><img alt=\"\" border=\"0\" class=\"blog\" height=\"auto\" src=\"https://civicrm.org/sites/default/files/civicrm/custom/images/banner-image-650-250.png\" style=\"display:block; border:none; outline:none; text-decoration:none; padding:0; line-height:0;\" width=\"650\" /></a></div>\n  																		</td>\n  																	</tr>\n  																	<!-- /image --><!-- content --><!-- Spacing -->\n  																	<tr>\n  																		<td height=\"15\" style=\"font-size:1px; line-height:1px; mso-line-height-rule: exactly;\" width=\"100%\">&nbsp;</td>\n  																	</tr>\n  																	<!-- /Spacing -->\n  																	<tr>\n  																		<td style=\"padding: 15px;\">\n  																		<p style=\"font-family: Helvetica, arial, sans-serif; font-size: 16px; color: #f0f0f0; text-align:left; line-height: 26px; padding-bottom:10px;\">Remember to link the facebook and twitter links below to your pages!</p>\n  																		</td>\n  																	</tr>\n  																	<!-- /button --><!-- white button -->\n  																	<tr>\n  																		<td class=\"padding-right15\" style=\"font-family: Helvetica, arial, sans-serif; font-size: 16px; font-weight:bold; color: #333333; text-align:left;line-height: 24px; padding-top:10px; padding-bottom:10px; padding-left:15px;\"><a href=\"#\" style=\"color:#ffffff;text-decoration:none;font-weight:bold;\" target=\"_blank\" title=\"read more\">Read More</a></td>\n  																	</tr>\n  																	<!-- /button --><!-- Spacing --><!-- end of content -->\n  																</tbody>\n  															</table>\n  															</td>\n  														</tr>\n  													</tbody>\n  												</table>\n  												</td>\n  											</tr>\n  										</tbody>\n  									</table>\n  									</td>\n  								</tr>\n  							</tbody>\n  						</table>\n  						</td>\n  					</tr>\n  				</tbody>\n  			</table>\n  			</td>\n  		</tr>\n  	</tbody>\n  </table>\n  <!-- /banner2 --><!-- footer -->\n\n  <table bgcolor=\"#d8d8d8\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" id=\"backgroundTable\" st-sortable=\"footer\" width=\"100%\">\n  	<tbody>\n  		<tr>\n  			<td>\n  			<table align=\"center\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" class=\"devicewidth\" width=\"650\">\n  				<tbody>\n  					<tr>\n  						<td width=\"100%\">\n  						<table align=\"center\" bgcolor=\"#89c66b\"  border=\"0\" cellpadding=\"0\" cellspacing=\"0\" class=\"devicewidth\" width=\"650\">\n  							<tbody><!-- Spacing -->\n  								<tr>\n  									<td height=\"10\" style=\"font-size:1px; line-height:1px; mso-line-height-rule: exactly;\">&nbsp;</td>\n  								</tr>\n  								<!-- Spacing -->\n  								<tr>\n  									<td><!-- logo -->\n  									<table align=\"left\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"250\">\n  										<tbody>\n  											<tr>\n  												<td width=\"20\">&nbsp;</td>\n  												<td align=\"left\" height=\"40\" width=\"250\"><span style=\"font-family: Helvetica, arial, sans-serif; font-size: 13px; text-align:left; line-height: 26px; padding-bottom:10px;\"><a href=\"{action.unsubscribeUrl}\" style=\"color: #f0f0f0; \">Unsubscribe | </a><a href=\"{action.subscribeUrl}\"  style=\"color: #f0f0f0;\">Subscribe |</a> <a href=\"{action.optOutUrl}\" style=\"color: #f0f0f0;\">Opt out</a></span></td>\n  											</tr>\n  											<tr>\n  												<td width=\"20\">&nbsp;</td>\n  												<td align=\"left\" height=\"40\" width=\"250\"><span style=\"font-family: Helvetica, arial, sans-serif; font-size: 13px; text-align:left; line-height: 26px; padding-bottom:10px; color: #f0f0f0;\">{domain.address}</span></td>\n  											</tr>\n  										</tbody>\n  									</table>\n  									<!-- end of logo --><!-- start of social icons -->\n\n  									<table align=\"right\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" height=\"40\" vaalign=\"middle\" width=\"60\">\n  										<tbody>\n  											<tr>\n  												<td align=\"left\" height=\"22\" width=\"22\">\n  												<div class=\"imgpop\"><a href=\"#\" target=\"_blank\"><img alt=\"\" border=\"0\" height=\"22\" src=\"https://civicrm.org/sites/default/files/civicrm/custom/images/facebook.png\" style=\"display:block; border:none; outline:none; text-decoration:none;\" width=\"22\" /> </a></div>\n  												</td>\n  												<td align=\"left\" style=\"font-size:1px; line-height:1px;\" width=\"10\">&nbsp;</td>\n  												<td align=\"right\" height=\"22\" width=\"22\">\n  												<div class=\"imgpop\"><a href=\"#\" target=\"_blank\"><img alt=\"\" border=\"0\" height=\"22\" src=\"https://civicrm.org/sites/default/files/civicrm/custom/images/twitter.png\" style=\"display:block; border:none; outline:none; text-decoration:none;\" width=\"22\" /> </a></div>\n  												</td>\n  												<td align=\"left\" style=\"font-size:1px; line-height:1px;\" width=\"20\">&nbsp;</td>\n  											</tr>\n  										</tbody>\n  									</table>\n  									<!-- end of social icons --></td>\n  								</tr>\n  								<!-- Spacing -->\n  								<tr>\n  									<td height=\"10\" style=\"font-size:1px; line-height:1px; mso-line-height-rule: exactly;\">&nbsp;</td>\n  								</tr>\n  								<!-- Spacing -->\n  							</tbody>\n  						</table>\n  						</td>\n  					</tr>\n  				</tbody>\n  			</table>\n  			</td>\n  		</tr>\n  	</tbody>\n  </table>\n\n</body>\n</html>\n',1,NULL,NULL,1,0,0,NULL),
  (67,'Sample Responsive Design Newsletter - Two Column Template','Sample Responsive Design Newsletter - Two Column','','<html xmlns=\"http://www.w3.org/1999/xhtml\">\n  <meta content=\"text/html; charset=utf-8\" http-equiv=\"Content-Type\" />\n  <meta content=\"width=device-width, initial-scale=1.0\" name=\"viewport\" />\n  <title></title>\n  <style type=\"text/css\">\n     {literal}\n     img {height: auto !important;}\n     /* Client-specific Styles */\n     #outlook a {padding:0;} /* Force Outlook to provide a \"view in browser\" menu link. */\n     body{width:100% !important; -webkit-text-size-adjust:100%; -ms-text-size-adjust:100%; margin:0; padding:0;}\n\n     /* Prevent Webkit and Windows Mobile platforms from changing default font sizes, while not breaking desktop design. */\n     .ExternalClass {width:100%;} /* Force Hotmail to display emails at full width */\n     .ExternalClass, .ExternalClass p, .ExternalClass span, .ExternalClass font, .ExternalClass td, .ExternalClass div {line-height: 100%;} /* Force Hotmail to display normal line spacing. */\n     #backgroundTable {margin:0; padding:0; width:100% !important; line-height: 100% !important;}\n     img {outline:none; text-decoration:none;border:none; -ms-interpolation-mode: bicubic;}\n     a img {border:none;}\n     .image_fix {display:block;}\n     p {margin: 0px 0px !important;}\n     table td {border-collapse: collapse;}\n     table { border-collapse:collapse; mso-table-lspace:0pt; mso-table-rspace:0pt; }\n     a {/*color: #33b9ff;*/text-decoration: none;text-decoration:none!important;}\n\n\n     /*STYLES*/\n     table[class=full] { width: 100%; clear: both; }\n\n     /*IPAD STYLES*/\n     @media only screen and (max-width: 640px) {\n     a[href^=\"tel\"], a[href^=\"sms\"] {text-decoration: none;color: #0a8cce;pointer-events: none;cursor: default;}\n     .mobile_link a[href^=\"tel\"], .mobile_link a[href^=\"sms\"] {text-decoration: default;color: #0a8cce !important;pointer-events: auto;cursor: default;}\n     table[class=devicewidth] {width: 440px!important;text-align:center!important;}\n     table[class=devicewidthmob] {width: 414px!important;text-align:center!important;}\n     table[class=devicewidthinner] {width: 414px!important;text-align:center!important;}\n     img[class=banner] {width: 440px!important;auto!important;}\n     img[class=col2img] {width: 440px!important;height:auto!important;}\n     table[class=\"cols3inner\"] {width: 100px!important;}\n     table[class=\"col3img\"] {width: 131px!important;}\n     img[class=\"col3img\"] {width: 131px!important;height: auto!important;}\n     table[class=\"removeMobile\"]{width:10px!important;}\n     img[class=\"blog\"] {width: 440px!important;height: auto!important;}\n     }\n\n     /*IPHONE STYLES*/\n     @media only screen and (max-width: 480px) {\n     a[href^=\"tel\"], a[href^=\"sms\"] {text-decoration: none;color: #0a8cce;pointer-events: none;cursor: default;}\n     .mobile_link a[href^=\"tel\"], .mobile_link a[href^=\"sms\"] {text-decoration: default;color: #0a8cce !important; pointer-events: auto;cursor: default;}\n     table[class=devicewidth] {width: 280px!important;text-align:center!important;}\n     table[class=devicewidthmob] {width: 260px!important;text-align:center!important;}\n     table[class=devicewidthinner] {width: 260px!important;text-align:center!important;}\n     img[class=banner] {width: 280px!important;height:100px!important;}\n     img[class=col2img] {width: 280px!important;height:auto!important;}\n     table[class=\"cols3inner\"] {width: 260px!important;}\n     img[class=\"col3img\"] {width: 280px!important;height: auto!important;}\n     table[class=\"col3img\"] {width: 280px!important;}\n     img[class=\"blog\"] {width: 280px!important;auto!important;}\n     td[class=\"padding-top-right15\"]{padding:15px 15px 0 0 !important;}\n     td[class=\"padding-right15\"]{padding-right:15px !important;}\n     }\n\n     @media only screen and (max-device-width: 800px)\n     {td[class=\"padding-top-right15\"]{padding:15px 15px 0 0 !important;}\n     td[class=\"padding-right15\"]{padding-right:15px !important;}}\n     @media only screen and (max-device-width: 769px) {.devicewidthmob {font-size:14px;}}\n\n     @media only screen and (max-width: 640px) {.desktop-spacer {display:none !important;}\n	   }\n     {/literal}\n  </style>\n  <body>\n    <!-- Start of preheader --><!-- Start of preheader -->\n    <table bgcolor=\"#0B4151\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" id=\"backgroundTable\" width=\"100%\">\n    	<tbody>\n    		<tr>\n    			<td>\n    			<table align=\"center\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" class=\"devicewidth\" width=\"700\">\n    				<tbody>\n    					<tr>\n    						<td width=\"100%\">\n    						<table align=\"center\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" class=\"devicewidth\" width=\"700\">\n    							<tbody><!-- Spacing -->\n    								<tr>\n    									<td height=\"20\" width=\"100%\">&nbsp;</td>\n    								</tr>\n    								<!-- Spacing -->\n    								<tr>\n    									<td>\n    									<table align=\"left\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" class=\"devicewidthinner\" width=\"360\">\n    										<tbody>\n    											<tr>\n    												<td align=\"left\" style=\"font-family: Helvetica, arial, sans-serif; font-size: 14px; line-height:120%; color: #f8f8f8;padding-left:15px;\" valign=\"middle\">Organization or Program Name Here</td>\n    											</tr>\n    										</tbody>\n    									</table>\n\n    									<table align=\"right\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" class=\"emhide\" width=\"320\">\n    										<tbody>\n    											<tr>\n    												<td align=\"right\" style=\"font-family: Helvetica, arial, sans-serif; font-size: 16px;color: #f8f8f8;padding-right:15px;\" valign=\"middle\">Month Year</td>\n    											</tr>\n    										</tbody>\n    									</table>\n    									</td>\n    								</tr>\n    								<!-- Spacing -->\n    								<tr>\n    									<td height=\"20\" width=\"100%\">&nbsp;</td>\n    								</tr>\n    								<!-- Spacing -->\n    							</tbody>\n    						</table>\n    						</td>\n    					</tr>\n    				</tbody>\n    			</table>\n    			</td>\n    		</tr>\n    	</tbody>\n    </table>\n    <!-- End of preheader --><!-- start of logo -->\n\n    <table bgcolor=\"#d8d8d8\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" id=\"backgroundTable\" st-sortable=\"left-image\" width=\"100%\">\n    	<tbody>\n    		<tr>\n    			<td>\n    			<table align=\"center\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" class=\"devicewidthmob\" width=\"700\">\n    				<tbody>\n    					<tr>\n    						<td width=\"100%\">\n    						<table align=\"center\" bgcolor=\"#ffffff\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" class=\"devicewidth\" width=\"700\">\n    							<tbody><!-- Spacing -->\n    								<tr>\n    									<td height=\"20\" width=\"100%\">\n    									<table align=\"center\" border=\"0\" cellpadding=\"2\" cellspacing=\"0\" width=\"93%\">\n    										<tbody>\n    											<tr>\n                             <td rowspan=\"2\" width=\"330\"><a href=\"#\"> <div class=\"imgpop\"><img src=\"https://civicrm.org/sites/default/files/civicrm/custom/images/civicrm-logo-transparent.png\" alt=\"Replace with your own logo\" width=\"220\" border=\"0\" style=\"display:block;\"/></div></a></td>\n                            <td align=\"right\" >\n    												<h6 class=\"collapse\">&nbsp;</h6>\n    												</td>\n    											</tr>\n    											<tr>\n    												<td align=\"right\">\n\n    												</td>\n    											</tr>\n    										</tbody>\n    									</table>\n    									</td>\n    								</tr>\n\n    							</tbody>\n    						</table>\n    						</td>\n    					</tr>\n    				</tbody>\n    			</table>\n    			</td>\n    		</tr>\n    	</tbody>\n    </table>\n    <!-- end of logo --> <!-- hero story 1 -->\n\n    <table bgcolor=\"#d8d8d8\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" id=\"backgroundTable\" st-sortable=\"left-image\" width=\"101%\">\n    	<tbody>\n    		<tr>\n    			<td>\n    			<table align=\"center\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" class=\"devicewidth\" width=\"700\">\n    				<tbody>\n    					<tr>\n    						<td width=\"100%\">\n    						<table align=\"center\" bgcolor=\"#f8f8f8\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" class=\"devicewidth\" width=\"700\">\n    							<tbody>\n    								<tr>\n    									<td>\n    									<table align=\"center\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" class=\"devicewidth\" width=\"700\">\n    										<tbody>\n    											<tr>\n    												<td width=\"100%\">\n    												<table align=\"center\" bgcolor=\"#f8f8f8\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" class=\"devicewidth\" width=\"700\">\n    													<tbody><!-- /Spacing -->\n    														<tr>\n    															<td style=\"font-family: Helvetica, arial, sans-serif; font-size: 24px; color:#f8f8f8; text-align:left; line-height: 26px; padding:5px 15px; background-color: #80C457\">Hero Story Heading</td>\n    														</tr>\n    														<!-- Spacing -->\n    														<tr>\n    															<td>\n    															<table align=\"center\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" class=\"devicewidthinner\" width=\"700\">\n    																<tbody><!-- image -->\n    																	<tr>\n    																		<td align=\"center\" class=\"devicewidthinner\" width=\"100%\">\n    																		<div class=\"imgpop\"><a href=\"#\" target=\"_blank\"><img alt=\"\" border=\"0\" class=\"blog\" height=\"396\" src=\"https://civicrm.org/sites/default/files/civicrm/custom/images/700x396.png\" style=\"display:block; border:none; outline:none; text-decoration:none; padding:0; line-height:0;\" width=\"700\" /></a></div>\n    																		</td>\n    																	</tr>\n    																	<!-- /image --><!-- Spacing -->\n    																	<tr>\n    																		<td height=\"15\" style=\"font-size:1px; line-height:1px; mso-line-height-rule: exactly;\" width=\"100%\">&nbsp;</td>\n    																	</tr>\n    																	<!-- /Spacing --><!-- hero story -->\n    																	<tr>\n    																		<td style=\"font-family: Helvetica, arial, sans-serif; font-size: 18px;  text-align:left; line-height: 26px; padding:0 15px;\"><a href=\"#\" style=\"color:#076187; text-decoration:none; \" target=\"_blank\">Subheading Here</a></td>\n    																	</tr>\n    																	<!-- Spacing -->\n    																	<tr>\n    																		<td height=\"15\" style=\"font-size:1px; line-height:1px; mso-line-height-rule: exactly;\" width=\"100%\">&nbsp;</td>\n    																	</tr><!-- /Spacing -->\n    																	<tr>\n    																		<td style=\"font-family: Helvetica, arial, sans-serif; font-size: 14px; color: #7a6e67; text-align:left; line-height: 26px; padding:0 15px;\"><span class=\"padding-right15\" style=\"font-family: Helvetica, arial, sans-serif; font-size: 14px; color: #7a6e67; text-align:left; line-height: 24px;\">Replace with your text and images, and remember to link the facebook and twitter links in the footer to your pages. Have fun!</span></td>\n    																	</tr>\n\n    <!-- Spacing -->\n    																	<tr>\n    																		<td height=\"15\" style=\"font-size:1px; line-height:1px; mso-line-height-rule: exactly;\" width=\"100%\">&nbsp;</td>\n    																	</tr><!-- /Spacing -->\n\n              <!-- /Spacing --><!-- /hero story -->\n\n    																	<!-- Spacing -->                                                            <!-- Spacing -->\n\n\n\n    																	<!-- Spacing --><!-- end of content -->\n    																</tbody>\n    															</table>\n    															</td>\n    														</tr>\n    													</tbody>\n    												</table>\n    												</td>\n    											</tr>\n    										</tbody>\n    									</table>\n    									</td>\n    								</tr>\n    								<!-- Section Heading -->\n    								<tr>\n    									<td style=\"font-family: Helvetica, arial, sans-serif; font-size: 24px; color:#f8f8f8; text-align:left; line-height: 26px; padding:5px 15px; background-color: #80C457\">Section Heading Here</td>\n    								</tr>\n    								<!-- /Section Heading -->\n    							</tbody>\n    						</table>\n    						</td>\n    					</tr>\n    				</tbody>\n    			</table>\n    			</td>\n    		</tr>\n    	</tbody>\n    </table>\n    <!-- /hero story 1 --><!-- story one -->\n\n    <table bgcolor=\"#d8d8d8\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" id=\"backgroundTable\" st-sortable=\"left-image\" width=\"100%\">\n    	<tbody>\n    		<tr>\n    			<td>\n    			<table align=\"center\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" class=\"devicewidth\" width=\"700\">\n    				<tbody>\n    					<tr>\n    						<td width=\"100%\">\n    						<table align=\"center\" bgcolor=\"#ffffff\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" class=\"devicewidth\" width=\"700\">\n    							<tbody><!-- Spacing -->\n    								<tr>\n    									<td class=\"desktop-spacer\" height=\"20\" style=\"font-size:1px; line-height:1px; mso-line-height-rule: exactly;\">&nbsp;</td>\n    								</tr>\n    								<!-- Spacing -->\n    								<tr>\n    									<td>\n    									<table align=\"center\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" class=\"devicewidth\" width=\"660\">\n    										<tbody>\n    											<tr>\n    												<td><!-- Start of left column -->\n    												<table align=\"left\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" class=\"devicewidth\" width=\"330\">\n    													<tbody><!-- image -->\n    														<tr>\n    															<td align=\"center\" class=\"devicewidth\" height=\"150\" valign=\"top\" width=\"330\"><a href=\"#\"><img alt=\"\" border=\"0\" class=\"col2img\" src=\"https://civicrm.org/sites/default/files/civicrm/custom/images/330x150.png\" style=\"display:block; border:none; outline:none; text-decoration:none; display:block;\" width=\"330\" /></a></td>\n    														</tr>\n    														<!-- /image -->\n    													</tbody>\n    												</table>\n    												<!-- end of left column --><!-- spacing for mobile devices-->\n\n    												<table align=\"left\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" class=\"mobilespacing\">\n    													<tbody>\n    														<tr>\n    															<td height=\"15\" style=\"font-size:1px; line-height:1px; mso-line-height-rule: exactly;\" width=\"100%\">&nbsp;</td>\n    														</tr>\n    													</tbody>\n    												</table>\n    												<!-- end of for mobile devices--><!-- start of right column -->\n\n    												<table align=\"right\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" class=\"devicewidthmob\" width=\"310\">\n    													<tbody>\n    														<tr>\n    															<td class=\"padding-top-right15\" style=\"font-family: Helvetica, arial, sans-serif; font-size: 18px; text-align:left; line-height: 24px;\"><a href=\"#\" style=\"color:#076187; text-decoration:none; \" target=\"_blank\">Heading Here</a><a href=\"#\" style=\"color:#076187; text-decoration:none;\" target=\"_blank\" title=\"CiviCRM helps keep the “City Beautiful” Movement”going strong\"></a></td>\n    														</tr>\n    														<!-- end of title --><!-- Spacing -->\n    														<tr>\n    															<td height=\"15\" style=\"font-size:1px; line-height:1px; mso-line-height-rule: exactly;\" width=\"100%\">&nbsp;</td>\n    														</tr>\n    														<!-- /Spacing --><!-- content -->\n    														<tr>\n    															<td class=\"padding-right15\" style=\"font-family: Helvetica, arial, sans-serif; font-size: 14px; color: #7a6e67; text-align:left; line-height: 24px;\"><span class=\"padding-right15\" style=\"font-family: Helvetica, arial, sans-serif; font-size: 14px; color: #7a6e67; text-align:left; line-height: 24px;\">Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod\n                                                                tempor incididunt ut labore et dolore magna </span></td>\n    														</tr>\n    														<tr>\n    															<td class=\"padding-right15\" style=\"font-family: Helvetica, arial, sans-serif; font-size: 14px; font-weight:bold; color: #333333; text-align:left;line-height: 24px; padding-top:10px;\"><a href=\"#\" style=\"color:#80C457;text-decoration:none;font-weight:bold;\" target=\"_blank\" title=\"CiviCRM helps keep the “City Beautiful” Movement”going strong\">Read More</a></td>\n    														</tr>\n    														<!-- /button --><!-- end of content -->\n    													</tbody>\n    												</table>\n    												<!-- end of right column --></td>\n    											</tr>\n    										</tbody>\n    									</table>\n    									</td>\n    								</tr>\n    								<!-- Spacing -->\n    								<tr>\n    									<td height=\"20\" style=\"font-size:1px; line-height:1px; mso-line-height-rule: exactly;\">&nbsp;</td>\n    								</tr>\n    							</tbody>\n    						</table>\n    						</td>\n    					</tr>\n    				</tbody>\n    			</table>\n    			</td>\n    		</tr>\n    	</tbody>\n    </table>\n    <!-- /story one -->\n    <!-- story two -->\n\n    <table bgcolor=\"#d8d8d8\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" id=\"backgroundTable\" st-sortable=\"left-image\" width=\"100%\">\n    	<tbody>\n    		<tr>\n    			<td>\n    			<table align=\"center\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" class=\"devicewidth\" width=\"700\">\n    				<tbody>\n    					<tr>\n    						<td width=\"100%\">\n    						<table align=\"center\" bgcolor=\"#ffffff\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" class=\"devicewidth\" width=\"700\">\n    							<tbody><!-- Spacing -->\n    								<tr>\n    									<td bgcolor=\"#076187\" height=\"0\" style=\"font-size:1px; line-height:1px; mso-line-height-rule: exactly;\">&nbsp;</td>\n    								</tr>\n    								<!-- Spacing --><!-- Spacing -->\n    								<tr>\n    									<td class=\"desktop-spacer\" height=\"20\" style=\"font-size:1px; line-height:1px; mso-line-height-rule: exactly;\">&nbsp;</td>\n    								</tr>\n    								<!-- Spacing -->\n    								<tr>\n    									<td>\n    									<table align=\"center\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" class=\"devicewidth\" width=\"660\">\n    										<tbody>\n    											<tr>\n    												<td><!-- Start of left column -->\n    												<table align=\"left\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" class=\"devicewidth\" width=\"330\">\n    													<tbody><!-- image -->\n    														<tr>\n    															<td align=\"center\" class=\"devicewidth\" height=\"150\" valign=\"top\" width=\"330\"><a href=\"#\"><img alt=\"\" border=\"0\" class=\"col2img\" src=\"https://civicrm.org/sites/default/files/civicrm/custom/images/330x150.png\" style=\"display:block; border:none; outline:none; text-decoration:none; display:block;\" width=\"330\" /></a></td>\n    														</tr>\n    														<!-- /image -->\n    													</tbody>\n    												</table>\n    												<!-- end of left column --><!-- spacing for mobile devices-->\n\n    												<table align=\"left\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" class=\"mobilespacing\">\n    													<tbody>\n    														<tr>\n    															<td height=\"15\" style=\"font-size:1px; line-height:1px; mso-line-height-rule: exactly;\" width=\"100%\">&nbsp;</td>\n    														</tr>\n    													</tbody>\n    												</table>\n    												<!-- end of for mobile devices--><!-- start of right column -->\n\n    												<table align=\"right\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" class=\"devicewidthmob\" width=\"310\">\n    													<tbody>\n    														<tr>\n    															<td class=\"padding-top-right15\" style=\"font-family: Helvetica, arial, sans-serif; font-size: 18px; text-align:left; line-height: 24px;\"><a href=\"#\" style=\"color:#076187; text-decoration:none; \" target=\"_blank\">Heading Here</a><a href=\"#\" style=\"color:#076187; text-decoration:none;\" target=\"_blank\" title=\"How CiviCRM will take Tribodar Eco Learning Center to another level\"></a></td>\n    														</tr>\n    														<!-- end of title --><!-- Spacing -->\n    														<tr>\n    															<td height=\"15\" style=\"font-size:1px; line-height:1px; mso-line-height-rule: exactly;\" width=\"100%\">&nbsp;</td>\n    														</tr>\n    														<!-- /Spacing --><!-- content -->\n    														<tr>\n    															<td class=\"padding-right15\" style=\"font-family: Helvetica, arial, sans-serif; font-size: 14px; color: #7a6e67; text-align:left; line-height: 24px;\"><span class=\"padding-right15\" style=\"font-family: Helvetica, arial, sans-serif; font-size: 14px; color: #7a6e67; text-align:left; line-height: 24px;\">Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod\n                                                                tempor incididunt ut labore et dolore magna </span></td>\n    														</tr>\n    														<tr>\n    															<td class=\"padding-right15\" style=\"font-family: Helvetica, arial, sans-serif; font-size: 14px; font-weight:bold; color: #333333; text-align:left;line-height: 24px; padding-top:10px;\"><a href=\"#\" style=\"color:#80C457;text-decoration:none;font-weight:bold;\" target=\"_blank\" title=\"How CiviCRM will take Tribodar Eco Learning Center to another level\">Read More</a></td>\n    														</tr>\n    														<!-- /button --><!-- end of content -->\n    													</tbody>\n    												</table>\n    												<!-- end of right column --></td>\n    											</tr>\n    										</tbody>\n    									</table>\n    									</td>\n    								</tr>\n    								<!-- Spacing -->\n    								<tr>\n    									<td height=\"20\" style=\"font-size:1px; line-height:1px; mso-line-height-rule: exactly;\">&nbsp;</td>\n    								</tr>\n    							</tbody>\n    						</table>\n    						</td>\n    					</tr>\n    				</tbody>\n    			</table>\n    			</td>\n    		</tr>\n    	</tbody>\n    </table>\n    <!-- /story two --><!-- story three -->\n\n    <table bgcolor=\"#d8d8d8\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" id=\"backgroundTable\" st-sortable=\"left-image\" width=\"100%\">\n    	<tbody>\n    		<tr>\n    			<td>\n    			<table align=\"center\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" class=\"devicewidth\" width=\"700\">\n    				<tbody>\n    					<tr>\n    						<td width=\"100%\">\n    						<table align=\"center\" bgcolor=\"#ffffff\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" class=\"devicewidth\" width=\"700\">\n    							<tbody><!-- Spacing -->\n    								<tr>\n    									<td bgcolor=\"#076187\" height=\"0\" style=\"font-size:1px; line-height:1px; mso-line-height-rule: exactly;\">&nbsp;</td>\n    								</tr>\n    								<!-- Spacing --><!-- Spacing -->\n    								<tr>\n    									<td height=\"20\" class=\"desktop-spacer\" style=\"font-size:1px; line-height:1px; mso-line-height-rule: exactly;\">&nbsp;</td>\n    								</tr>\n    								<!-- Spacing -->\n    								<tr>\n    									<td>\n    									<table align=\"center\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" class=\"devicewidth\" width=\"660\">\n    										<tbody>\n    											<tr>\n    												<td><!-- Start of left column -->\n    												<table align=\"left\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" class=\"devicewidth\" width=\"330\">\n    													<tbody><!-- image -->\n    														<tr>\n    															<td align=\"center\" class=\"devicewidth\" height=\"150\" valign=\"top\" width=\"330\"><a href=\"#\"><img alt=\"\" border=\"0\" class=\"col2img\" src=\"https://civicrm.org/sites/default/files/civicrm/custom/images/330x150.png\" style=\"display:block; border:none; outline:none; text-decoration:none; display:block;\" width=\"330\" /></a></td>\n    														</tr>\n    														<!-- /image -->\n    													</tbody>\n    												</table>\n    												<!-- end of left column --><!-- spacing for mobile devices-->\n\n    												<table align=\"left\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" class=\"mobilespacing\">\n    													<tbody>\n    														<tr>\n    															<td height=\"15\" style=\"font-size:1px; line-height:1px; mso-line-height-rule: exactly;\" width=\"100%\">&nbsp;</td>\n    														</tr>\n    													</tbody>\n    												</table>\n    												<!-- end of for mobile devices--><!-- start of right column -->\n\n    												<table align=\"right\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" class=\"devicewidthmob\" width=\"310\">\n    													<tbody>\n    														<tr>\n    															<td class=\"padding-top-right15\" style=\"font-family: Helvetica, arial, sans-serif; font-size: 18px;  text-align:left; line-height: 24px;\"><a href=\"#\" style=\"color:#076187; text-decoration:none; \" target=\"_blank\">Heading Here</a><a href=\"#\" style=\"color:#076187; text-decoration:none;\" target=\"_blank\" title=\"CiviCRM provides a soup-to-nuts open-source solution for Friends of the San Pedro River\"></a></td>\n    														</tr>\n    														<!-- end of title --><!-- Spacing -->\n    														<tr>\n    															<td height=\"15\" style=\"font-size:1px; line-height:1px; mso-line-height-rule: exactly;\" width=\"100%\">&nbsp;</td>\n    														</tr>\n    														<!-- /Spacing --><!-- content -->\n    														<tr>\n    															<td class=\"padding-right15\" style=\"font-family: Helvetica, arial, sans-serif; font-size: 14px; color: #7a6e67; text-align:left; line-height: 24px;\"><span class=\"padding-right15\" style=\"font-family: Helvetica, arial, sans-serif; font-size: 14px; color: #7a6e67; text-align:left; line-height: 24px;\">Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod\n                                                                tempor incididunt ut labore et dolore magna </span></td>\n    														</tr>\n    														<tr>\n    															<td style=\"font-family: Helvetica, arial, sans-serif; font-size: 14px; font-weight:bold; color: #333333; text-align:left;line-height: 24px; padding-top:10px;\"><a href=\"#\" style=\"color:#80C457;text-decoration:none;font-weight:bold;\" target=\"_blank\" title=\"CiviCRM provides a soup-to-nuts open-source solution for Friends of the San Pedro River\">Read More</a></td>\n    														</tr>\n    														<!-- /button --><!-- end of content -->\n    													</tbody>\n    												</table>\n    												<!-- end of right column --></td>\n    											</tr>\n    										</tbody>\n    									</table>\n    									</td>\n    								</tr>\n    								<!-- Spacing -->\n    								<tr>\n    									<td height=\"20\" style=\"font-size:1px; line-height:1px; mso-line-height-rule: exactly;\">&nbsp;</td>\n    								</tr>\n    								<!-- Spacing -->\n    							</tbody>\n    						</table>\n    						</td>\n    					</tr>\n    				</tbody>\n    			</table>\n    			</td>\n    		</tr>\n    	</tbody>\n    </table>\n    <!-- /story three -->\n\n\n\n\n\n    <!-- story four -->\n    <table bgcolor=\"#d8d8d8\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" id=\"backgroundTable\" st-sortable=\"left-image\" width=\"100%\">\n    	<tbody>\n    		<tr>\n    			<td>\n    			<table align=\"center\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" class=\"devicewidth\" width=\"700\">\n    				<tbody>\n    					<tr>\n    						<td width=\"100%\">\n    						<table align=\"center\" bgcolor=\"#ffffff\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" class=\"devicewidth\" width=\"700\">\n    							<tbody>\n                                <!-- Spacing -->\n    								<tr>\n    									<td bgcolor=\"#076187\" height=\"0\" style=\"font-size:1px; line-height:1px; mso-line-height-rule: exactly;\">&nbsp;</td>\n    								</tr>\n    								<!-- Spacing -->\n                                <!-- Spacing -->\n    								<tr>\n    									<td class=\"desktop-spacer\" height=\"20\" style=\"font-size:1px; line-height:1px; mso-line-height-rule: exactly;\">&nbsp;</td>\n    								</tr>\n    								<!-- Spacing -->\n    								<tr>\n    									<td>\n    									<table align=\"center\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" class=\"devicewidth\" width=\"660\">\n    										<tbody>\n    											<tr>\n    												<td><!-- Start of left column -->\n    												<table align=\"left\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" class=\"devicewidth\" width=\"330\">\n    													<tbody><!-- image -->\n    														<tr>\n    															<td align=\"center\" class=\"devicewidth\" height=\"150\" valign=\"top\" width=\"330\"><a href=\"#\"><img alt=\"\" border=\"0\" class=\"col2img\" src=\"https://civicrm.org/sites/default/files/civicrm/custom/images/330x150.png\" style=\"display:block; border:none; outline:none; text-decoration:none; display:block;\" width=\"330\" /></a></td>\n    														</tr>\n    														<!-- /image -->\n    													</tbody>\n    												</table>\n    												<!-- end of left column --><!-- spacing for mobile devices-->\n\n    												<table align=\"left\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" class=\"mobilespacing\">\n    													<tbody>\n    														<tr>\n    															<td height=\"15\" style=\"font-size:1px; line-height:1px; mso-line-height-rule: exactly;\" width=\"100%\">&nbsp;</td>\n    														</tr>\n    													</tbody>\n    												</table>\n    												<!-- end of for mobile devices--><!-- start of right column -->\n\n    												<table align=\"right\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" class=\"devicewidthmob\" width=\"310\">\n    													<tbody>\n    														<tr>\n    															<td class=\"padding-top-right15\" style=\"font-family: Helvetica, arial, sans-serif; font-size: 18px;text-align:left; line-height: 24px;\"><a href=\"#\" style=\"color:#076187; text-decoration:none; \" target=\"_blank\">Heading Here</a><a href=\"#\" style=\"color:#076187; text-decoration:none;\" target=\"_blank\" title=\"Google Summer of Code\"></a></td>\n    														</tr>\n    														<!-- end of title --><!-- Spacing -->\n    														<tr>\n    															<td height=\"15\" style=\"font-size:1px; line-height:1px; mso-line-height-rule: exactly;\" width=\"100%\">&nbsp;</td>\n    														</tr>\n    														<!-- /Spacing --><!-- content -->\n    														<tr>\n    															<td class=\"padding-right15\" style=\"font-family: Helvetica, arial, sans-serif; font-size: 14px; color: #7a6e67; text-align:left; line-height: 24px;\"><span class=\"padding-right15\" style=\"font-family: Helvetica, arial, sans-serif; font-size: 14px; color: #7a6e67; text-align:left; line-height: 24px;\">Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod\n                                                                tempor incididunt ut labore et dolore magna </span></td>\n    														</tr>\n    														<tr>\n    															<td style=\"font-family: Helvetica, arial, sans-serif; font-size: 14px; font-weight:bold; color: #333333; text-align:left;line-height: 24px; padding-top:10px;\"><a href=\"#\" style=\"color:#80C457;text-decoration:none;font-weight:bold;\" target=\"_blank\" title=\"Google Summer of Code\">Read More</a></td>\n    														</tr>\n    														<!-- /button --><!-- end of content -->\n    													</tbody>\n    												</table>\n    												<!-- end of right column --></td>\n    											</tr>\n    										</tbody>\n    									</table>\n    									</td>\n    								</tr>\n    								<!-- Spacing -->\n    								<tr>\n                       <td height=\"15\" style=\"font-size:1px; line-height:1px; mso-line-height-rule: exactly;\" width=\"100%\">&nbsp;</td>\n                    </tr>\n                    <!-- /Spacing -->\n                    <tr>\n                      <td style=\"padding: 15px;\">\n                      <p style=\"font-family: Helvetica, arial, sans-serif; font-size: 16px; color:#076187; text-align:left; line-height: 26px; padding-bottom:10px;\">Remember to link the facebook and twitter links below to your pages!</p>\n                      </td>\n    								</tr>\n    								<!-- Spacing -->\n    							</tbody>\n    						</table>\n    						</td>\n    					</tr>\n    				</tbody>\n    			</table>\n    			</td>\n    		</tr>\n    	</tbody>\n    </table>\n    <!-- /story four -->\n\n    <!-- footer -->\n\n    <!-- End of footer --><!-- Start of postfooter -->\n    <table bgcolor=\"#d8d8d8\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" id=\"backgroundTable\" st-sortable=\"footer\" width=\"100%\">\n    	<tbody>\n    		<tr>\n    			<td>\n    			<table align=\"center\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" class=\"devicewidth\" width=\"700\">\n            <tbody>\n              <tr>\n                <td width=\"100%\">\n                  <table align=\"center\" bgcolor=\"#89c66b\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" class=\"devicewidth\" width=\"700\">\n    				        <tbody><!-- Spacing -->\n    					        <tr>\n                        <td height=\"10\" style=\"font-size:1px; line-height:1px; mso-line-height-rule: exactly;\">&nbsp;</td>\n    					        </tr>\n    					        <!-- Spacing -->\n    					        <tr>\n                        <td><!-- logo -->\n                        <table align=\"left\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"250\">\n            							<tbody>\n            								<tr>\n                               <td width=\"20\">&nbsp;</td>\n                              <td align=\"left\" height=\"40\" width=\"250\"><span style=\"font-family: Helvetica, arial, sans-serif; font-size: 13px; text-align:left; line-height: 26px; padding-bottom:10px;\"><a href=\"{action.unsubscribeUrl}\" style=\"color: #f0f0f0;\">Unsubscribe | </a><a href=\"{action.subscribeUrl}\" style=\"color: #f0f0f0;\">Subscribe |</a> <a href=\"{action.optOutUrl}\" style=\"color: #f0f0f0;\">Opt out</a></span></td>\n                            </tr>\n      											<tr>\n      												<td width=\"20\">&nbsp;</td>\n      												<td align=\"left\" height=\"40\" width=\"250\"><span style=\"font-family: Helvetica, arial, sans-serif; font-size: 13px; text-align:left; line-height: 26px; padding-bottom:10px; color: #f0f0f0;\">{domain.address}</span></td>\n      											</tr>\n                          </tbody>\n                        </table>\n                        <!-- end of logo --><!-- start of social icons -->\n      									<table align=\"right\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" height=\"40\" vaalign=\"middle\" width=\"60\">\n      										<tbody>\n      											<tr>\n      												<td align=\"left\" height=\"22\" width=\"22\">\n                                <div class=\"imgpop\"><a href=\"#\" target=\"_blank\"><img alt=\"\" border=\"0\" height=\"22\" src=\"https://civicrm.org/sites/default/files/civicrm/custom/images/facebook.png\" style=\"display:block; border:none; outline:none; text-decoration:none;\" width=\"22\" /> </a></div>      											  </td>\n      												<td align=\"left\" style=\"font-size:1px; line-height:1px;\" width=\"10\">&nbsp;</td>\n      												<td align=\"right\" height=\"22\" width=\"22\">\n      												<div class=\"imgpop\"><a href=\"#\" target=\"_blank\"><img alt=\"\" border=\"0\" height=\"22\" src=\"https://civicrm.org/sites/default/files/civicrm/custom/images/twitter.png\" style=\"display:block; border:none; outline:none; text-decoration:none;\" width=\"22\" /> </a></div>\n      												</td>\n      												<td align=\"left\" style=\"font-size:1px; line-height:1px;\" width=\"20\">&nbsp;</td>\n      											</tr>\n      										</tbody>\n      									</table>\n    									<!-- end of social icons --></td>\n    								</tr>\n    								<!-- Spacing -->\n    								<tr>\n    									<td height=\"10\" style=\"font-size:1px; line-height:1px; mso-line-height-rule: exactly;\">&nbsp;</td>\n    								</tr>\n    								<!-- Spacing -->\n    								<tr>\n    									<td bgcolor=\"#80C457\" height=\"10\" width=\"100%\">&nbsp;</td>\n    								</tr>\n    								<!-- Spacing -->\n    							</tbody>\n    						</table>\n    						</td>\n    					</tr>\n    				</tbody>\n    			</table>\n    			</td>\n    		</tr>\n    	</tbody>\n    </table>\n    <!-- End of footer -->\n  </body>\n</html>\n',1,NULL,NULL,1,0,0,NULL);
@@ -5450,165 +5407,157 @@ INSERT INTO `civicrm_navigation` (`id`, `domain_id`, `label`, `name`, `url`, `ic
  (102,1,'New Case','New Case','civicrm/case/add?reset=1&action=add&atype=13&context=standalone',NULL,'add cases,access all cases and activities','OR',100,1,NULL,2),
  (103,1,'Find Cases','Find Cases','civicrm/case/search?reset=1',NULL,'access my cases and activities,access all cases and activities','OR',100,1,1,3),
  (104,1,'Case Reports','Case Reports','civicrm/report/list?compid=7&reset=1',NULL,'access my cases and activities,access all cases and activities,administer CiviCase','OR',100,1,0,4),
- (105,1,'Grants','Grants',NULL,'crm-i fa-money','access CiviGrant','',NULL,1,NULL,90),
- (106,1,'Dashboard','Dashboard','civicrm/grant?reset=1',NULL,'access CiviGrant','',105,1,NULL,1),
- (107,1,'New Grant','New Grant','civicrm/grant/add?reset=1&action=add&context=standalone',NULL,'access CiviGrant,edit grants','AND',105,1,NULL,2),
- (108,1,'Find Grants','Find Grants','civicrm/grant/search?reset=1',NULL,'access CiviGrant','',105,1,1,3),
- (109,1,'Grant Reports','Grant Reports','civicrm/report/list?compid=5&reset=1',NULL,'access CiviGrant','',105,1,0,4),
- (110,1,'Administer','Administer',NULL,'crm-i fa-gears','administer CiviCRM','',NULL,1,NULL,100),
- (111,1,'Administration Console','Administration Console','civicrm/admin?reset=1',NULL,'administer CiviCRM','',110,1,NULL,1),
- (112,1,'System Status','System Status','civicrm/a/#/status',NULL,'administer CiviCRM','',111,1,NULL,0),
- (113,1,'Configuration Checklist','Configuration Checklist','civicrm/admin/configtask?reset=1',NULL,'administer CiviCRM','',111,1,NULL,1),
- (114,1,'Customize Data and Screens','Customize Data and Screens',NULL,NULL,'administer CiviCRM','',110,1,NULL,3),
- (115,1,'Custom Fields','Custom Fields','civicrm/admin/custom/group?reset=1',NULL,'administer CiviCRM','',114,1,NULL,1),
- (116,1,'Profiles','Profiles','civicrm/admin/uf/group?reset=1',NULL,'administer CiviCRM','',114,1,NULL,2),
- (117,1,'Tags','Tags (Categories)','civicrm/tag?reset=1',NULL,'administer CiviCRM','',114,1,NULL,3),
- (118,1,'Activity Types','Activity Types','civicrm/admin/options/activity_type?reset=1',NULL,'administer CiviCRM','',114,1,NULL,4),
- (119,1,'Relationship Types','Relationship Types','civicrm/admin/reltype?reset=1',NULL,'administer CiviCRM','',114,1,NULL,5),
- (120,1,'Contact Types','Contact Types','civicrm/admin/options/subtype?reset=1',NULL,'administer CiviCRM','',114,1,NULL,6),
- (121,1,'Display Preferences','Display Preferences','civicrm/admin/setting/preferences/display?reset=1',NULL,'administer CiviCRM','',114,1,NULL,9),
- (122,1,'Search Preferences','Search Preferences','civicrm/admin/setting/search?reset=1',NULL,'administer CiviCRM','',114,1,NULL,10),
- (123,1,'Date Preferences','Date Preferences','civicrm/admin/setting/preferences/date?reset=1',NULL,'administer CiviCRM','',114,1,NULL,11),
- (124,1,'Navigation Menu','Navigation Menu','civicrm/admin/menu?reset=1',NULL,'administer CiviCRM','',114,1,NULL,12),
- (125,1,'Word Replacements','Word Replacements','civicrm/admin/options/wordreplacements?reset=1',NULL,'administer CiviCRM','',114,1,NULL,13),
- (126,1,'Manage Custom Searches','Manage Custom Searches','civicrm/admin/options/custom_search?reset=1',NULL,'administer CiviCRM','',114,1,NULL,14),
- (127,1,'Dropdown Options','Dropdown Options','civicrm/admin/options?action=browse&reset=1',NULL,'administer CiviCRM','',114,1,NULL,8),
- (128,1,'Gender Options','Gender Options','civicrm/admin/options/gender?reset=1',NULL,'administer CiviCRM','',127,1,NULL,1),
- (129,1,'Individual Prefixes (Ms, Mr...)','Individual Prefixes (Ms, Mr...)','civicrm/admin/options/individual_prefix?reset=1',NULL,'administer CiviCRM','',127,1,NULL,2),
- (130,1,'Individual Suffixes (Jr, Sr...)','Individual Suffixes (Jr, Sr...)','civicrm/admin/options/individual_suffix?reset=1',NULL,'administer CiviCRM','',127,1,NULL,3),
- (131,1,'Instant Messenger Services','Instant Messenger Services','civicrm/admin/options/instant_messenger_service?reset=1',NULL,'administer CiviCRM','',127,1,NULL,4),
- (132,1,'Location Types (Home, Work...)','Location Types (Home, Work...)','civicrm/admin/locationType?reset=1',NULL,'administer CiviCRM','',127,1,NULL,5),
- (133,1,'Mobile Phone Providers','Mobile Phone Providers','civicrm/admin/options/mobile_provider?reset=1',NULL,'administer CiviCRM','',127,1,NULL,6),
- (134,1,'Phone Types','Phone Types','civicrm/admin/options/phone_type?reset=1',NULL,'administer CiviCRM','',127,1,NULL,7),
- (135,1,'Website Types','Website Types','civicrm/admin/options/website_type?reset=1',NULL,'administer CiviCRM','',127,1,NULL,8),
- (136,1,'Communications','Communications',NULL,NULL,'administer CiviCRM','',110,1,NULL,4),
- (137,1,'Organization Address and Contact Info','Organization Address and Contact Info','civicrm/admin/domain?action=update&reset=1',NULL,'administer CiviCRM','',136,1,NULL,1),
- (138,1,'FROM Email Addresses','FROM Email Addresses','civicrm/admin/options/from_email_address?reset=1',NULL,'administer CiviCRM','',136,1,NULL,2),
- (139,1,'Message Templates','Message Templates','civicrm/admin/messageTemplates?reset=1',NULL,'administer CiviCRM','',136,1,NULL,3),
- (140,1,'Schedule Reminders','Schedule Reminders','civicrm/admin/scheduleReminders?reset=1',NULL,'administer CiviCRM','',136,1,NULL,4),
- (141,1,'Preferred Communication Methods','Preferred Communication Methods','civicrm/admin/options/preferred_communication_method?reset=1',NULL,'administer CiviCRM','',136,1,NULL,5),
- (142,1,'Label Formats','Label Formats','civicrm/admin/labelFormats?reset=1',NULL,'administer CiviCRM','',136,1,NULL,6),
- (143,1,'Print Page (PDF) Formats','Print Page (PDF) Formats','civicrm/admin/pdfFormats?reset=1',NULL,'administer CiviCRM','',136,1,NULL,7),
- (144,1,'Communication Style Options','Communication Style Options','civicrm/admin/options/communication_style?reset=1',NULL,'administer CiviCRM','',136,1,NULL,8),
- (145,1,'Email Greeting Formats','Email Greeting Formats','civicrm/admin/options/email_greeting?reset=1',NULL,'administer CiviCRM','',136,1,NULL,9),
- (146,1,'Postal Greeting Formats','Postal Greeting Formats','civicrm/admin/options/postal_greeting?reset=1',NULL,'administer CiviCRM','',136,1,NULL,10),
- (147,1,'Addressee Formats','Addressee Formats','civicrm/admin/options/addressee?reset=1',NULL,'administer CiviCRM','',136,1,NULL,11),
- (148,1,'Localization','Localization',NULL,NULL,'administer CiviCRM','',110,1,NULL,6),
- (149,1,'Languages, Currency, Locations','Languages, Currency, Locations','civicrm/admin/setting/localization?reset=1',NULL,'administer CiviCRM','',148,1,NULL,1),
- (150,1,'Address Settings','Address Settings','civicrm/admin/setting/preferences/address?reset=1',NULL,'administer CiviCRM','',148,1,NULL,2),
- (151,1,'Date Formats','Date Formats','civicrm/admin/setting/date?reset=1',NULL,'administer CiviCRM','',148,1,NULL,3),
- (152,1,'Preferred Language Options','Preferred Language Options','civicrm/admin/options/languages?reset=1',NULL,'administer CiviCRM','',148,1,NULL,4),
- (153,1,'Users and Permissions','Users and Permissions',NULL,NULL,'administer CiviCRM','',110,1,NULL,7),
- (154,1,'Permissions (Access Control)','Permissions (Access Control)','civicrm/admin/access?reset=1',NULL,'administer CiviCRM','',153,1,NULL,1),
- (155,1,'Synchronize Users to Contacts','Synchronize Users to Contacts','civicrm/admin/synchUser?reset=1',NULL,'administer CiviCRM','',153,1,NULL,2),
- (156,1,'System Settings','System Settings',NULL,NULL,'administer CiviCRM','',110,1,NULL,8),
- (157,1,'Components','Enable Components','civicrm/admin/setting/component?reset=1',NULL,'administer CiviCRM','',156,1,NULL,1),
- (158,1,'Extensions','Manage Extensions','civicrm/admin/extensions?reset=1',NULL,'administer CiviCRM','',156,1,1,3),
- (159,1,'Cleanup Caches and Update Paths','Cleanup Caches and Update Paths','civicrm/admin/setting/updateConfigBackend?reset=1',NULL,'administer CiviCRM','',156,1,NULL,4),
- (160,1,'CMS Database Integration','CMS Integration','civicrm/admin/setting/uf?reset=1',NULL,'administer CiviCRM','',156,1,NULL,5),
- (161,1,'Debugging and Error Handling','Debugging and Error Handling','civicrm/admin/setting/debug?reset=1',NULL,'administer CiviCRM','',156,1,NULL,6),
- (162,1,'Directories','Directories','civicrm/admin/setting/path?reset=1',NULL,'administer CiviCRM','',156,1,NULL,7),
- (163,1,'Import/Export Mappings','Import/Export Mappings','civicrm/admin/mapping?reset=1',NULL,'administer CiviCRM','',156,1,NULL,8),
- (164,1,'Mapping and Geocoding','Mapping and Geocoding','civicrm/admin/setting/mapping?reset=1',NULL,'administer CiviCRM','',156,1,NULL,9),
- (165,1,'Misc (Undelete, PDFs, Limits, Logging, etc.)','misc_admin_settings','civicrm/admin/setting/misc?reset=1',NULL,'administer CiviCRM','',156,1,NULL,10),
- (166,1,'Multi Site Settings','Multi Site Settings','civicrm/admin/setting/preferences/multisite?reset=1',NULL,'administer CiviCRM','',156,1,NULL,11),
- (167,1,'Option Groups','Option Groups','civicrm/admin/options?reset=1',NULL,'administer CiviCRM','',156,1,NULL,12),
- (168,1,'Outbound Email (SMTP/Sendmail)','Outbound Email','civicrm/admin/setting/smtp?reset=1',NULL,'administer CiviCRM','',156,1,NULL,13),
- (169,1,'Payment Processors','Payment Processors','civicrm/admin/paymentProcessor?reset=1',NULL,'administer CiviCRM','',156,1,NULL,14),
- (170,1,'Resource URLs','Resource URLs','civicrm/admin/setting/url?reset=1',NULL,'administer CiviCRM','',156,1,NULL,15),
- (171,1,'Safe File Extensions','Safe File Extensions','civicrm/admin/options/safe_file_extension?reset=1',NULL,'administer CiviCRM','',156,1,NULL,16),
- (172,1,'Scheduled Jobs','Scheduled Jobs','civicrm/admin/job?reset=1',NULL,'administer CiviCRM','',156,1,NULL,17),
- (173,1,'SMS Providers','SMS Providers','civicrm/admin/sms/provider?reset=1',NULL,'administer CiviCRM','',156,1,NULL,18),
- (174,1,'CiviCampaign','CiviCampaign',NULL,NULL,'administer CiviCampaign,administer CiviCRM','AND',110,1,NULL,9),
- (175,1,'Survey Types','Survey Types','civicrm/admin/campaign/surveyType?reset=1',NULL,'administer CiviCampaign','',174,1,NULL,1),
- (176,1,'Campaign Types','Campaign Types','civicrm/admin/options/campaign_type?reset=1',NULL,'administer CiviCampaign','',174,1,NULL,2),
- (177,1,'Campaign Status','Campaign Status','civicrm/admin/options/campaign_status?reset=1',NULL,'administer CiviCampaign','',174,1,NULL,3),
- (178,1,'Engagement Index','Engagement Index','civicrm/admin/options/engagement_index?reset=1',NULL,'administer CiviCampaign','',174,1,NULL,4),
- (179,1,'CiviCampaign Component Settings','CiviCampaign Component Settings','civicrm/admin/setting/preferences/campaign?reset=1',NULL,'administer CiviCampaign','',174,1,NULL,5),
- (180,1,'CiviCase','CiviCase',NULL,NULL,'administer CiviCase',NULL,110,1,NULL,10),
- (181,1,'CiviCase Settings','CiviCase Settings','civicrm/admin/setting/case?reset=1',NULL,'administer CiviCase',NULL,180,1,NULL,1),
- (182,1,'Case Types','Case Types','civicrm/a/#/caseType',NULL,'administer CiviCase',NULL,180,1,NULL,2),
- (183,1,'Redaction Rules','Redaction Rules','civicrm/admin/options/redaction_rule?reset=1',NULL,'administer CiviCase',NULL,180,1,NULL,3),
- (184,1,'Case Statuses','Case Statuses','civicrm/admin/options/case_status?reset=1',NULL,'administer CiviCase',NULL,180,1,NULL,4),
- (185,1,'Encounter Medium','Encounter Medium','civicrm/admin/options/encounter_medium?reset=1',NULL,'administer CiviCase',NULL,180,1,NULL,5),
- (186,1,'CiviContribute','CiviContribute',NULL,NULL,'access CiviContribute,administer CiviCRM','AND',110,1,NULL,11),
- (187,1,'New Contribution Page','New Contribution Page','civicrm/admin/contribute?reset=1&action=add',NULL,'access CiviContribute,administer CiviCRM','AND',186,1,NULL,6),
- (188,1,'Manage Contribution Pages','Manage Contribution Pages','civicrm/admin/contribute?reset=1',NULL,'access CiviContribute,administer CiviCRM','AND',186,1,1,7),
- (189,1,'Personal Campaign Pages','Personal Campaign Pages','civicrm/admin/pcp?reset=1&page_type=contribute',NULL,'access CiviContribute,administer CiviCRM','AND',186,1,NULL,8),
- (190,1,'Premiums (Thank-you Gifts)','Premiums','civicrm/admin/contribute/managePremiums?reset=1',NULL,'access CiviContribute,administer CiviCRM','AND',186,1,1,9),
- (191,1,'Financial Types','Financial Types','civicrm/admin/financial/financialType?reset=1',NULL,'access CiviContribute,administer CiviCRM','AND',186,1,NULL,10),
- (192,1,'Financial Accounts','Financial Accounts','civicrm/admin/financial/financialAccount?reset=1',NULL,'access CiviContribute,administer CiviCRM','AND',186,1,NULL,11),
- (193,1,'Payment Methods','Payment Instruments','civicrm/admin/options/payment_instrument?reset=1',NULL,'access CiviContribute,administer CiviCRM','AND',186,1,NULL,12),
- (194,1,'Accepted Credit Cards','Accepted Credit Cards','civicrm/admin/options/accept_creditcard?reset=1',NULL,'access CiviContribute,administer CiviCRM','AND',186,1,NULL,13),
- (195,1,'Soft Credit Types','Soft Credit Types','civicrm/admin/options/soft_credit_type?reset=1',NULL,'access CiviContribute,administer CiviCRM','AND',186,1,1,14),
- (196,1,'New Price Set','New Price Set','civicrm/admin/price?reset=1&action=add',NULL,'access CiviContribute,administer CiviCRM','AND',186,1,NULL,15),
- (197,1,'Manage Price Sets','Manage Price Sets','civicrm/admin/price?reset=1',NULL,'access CiviContribute,administer CiviCRM','AND',186,1,NULL,16),
- (198,1,'Payment Processors','Payment Processors','civicrm/admin/paymentProcessor?reset=1',NULL,'administer CiviCRM','',186,1,NULL,17),
- (199,1,'CiviContribute Component Settings','CiviContribute Component Settings','civicrm/admin/setting/preferences/contribute?reset=1',NULL,'administer CiviCRM','',186,1,NULL,18),
- (200,1,'CiviEvent','CiviEvent',NULL,NULL,'access CiviEvent,administer CiviCRM','AND',110,1,NULL,12),
- (201,1,'New Event','New Event','civicrm/event/add?reset=1&action=add',NULL,'access CiviEvent,administer CiviCRM','AND',200,1,NULL,1),
- (202,1,'Manage Events','Manage Events','civicrm/event/manage?reset=1',NULL,'access CiviEvent,administer CiviCRM','AND',200,1,1,2),
- (203,1,'Personal Campaign Pages','Personal Campaign Pages','civicrm/admin/pcp?reset=1&page_type=event',NULL,'access CiviEvent,administer CiviCRM','AND',200,1,1,3),
- (204,1,'Event Templates','Event Templates','civicrm/admin/eventTemplate?reset=1',NULL,'access CiviEvent,administer CiviCRM','AND',200,1,1,4),
- (205,1,'New Price Set','New Price Set','civicrm/admin/price?reset=1&action=add',NULL,'access CiviEvent,administer CiviCRM','AND',200,1,NULL,5),
- (206,1,'Manage Price Sets','Manage Price Sets','civicrm/admin/price?reset=1',NULL,'access CiviEvent,administer CiviCRM','AND',200,1,1,6),
- (207,1,'Event Types','Event Types','civicrm/admin/options/event_type?reset=1',NULL,'access CiviEvent,administer CiviCRM','AND',200,1,NULL,7),
- (208,1,'Participant Statuses','Participant Statuses','civicrm/admin/participant_status?reset=1',NULL,'access CiviEvent,administer CiviCRM','AND',200,1,NULL,8),
- (209,1,'Participant Roles','Participant Roles','civicrm/admin/options/participant_role?reset=1',NULL,'access CiviEvent,administer CiviCRM','AND',200,1,NULL,9),
- (210,1,'Participant Listing Options','Participant Listing Options','civicrm/admin/options/participant_listing?reset=1',NULL,'access CiviEvent,administer CiviCRM','AND',200,1,NULL,10),
- (211,1,'Event Name Badge Layouts','Event Name Badge Layouts','civicrm/admin/badgelayout?reset=1',NULL,'access CiviEvent,administer CiviCRM','AND',200,1,NULL,11),
- (212,1,'Payment Processors','Payment Processors','civicrm/admin/paymentProcessor?reset=1',NULL,'administer CiviCRM','',200,1,NULL,12),
- (213,1,'CiviEvent Component Settings','CiviEvent Component Settings','civicrm/admin/setting/preferences/event?reset=1',NULL,'access CiviEvent,administer CiviCRM','AND',200,1,NULL,13),
- (214,1,'CiviGrant','CiviGrant',NULL,NULL,'access CiviGrant,administer CiviCRM','AND',110,1,NULL,13),
- (215,1,'Grant Types','Grant Types','civicrm/admin/options/grant_type?reset=1',NULL,'access CiviGrant,administer CiviCRM','AND',214,1,NULL,1),
- (216,1,'Grant Status','Grant Status','civicrm/admin/options/grant_status?reset=1',NULL,'access CiviGrant,administer CiviCRM','AND',214,1,NULL,2),
- (217,1,'CiviMail','CiviMail',NULL,NULL,'access CiviMail,administer CiviCRM','AND',110,1,NULL,14),
- (218,1,'Headers, Footers, and Automated Messages','Headers, Footers, and Automated Messages','civicrm/admin/component?reset=1',NULL,'access CiviMail,administer CiviCRM','AND',217,1,NULL,1),
- (219,1,'Message Templates','Message Templates','civicrm/admin/messageTemplates?reset=1',NULL,'administer CiviCRM','',217,1,NULL,2),
- (220,1,'From Email Addresses','From Email Addresses','civicrm/admin/options/from_email_address?reset=1',NULL,'administer CiviCRM','',217,1,NULL,3),
- (221,1,'Mail Accounts','Mail Accounts','civicrm/admin/mailSettings?reset=1',NULL,'access CiviMail,administer CiviCRM','AND',217,1,NULL,4),
- (222,1,'Mailer Settings','Mailer Settings','civicrm/admin/mail?reset=1',NULL,'access CiviMail,administer CiviCRM','AND',217,1,NULL,5),
- (223,1,'CiviMail Component Settings','CiviMail Component Settings','civicrm/admin/setting/preferences/mailing?reset=1',NULL,'access CiviMail,administer CiviCRM','AND',217,1,NULL,6),
- (224,1,'CiviMember','CiviMember',NULL,NULL,'access CiviMember,administer CiviCRM','AND',110,1,NULL,15),
- (225,1,'Membership Types','Membership Types','civicrm/admin/member/membershipType?reset=1',NULL,'access CiviMember,administer CiviCRM','AND',224,1,NULL,1),
- (226,1,'Membership Status Rules','Membership Status Rules','civicrm/admin/member/membershipStatus?reset=1',NULL,'access CiviMember,administer CiviCRM','AND',224,1,1,2),
- (227,1,'New Price Set','New Price Set','civicrm/admin/price?reset=1&action=add',NULL,'access CiviMember,administer CiviCRM','AND',224,1,NULL,3),
- (228,1,'Manage Price Sets','Manage Price Sets','civicrm/admin/price?reset=1',NULL,'access CiviMember,administer CiviCRM','AND',224,1,NULL,4),
- (229,1,'CiviMember Component Settings','CiviMember Component Settings','civicrm/admin/setting/preferences/member?reset=1',NULL,'access CiviMember,administer CiviCRM','AND',224,1,NULL,5),
- (230,1,'CiviReport','CiviReport',NULL,NULL,'access CiviReport,administer CiviCRM','AND',110,1,NULL,16),
- (231,1,'All Reports','All Reports','civicrm/report/list?reset=1',NULL,'access CiviReport','',230,1,NULL,1),
- (232,1,'Create New Report from Template','Create New Report from Template','civicrm/admin/report/template/list?reset=1',NULL,'administer Reports','',230,1,NULL,2),
- (233,1,'Manage Templates','Manage Templates','civicrm/admin/report/options/report_template?reset=1',NULL,'administer Reports','',230,1,NULL,3),
- (234,1,'Register Report','Register Report','civicrm/admin/report/register?reset=1',NULL,'administer Reports','',230,1,NULL,4),
- (235,1,'Support','Support',NULL,'crm-i fa-life-ring',NULL,'',NULL,1,NULL,110),
- (236,1,'Get started','Get started','https://civicrm.org/get-started?src=iam',NULL,NULL,'AND',235,1,NULL,1),
- (237,1,'Documentation','Documentation','https://civicrm.org/documentation?src=iam',NULL,NULL,'AND',235,1,NULL,2),
- (238,1,'Ask a question','Ask a question','https://civicrm.org/ask-a-question?src=iam',NULL,NULL,'AND',235,1,NULL,3),
- (239,1,'Get expert help','Get expert help','https://civicrm.org/experts?src=iam',NULL,NULL,'AND',235,1,NULL,4),
- (240,1,'About CiviCRM','About CiviCRM','https://civicrm.org/about?src=iam',NULL,NULL,'AND',235,1,1,5),
- (241,1,'Register your site','Register your site','https://civicrm.org/register-your-site?src=iam&sid={sid}',NULL,NULL,'AND',235,1,NULL,6),
- (242,1,'Join CiviCRM','Join CiviCRM','https://civicrm.org/become-a-member?src=iam&sid={sid}',NULL,NULL,'AND',235,1,NULL,7),
- (243,1,'Developer','Developer',NULL,NULL,'administer CiviCRM','',235,1,1,8),
- (244,1,'Api Explorer v3','API Explorer','civicrm/api3',NULL,'administer CiviCRM','',243,1,NULL,1),
- (245,1,'Api Explorer v4','Api Explorer v4','civicrm/api4#/explorer',NULL,'administer CiviCRM','',243,1,NULL,2),
- (246,1,'Developer Docs','Developer Docs','https://civicrm.org/developer-documentation?src=iam',NULL,'administer CiviCRM','',243,1,NULL,3),
- (247,1,'Reports','Reports',NULL,'crm-i fa-bar-chart','access CiviReport','',NULL,1,NULL,95),
- (248,1,'Contact Reports','Contact Reports','civicrm/report/list?compid=99&reset=1',NULL,'administer CiviCRM','',247,1,0,1),
- (249,1,'Contribution Reports','Contribution Reports','civicrm/report/list?compid=2&reset=1',NULL,'access CiviContribute','',247,1,0,2),
- (250,1,'Pledge Reports','Pledge Reports','civicrm/report/list?compid=6&reset=1',NULL,'access CiviPledge','',247,1,0,3),
- (251,1,'Event Reports','Event Reports','civicrm/report/list?compid=1&reset=1',NULL,'access CiviEvent','',247,1,0,4),
- (252,1,'Mailing Reports','Mailing Reports','civicrm/report/list?compid=4&reset=1',NULL,'access CiviMail','',247,1,0,5),
- (253,1,'Membership Reports','Membership Reports','civicrm/report/list?compid=3&reset=1',NULL,'access CiviMember','',247,1,0,6),
- (254,1,'Campaign Reports','Campaign Reports','civicrm/report/list?compid=9&reset=1',NULL,'interview campaign contacts,release campaign contacts,reserve campaign contacts,manage campaign,administer CiviCampaign,gotv campaign contacts','OR',247,1,0,7),
- (255,1,'Case Reports','Case Reports','civicrm/report/list?compid=7&reset=1',NULL,'access my cases and activities,access all cases and activities,administer CiviCase','OR',247,1,0,8),
- (256,1,'Grant Reports','Grant Reports','civicrm/report/list?compid=5&reset=1',NULL,'access CiviGrant','',247,1,0,9),
- (257,1,'All Reports','All Reports','civicrm/report/list?reset=1',NULL,'access CiviReport','',247,1,1,10),
- (258,1,'My Reports','My Reports','civicrm/report/list?myreports=1&reset=1',NULL,'access CiviReport','',247,1,1,11),
- (259,1,'New Student','New Student','civicrm/contact/add?ct=Individual&cst=Student&reset=1',NULL,'add contacts','',16,1,NULL,1),
- (260,1,'New Parent','New Parent','civicrm/contact/add?ct=Individual&cst=Parent&reset=1',NULL,'add contacts','',16,1,NULL,2),
- (261,1,'New Staff','New Staff','civicrm/contact/add?ct=Individual&cst=Staff&reset=1',NULL,'add contacts','',16,1,NULL,3),
- (262,1,'New Team','New Team','civicrm/contact/add?ct=Organization&cst=Team&reset=1',NULL,'add contacts','',18,1,NULL,1),
- (263,1,'New Sponsor','New Sponsor','civicrm/contact/add?ct=Organization&cst=Sponsor&reset=1',NULL,'add contacts','',18,1,NULL,2);
+ (105,1,'Administer','Administer',NULL,'crm-i fa-gears','administer CiviCRM','',NULL,1,NULL,100),
+ (106,1,'Administration Console','Administration Console','civicrm/admin?reset=1',NULL,'administer CiviCRM','',105,1,NULL,1),
+ (107,1,'System Status','System Status','civicrm/a/#/status',NULL,'administer CiviCRM','',106,1,NULL,0),
+ (108,1,'Configuration Checklist','Configuration Checklist','civicrm/admin/configtask?reset=1',NULL,'administer CiviCRM','',106,1,NULL,1),
+ (109,1,'Customize Data and Screens','Customize Data and Screens',NULL,NULL,'administer CiviCRM','',105,1,NULL,3),
+ (110,1,'Custom Fields','Custom Fields','civicrm/admin/custom/group?reset=1',NULL,'administer CiviCRM','',109,1,NULL,1),
+ (111,1,'Profiles','Profiles','civicrm/admin/uf/group?reset=1',NULL,'administer CiviCRM','',109,1,NULL,2),
+ (112,1,'Tags','Tags (Categories)','civicrm/tag?reset=1',NULL,'administer CiviCRM','',109,1,NULL,3),
+ (113,1,'Activity Types','Activity Types','civicrm/admin/options/activity_type?reset=1',NULL,'administer CiviCRM','',109,1,NULL,4),
+ (114,1,'Relationship Types','Relationship Types','civicrm/admin/reltype?reset=1',NULL,'administer CiviCRM','',109,1,NULL,5),
+ (115,1,'Contact Types','Contact Types','civicrm/admin/options/subtype?reset=1',NULL,'administer CiviCRM','',109,1,NULL,6),
+ (116,1,'Display Preferences','Display Preferences','civicrm/admin/setting/preferences/display?reset=1',NULL,'administer CiviCRM','',109,1,NULL,9),
+ (117,1,'Search Preferences','Search Preferences','civicrm/admin/setting/search?reset=1',NULL,'administer CiviCRM','',109,1,NULL,10),
+ (118,1,'Date Preferences','Date Preferences','civicrm/admin/setting/preferences/date?reset=1',NULL,'administer CiviCRM','',109,1,NULL,11),
+ (119,1,'Navigation Menu','Navigation Menu','civicrm/admin/menu?reset=1',NULL,'administer CiviCRM','',109,1,NULL,12),
+ (120,1,'Word Replacements','Word Replacements','civicrm/admin/options/wordreplacements?reset=1',NULL,'administer CiviCRM','',109,1,NULL,13),
+ (121,1,'Manage Custom Searches','Manage Custom Searches','civicrm/admin/options/custom_search?reset=1',NULL,'administer CiviCRM','',109,1,NULL,14),
+ (122,1,'Dropdown Options','Dropdown Options','civicrm/admin/options?action=browse&reset=1',NULL,'administer CiviCRM','',109,1,NULL,8),
+ (123,1,'Gender Options','Gender Options','civicrm/admin/options/gender?reset=1',NULL,'administer CiviCRM','',122,1,NULL,1),
+ (124,1,'Individual Prefixes (Ms, Mr...)','Individual Prefixes (Ms, Mr...)','civicrm/admin/options/individual_prefix?reset=1',NULL,'administer CiviCRM','',122,1,NULL,2),
+ (125,1,'Individual Suffixes (Jr, Sr...)','Individual Suffixes (Jr, Sr...)','civicrm/admin/options/individual_suffix?reset=1',NULL,'administer CiviCRM','',122,1,NULL,3),
+ (126,1,'Instant Messenger Services','Instant Messenger Services','civicrm/admin/options/instant_messenger_service?reset=1',NULL,'administer CiviCRM','',122,1,NULL,4),
+ (127,1,'Location Types (Home, Work...)','Location Types (Home, Work...)','civicrm/admin/locationType?reset=1',NULL,'administer CiviCRM','',122,1,NULL,5),
+ (128,1,'Mobile Phone Providers','Mobile Phone Providers','civicrm/admin/options/mobile_provider?reset=1',NULL,'administer CiviCRM','',122,1,NULL,6),
+ (129,1,'Phone Types','Phone Types','civicrm/admin/options/phone_type?reset=1',NULL,'administer CiviCRM','',122,1,NULL,7),
+ (130,1,'Website Types','Website Types','civicrm/admin/options/website_type?reset=1',NULL,'administer CiviCRM','',122,1,NULL,8),
+ (131,1,'Communications','Communications',NULL,NULL,'administer CiviCRM','',105,1,NULL,4),
+ (132,1,'Organization Address and Contact Info','Organization Address and Contact Info','civicrm/admin/domain?action=update&reset=1',NULL,'administer CiviCRM','',131,1,NULL,1),
+ (133,1,'FROM Email Addresses','FROM Email Addresses','civicrm/admin/options/from_email_address?reset=1',NULL,'administer CiviCRM','',131,1,NULL,2),
+ (134,1,'Message Templates','Message Templates','civicrm/admin/messageTemplates?reset=1',NULL,'administer CiviCRM','',131,1,NULL,3),
+ (135,1,'Schedule Reminders','Schedule Reminders','civicrm/admin/scheduleReminders?reset=1',NULL,'administer CiviCRM','',131,1,NULL,4),
+ (136,1,'Preferred Communication Methods','Preferred Communication Methods','civicrm/admin/options/preferred_communication_method?reset=1',NULL,'administer CiviCRM','',131,1,NULL,5),
+ (137,1,'Label Formats','Label Formats','civicrm/admin/labelFormats?reset=1',NULL,'administer CiviCRM','',131,1,NULL,6),
+ (138,1,'Print Page (PDF) Formats','Print Page (PDF) Formats','civicrm/admin/pdfFormats?reset=1',NULL,'administer CiviCRM','',131,1,NULL,7),
+ (139,1,'Communication Style Options','Communication Style Options','civicrm/admin/options/communication_style?reset=1',NULL,'administer CiviCRM','',131,1,NULL,8),
+ (140,1,'Email Greeting Formats','Email Greeting Formats','civicrm/admin/options/email_greeting?reset=1',NULL,'administer CiviCRM','',131,1,NULL,9),
+ (141,1,'Postal Greeting Formats','Postal Greeting Formats','civicrm/admin/options/postal_greeting?reset=1',NULL,'administer CiviCRM','',131,1,NULL,10),
+ (142,1,'Addressee Formats','Addressee Formats','civicrm/admin/options/addressee?reset=1',NULL,'administer CiviCRM','',131,1,NULL,11),
+ (143,1,'Localization','Localization',NULL,NULL,'administer CiviCRM','',105,1,NULL,6),
+ (144,1,'Languages, Currency, Locations','Languages, Currency, Locations','civicrm/admin/setting/localization?reset=1',NULL,'administer CiviCRM','',143,1,NULL,1),
+ (145,1,'Address Settings','Address Settings','civicrm/admin/setting/preferences/address?reset=1',NULL,'administer CiviCRM','',143,1,NULL,2),
+ (146,1,'Date Formats','Date Formats','civicrm/admin/setting/date?reset=1',NULL,'administer CiviCRM','',143,1,NULL,3),
+ (147,1,'Preferred Language Options','Preferred Language Options','civicrm/admin/options/languages?reset=1',NULL,'administer CiviCRM','',143,1,NULL,4),
+ (148,1,'Users and Permissions','Users and Permissions',NULL,NULL,'administer CiviCRM','',105,1,NULL,7),
+ (149,1,'Permissions (Access Control)','Permissions (Access Control)','civicrm/admin/access?reset=1',NULL,'administer CiviCRM','',148,1,NULL,1),
+ (150,1,'Synchronize Users to Contacts','Synchronize Users to Contacts','civicrm/admin/synchUser?reset=1',NULL,'administer CiviCRM','',148,1,NULL,2),
+ (151,1,'System Settings','System Settings',NULL,NULL,'administer CiviCRM','',105,1,NULL,8),
+ (152,1,'Components','Enable Components','civicrm/admin/setting/component?reset=1',NULL,'administer CiviCRM','',151,1,NULL,1),
+ (153,1,'Extensions','Manage Extensions','civicrm/admin/extensions?reset=1',NULL,'administer CiviCRM','',151,1,1,3),
+ (154,1,'Cleanup Caches and Update Paths','Cleanup Caches and Update Paths','civicrm/admin/setting/updateConfigBackend?reset=1',NULL,'administer CiviCRM','',151,1,NULL,4),
+ (155,1,'CMS Database Integration','CMS Integration','civicrm/admin/setting/uf?reset=1',NULL,'administer CiviCRM','',151,1,NULL,5),
+ (156,1,'Debugging and Error Handling','Debugging and Error Handling','civicrm/admin/setting/debug?reset=1',NULL,'administer CiviCRM','',151,1,NULL,6),
+ (157,1,'Directories','Directories','civicrm/admin/setting/path?reset=1',NULL,'administer CiviCRM','',151,1,NULL,7),
+ (158,1,'Import/Export Mappings','Import/Export Mappings','civicrm/admin/mapping?reset=1',NULL,'administer CiviCRM','',151,1,NULL,8),
+ (159,1,'Mapping and Geocoding','Mapping and Geocoding','civicrm/admin/setting/mapping?reset=1',NULL,'administer CiviCRM','',151,1,NULL,9),
+ (160,1,'Misc (Undelete, PDFs, Limits, Logging, etc.)','misc_admin_settings','civicrm/admin/setting/misc?reset=1',NULL,'administer CiviCRM','',151,1,NULL,10),
+ (161,1,'Multi Site Settings','Multi Site Settings','civicrm/admin/setting/preferences/multisite?reset=1',NULL,'administer CiviCRM','',151,1,NULL,11),
+ (162,1,'Option Groups','Option Groups','civicrm/admin/options?reset=1',NULL,'administer CiviCRM','',151,1,NULL,12),
+ (163,1,'Outbound Email (SMTP/Sendmail)','Outbound Email','civicrm/admin/setting/smtp?reset=1',NULL,'administer CiviCRM','',151,1,NULL,13),
+ (164,1,'Payment Processors','Payment Processors','civicrm/admin/paymentProcessor?reset=1',NULL,'administer CiviCRM','',151,1,NULL,14),
+ (165,1,'Resource URLs','Resource URLs','civicrm/admin/setting/url?reset=1',NULL,'administer CiviCRM','',151,1,NULL,15),
+ (166,1,'Safe File Extensions','Safe File Extensions','civicrm/admin/options/safe_file_extension?reset=1',NULL,'administer CiviCRM','',151,1,NULL,16),
+ (167,1,'Scheduled Jobs','Scheduled Jobs','civicrm/admin/job?reset=1',NULL,'administer CiviCRM','',151,1,NULL,17),
+ (168,1,'SMS Providers','SMS Providers','civicrm/admin/sms/provider?reset=1',NULL,'administer CiviCRM','',151,1,NULL,18),
+ (169,1,'CiviCampaign','CiviCampaign',NULL,NULL,'administer CiviCampaign,administer CiviCRM','AND',105,1,NULL,9),
+ (170,1,'Survey Types','Survey Types','civicrm/admin/campaign/surveyType?reset=1',NULL,'administer CiviCampaign','',169,1,NULL,1),
+ (171,1,'Campaign Types','Campaign Types','civicrm/admin/options/campaign_type?reset=1',NULL,'administer CiviCampaign','',169,1,NULL,2),
+ (172,1,'Campaign Status','Campaign Status','civicrm/admin/options/campaign_status?reset=1',NULL,'administer CiviCampaign','',169,1,NULL,3),
+ (173,1,'Engagement Index','Engagement Index','civicrm/admin/options/engagement_index?reset=1',NULL,'administer CiviCampaign','',169,1,NULL,4),
+ (174,1,'CiviCampaign Component Settings','CiviCampaign Component Settings','civicrm/admin/setting/preferences/campaign?reset=1',NULL,'administer CiviCampaign','',169,1,NULL,5),
+ (175,1,'CiviCase','CiviCase',NULL,NULL,'administer CiviCase',NULL,105,1,NULL,10),
+ (176,1,'CiviCase Settings','CiviCase Settings','civicrm/admin/setting/case?reset=1',NULL,'administer CiviCase',NULL,175,1,NULL,1),
+ (177,1,'Case Types','Case Types','civicrm/a/#/caseType',NULL,'administer CiviCase',NULL,175,1,NULL,2),
+ (178,1,'Redaction Rules','Redaction Rules','civicrm/admin/options/redaction_rule?reset=1',NULL,'administer CiviCase',NULL,175,1,NULL,3),
+ (179,1,'Case Statuses','Case Statuses','civicrm/admin/options/case_status?reset=1',NULL,'administer CiviCase',NULL,175,1,NULL,4),
+ (180,1,'Encounter Medium','Encounter Medium','civicrm/admin/options/encounter_medium?reset=1',NULL,'administer CiviCase',NULL,175,1,NULL,5),
+ (181,1,'CiviContribute','CiviContribute',NULL,NULL,'access CiviContribute,administer CiviCRM','AND',105,1,NULL,11),
+ (182,1,'New Contribution Page','New Contribution Page','civicrm/admin/contribute?reset=1&action=add',NULL,'access CiviContribute,administer CiviCRM','AND',181,1,NULL,6),
+ (183,1,'Manage Contribution Pages','Manage Contribution Pages','civicrm/admin/contribute?reset=1',NULL,'access CiviContribute,administer CiviCRM','AND',181,1,1,7),
+ (184,1,'Personal Campaign Pages','Personal Campaign Pages','civicrm/admin/pcp?reset=1&page_type=contribute',NULL,'access CiviContribute,administer CiviCRM','AND',181,1,NULL,8),
+ (185,1,'Premiums (Thank-you Gifts)','Premiums','civicrm/admin/contribute/managePremiums?reset=1',NULL,'access CiviContribute,administer CiviCRM','AND',181,1,1,9),
+ (186,1,'Financial Types','Financial Types','civicrm/admin/financial/financialType?reset=1',NULL,'access CiviContribute,administer CiviCRM','AND',181,1,NULL,10),
+ (187,1,'Financial Accounts','Financial Accounts','civicrm/admin/financial/financialAccount?reset=1',NULL,'access CiviContribute,administer CiviCRM','AND',181,1,NULL,11),
+ (188,1,'Payment Methods','Payment Instruments','civicrm/admin/options/payment_instrument?reset=1',NULL,'access CiviContribute,administer CiviCRM','AND',181,1,NULL,12),
+ (189,1,'Accepted Credit Cards','Accepted Credit Cards','civicrm/admin/options/accept_creditcard?reset=1',NULL,'access CiviContribute,administer CiviCRM','AND',181,1,NULL,13),
+ (190,1,'Soft Credit Types','Soft Credit Types','civicrm/admin/options/soft_credit_type?reset=1',NULL,'access CiviContribute,administer CiviCRM','AND',181,1,1,14),
+ (191,1,'New Price Set','New Price Set','civicrm/admin/price?reset=1&action=add',NULL,'access CiviContribute,administer CiviCRM','AND',181,1,NULL,15),
+ (192,1,'Manage Price Sets','Manage Price Sets','civicrm/admin/price?reset=1',NULL,'access CiviContribute,administer CiviCRM','AND',181,1,NULL,16),
+ (193,1,'Payment Processors','Payment Processors','civicrm/admin/paymentProcessor?reset=1',NULL,'administer CiviCRM','',181,1,NULL,17),
+ (194,1,'CiviContribute Component Settings','CiviContribute Component Settings','civicrm/admin/setting/preferences/contribute?reset=1',NULL,'administer CiviCRM','',181,1,NULL,18),
+ (195,1,'CiviEvent','CiviEvent',NULL,NULL,'access CiviEvent,administer CiviCRM','AND',105,1,NULL,12),
+ (196,1,'New Event','New Event','civicrm/event/add?reset=1&action=add',NULL,'access CiviEvent,administer CiviCRM','AND',195,1,NULL,1),
+ (197,1,'Manage Events','Manage Events','civicrm/event/manage?reset=1',NULL,'access CiviEvent,administer CiviCRM','AND',195,1,1,2),
+ (198,1,'Personal Campaign Pages','Personal Campaign Pages','civicrm/admin/pcp?reset=1&page_type=event',NULL,'access CiviEvent,administer CiviCRM','AND',195,1,1,3),
+ (199,1,'Event Templates','Event Templates','civicrm/admin/eventTemplate?reset=1',NULL,'access CiviEvent,administer CiviCRM','AND',195,1,1,4),
+ (200,1,'New Price Set','New Price Set','civicrm/admin/price?reset=1&action=add',NULL,'access CiviEvent,administer CiviCRM','AND',195,1,NULL,5),
+ (201,1,'Manage Price Sets','Manage Price Sets','civicrm/admin/price?reset=1',NULL,'access CiviEvent,administer CiviCRM','AND',195,1,1,6),
+ (202,1,'Event Types','Event Types','civicrm/admin/options/event_type?reset=1',NULL,'access CiviEvent,administer CiviCRM','AND',195,1,NULL,7),
+ (203,1,'Participant Statuses','Participant Statuses','civicrm/admin/participant_status?reset=1',NULL,'access CiviEvent,administer CiviCRM','AND',195,1,NULL,8),
+ (204,1,'Participant Roles','Participant Roles','civicrm/admin/options/participant_role?reset=1',NULL,'access CiviEvent,administer CiviCRM','AND',195,1,NULL,9),
+ (205,1,'Participant Listing Options','Participant Listing Options','civicrm/admin/options/participant_listing?reset=1',NULL,'access CiviEvent,administer CiviCRM','AND',195,1,NULL,10),
+ (206,1,'Event Name Badge Layouts','Event Name Badge Layouts','civicrm/admin/badgelayout?reset=1',NULL,'access CiviEvent,administer CiviCRM','AND',195,1,NULL,11),
+ (207,1,'Payment Processors','Payment Processors','civicrm/admin/paymentProcessor?reset=1',NULL,'administer CiviCRM','',195,1,NULL,12),
+ (208,1,'CiviEvent Component Settings','CiviEvent Component Settings','civicrm/admin/setting/preferences/event?reset=1',NULL,'access CiviEvent,administer CiviCRM','AND',195,1,NULL,13),
+ (209,1,'CiviMail','CiviMail',NULL,NULL,'access CiviMail,administer CiviCRM','AND',105,1,NULL,14),
+ (210,1,'Headers, Footers, and Automated Messages','Headers, Footers, and Automated Messages','civicrm/admin/component?reset=1',NULL,'access CiviMail,administer CiviCRM','AND',209,1,NULL,1),
+ (211,1,'Message Templates','Message Templates','civicrm/admin/messageTemplates?reset=1',NULL,'administer CiviCRM','',209,1,NULL,2),
+ (212,1,'From Email Addresses','From Email Addresses','civicrm/admin/options/from_email_address?reset=1',NULL,'administer CiviCRM','',209,1,NULL,3),
+ (213,1,'Mail Accounts','Mail Accounts','civicrm/admin/mailSettings?reset=1',NULL,'access CiviMail,administer CiviCRM','AND',209,1,NULL,4),
+ (214,1,'Mailer Settings','Mailer Settings','civicrm/admin/mail?reset=1',NULL,'access CiviMail,administer CiviCRM','AND',209,1,NULL,5),
+ (215,1,'CiviMail Component Settings','CiviMail Component Settings','civicrm/admin/setting/preferences/mailing?reset=1',NULL,'access CiviMail,administer CiviCRM','AND',209,1,NULL,6),
+ (216,1,'CiviMember','CiviMember',NULL,NULL,'access CiviMember,administer CiviCRM','AND',105,1,NULL,15),
+ (217,1,'Membership Types','Membership Types','civicrm/admin/member/membershipType?reset=1',NULL,'access CiviMember,administer CiviCRM','AND',216,1,NULL,1),
+ (218,1,'Membership Status Rules','Membership Status Rules','civicrm/admin/member/membershipStatus?reset=1',NULL,'access CiviMember,administer CiviCRM','AND',216,1,1,2),
+ (219,1,'New Price Set','New Price Set','civicrm/admin/price?reset=1&action=add',NULL,'access CiviMember,administer CiviCRM','AND',216,1,NULL,3),
+ (220,1,'Manage Price Sets','Manage Price Sets','civicrm/admin/price?reset=1',NULL,'access CiviMember,administer CiviCRM','AND',216,1,NULL,4),
+ (221,1,'CiviMember Component Settings','CiviMember Component Settings','civicrm/admin/setting/preferences/member?reset=1',NULL,'access CiviMember,administer CiviCRM','AND',216,1,NULL,5),
+ (222,1,'CiviReport','CiviReport',NULL,NULL,'access CiviReport,administer CiviCRM','AND',105,1,NULL,16),
+ (223,1,'All Reports','All Reports','civicrm/report/list?reset=1',NULL,'access CiviReport','',222,1,NULL,1),
+ (224,1,'Create New Report from Template','Create New Report from Template','civicrm/admin/report/template/list?reset=1',NULL,'administer Reports','',222,1,NULL,2),
+ (225,1,'Manage Templates','Manage Templates','civicrm/admin/report/options/report_template?reset=1',NULL,'administer Reports','',222,1,NULL,3),
+ (226,1,'Register Report','Register Report','civicrm/admin/report/register?reset=1',NULL,'administer Reports','',222,1,NULL,4),
+ (227,1,'Support','Support',NULL,'crm-i fa-life-ring',NULL,'',NULL,1,NULL,110),
+ (228,1,'Get started','Get started','https://civicrm.org/get-started?src=iam',NULL,NULL,'AND',227,1,NULL,1),
+ (229,1,'Documentation','Documentation','https://civicrm.org/documentation?src=iam',NULL,NULL,'AND',227,1,NULL,2),
+ (230,1,'Ask a question','Ask a question','https://civicrm.org/ask-a-question?src=iam',NULL,NULL,'AND',227,1,NULL,3),
+ (231,1,'Get expert help','Get expert help','https://civicrm.org/experts?src=iam',NULL,NULL,'AND',227,1,NULL,4),
+ (232,1,'About CiviCRM','About CiviCRM','https://civicrm.org/about?src=iam',NULL,NULL,'AND',227,1,1,5),
+ (233,1,'Register your site','Register your site','https://civicrm.org/register-your-site?src=iam&sid={sid}',NULL,NULL,'AND',227,1,NULL,6),
+ (234,1,'Join CiviCRM','Join CiviCRM','https://civicrm.org/become-a-member?src=iam&sid={sid}',NULL,NULL,'AND',227,1,NULL,7),
+ (235,1,'Developer','Developer',NULL,NULL,'administer CiviCRM','',227,1,1,8),
+ (236,1,'Api Explorer v3','API Explorer','civicrm/api3',NULL,'administer CiviCRM','',235,1,NULL,1),
+ (237,1,'Api Explorer v4','Api Explorer v4','civicrm/api4#/explorer',NULL,'administer CiviCRM','',235,1,NULL,2),
+ (238,1,'Developer Docs','Developer Docs','https://civicrm.org/developer-documentation?src=iam',NULL,'administer CiviCRM','',235,1,NULL,3),
+ (239,1,'Reports','Reports',NULL,'crm-i fa-bar-chart','access CiviReport','',NULL,1,NULL,95),
+ (240,1,'Contact Reports','Contact Reports','civicrm/report/list?compid=99&reset=1',NULL,'administer CiviCRM','',239,1,0,1),
+ (241,1,'Contribution Reports','Contribution Reports','civicrm/report/list?compid=2&reset=1',NULL,'access CiviContribute','',239,1,0,2),
+ (242,1,'Pledge Reports','Pledge Reports','civicrm/report/list?compid=6&reset=1',NULL,'access CiviPledge','',239,1,0,3),
+ (243,1,'Event Reports','Event Reports','civicrm/report/list?compid=1&reset=1',NULL,'access CiviEvent','',239,1,0,4),
+ (244,1,'Mailing Reports','Mailing Reports','civicrm/report/list?compid=4&reset=1',NULL,'access CiviMail','',239,1,0,5),
+ (245,1,'Membership Reports','Membership Reports','civicrm/report/list?compid=3&reset=1',NULL,'access CiviMember','',239,1,0,6),
+ (246,1,'Campaign Reports','Campaign Reports','civicrm/report/list?compid=9&reset=1',NULL,'interview campaign contacts,release campaign contacts,reserve campaign contacts,manage campaign,administer CiviCampaign,gotv campaign contacts','OR',239,1,0,7),
+ (247,1,'Case Reports','Case Reports','civicrm/report/list?compid=7&reset=1',NULL,'access my cases and activities,access all cases and activities,administer CiviCase','OR',239,1,0,8),
+ (248,1,'Grant Reports','Grant Reports','civicrm/report/list?compid=5&reset=1',NULL,'access CiviGrant','',239,1,0,9),
+ (249,1,'All Reports','All Reports','civicrm/report/list?reset=1',NULL,'access CiviReport','',239,1,1,10),
+ (250,1,'My Reports','My Reports','civicrm/report/list?myreports=1&reset=1',NULL,'access CiviReport','',239,1,1,11),
+ (251,1,'New Student','New Student','civicrm/contact/add?ct=Individual&cst=Student&reset=1',NULL,'add contacts','',16,1,NULL,1),
+ (252,1,'New Parent','New Parent','civicrm/contact/add?ct=Individual&cst=Parent&reset=1',NULL,'add contacts','',16,1,NULL,2),
+ (253,1,'New Staff','New Staff','civicrm/contact/add?ct=Individual&cst=Staff&reset=1',NULL,'add contacts','',16,1,NULL,3),
+ (254,1,'New Team','New Team','civicrm/contact/add?ct=Organization&cst=Team&reset=1',NULL,'add contacts','',18,1,NULL,1),
+ (255,1,'New Sponsor','New Sponsor','civicrm/contact/add?ct=Organization&cst=Sponsor&reset=1',NULL,'add contacts','',18,1,NULL,2);
 /*!40000 ALTER TABLE `civicrm_navigation` ENABLE KEYS */;
 UNLOCK TABLES;
 
@@ -5619,26 +5568,26 @@ UNLOCK TABLES;
 LOCK TABLES `civicrm_note` WRITE;
 /*!40000 ALTER TABLE `civicrm_note` DISABLE KEYS */;
 INSERT INTO `civicrm_note` (`id`, `entity_table`, `entity_id`, `note`, `contact_id`, `note_date`, `created_date`, `modified_date`, `subject`, `privacy`) VALUES
- (1,'civicrm_contact',72,'Invite members for the Steve Prefontaine 10k dream run',1,'2022-01-05 03:20:46','2022-01-05 03:20:46','2021-07-11 09:01:37',NULL,'0'),
- (2,'civicrm_contact',63,'Contact the Commissioner of Charities',1,'2022-01-05 03:20:46','2022-01-05 03:20:46','2021-10-20 07:48:37',NULL,'0'),
- (3,'civicrm_contact',114,'Send reminder for annual dinner',1,'2022-01-05 03:20:46','2022-01-05 03:20:46','2021-02-20 04:16:03',NULL,'0'),
- (4,'civicrm_contact',84,'Send reminder for annual dinner',1,'2022-01-05 03:20:46','2022-01-05 03:20:46','2021-06-02 07:42:04',NULL,'0'),
- (5,'civicrm_contact',52,'Invite members for the Steve Prefontaine 10k dream run',1,'2022-01-05 03:20:46','2022-01-05 03:20:46','2021-05-19 21:09:57',NULL,'0'),
- (6,'civicrm_contact',3,'Arrange for cricket match with Sunil Gavaskar',1,'2022-01-05 03:20:46','2022-01-05 03:20:46','2021-12-04 07:12:53',NULL,'0'),
- (7,'civicrm_contact',68,'Get the registration done for NGO status',1,'2022-01-05 03:20:46','2022-01-05 03:20:46','2021-05-29 19:54:46',NULL,'0'),
- (8,'civicrm_contact',137,'Arrange collection of funds from members',1,'2022-01-05 03:20:46','2022-01-05 03:20:46','2021-07-11 19:18:07',NULL,'0'),
- (9,'civicrm_contact',33,'Chart out route map for next 10k run',1,'2022-01-05 03:20:46','2022-01-05 03:20:46','2021-02-11 11:25:44',NULL,'0'),
- (10,'civicrm_contact',160,'Contact the Commissioner of Charities',1,'2022-01-05 03:20:46','2022-01-05 03:20:46','2021-05-05 00:31:40',NULL,'0'),
- (11,'civicrm_contact',170,'Arrange for cricket match with Sunil Gavaskar',1,'2022-01-05 03:20:46','2022-01-05 03:20:46','2021-02-16 03:45:10',NULL,'0'),
- (12,'civicrm_contact',127,'Send newsletter for April 2005',1,'2022-01-05 03:20:46','2022-01-05 03:20:46','2021-09-09 16:14:47',NULL,'0'),
- (13,'civicrm_contact',165,'Contact the Commissioner of Charities',1,'2022-01-05 03:20:46','2022-01-05 03:20:46','2021-02-23 08:14:11',NULL,'0'),
- (14,'civicrm_contact',195,'Chart out route map for next 10k run',1,'2022-01-05 03:20:46','2022-01-05 03:20:46','2021-04-01 21:22:06',NULL,'0'),
- (15,'civicrm_contact',161,'Invite members for the Steve Prefontaine 10k dream run',1,'2022-01-05 03:20:46','2022-01-05 03:20:46','2021-04-14 03:05:55',NULL,'0'),
- (16,'civicrm_contact',17,'Send reminder for annual dinner',1,'2022-01-05 03:20:46','2022-01-05 03:20:46','2021-02-16 12:43:53',NULL,'0'),
- (17,'civicrm_contact',154,'Send newsletter for April 2005',1,'2022-01-05 03:20:46','2022-01-05 03:20:46','2021-02-02 11:25:33',NULL,'0'),
- (18,'civicrm_contact',59,'Send reminder for annual dinner',1,'2022-01-05 03:20:46','2022-01-05 03:20:46','2021-12-06 09:31:30',NULL,'0'),
- (19,'civicrm_contact',37,'Connect for presentation',1,'2022-01-05 03:20:46','2022-01-05 03:20:46','2021-04-03 10:31:33',NULL,'0'),
- (20,'civicrm_contact',184,'Arrange for cricket match with Sunil Gavaskar',1,'2022-01-05 03:20:46','2022-01-05 03:20:46','2021-12-07 22:00:44',NULL,'0');
+ (1,'civicrm_contact',26,'Arrange collection of funds from members',1,'2022-02-28 22:32:39','2022-02-28 22:32:39','2021-04-07 10:35:13',NULL,'0'),
+ (2,'civicrm_contact',84,'Contact the Commissioner of Charities',1,'2022-02-28 22:32:39','2022-02-28 22:32:39','2021-03-28 06:13:11',NULL,'0'),
+ (3,'civicrm_contact',25,'Send reminder for annual dinner',1,'2022-02-28 22:32:39','2022-02-28 22:32:39','2021-03-29 14:06:48',NULL,'0'),
+ (4,'civicrm_contact',16,'Send newsletter for April 2005',1,'2022-02-28 22:32:39','2022-02-28 22:32:39','2021-07-06 02:24:16',NULL,'0'),
+ (5,'civicrm_contact',14,'Arrange for cricket match with Sunil Gavaskar',1,'2022-02-28 22:32:39','2022-02-28 22:32:39','2021-10-24 16:17:11',NULL,'0'),
+ (6,'civicrm_contact',64,'Get the registration done for NGO status',1,'2022-02-28 22:32:39','2022-02-28 22:32:39','2021-04-25 16:41:18',NULL,'0'),
+ (7,'civicrm_contact',50,'Get the registration done for NGO status',1,'2022-02-28 22:32:39','2022-02-28 22:32:39','2021-05-18 17:09:40',NULL,'0'),
+ (8,'civicrm_contact',193,'Organize the Terry Fox run',1,'2022-02-28 22:32:39','2022-02-28 22:32:39','2021-09-06 19:14:35',NULL,'0'),
+ (9,'civicrm_contact',2,'Connect for presentation',1,'2022-02-28 22:32:39','2022-02-28 22:32:39','2021-04-11 16:51:38',NULL,'0'),
+ (10,'civicrm_contact',74,'Reminder screening of \"Black\" on next Friday',1,'2022-02-28 22:32:39','2022-02-28 22:32:39','2021-07-19 03:38:13',NULL,'0'),
+ (11,'civicrm_contact',16,'Invite members for the Steve Prefontaine 10k dream run',1,'2022-02-28 22:32:39','2022-02-28 22:32:39','2021-04-16 12:19:24',NULL,'0'),
+ (12,'civicrm_contact',3,'Invite members for the Steve Prefontaine 10k dream run',1,'2022-02-28 22:32:39','2022-02-28 22:32:39','2021-06-26 18:05:28',NULL,'0'),
+ (13,'civicrm_contact',107,'Connect for presentation',1,'2022-02-28 22:32:39','2022-02-28 22:32:39','2021-06-13 01:26:53',NULL,'0'),
+ (14,'civicrm_contact',167,'Get the registration done for NGO status',1,'2022-02-28 22:32:39','2022-02-28 22:32:39','2021-04-02 16:05:00',NULL,'0'),
+ (15,'civicrm_contact',116,'Reminder screening of \"Black\" on next Friday',1,'2022-02-28 22:32:39','2022-02-28 22:32:39','2022-02-19 03:28:07',NULL,'0'),
+ (16,'civicrm_contact',12,'Get the registration done for NGO status',1,'2022-02-28 22:32:39','2022-02-28 22:32:39','2021-03-25 17:10:55',NULL,'0'),
+ (17,'civicrm_contact',48,'Chart out route map for next 10k run',1,'2022-02-28 22:32:39','2022-02-28 22:32:39','2021-06-18 02:05:01',NULL,'0'),
+ (18,'civicrm_contact',198,'Contact the Commissioner of Charities',1,'2022-02-28 22:32:39','2022-02-28 22:32:39','2021-03-01 08:25:54',NULL,'0'),
+ (19,'civicrm_contact',67,'Invite members for the Steve Prefontaine 10k dream run',1,'2022-02-28 22:32:39','2022-02-28 22:32:39','2021-11-22 20:03:26',NULL,'0'),
+ (20,'civicrm_contact',11,'Organize the Terry Fox run',1,'2022-02-28 22:32:39','2022-02-28 22:32:39','2021-12-08 02:02:15',NULL,'0');
 /*!40000 ALTER TABLE `civicrm_note` ENABLE KEYS */;
 UNLOCK TABLES;
 
@@ -5680,81 +5629,79 @@ INSERT INTO `civicrm_option_group` (`id`, `name`, `title`, `description`, `data_
  (20,'user_dashboard_options','User Dashboard Options',NULL,NULL,1,1,1),
  (21,'address_options','Addressing Options',NULL,NULL,1,1,0),
  (22,'group_type','Group Type',NULL,NULL,1,1,0),
- (23,'grant_status','Grant status',NULL,NULL,1,1,0),
- (24,'grant_type','Grant Type',NULL,NULL,1,1,0),
- (25,'custom_search','Custom Search',NULL,NULL,1,1,0),
- (26,'activity_status','Activity Status',NULL,'Integer',1,1,0),
- (27,'case_type','Case Type',NULL,NULL,1,1,0),
- (28,'case_status','Case Status',NULL,NULL,1,1,0),
- (29,'participant_listing','Participant Listing',NULL,NULL,1,1,0),
- (30,'safe_file_extension','Safe File Extension',NULL,NULL,1,1,0),
- (31,'from_email_address','From Email Address',NULL,NULL,1,1,0),
- (32,'mapping_type','Mapping Type',NULL,NULL,1,1,1),
- (33,'wysiwyg_editor','WYSIWYG Editor',NULL,NULL,1,1,0),
- (34,'recur_frequency_units','Recurring Frequency Units',NULL,NULL,1,1,0),
- (35,'phone_type','Phone Type',NULL,NULL,1,1,0),
- (36,'custom_data_type','Custom Data Type',NULL,NULL,1,1,0),
- (37,'visibility','Visibility',NULL,NULL,1,1,0),
- (38,'mail_protocol','Mail Protocol',NULL,NULL,1,1,0),
- (39,'priority','Priority',NULL,NULL,1,1,0),
- (40,'redaction_rule','Redaction Rule',NULL,NULL,1,1,0),
- (41,'report_template','Report Template',NULL,NULL,1,1,0),
- (42,'email_greeting','Email Greeting Type',NULL,NULL,1,1,0),
- (43,'postal_greeting','Postal Greeting Type',NULL,NULL,1,1,0),
- (44,'addressee','Addressee Type',NULL,NULL,1,1,0),
- (45,'contact_autocomplete_options','Autocomplete Contact Search',NULL,NULL,1,1,1),
- (46,'contact_reference_options','Contact Reference Autocomplete Options',NULL,NULL,1,1,1),
- (47,'website_type','Website Type',NULL,NULL,1,1,0),
- (48,'tag_used_for','Tag Used For',NULL,NULL,1,1,1),
- (49,'note_used_for','Note Used For',NULL,NULL,1,1,1),
- (50,'currencies_enabled','Currencies Enabled',NULL,NULL,1,1,0),
- (51,'event_badge','Event Name Badge',NULL,NULL,1,1,0),
- (52,'note_privacy','Privacy levels for notes',NULL,NULL,1,1,0),
- (53,'campaign_type','Campaign Type',NULL,NULL,1,1,0),
- (54,'campaign_status','Campaign Status',NULL,NULL,1,1,0),
- (55,'system_extensions','CiviCRM Extensions',NULL,NULL,1,1,0),
- (56,'mail_approval_status','CiviMail Approval Status',NULL,NULL,1,1,0),
- (57,'engagement_index','Engagement Index',NULL,NULL,1,1,0),
- (58,'cg_extend_objects','Objects a custom group extends to',NULL,NULL,1,1,0),
- (59,'paper_size','Paper Size',NULL,NULL,1,1,0),
- (60,'pdf_format','PDF Page Format',NULL,NULL,1,1,0),
- (61,'label_format','Mailing Label Format',NULL,NULL,1,1,0),
- (62,'activity_contacts','Activity Contacts',NULL,NULL,1,1,1),
- (63,'account_relationship','Account Relationship',NULL,NULL,1,1,0),
- (64,'event_contacts','Event Recipients',NULL,NULL,1,1,0),
- (65,'conference_slot','Conference Slot',NULL,NULL,1,1,0),
- (66,'batch_type','Batch Type',NULL,NULL,1,1,1),
- (67,'batch_mode','Batch Mode',NULL,NULL,1,1,1),
- (68,'batch_status','Batch Status',NULL,NULL,1,1,1),
- (69,'sms_api_type','Api Type',NULL,NULL,1,1,0),
- (70,'sms_provider_name','Sms Provider Internal Name',NULL,NULL,1,1,0),
- (71,'auto_renew_options','Auto Renew Options',NULL,NULL,1,1,1),
- (72,'financial_account_type','Financial Account Type',NULL,NULL,1,1,0),
- (73,'financial_item_status','Financial Item Status',NULL,NULL,1,1,1),
- (74,'label_type','Label Type',NULL,NULL,1,1,0),
- (75,'name_badge','Name Badge Format',NULL,NULL,1,1,0),
- (76,'communication_style','Communication Style',NULL,NULL,1,1,0),
- (77,'msg_mode','Message Mode',NULL,NULL,1,1,0),
- (78,'contact_date_reminder_options','Contact Date Reminder Options',NULL,NULL,1,1,1),
- (79,'wysiwyg_presets','WYSIWYG Editor Presets',NULL,NULL,1,1,0),
- (80,'relative_date_filters','Relative Date Filters',NULL,NULL,1,1,0),
- (81,'pledge_status','Pledge Status',NULL,NULL,1,1,1),
- (82,'contribution_recur_status','Recurring Contribution Status',NULL,NULL,1,1,1),
- (83,'environment','Environment',NULL,NULL,1,1,0),
- (84,'activity_default_assignee','Activity default assignee',NULL,NULL,1,1,0),
- (85,'entity_batch_extends','Entity Batch Extends',NULL,NULL,1,1,0),
- (86,'languages','Languages','List of Languages',NULL,1,1,0),
- (87,'encounter_medium','Encounter Medium','Encounter medium for case activities (e.g. In Person, By Phone, etc.)',NULL,1,1,0),
- (88,'msg_tpl_workflow_case','Message Template Workflow for Cases','Message Template Workflow for Cases',NULL,1,1,0),
- (89,'msg_tpl_workflow_contribution','Message Template Workflow for Contributions','Message Template Workflow for Contributions',NULL,1,1,0),
- (90,'msg_tpl_workflow_event','Message Template Workflow for Events','Message Template Workflow for Events',NULL,1,1,0),
- (91,'msg_tpl_workflow_friend','Message Template Workflow for Tell-a-Friend','Message Template Workflow for Tell-a-Friend',NULL,1,1,0),
- (92,'msg_tpl_workflow_membership','Message Template Workflow for Memberships','Message Template Workflow for Memberships',NULL,1,1,0),
- (93,'msg_tpl_workflow_meta','Message Template Workflow for Meta Templates','Message Template Workflow for Meta Templates',NULL,1,1,0),
- (94,'msg_tpl_workflow_pledge','Message Template Workflow for Pledges','Message Template Workflow for Pledges',NULL,1,1,0),
- (95,'msg_tpl_workflow_uf','Message Template Workflow for Profiles','Message Template Workflow for Profiles',NULL,1,1,0),
- (96,'msg_tpl_workflow_petition','Message Template Workflow for Petition','Message Template Workflow for Petition',NULL,1,1,0),
- (97,'soft_credit_type','Soft Credit Types',NULL,NULL,1,1,0);
+ (23,'custom_search','Custom Search',NULL,NULL,1,1,0),
+ (24,'activity_status','Activity Status',NULL,'Integer',1,1,0),
+ (25,'case_type','Case Type',NULL,NULL,1,1,0),
+ (26,'case_status','Case Status',NULL,NULL,1,1,0),
+ (27,'participant_listing','Participant Listing',NULL,NULL,1,1,0),
+ (28,'safe_file_extension','Safe File Extension',NULL,NULL,1,1,0),
+ (29,'from_email_address','From Email Address',NULL,NULL,1,1,0),
+ (30,'mapping_type','Mapping Type',NULL,NULL,1,1,1),
+ (31,'wysiwyg_editor','WYSIWYG Editor',NULL,NULL,1,1,0),
+ (32,'recur_frequency_units','Recurring Frequency Units',NULL,NULL,1,1,0),
+ (33,'phone_type','Phone Type',NULL,NULL,1,1,0),
+ (34,'custom_data_type','Custom Data Type',NULL,NULL,1,1,0),
+ (35,'visibility','Visibility',NULL,NULL,1,1,0),
+ (36,'mail_protocol','Mail Protocol',NULL,NULL,1,1,0),
+ (37,'priority','Priority',NULL,NULL,1,1,0),
+ (38,'redaction_rule','Redaction Rule',NULL,NULL,1,1,0),
+ (39,'report_template','Report Template',NULL,NULL,1,1,0),
+ (40,'email_greeting','Email Greeting Type',NULL,NULL,1,1,0),
+ (41,'postal_greeting','Postal Greeting Type',NULL,NULL,1,1,0),
+ (42,'addressee','Addressee Type',NULL,NULL,1,1,0),
+ (43,'contact_autocomplete_options','Autocomplete Contact Search',NULL,NULL,1,1,1),
+ (44,'contact_reference_options','Contact Reference Autocomplete Options',NULL,NULL,1,1,1),
+ (45,'website_type','Website Type',NULL,NULL,1,1,0),
+ (46,'tag_used_for','Tag Used For',NULL,NULL,1,1,1),
+ (47,'note_used_for','Note Used For',NULL,NULL,1,1,1),
+ (48,'currencies_enabled','Currencies Enabled',NULL,NULL,1,1,0),
+ (49,'event_badge','Event Name Badge',NULL,NULL,1,1,0),
+ (50,'note_privacy','Privacy levels for notes',NULL,NULL,1,1,0),
+ (51,'campaign_type','Campaign Type',NULL,NULL,1,1,0),
+ (52,'campaign_status','Campaign Status',NULL,NULL,1,1,0),
+ (53,'system_extensions','CiviCRM Extensions',NULL,NULL,1,1,0),
+ (54,'mail_approval_status','CiviMail Approval Status',NULL,NULL,1,1,0),
+ (55,'engagement_index','Engagement Index',NULL,NULL,1,1,0),
+ (56,'cg_extend_objects','Objects a custom group extends to',NULL,NULL,1,1,0),
+ (57,'paper_size','Paper Size',NULL,NULL,1,1,0),
+ (58,'pdf_format','PDF Page Format',NULL,NULL,1,1,0),
+ (59,'label_format','Mailing Label Format',NULL,NULL,1,1,0),
+ (60,'activity_contacts','Activity Contacts',NULL,NULL,1,1,1),
+ (61,'account_relationship','Account Relationship',NULL,NULL,1,1,0),
+ (62,'event_contacts','Event Recipients',NULL,NULL,1,1,0),
+ (63,'conference_slot','Conference Slot',NULL,NULL,1,1,0),
+ (64,'batch_type','Batch Type',NULL,NULL,1,1,1),
+ (65,'batch_mode','Batch Mode',NULL,NULL,1,1,1),
+ (66,'batch_status','Batch Status',NULL,NULL,1,1,1),
+ (67,'sms_api_type','Api Type',NULL,NULL,1,1,0),
+ (68,'sms_provider_name','Sms Provider Internal Name',NULL,NULL,1,1,0),
+ (69,'auto_renew_options','Auto Renew Options',NULL,NULL,1,1,1),
+ (70,'financial_account_type','Financial Account Type',NULL,NULL,1,1,0),
+ (71,'financial_item_status','Financial Item Status',NULL,NULL,1,1,1),
+ (72,'label_type','Label Type',NULL,NULL,1,1,0),
+ (73,'name_badge','Name Badge Format',NULL,NULL,1,1,0),
+ (74,'communication_style','Communication Style',NULL,NULL,1,1,0),
+ (75,'msg_mode','Message Mode',NULL,NULL,1,1,0),
+ (76,'contact_date_reminder_options','Contact Date Reminder Options',NULL,NULL,1,1,1),
+ (77,'wysiwyg_presets','WYSIWYG Editor Presets',NULL,NULL,1,1,0),
+ (78,'relative_date_filters','Relative Date Filters',NULL,NULL,1,1,0),
+ (79,'pledge_status','Pledge Status',NULL,NULL,1,1,1),
+ (80,'contribution_recur_status','Recurring Contribution Status',NULL,NULL,1,1,1),
+ (81,'environment','Environment',NULL,NULL,1,1,0),
+ (82,'activity_default_assignee','Activity default assignee',NULL,NULL,1,1,0),
+ (83,'entity_batch_extends','Entity Batch Extends',NULL,NULL,1,1,0),
+ (84,'languages','Languages','List of Languages',NULL,1,1,0),
+ (85,'encounter_medium','Encounter Medium','Encounter medium for case activities (e.g. In Person, By Phone, etc.)',NULL,1,1,0),
+ (86,'msg_tpl_workflow_case','Message Template Workflow for Cases','Message Template Workflow for Cases',NULL,1,1,0),
+ (87,'msg_tpl_workflow_contribution','Message Template Workflow for Contributions','Message Template Workflow for Contributions',NULL,1,1,0),
+ (88,'msg_tpl_workflow_event','Message Template Workflow for Events','Message Template Workflow for Events',NULL,1,1,0),
+ (89,'msg_tpl_workflow_friend','Message Template Workflow for Tell-a-Friend','Message Template Workflow for Tell-a-Friend',NULL,1,1,0),
+ (90,'msg_tpl_workflow_membership','Message Template Workflow for Memberships','Message Template Workflow for Memberships',NULL,1,1,0),
+ (91,'msg_tpl_workflow_meta','Message Template Workflow for Meta Templates','Message Template Workflow for Meta Templates',NULL,1,1,0),
+ (92,'msg_tpl_workflow_pledge','Message Template Workflow for Pledges','Message Template Workflow for Pledges',NULL,1,1,0),
+ (93,'msg_tpl_workflow_uf','Message Template Workflow for Profiles','Message Template Workflow for Profiles',NULL,1,1,0),
+ (94,'msg_tpl_workflow_petition','Message Template Workflow for Petition','Message Template Workflow for Petition',NULL,1,1,0),
+ (95,'soft_credit_type','Soft Credit Types',NULL,NULL,1,1,0);
 /*!40000 ALTER TABLE `civicrm_option_group` ENABLE KEYS */;
 UNLOCK TABLES;
 
@@ -5896,747 +5843,731 @@ INSERT INTO `civicrm_option_value` (`id`, `option_group_id`, `label`, `value`, `
  (129,16,'Memberships','8','CiviMember',NULL,0,NULL,8,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
  (130,16,'Events','9','CiviEvent',NULL,0,NULL,9,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
  (131,16,'Cases','10','CiviCase',NULL,0,NULL,10,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (132,16,'Grants','11','CiviGrant',NULL,0,NULL,11,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (133,16,'Pledges','13','CiviPledge',NULL,0,NULL,13,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (134,16,'Mailings','14','CiviMail',NULL,0,NULL,14,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (135,17,'Show Smart Groups on Demand','1','showondemand',NULL,0,NULL,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (136,17,'Always Show Smart Groups','2','alwaysshow',NULL,0,NULL,2,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (137,17,'Hide Smart Groups','3','hide',NULL,0,NULL,3,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (138,18,'Custom Data','1','CustomData',NULL,0,NULL,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (139,18,'Address','2','Address',NULL,0,NULL,2,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (140,18,'Communication Preferences','3','CommunicationPreferences',NULL,0,NULL,3,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (141,18,'Notes','4','Notes',NULL,0,NULL,4,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (142,18,'Demographics','5','Demographics',NULL,0,NULL,5,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (143,18,'Tags and Groups','6','TagsAndGroups',NULL,0,NULL,6,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (144,18,'Email','7','Email',NULL,1,NULL,7,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (145,18,'Phone','8','Phone',NULL,1,NULL,8,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (146,18,'Instant Messenger','9','IM',NULL,1,NULL,9,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (147,18,'Open ID','10','OpenID',NULL,1,NULL,10,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (148,18,'Website','11','Website',NULL,1,NULL,11,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (149,18,'Prefix','12','Prefix',NULL,2,NULL,12,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (150,18,'Formal Title','13','Formal Title',NULL,2,NULL,13,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (151,18,'First Name','14','First Name',NULL,2,NULL,14,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (152,18,'Middle Name','15','Middle Name',NULL,2,NULL,15,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (153,18,'Last Name','16','Last Name',NULL,2,NULL,16,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (154,18,'Suffix','17','Suffix',NULL,2,NULL,17,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (155,19,'Address Fields','1','location',NULL,0,NULL,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (156,19,'Custom Fields','2','custom',NULL,0,NULL,2,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (157,19,'Activities','3','activity',NULL,0,NULL,4,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (158,19,'Relationships','4','relationship',NULL,0,NULL,5,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (159,19,'Notes','5','notes',NULL,0,NULL,6,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (160,19,'Change Log','6','changeLog',NULL,0,NULL,7,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (161,19,'Contributions','7','CiviContribute',NULL,0,NULL,8,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (162,19,'Memberships','8','CiviMember',NULL,0,NULL,9,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (163,19,'Events','9','CiviEvent',NULL,0,NULL,10,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (164,19,'Cases','10','CiviCase',NULL,0,NULL,11,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (165,19,'Grants','12','CiviGrant',NULL,0,NULL,14,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (166,19,'Demographics','13','demographics',NULL,0,NULL,15,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (167,19,'Pledges','15','CiviPledge',NULL,0,NULL,17,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (168,19,'Contact Type','16','contactType',NULL,0,NULL,18,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (169,19,'Groups','17','groups',NULL,0,NULL,19,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (170,19,'Tags','18','tags',NULL,0,NULL,20,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (171,19,'Mailing','19','CiviMail',NULL,0,NULL,21,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (172,20,'Groups','1','Groups',NULL,0,NULL,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (173,20,'Contributions','2','CiviContribute',NULL,0,NULL,2,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (174,20,'Memberships','3','CiviMember',NULL,0,NULL,3,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (175,20,'Events','4','CiviEvent',NULL,0,NULL,4,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (176,20,'My Contacts / Organizations','5','Permissioned Orgs',NULL,0,NULL,5,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (177,20,'Pledges','7','CiviPledge',NULL,0,NULL,7,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (178,20,'Personal Campaign Pages','8','PCP',NULL,0,NULL,8,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (179,20,'Assigned Activities','9','Assigned Activities',NULL,0,NULL,9,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (180,20,'Invoices / Credit Notes','10','Invoices / Credit Notes',NULL,0,NULL,10,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (181,45,'Email Address','2','email',NULL,0,NULL,2,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (182,45,'Phone','3','phone',NULL,0,NULL,3,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (183,45,'Street Address','4','street_address',NULL,0,NULL,4,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (184,45,'City','5','city',NULL,0,NULL,5,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (185,45,'State/Province','6','state_province',NULL,0,NULL,6,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (186,45,'Country','7','country',NULL,0,NULL,7,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (187,45,'Postal Code','8','postal_code',NULL,0,NULL,8,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (188,46,'Email Address','2','email',NULL,0,NULL,2,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (189,46,'Phone','3','phone',NULL,0,NULL,3,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (190,46,'Street Address','4','street_address',NULL,0,NULL,4,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (191,46,'City','5','city',NULL,0,NULL,5,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (192,46,'State/Province','6','state_province',NULL,0,NULL,6,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (193,46,'Country','7','country',NULL,0,NULL,7,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (194,46,'Postal Code','8','postal_code',NULL,0,NULL,8,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (195,21,'Street Address','1','street_address',NULL,0,NULL,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (196,21,'Supplemental Address 1','2','supplemental_address_1',NULL,0,NULL,2,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (197,21,'Supplemental Address 2','3','supplemental_address_2',NULL,0,NULL,3,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (198,21,'Supplemental Address 3','4','supplemental_address_3',NULL,0,NULL,4,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (199,21,'City','5','city',NULL,0,NULL,5,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (200,21,'Postal Code','6','postal_code',NULL,0,NULL,6,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (201,21,'Postal Code Suffix','7','postal_code_suffix',NULL,0,NULL,7,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (202,21,'County','8','county',NULL,0,NULL,8,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (203,21,'State/Province','9','state_province',NULL,0,NULL,9,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (204,21,'Country','10','country',NULL,0,NULL,10,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (205,21,'Latitude','11','geo_code_1',NULL,0,NULL,11,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (206,21,'Longitude','12','geo_code_2',NULL,0,NULL,12,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (207,21,'Address Name','13','address_name',NULL,0,NULL,13,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (208,21,'Street Address Parsing','14','street_address_parsing',NULL,0,NULL,14,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (209,22,'Access Control','1','Access Control',NULL,0,NULL,1,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
- (210,22,'Mailing List','2','Mailing List',NULL,0,NULL,2,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
- (211,23,'Submitted','1','Submitted',NULL,0,1,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (212,23,'Eligible','2','Eligible',NULL,0,NULL,2,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (213,23,'Ineligible','3','Ineligible',NULL,0,NULL,3,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (214,23,'Paid','4','Paid',NULL,0,NULL,4,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (215,23,'Awaiting Information','5','Awaiting Information',NULL,0,NULL,5,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (216,23,'Withdrawn','6','Withdrawn',NULL,0,NULL,6,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (217,23,'Approved for Payment','7','Approved for Payment',NULL,0,NULL,7,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (218,25,'CRM_Contact_Form_Search_Custom_Sample','1','CRM_Contact_Form_Search_Custom_Sample',NULL,0,NULL,1,'Household Name and State',0,0,1,NULL,NULL,NULL,NULL,NULL),
- (219,25,'CRM_Contact_Form_Search_Custom_ContributionAggregate','2','CRM_Contact_Form_Search_Custom_ContributionAggregate',NULL,0,NULL,2,'Contribution Aggregate',0,0,1,NULL,NULL,NULL,NULL,NULL),
- (220,25,'CRM_Contact_Form_Search_Custom_Group','4','CRM_Contact_Form_Search_Custom_Group',NULL,0,NULL,4,'Include / Exclude Search',0,0,1,NULL,NULL,NULL,NULL,NULL),
- (221,25,'CRM_Contact_Form_Search_Custom_PostalMailing','5','CRM_Contact_Form_Search_Custom_PostalMailing',NULL,0,NULL,5,'Postal Mailing',0,0,1,NULL,NULL,NULL,NULL,NULL),
- (222,25,'CRM_Contact_Form_Search_Custom_Proximity','6','CRM_Contact_Form_Search_Custom_Proximity',NULL,0,NULL,6,'Proximity Search',0,0,1,NULL,NULL,NULL,NULL,NULL),
- (223,25,'CRM_Contact_Form_Search_Custom_EventAggregate','7','CRM_Contact_Form_Search_Custom_EventAggregate',NULL,0,NULL,7,'Event Aggregate',0,0,1,NULL,NULL,NULL,NULL,NULL),
- (224,25,'CRM_Contact_Form_Search_Custom_ActivitySearch','8','CRM_Contact_Form_Search_Custom_ActivitySearch',NULL,0,NULL,8,'Activity Search',0,0,0,NULL,NULL,NULL,NULL,NULL),
- (225,25,'CRM_Contact_Form_Search_Custom_PriceSet','9','CRM_Contact_Form_Search_Custom_PriceSet',NULL,0,NULL,9,'Price Set Details for Event Participants',0,0,1,NULL,NULL,NULL,NULL,NULL),
- (226,25,'CRM_Contact_Form_Search_Custom_ZipCodeRange','10','CRM_Contact_Form_Search_Custom_ZipCodeRange',NULL,0,NULL,10,'Zip Code Range',0,0,1,NULL,NULL,NULL,NULL,NULL),
- (227,25,'CRM_Contact_Form_Search_Custom_DateAdded','11','CRM_Contact_Form_Search_Custom_DateAdded',NULL,0,NULL,11,'Date Added to CiviCRM',0,0,1,NULL,NULL,NULL,NULL,NULL),
- (228,25,'CRM_Contact_Form_Search_Custom_MultipleValues','12','CRM_Contact_Form_Search_Custom_MultipleValues',NULL,0,NULL,12,'Custom Group Multiple Values Listing',0,0,1,NULL,NULL,NULL,NULL,NULL),
- (229,25,'CRM_Contact_Form_Search_Custom_ContribSYBNT','13','CRM_Contact_Form_Search_Custom_ContribSYBNT',NULL,0,NULL,13,'Contributions made in Year X and not Year Y',0,0,1,NULL,NULL,NULL,NULL,NULL),
- (230,25,'CRM_Contact_Form_Search_Custom_TagContributions','14','CRM_Contact_Form_Search_Custom_TagContributions',NULL,0,NULL,14,'Find Contribution Amounts by Tag',0,0,1,NULL,NULL,NULL,NULL,NULL),
- (231,25,'CRM_Contact_Form_Search_Custom_FullText','15','CRM_Contact_Form_Search_Custom_FullText',NULL,0,NULL,15,'Full-text Search',0,0,1,NULL,NULL,NULL,NULL,NULL),
- (232,41,'Constituent Report (Summary)','contact/summary','CRM_Report_Form_Contact_Summary',NULL,0,NULL,1,'Provides a list of address and telephone information for constituent records in your system.',0,0,1,NULL,NULL,NULL,NULL,NULL),
- (233,41,'Constituent Report (Detail)','contact/detail','CRM_Report_Form_Contact_Detail',NULL,0,NULL,2,'Provides contact-related information on contributions, memberships, events and activities.',0,0,1,NULL,NULL,NULL,NULL,NULL),
- (234,41,'Activity Details Report','activity','CRM_Report_Form_Activity',NULL,0,NULL,3,'Provides a list of constituent activity including activity statistics for one/all contacts during a given date range(required)',0,0,1,NULL,NULL,NULL,NULL,NULL),
- (235,41,'Walk / Phone List Report','walklist','CRM_Report_Form_Walklist_Walklist',NULL,0,NULL,4,'Provides a detailed report for your walk/phonelist for targeted contacts',0,0,0,NULL,NULL,NULL,NULL,NULL),
- (236,41,'Current Employer Report','contact/currentEmployer','CRM_Report_Form_Contact_CurrentEmployer',NULL,0,NULL,5,'Provides detail list of employer employee relationships along with employment details Ex Join Date',0,0,1,NULL,NULL,NULL,NULL,NULL),
- (237,41,'Contribution Summary Report','contribute/summary','CRM_Report_Form_Contribute_Summary',NULL,0,NULL,6,'Groups and totals contributions by criteria including contact, time period, financial type, contributor location, etc.',0,0,1,2,NULL,NULL,NULL,NULL),
- (238,41,'Contribution Detail Report','contribute/detail','CRM_Report_Form_Contribute_Detail',NULL,0,NULL,7,'Lists specific contributions by criteria including contact, time period, financial type, contributor location, etc. Contribution summary report points to this report for contribution details.',0,0,1,2,NULL,NULL,NULL,NULL),
- (239,41,'Repeat Contributions Report','contribute/repeat','CRM_Report_Form_Contribute_Repeat',NULL,0,NULL,8,'Given two date ranges, shows contacts who contributed in both the date ranges with the amount contributed in each and the percentage increase / decrease.',0,0,1,2,NULL,NULL,NULL,NULL),
- (240,41,'Contributions by Organization Report','contribute/organizationSummary','CRM_Report_Form_Contribute_OrganizationSummary',NULL,0,NULL,9,'Displays a detailed list of contributions grouped by organization, which includes contributions made by employees for the organisation.',0,0,1,2,NULL,NULL,NULL,NULL),
- (241,41,'Contributions by Household Report','contribute/householdSummary','CRM_Report_Form_Contribute_HouseholdSummary',NULL,0,NULL,10,'Displays a detailed list of contributions grouped by household which includes contributions made by members of the household.',0,0,1,2,NULL,NULL,NULL,NULL),
- (242,41,'Top Donors Report','contribute/topDonor','CRM_Report_Form_Contribute_TopDonor',NULL,0,NULL,11,'Provides a list of the top donors during a time period you define. You can include as many donors as you want (for example, top 100 of your donors).',0,0,1,2,NULL,NULL,NULL,NULL),
- (243,41,'SYBUNT Report','contribute/sybunt','CRM_Report_Form_Contribute_Sybunt',NULL,0,NULL,12,'SYBUNT means some year(s) but not this year. Provides a list of constituents who donated at some time in the history of your organization but did not donate during the time period you specify.',0,0,1,2,NULL,NULL,NULL,NULL),
- (244,41,'LYBUNT Report','contribute/lybunt','CRM_Report_Form_Contribute_Lybunt',NULL,0,NULL,13,'LYBUNT means last year but not this year. Provides a list of constituents who donated last year but did not donate during the time period you specify as the current year.',0,0,1,2,NULL,NULL,NULL,NULL),
- (245,41,'Soft Credit Report','contribute/softcredit','CRM_Report_Form_Contribute_SoftCredit',NULL,0,NULL,14,'Shows contributions made by contacts that have been soft-credited to other contacts.',0,0,1,2,NULL,NULL,NULL,NULL),
- (246,41,'Membership Report (Summary)','member/summary','CRM_Report_Form_Member_Summary',NULL,0,NULL,15,'Provides a summary of memberships by type and join date.',0,0,1,3,NULL,NULL,NULL,NULL),
- (247,41,'Membership Report (Detail)','member/detail','CRM_Report_Form_Member_Detail',NULL,0,NULL,16,'Provides a list of members along with their membership status and membership details (Join Date, Start Date, End Date). Can also display contributions (payments) associated with each membership.',0,0,1,3,NULL,NULL,NULL,NULL),
- (248,41,'Membership Report (Lapsed)','member/lapse','CRM_Report_Form_Member_Lapse',NULL,0,NULL,17,'Provides a list of memberships that lapsed or will lapse before the date you specify.',0,0,1,3,NULL,NULL,NULL,NULL),
- (249,41,'Event Participant Report (List)','event/participantListing','CRM_Report_Form_Event_ParticipantListing',NULL,0,NULL,18,'Provides lists of participants for an event.',0,0,1,1,NULL,NULL,NULL,NULL),
- (250,41,'Event Income Report (Summary)','event/summary','CRM_Report_Form_Event_Summary',NULL,0,NULL,19,'Provides an overview of event income. You can include key information such as event ID, registration, attendance, and income generated to help you determine the success of an event.',0,0,1,1,NULL,NULL,NULL,NULL),
- (251,41,'Event Income Report (Detail)','event/income','CRM_Report_Form_Event_Income',NULL,0,NULL,20,'Helps you to analyze the income generated by an event. The report can include details by participant type, status and payment method.',0,0,1,1,NULL,NULL,NULL,NULL),
- (252,41,'Pledge Detail Report','pledge/detail','CRM_Report_Form_Pledge_Detail',NULL,0,NULL,21,'List of pledges including amount pledged, pledge status, next payment date, balance due, total amount paid etc.',0,0,1,6,NULL,NULL,NULL,NULL),
- (253,41,'Pledged but not Paid Report','pledge/pbnp','CRM_Report_Form_Pledge_Pbnp',NULL,0,NULL,22,'Pledged but not Paid Report',0,0,1,6,NULL,NULL,NULL,NULL),
- (254,41,'Relationship Report','contact/relationship','CRM_Report_Form_Contact_Relationship',NULL,0,NULL,23,'Relationship Report',0,0,1,NULL,NULL,NULL,NULL,NULL),
- (255,41,'Case Summary Report','case/summary','CRM_Report_Form_Case_Summary',NULL,0,NULL,24,'Provides a summary of cases and their duration by date range, status, staff member and / or case role.',0,0,1,7,NULL,NULL,NULL,NULL),
- (256,41,'Case Time Spent Report','case/timespent','CRM_Report_Form_Case_TimeSpent',NULL,0,NULL,25,'Aggregates time spent on case and / or non-case activities by activity type and contact.',0,0,1,7,NULL,NULL,NULL,NULL),
- (257,41,'Contact Demographics Report','case/demographics','CRM_Report_Form_Case_Demographics',NULL,0,NULL,26,'Demographic breakdown for case clients (and or non-case contacts) in your database. Includes custom contact fields.',0,0,1,7,NULL,NULL,NULL,NULL),
- (258,41,'Database Log Report','contact/log','CRM_Report_Form_Contact_Log',NULL,0,NULL,27,'Log of contact and activity records created or updated in a given date range.',0,0,1,NULL,NULL,NULL,NULL,NULL),
- (259,41,'Activity Summary Report','activitySummary','CRM_Report_Form_ActivitySummary',NULL,0,NULL,28,'Shows activity statistics by type / date',0,0,1,NULL,NULL,NULL,NULL,NULL),
- (260,41,'Bookkeeping Transactions Report','contribute/bookkeeping','CRM_Report_Form_Contribute_Bookkeeping',NULL,0,0,29,'Shows Bookkeeping Transactions Report',0,0,1,2,NULL,NULL,NULL,NULL),
- (261,41,'Grant Report (Detail)','grant/detail','CRM_Report_Form_Grant_Detail',NULL,0,0,30,'Grant Report Detail',0,0,1,5,NULL,NULL,NULL,NULL),
- (262,41,'Participant list Count Report','event/participantlist','CRM_Report_Form_Event_ParticipantListCount',NULL,0,0,31,'Shows the Participant list with Participant Count.',0,0,1,1,NULL,NULL,NULL,NULL),
- (263,41,'Income Count Summary Report','event/incomesummary','CRM_Report_Form_Event_IncomeCountSummary',NULL,0,0,32,'Shows the Income Summary of events with Count.',0,0,1,1,NULL,NULL,NULL,NULL),
- (264,41,'Case Detail Report','case/detail','CRM_Report_Form_Case_Detail',NULL,0,0,33,'Case Details',0,0,1,7,NULL,NULL,NULL,NULL),
- (265,41,'Mail Bounce Report','Mailing/bounce','CRM_Report_Form_Mailing_Bounce',NULL,0,NULL,34,'Bounce Report for mailings',0,0,1,4,NULL,NULL,NULL,NULL),
- (266,41,'Mail Summary Report','Mailing/summary','CRM_Report_Form_Mailing_Summary',NULL,0,NULL,35,'Summary statistics for mailings',0,0,1,4,NULL,NULL,NULL,NULL),
- (267,41,'Mail Opened Report','Mailing/opened','CRM_Report_Form_Mailing_Opened',NULL,0,NULL,36,'Display contacts who opened emails from a mailing',0,0,1,4,NULL,NULL,NULL,NULL),
- (268,41,'Mail Click-Through Report','Mailing/clicks','CRM_Report_Form_Mailing_Clicks',NULL,0,NULL,37,'Display clicks from each mailing',0,0,1,4,NULL,NULL,NULL,NULL),
- (269,41,'Contact Logging Report (Summary)','logging/contact/summary','CRM_Report_Form_Contact_LoggingSummary',NULL,0,NULL,38,'Contact modification report for the logging infrastructure (summary).',0,0,0,NULL,NULL,NULL,NULL,NULL),
- (270,41,'Contact Logging Report (Detail)','logging/contact/detail','CRM_Report_Form_Contact_LoggingDetail',NULL,0,NULL,39,'Contact modification report for the logging infrastructure (detail).',0,0,0,NULL,NULL,NULL,NULL,NULL),
- (271,41,'Grant Report (Statistics)','grant/statistics','CRM_Report_Form_Grant_Statistics',NULL,0,NULL,42,'Shows statistics for Grants.',0,0,1,5,NULL,NULL,NULL,NULL),
- (272,41,'Survey Report (Detail)','survey/detail','CRM_Report_Form_Campaign_SurveyDetails',NULL,0,NULL,43,'Detailed report for canvassing, phone-banking, walk lists or other surveys.',0,0,1,9,NULL,NULL,NULL,NULL),
- (273,41,'Personal Campaign Page Report','contribute/pcp','CRM_Report_Form_Contribute_PCP',NULL,0,NULL,44,'Summarizes amount raised and number of contributors for each Personal Campaign Page.',0,0,1,2,NULL,NULL,NULL,NULL),
- (274,41,'Pledge Summary Report','pledge/summary','CRM_Report_Form_Pledge_Summary',NULL,0,NULL,45,'Groups and totals pledges by criteria including contact, time period, pledge status, location, etc.',0,0,1,6,NULL,NULL,NULL,NULL),
- (275,41,'Contribution Aggregate by Relationship','contribute/history','CRM_Report_Form_Contribute_History',NULL,0,NULL,46,'List contact\'s donation history, grouped by year, along with contributions attributed to any of the contact\'s related contacts.',0,0,1,2,NULL,NULL,NULL,NULL),
- (276,41,'Mail Detail Report','mailing/detail','CRM_Report_Form_Mailing_Detail',NULL,0,NULL,47,'Provides reporting on Intended and Successful Deliveries, Unsubscribes and Opt-outs, Replies and Forwards.',0,0,1,4,NULL,NULL,NULL,NULL),
- (277,41,'Contribution and Membership Details','member/contributionDetail','CRM_Report_Form_Member_ContributionDetail',NULL,0,NULL,48,'Contribution details for any type of contribution, plus associated membership information for contributions which are in payment for memberships.',0,0,1,3,NULL,NULL,NULL,NULL),
- (278,41,'Recurring Contributions Report','contribute/recur','CRM_Report_Form_Contribute_Recur',NULL,0,NULL,49,'Provides information about the status of recurring contributions',0,0,1,2,NULL,NULL,NULL,NULL),
- (279,41,'Recurring Contributions Summary','contribute/recursummary','CRM_Report_Form_Contribute_RecurSummary',NULL,0,NULL,49,'Provides simple summary for each payment instrument for which there are recurring contributions (e.g. Credit Card, Standing Order, Direct Debit, etc., NULL), showing within a given date range.',0,0,1,2,NULL,NULL,NULL,NULL),
- (280,41,'Deferred Revenue Details','contribute/deferredrevenue','CRM_Report_Form_Contribute_DeferredRevenue',NULL,0,NULL,50,'Deferred Revenue Details Report',0,0,1,2,NULL,NULL,NULL,NULL),
- (281,26,'Scheduled','1','Scheduled',NULL,0,1,1,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
- (282,26,'Completed','2','Completed',NULL,1,NULL,2,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
- (283,26,'Cancelled','3','Cancelled',NULL,2,NULL,3,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
- (284,26,'Left Message','4','Left Message',NULL,0,NULL,4,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (285,26,'Unreachable','5','Unreachable',NULL,2,NULL,5,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (286,26,'Not Required','6','Not Required',NULL,2,NULL,6,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (287,26,'Available','7','Available',NULL,0,NULL,7,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (288,26,'No-show','8','No_show',NULL,2,NULL,8,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (289,28,'Ongoing','1','Open','Opened',0,1,1,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
- (290,28,'Resolved','2','Closed','Closed',0,NULL,2,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
- (291,28,'Urgent','3','Urgent','Opened',0,NULL,3,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (292,29,'Name Only','1','Name Only',NULL,0,0,1,'CRM_Event_Page_ParticipantListing_Name',0,1,1,NULL,NULL,NULL,NULL,NULL),
- (293,29,'Name and Email','2','Name and Email',NULL,0,0,2,'CRM_Event_Page_ParticipantListing_NameAndEmail',0,1,1,NULL,NULL,NULL,NULL,NULL),
- (294,29,'Name, Status and Register Date','3','Name, Status and Register Date',NULL,0,0,3,'CRM_Event_Page_ParticipantListing_NameStatusAndDate',0,1,1,NULL,NULL,NULL,NULL,NULL),
- (295,30,'jpg','1','jpg',NULL,0,0,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (296,30,'jpeg','2','jpeg',NULL,0,0,2,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (297,30,'png','3','png',NULL,0,0,3,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (298,30,'gif','4','gif',NULL,0,0,4,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (299,30,'txt','5','txt',NULL,0,0,5,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (300,30,'pdf','6','pdf',NULL,0,0,6,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (301,30,'doc','7','doc',NULL,0,0,7,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (302,30,'xls','8','xls',NULL,0,0,8,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (303,30,'rtf','9','rtf',NULL,0,0,9,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (304,30,'csv','10','csv',NULL,0,0,10,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (305,30,'ppt','11','ppt',NULL,0,0,11,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (306,30,'docx','12','docx',NULL,0,0,12,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (307,30,'xlsx','13','xlsx',NULL,0,0,13,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (308,30,'odt','14','odt',NULL,0,0,14,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (309,30,'ics','15','ics',NULL,0,0,15,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (310,30,'pptx','16','pptx',NULL,0,0,16,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (311,33,'Textarea','1','Textarea',NULL,0,NULL,1,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
- (312,33,'CKEditor 4','2','CKEditor',NULL,0,NULL,2,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
- (313,32,'Search Builder','1','Search Builder',NULL,0,0,1,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
- (314,32,'Import Contact','2','Import Contact',NULL,0,0,2,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
- (315,32,'Import Activity','3','Import Activity',NULL,0,0,3,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
- (316,32,'Import Contribution','4','Import Contribution',NULL,0,0,4,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
- (317,32,'Import Membership','5','Import Membership',NULL,0,0,5,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
- (318,32,'Import Participant','6','Import Participant',NULL,0,0,6,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
- (319,32,'Export Contact','7','Export Contact',NULL,0,0,7,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
- (320,32,'Export Contribution','8','Export Contribution',NULL,0,0,8,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
- (321,32,'Export Membership','9','Export Membership',NULL,0,0,9,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
- (322,32,'Export Participant','10','Export Participant',NULL,0,0,10,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
- (323,32,'Export Pledge','11','Export Pledge',NULL,0,0,11,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
- (324,32,'Export Case','12','Export Case',NULL,0,0,12,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
- (325,32,'Export Grant','13','Export Grant',NULL,0,0,13,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
- (326,32,'Export Activity','14','Export Activity',NULL,0,0,14,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
- (327,34,'day','day','day',NULL,0,NULL,1,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
- (328,34,'week','week','week',NULL,0,NULL,2,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
- (329,34,'month','month','month',NULL,0,NULL,3,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
- (330,34,'year','year','year',NULL,0,NULL,4,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
- (331,35,'Phone','1','Phone',NULL,0,NULL,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (332,35,'Mobile','2','Mobile',NULL,0,NULL,2,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (333,35,'Fax','3','Fax',NULL,0,NULL,3,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (334,35,'Pager','4','Pager',NULL,0,NULL,4,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (335,35,'Voicemail','5','Voicemail',NULL,0,NULL,5,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (336,36,'Participant Role','1','ParticipantRole',NULL,0,NULL,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (337,36,'Participant Event Name','2','ParticipantEventName',NULL,0,NULL,2,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (338,36,'Participant Event Type','3','ParticipantEventType',NULL,0,NULL,3,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (339,37,'Public','1','public',NULL,0,NULL,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (340,37,'Admin','2','admin',NULL,0,NULL,2,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (341,38,'IMAP','1','IMAP',NULL,0,NULL,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (342,38,'Maildir','2','Maildir',NULL,0,NULL,2,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (343,38,'POP3','3','POP3',NULL,0,NULL,3,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (344,38,'Localdir','4','Localdir',NULL,0,NULL,4,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (345,39,'Urgent','1','Urgent',NULL,0,NULL,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (346,39,'Normal','2','Normal',NULL,0,NULL,2,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (347,39,'Low','3','Low',NULL,0,NULL,3,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (348,40,'Vancouver','city_','city_',NULL,0,NULL,1,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (349,40,'/(19|20)(\\d{2})-(\\d{1,2})-(\\d{1,2})/','date_','date_',NULL,1,NULL,2,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (350,42,'Dear {contact.first_name}','1','Dear {contact.first_name}',NULL,1,1,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (351,42,'Dear {contact.prefix_id:label} {contact.first_name} {contact.last_name}','2','Dear {contact.prefix_id:label} {contact.first_name} {contact.last_name}',NULL,1,0,2,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (352,42,'Dear {contact.prefix_id:label} {contact.last_name}','3','Dear {contact.prefix_id:label} {contact.last_name}',NULL,1,0,3,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (353,42,'Customized','4','Customized',NULL,0,0,4,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
- (354,42,'Dear {contact.household_name}','5','Dear {contact.household_name}',NULL,2,1,5,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (355,43,'Dear {contact.first_name}','1','Dear {contact.first_name}',NULL,1,1,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (356,43,'Dear {contact.prefix_id:label} {contact.first_name} {contact.last_name}','2','Dear {contact.prefix_id:label} {contact.first_name} {contact.last_name}',NULL,1,0,2,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (357,43,'Dear {contact.prefix_id:label} {contact.last_name}','3','Dear {contact.prefix_id:label} {contact.last_name}',NULL,1,0,3,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (358,43,'Customized','4','Customized',NULL,0,0,4,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
- (359,43,'Dear {contact.household_name}','5','Dear {contact.household_name}',NULL,2,1,5,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (360,44,'{contact.prefix_id:label}{ }{contact.first_name}{ }{contact.middle_name}{ }{contact.last_name}{ }{contact.suffix_id:label}','1','{contact.prefix_id:label}{ }{contact.first_name}{ }{contact.middle_name}{ }{contact.last_name}{ }{contact.suffix_id:label}',NULL,1,1,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (361,44,'{contact.household_name}','2','{contact.household_name}',NULL,2,1,2,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (362,44,'{contact.organization_name}','3','{contact.organization_name}',NULL,3,1,3,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (363,44,'Customized','4','Customized',NULL,0,0,4,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
- (364,47,'Work','1','Work',NULL,0,1,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (365,47,'Main','2','Main',NULL,0,NULL,2,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (366,47,'Facebook','3','Facebook',NULL,0,NULL,3,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (367,47,'Instagram','5','Instagram',NULL,0,NULL,5,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (368,47,'LinkedIn','6','LinkedIn',NULL,0,NULL,6,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (369,47,'MySpace','7','MySpace',NULL,0,NULL,7,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (370,47,'Pinterest','8','Pinterest',NULL,0,NULL,8,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (371,47,'SnapChat','9','SnapChat',NULL,0,NULL,9,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (372,47,'Tumblr','10','Tumblr',NULL,0,NULL,10,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (373,47,'Twitter','11','Twitter',NULL,0,NULL,11,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (374,47,'Vine','12','Vine ',NULL,0,NULL,12,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (375,48,'Contacts','civicrm_contact','Contact',NULL,0,NULL,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (376,48,'Activities','civicrm_activity','Activity',NULL,0,NULL,2,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (377,48,'Cases','civicrm_case','Case',NULL,0,NULL,3,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (378,48,'Attachments','civicrm_file','File',NULL,0,NULL,4,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (379,49,'Contacts','civicrm_contact','Contact',NULL,0,NULL,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (380,49,'Relationships','civicrm_relationship','Relationship',NULL,0,NULL,2,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (381,49,'Participants','civicrm_participant','Participant',NULL,0,NULL,3,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (382,49,'Contributions','civicrm_contribution','Contribution',NULL,0,NULL,4,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (383,50,'USD ($)','USD','USD',NULL,0,1,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (384,50,'CAD ($)','CAD','CAD',NULL,0,0,2,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (385,50,'EUR (€)','EUR','EUR',NULL,0,0,3,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (386,50,'GBP (£)','GBP','GBP',NULL,0,0,4,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (387,50,'JPY (Â¥)','JPY','JPY',NULL,0,0,5,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (388,51,'Name Only','1','CRM_Event_Badge_Simple',NULL,0,0,1,'Simple Event Name Badge',0,1,1,NULL,NULL,NULL,NULL,NULL),
- (389,51,'Name Tent','2','CRM_Event_Badge_NameTent',NULL,0,0,2,'Name Tent',0,1,1,NULL,NULL,NULL,NULL,NULL),
- (390,51,'With Logo','3','CRM_Event_Badge_Logo',NULL,0,0,3,'You can set your own background image',0,1,1,NULL,NULL,NULL,NULL,NULL),
- (391,51,'5395 with Logo','4','CRM_Event_Badge_Logo5395',NULL,0,0,4,'Avery 5395 compatible labels with logo (4 up by 2, 59.2mm x 85.7mm)',0,1,1,NULL,NULL,NULL,NULL,NULL),
- (392,52,'None','0','None',NULL,0,1,1,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
- (393,52,'Author Only','1','Author Only',NULL,0,0,2,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
- (394,53,'Direct Mail','1','Direct Mail',NULL,0,NULL,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (395,53,'Referral Program','2','Referral Program',NULL,0,NULL,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (396,53,'Constituent Engagement','3','Constituent Engagement',NULL,0,NULL,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (397,54,'Planned','1','Planned',NULL,0,NULL,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (398,54,'In Progress','2','In Progress',NULL,0,NULL,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (399,54,'Completed','3','Completed',NULL,0,NULL,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (400,54,'Cancelled','4','Cancelled',NULL,0,NULL,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (401,57,'1','1','1',NULL,0,NULL,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (402,57,'2','2','2',NULL,0,NULL,2,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (403,57,'3','3','3',NULL,0,NULL,3,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (404,57,'4','4','4',NULL,0,NULL,4,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (405,57,'5','5','5',NULL,0,NULL,5,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (406,59,'Letter','{\"metric\":\"in\",\"width\":8.5,\"height\":11}','letter',NULL,NULL,1,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (407,59,'Legal','{\"metric\":\"in\",\"width\":8.5,\"height\":14}','legal',NULL,NULL,0,2,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (408,59,'Ledger','{\"metric\":\"in\",\"width\":17,\"height\":11}','ledger',NULL,NULL,0,3,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (409,59,'Tabloid','{\"metric\":\"in\",\"width\":11,\"height\":17}','tabloid',NULL,NULL,0,4,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (410,59,'Executive','{\"metric\":\"in\",\"width\":7.25,\"height\":10.5}','executive',NULL,NULL,0,5,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (411,59,'Folio','{\"metric\":\"in\",\"width\":8.5,\"height\":13}','folio',NULL,NULL,0,6,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (412,59,'Envelope #9','{\"metric\":\"pt\",\"width\":638.93,\"height\":278.93}','envelope-9',NULL,NULL,0,7,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (413,59,'Envelope #10','{\"metric\":\"pt\",\"width\":684,\"height\":297}','envelope-10',NULL,NULL,0,8,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (414,59,'Envelope #11','{\"metric\":\"pt\",\"width\":747,\"height\":324}','envelope-11',NULL,NULL,0,9,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (415,59,'Envelope #12','{\"metric\":\"pt\",\"width\":792,\"height\":342}','envelope-12',NULL,NULL,0,10,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (416,59,'Envelope #14','{\"metric\":\"pt\",\"width\":828,\"height\":360}','envelope-14',NULL,NULL,0,11,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (417,59,'Envelope ISO B4','{\"metric\":\"pt\",\"width\":1000.63,\"height\":708.66}','envelope-b4',NULL,NULL,0,12,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (418,59,'Envelope ISO B5','{\"metric\":\"pt\",\"width\":708.66,\"height\":498.9}','envelope-b5',NULL,NULL,0,13,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (419,59,'Envelope ISO B6','{\"metric\":\"pt\",\"width\":498.9,\"height\":354.33}','envelope-b6',NULL,NULL,0,14,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (420,59,'Envelope ISO C3','{\"metric\":\"pt\",\"width\":1298.27,\"height\":918.42}','envelope-c3',NULL,NULL,0,15,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (421,59,'Envelope ISO C4','{\"metric\":\"pt\",\"width\":918.42,\"height\":649.13}','envelope-c4',NULL,NULL,0,16,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (422,59,'Envelope ISO C5','{\"metric\":\"pt\",\"width\":649.13,\"height\":459.21}','envelope-c5',NULL,NULL,0,17,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (423,59,'Envelope ISO C6','{\"metric\":\"pt\",\"width\":459.21,\"height\":323.15}','envelope-c6',NULL,NULL,0,18,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (424,59,'Envelope ISO DL','{\"metric\":\"pt\",\"width\":623.622,\"height\":311.811}','envelope-dl',NULL,NULL,0,19,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (425,59,'ISO A0','{\"metric\":\"pt\",\"width\":2383.94,\"height\":3370.39}','a0',NULL,NULL,0,20,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (426,59,'ISO A1','{\"metric\":\"pt\",\"width\":1683.78,\"height\":2383.94}','a1',NULL,NULL,0,21,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (427,59,'ISO A2','{\"metric\":\"pt\",\"width\":1190.55,\"height\":1683.78}','a2',NULL,NULL,0,22,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (428,59,'ISO A3','{\"metric\":\"pt\",\"width\":841.89,\"height\":1190.55}','a3',NULL,NULL,0,23,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (429,59,'ISO A4','{\"metric\":\"pt\",\"width\":595.28,\"height\":841.89}','a4',NULL,NULL,0,24,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (430,59,'ISO A5','{\"metric\":\"pt\",\"width\":419.53,\"height\":595.28}','a5',NULL,NULL,0,25,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (431,59,'ISO A6','{\"metric\":\"pt\",\"width\":297.64,\"height\":419.53}','a6',NULL,NULL,0,26,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (432,59,'ISO A7','{\"metric\":\"pt\",\"width\":209.76,\"height\":297.64}','a7',NULL,NULL,0,27,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (433,59,'ISO A8','{\"metric\":\"pt\",\"width\":147.4,\"height\":209.76}','a8',NULL,NULL,0,28,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (434,59,'ISO A9','{\"metric\":\"pt\",\"width\":104.88,\"height\":147.4}','a9',NULL,NULL,0,29,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (435,59,'ISO A10','{\"metric\":\"pt\",\"width\":73.7,\"height\":104.88}','a10',NULL,NULL,0,30,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (436,59,'ISO B0','{\"metric\":\"pt\",\"width\":2834.65,\"height\":4008.19}','b0',NULL,NULL,0,31,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (437,59,'ISO B1','{\"metric\":\"pt\",\"width\":2004.09,\"height\":2834.65}','b1',NULL,NULL,0,32,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (438,59,'ISO B2','{\"metric\":\"pt\",\"width\":1417.32,\"height\":2004.09}','b2',NULL,NULL,0,33,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (439,59,'ISO B3','{\"metric\":\"pt\",\"width\":1000.63,\"height\":1417.32}','b3',NULL,NULL,0,34,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (440,59,'ISO B4','{\"metric\":\"pt\",\"width\":708.66,\"height\":1000.63}','b4',NULL,NULL,0,35,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (441,59,'ISO B5','{\"metric\":\"pt\",\"width\":498.9,\"height\":708.66}','b5',NULL,NULL,0,36,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (442,59,'ISO B6','{\"metric\":\"pt\",\"width\":354.33,\"height\":498.9}','b6',NULL,NULL,0,37,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (443,59,'ISO B7','{\"metric\":\"pt\",\"width\":249.45,\"height\":354.33}','b7',NULL,NULL,0,38,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (444,59,'ISO B8','{\"metric\":\"pt\",\"width\":175.75,\"height\":249.45}','b8',NULL,NULL,0,39,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (445,59,'ISO B9','{\"metric\":\"pt\",\"width\":124.72,\"height\":175.75}','b9',NULL,NULL,0,40,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (446,59,'ISO B10','{\"metric\":\"pt\",\"width\":87.87,\"height\":124.72}','b10',NULL,NULL,0,41,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (447,59,'ISO C0','{\"metric\":\"pt\",\"width\":2599.37,\"height\":3676.54}','c0',NULL,NULL,0,42,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (448,59,'ISO C1','{\"metric\":\"pt\",\"width\":1836.85,\"height\":2599.37}','c1',NULL,NULL,0,43,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (449,59,'ISO C2','{\"metric\":\"pt\",\"width\":1298.27,\"height\":1836.85}','c2',NULL,NULL,0,44,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (450,59,'ISO C3','{\"metric\":\"pt\",\"width\":918.43,\"height\":1298.27}','c3',NULL,NULL,0,45,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (451,59,'ISO C4','{\"metric\":\"pt\",\"width\":649.13,\"height\":918.43}','c4',NULL,NULL,0,46,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (452,59,'ISO C5','{\"metric\":\"pt\",\"width\":459.21,\"height\":649.13}','c5',NULL,NULL,0,47,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (453,59,'ISO C6','{\"metric\":\"pt\",\"width\":323.15,\"height\":459.21}','c6',NULL,NULL,0,48,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (454,59,'ISO C7','{\"metric\":\"pt\",\"width\":229.61,\"height\":323.15}','c7',NULL,NULL,0,49,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (455,59,'ISO C8','{\"metric\":\"pt\",\"width\":161.57,\"height\":229.61}','c8',NULL,NULL,0,50,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (456,59,'ISO C9','{\"metric\":\"pt\",\"width\":113.39,\"height\":161.57}','c9',NULL,NULL,0,51,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (457,59,'ISO C10','{\"metric\":\"pt\",\"width\":79.37,\"height\":113.39}','c10',NULL,NULL,0,52,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (458,59,'ISO RA0','{\"metric\":\"pt\",\"width\":2437.8,\"height\":3458.27}','ra0',NULL,NULL,0,53,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (459,59,'ISO RA1','{\"metric\":\"pt\",\"width\":1729.13,\"height\":2437.8}','ra1',NULL,NULL,0,54,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (460,59,'ISO RA2','{\"metric\":\"pt\",\"width\":1218.9,\"height\":1729.13}','ra2',NULL,NULL,0,55,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (461,59,'ISO RA3','{\"metric\":\"pt\",\"width\":864.57,\"height\":1218.9}','ra3',NULL,NULL,0,56,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (462,59,'ISO RA4','{\"metric\":\"pt\",\"width\":609.45,\"height\":864.57}','ra4',NULL,NULL,0,57,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (463,59,'ISO SRA0','{\"metric\":\"pt\",\"width\":2551.18,\"height\":3628.35}','sra0',NULL,NULL,0,58,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (464,59,'ISO SRA1','{\"metric\":\"pt\",\"width\":1814.17,\"height\":2551.18}','sra1',NULL,NULL,0,59,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (465,59,'ISO SRA2','{\"metric\":\"pt\",\"width\":1275.59,\"height\":1814.17}','sra2',NULL,NULL,0,60,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (466,59,'ISO SRA3','{\"metric\":\"pt\",\"width\":907.09,\"height\":1275.59}','sra3',NULL,NULL,0,61,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (467,59,'ISO SRA4','{\"metric\":\"pt\",\"width\":637.8,\"height\":907.09}','sra4',NULL,NULL,0,62,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (468,62,'Activity Assignees','1','Activity Assignees',NULL,0,NULL,3,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (469,62,'Activity Source','2','Activity Source',NULL,0,NULL,2,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (470,62,'Activity Targets','3','Activity Targets',NULL,0,NULL,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (471,72,'Asset','1','Asset',NULL,0,0,1,'Things you own',0,1,1,2,NULL,NULL,NULL,NULL),
- (472,72,'Liability','2','Liability',NULL,0,0,2,'Things you owe, like a grant still to be disbursed',0,1,1,2,NULL,NULL,NULL,NULL),
- (473,72,'Revenue','3','Revenue',NULL,0,1,3,'Income from contributions and sales of tickets and memberships',0,1,1,2,NULL,NULL,NULL,NULL),
- (474,72,'Cost of Sales','4','Cost of Sales',NULL,0,0,4,'Costs incurred to get revenue, e.g. premiums for donations, dinner for a fundraising dinner ticket',0,1,1,2,NULL,NULL,NULL,NULL),
- (475,72,'Expenses','5','Expenses',NULL,0,0,5,'Things that are paid for that are consumable, e.g. grants disbursed',0,1,1,2,NULL,NULL,NULL,NULL),
- (476,63,'Income Account is','1','Income Account is',NULL,0,1,1,'Income Account is',0,1,1,2,NULL,NULL,NULL,NULL),
- (477,63,'Credit/Contra Revenue Account is','2','Credit/Contra Revenue Account is',NULL,0,0,2,'Credit/Contra Revenue Account is',0,1,1,2,NULL,NULL,NULL,NULL),
- (478,63,'Accounts Receivable Account is','3','Accounts Receivable Account is',NULL,0,0,3,'Accounts Receivable Account is',0,1,1,2,NULL,NULL,NULL,NULL),
- (479,63,'Credit Liability Account is','4','Credit Liability Account is',NULL,0,0,4,'Credit Liability Account is',0,1,0,2,NULL,NULL,NULL,NULL),
- (480,63,'Expense Account is','5','Expense Account is',NULL,0,0,5,'Expense Account is',0,1,1,2,NULL,NULL,NULL,NULL),
- (481,63,'Asset Account is','6','Asset Account is',NULL,0,0,6,'Asset Account is',0,1,1,2,NULL,NULL,NULL,NULL),
- (482,63,'Cost of Sales Account is','7','Cost of Sales Account is',NULL,0,0,7,'Cost of Sales Account is',0,1,1,2,NULL,NULL,NULL,NULL),
- (483,63,'Premiums Inventory Account is','8','Premiums Inventory Account is',NULL,0,0,8,'Premiums Inventory Account is',0,1,1,2,NULL,NULL,NULL,NULL),
- (484,63,'Discounts Account is','9','Discounts Account is',NULL,0,0,9,'Discounts Account is',0,1,1,2,NULL,NULL,NULL,NULL),
- (485,63,'Sales Tax Account is','10','Sales Tax Account is',NULL,0,0,10,'Sales Tax Account is',0,1,1,2,NULL,NULL,NULL,NULL),
- (486,63,'Chargeback Account is','11','Chargeback Account is',NULL,0,0,11,'Chargeback Account is',0,1,1,2,NULL,NULL,NULL,NULL),
- (487,63,'Deferred Revenue Account is','12','Deferred Revenue Account is',NULL,0,0,12,'Deferred Revenue Account is',0,1,1,2,NULL,NULL,NULL,NULL),
- (488,64,'Participant Role','1','participant_role',NULL,0,NULL,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (489,65,'Morning Sessions','1','Morning Sessions',NULL,0,NULL,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (490,65,'Evening Sessions','2','Evening Sessions',NULL,0,NULL,2,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (491,66,'Contribution','1','Contribution',NULL,0,NULL,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (492,66,'Membership','2','Membership',NULL,0,NULL,2,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (493,66,'Pledge Payment','3','Pledge Payment',NULL,0,NULL,3,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (494,68,'Open','1','Open',NULL,0,NULL,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (495,68,'Closed','2','Closed',NULL,0,NULL,2,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (496,68,'Data Entry','3','Data Entry',NULL,0,NULL,3,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (497,68,'Reopened','4','Reopened',NULL,0,NULL,4,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (498,68,'Exported','5','Exported',NULL,0,NULL,5,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (499,67,'Manual Batch','1','Manual Batch',NULL,0,0,1,'Manual Batch',0,1,1,2,NULL,NULL,NULL,NULL),
- (500,67,'Automatic Batch','2','Automatic Batch',NULL,0,0,2,'Automatic Batch',0,1,1,2,NULL,NULL,NULL,NULL),
- (501,73,'Paid','1','Paid',NULL,0,0,1,'Paid',0,1,1,2,NULL,NULL,NULL,NULL),
- (502,73,'Partially paid','2','Partially paid',NULL,0,0,2,'Partially paid',0,1,1,2,NULL,NULL,NULL,NULL),
- (503,73,'Unpaid','3','Unpaid',NULL,0,0,1,'Unpaid',0,1,1,2,NULL,NULL,NULL,NULL),
- (504,69,'http','1','http',NULL,NULL,0,1,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
- (505,69,'xml','2','xml',NULL,NULL,0,2,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
- (506,69,'smtp','3','smtp',NULL,NULL,0,3,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
- (507,71,'Renewal Reminder (non-auto-renew memberships only)','1','Renewal Reminder (non-auto-renew memberships only)',NULL,0,NULL,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (508,71,'Auto-renew Memberships Only','2','Auto-renew Memberships Only',NULL,0,NULL,2,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (509,71,'Reminder for Both','3','Reminder for Both',NULL,0,NULL,3,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (510,74,'Event Badge','1','Event Badge',NULL,0,NULL,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (511,75,'Avery 5395','{\"name\":\"Avery 5395\",\"paper-size\":\"a4\",\"metric\":\"mm\",\"lMargin\":15,\"tMargin\":26,\"NX\":2,\"NY\":4,\"SpaceX\":10,\"SpaceY\":5,\"width\":83,\"height\":57,\"font-size\":12,\"orientation\":\"portrait\",\"font-name\":\"helvetica\",\"font-style\":\"\",\"lPadding\":3,\"tPadding\":3}','Avery 5395',NULL,0,NULL,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (512,75,'A6 Badge Portrait 150x106','{\"paper-size\":\"a4\",\"orientation\":\"landscape\",\"font-name\":\"times\",\"font-size\":6,\"font-style\":\"\",\"NX\":2,\"NY\":1,\"metric\":\"mm\",\"lMargin\":25,\"tMargin\":27,\"SpaceX\":0,\"SpaceY\":35,\"width\":106,\"height\":150,\"lPadding\":5,\"tPadding\":5}','A6 Badge Portrait 150x106',NULL,0,NULL,2,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (513,75,'Fattorini Name Badge 100x65','{\"paper-size\":\"a4\",\"orientation\":\"portrait\",\"font-name\":\"times\",\"font-size\":6,\"font-style\":\"\",\"NX\":2,\"NY\":4,\"metric\":\"mm\",\"lMargin\":6,\"tMargin\":19,\"SpaceX\":0,\"SpaceY\":0,\"width\":100,\"height\":65,\"lPadding\":0,\"tPadding\":0}','Fattorini Name Badge 100x65',NULL,0,NULL,3,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (514,75,'Hanging Badge 3-3/4\" x 4-3\"/4','{\"paper-size\":\"a4\",\"orientation\":\"portrait\",\"font-name\":\"times\",\"font-size\":6,\"font-style\":\"\",\"NX\":2,\"NY\":2,\"metric\":\"mm\",\"lMargin\":10,\"tMargin\":28,\"SpaceX\":0,\"SpaceY\":0,\"width\":96,\"height\":121,\"lPadding\":5,\"tPadding\":5}','Hanging Badge 3-3/4\" x 4-3\"/4',NULL,0,NULL,4,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (515,61,'Avery 3475','{\"paper-size\":\"a4\",\"orientation\":\"portrait\",\"font-name\":\"dejavusans\",\"font-size\":10,\"font-style\":\"\",\"metric\":\"mm\",\"lMargin\":0,\"tMargin\":5,\"NX\":3,\"NY\":8,\"SpaceX\":0,\"SpaceY\":0,\"width\":70,\"height\":36,\"lPadding\":5.08,\"tPadding\":5.08}','3475','Avery',NULL,0,1,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
- (516,61,'Avery 5160','{\"paper-size\":\"letter\",\"orientation\":\"portrait\",\"font-name\":\"dejavusans\",\"font-size\":8,\"font-style\":\"\",\"metric\":\"in\",\"lMargin\":0.21975,\"tMargin\":0.5,\"NX\":3,\"NY\":10,\"SpaceX\":0.14,\"SpaceY\":0,\"width\":2.5935,\"height\":1,\"lPadding\":0.20,\"tPadding\":0.20}','5160','Avery',NULL,0,2,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
- (517,61,'Avery 5161','{\"paper-size\":\"letter\",\"orientation\":\"portrait\",\"font-name\":\"dejavusans\",\"font-size\":8,\"font-style\":\"\",\"metric\":\"in\",\"lMargin\":0.175,\"tMargin\":0.5,\"NX\":2,\"NY\":10,\"SpaceX\":0.15625,\"SpaceY\":0,\"width\":4,\"height\":1,\"lPadding\":0.20,\"tPadding\":0.20}','5161','Avery',NULL,0,3,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
- (518,61,'Avery 5162','{\"paper-size\":\"letter\",\"orientation\":\"portrait\",\"font-name\":\"dejavusans\",\"font-size\":8,\"font-style\":\"\",\"metric\":\"in\",\"lMargin\":0.1525,\"tMargin\":0.88,\"NX\":2,\"NY\":7,\"SpaceX\":0.195,\"SpaceY\":0,\"width\":4,\"height\":1.33,\"lPadding\":0.20,\"tPadding\":0.20}','5162','Avery',NULL,0,4,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
- (519,61,'Avery 5163','{\"paper-size\":\"letter\",\"orientation\":\"portrait\",\"font-name\":\"dejavusans\",\"font-size\":8,\"font-style\":\"\",\"metric\":\"in\",\"lMargin\":0.18,\"tMargin\":0.5,\"NX\":2,\"NY\":5,\"SpaceX\":0.14,\"SpaceY\":0,\"width\":4,\"height\":2,\"lPadding\":0.20,\"tPadding\":0.20}','5163','Avery',NULL,0,5,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
- (520,61,'Avery 5164','{\"paper-size\":\"letter\",\"orientation\":\"portrait\",\"font-name\":\"dejavusans\",\"font-size\":12,\"font-style\":\"\",\"metric\":\"in\",\"lMargin\":0.156,\"tMargin\":0.5,\"NX\":2,\"NY\":3,\"SpaceX\":0.1875,\"SpaceY\":0,\"width\":4,\"height\":3.33,\"lPadding\":0.20,\"tPadding\":0.20}','5164','Avery',NULL,0,6,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
- (521,61,'Avery 8600','{\"paper-size\":\"letter\",\"orientation\":\"portrait\",\"font-name\":\"dejavusans\",\"font-size\":8,\"font-style\":\"\",\"metric\":\"mm\",\"lMargin\":7.1,\"tMargin\":19,\"NX\":3,\"NY\":10,\"SpaceX\":9.5,\"SpaceY\":3.1,\"width\":66.6,\"height\":25.4,\"lPadding\":5.08,\"tPadding\":5.08}','8600','Avery',NULL,0,7,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
- (522,61,'Avery L7160','{\"paper-size\":\"a4\",\"orientation\":\"portrait\",\"font-name\":\"dejavusans\",\"font-size\":9,\"font-style\":\"\",\"metric\":\"in\",\"lMargin\":0.28,\"tMargin\":0.6,\"NX\":3,\"NY\":7,\"SpaceX\":0.1,\"SpaceY\":0,\"width\":2.5,\"height\":1.5,\"lPadding\":0.20,\"tPadding\":0.20}','L7160','Avery',NULL,0,8,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
- (523,61,'Avery L7161','{\"paper-size\":\"a4\",\"orientation\":\"portrait\",\"font-name\":\"dejavusans\",\"font-size\":9,\"font-style\":\"\",\"metric\":\"in\",\"lMargin\":0.28,\"tMargin\":0.35,\"NX\":3,\"NY\":6,\"SpaceX\":0.1,\"SpaceY\":0,\"width\":2.5,\"height\":1.83,\"lPadding\":0.20,\"tPadding\":0.20}','L7161','Avery',NULL,0,9,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
- (524,61,'Avery L7162','{\"paper-size\":\"a4\",\"orientation\":\"portrait\",\"font-name\":\"dejavusans\",\"font-size\":9,\"font-style\":\"\",\"metric\":\"in\",\"lMargin\":0.18,\"tMargin\":0.51,\"NX\":2,\"NY\":8,\"SpaceX\":0.1,\"SpaceY\":0,\"width\":3.9,\"height\":1.33,\"lPadding\":0.20,\"tPadding\":0.20}','L7162','Avery',NULL,0,10,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
- (525,61,'Avery L7163','{\"paper-size\":\"a4\",\"orientation\":\"portrait\",\"font-name\":\"dejavusans\",\"font-size\":9,\"font-style\":\"\",\"metric\":\"in\",\"lMargin\":0.18,\"tMargin\":0.6,\"NX\":2,\"NY\":7,\"SpaceX\":0.1,\"SpaceY\":0,\"width\":3.9,\"height\":1.5,\"lPadding\":0.20,\"tPadding\":0.20}','L7163','Avery',NULL,0,11,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
- (526,76,'Formal','1','formal',NULL,0,1,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (527,76,'Familiar','2','familiar',NULL,0,0,2,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (528,77,'Email','Email','Email',NULL,0,1,1,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
- (529,77,'SMS','SMS','SMS',NULL,0,0,2,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
- (530,77,'User Preference','User_Preference','User Preference',NULL,0,0,3,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
- (531,78,'Actual date only','1','Actual date only',NULL,NULL,0,1,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
- (532,78,'Each anniversary','2','Each anniversary',NULL,NULL,0,2,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
- (533,79,'Default','1','default',NULL,NULL,1,1,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
- (534,79,'CiviMail','2','civimail',NULL,NULL,0,2,NULL,0,1,1,4,NULL,NULL,NULL,NULL),
- (535,79,'CiviEvent','3','civievent',NULL,NULL,0,3,NULL,0,1,1,1,NULL,NULL,NULL,NULL),
- (536,83,'Production','Production','Production',NULL,NULL,1,1,'Production Environment',0,1,1,NULL,NULL,NULL,NULL,NULL),
- (537,83,'Staging','Staging','Staging',NULL,NULL,0,2,'Staging Environment',0,1,1,NULL,NULL,NULL,NULL,NULL),
- (538,83,'Development','Development','Development',NULL,NULL,0,3,'Development Environment',0,1,1,NULL,NULL,NULL,NULL,NULL),
- (539,80,'Today','this.day','this.day',NULL,NULL,NULL,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (540,80,'This week','this.week','this.week',NULL,NULL,NULL,2,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (541,80,'This calendar month','this.month','this.month',NULL,NULL,NULL,3,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (542,80,'This quarter','this.quarter','this.quarter',NULL,NULL,NULL,4,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (543,80,'This fiscal year','this.fiscal_year','this.fiscal_year',NULL,NULL,NULL,5,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (544,80,'This calendar year','this.year','this.year',NULL,NULL,NULL,6,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (545,80,'Yesterday','previous.day','previous.day',NULL,NULL,NULL,7,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (546,80,'Previous week','previous.week','previous.week',NULL,NULL,NULL,8,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (547,80,'Previous calendar month','previous.month','previous.month',NULL,NULL,NULL,9,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (548,80,'Previous quarter','previous.quarter','previous.quarter',NULL,NULL,NULL,10,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (549,80,'Previous fiscal year','previous.fiscal_year','previous.fiscal_year',NULL,NULL,NULL,11,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (550,80,'Previous calendar year','previous.year','previous.year',NULL,NULL,NULL,12,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (551,80,'Last 7 days including today','ending.week','ending.week',NULL,NULL,NULL,13,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (552,80,'Last 30 days including today','ending_30.day','ending.month',NULL,NULL,NULL,14,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (553,80,'Last 60 days including today','ending_60.day','ending_2.month',NULL,NULL,NULL,15,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (554,80,'Last 90 days including today','ending_90.day','ending.quarter',NULL,NULL,NULL,16,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (555,80,'Last 12 months including today','ending.year','ending.year',NULL,NULL,NULL,17,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (556,80,'Last 2 years including today','ending_2.year','ending_2.year',NULL,NULL,NULL,18,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (557,80,'Last 3 years including today','ending_3.year','ending_3.year',NULL,NULL,NULL,19,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (558,80,'Tomorrow','starting.day','starting.day',NULL,NULL,NULL,20,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (559,80,'Next week','next.week','next.week',NULL,NULL,NULL,21,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (560,80,'Next calendar month','next.month','next.month',NULL,NULL,NULL,22,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (561,80,'Next quarter','next.quarter','next.quarter',NULL,NULL,NULL,23,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (562,80,'Next fiscal year','next.fiscal_year','next.fiscal_year',NULL,NULL,NULL,24,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (563,80,'Next calendar year','next.year','next.year',NULL,NULL,NULL,25,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (564,80,'Next 7 days including today','starting.week','starting.week',NULL,NULL,NULL,26,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (565,80,'Next 30 days including today','starting.month','starting.month',NULL,NULL,NULL,27,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (566,80,'Next 60 days including today','starting_2.month','starting_2.month',NULL,NULL,NULL,28,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (567,80,'Next 90 days including today','starting.quarter','starting.quarter',NULL,NULL,NULL,29,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (568,80,'Next 12 months including today','starting.year','starting.year',NULL,NULL,NULL,30,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (569,80,'Current week to-date','current.week','current.week',NULL,NULL,NULL,31,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (570,80,'Current calendar month to-date','current.month','current.month',NULL,NULL,NULL,32,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (571,80,'Current quarter to-date','current.quarter','current.quarter',NULL,NULL,NULL,33,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (572,80,'Current calendar year to-date','current.year','current.year',NULL,NULL,NULL,34,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (573,80,'To end of yesterday','earlier.day','earlier.day',NULL,NULL,NULL,35,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (574,80,'To end of previous week','earlier.week','earlier.week',NULL,NULL,NULL,36,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (575,80,'To end of previous calendar month','earlier.month','earlier.month',NULL,NULL,NULL,37,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (576,80,'To end of previous quarter','earlier.quarter','earlier.quarter',NULL,NULL,NULL,38,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (577,80,'To end of previous calendar year','earlier.year','earlier.year',NULL,NULL,NULL,39,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (578,80,'From start of current day','greater.day','greater.day',NULL,NULL,NULL,40,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (579,80,'From start of current week','greater.week','greater.week',NULL,NULL,NULL,41,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (580,80,'From start of current calendar month','greater.month','greater.month',NULL,NULL,NULL,42,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (581,80,'From start of current quarter','greater.quarter','greater.quarter',NULL,NULL,NULL,43,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (582,80,'From start of current calendar year','greater.year','greater.year',NULL,NULL,NULL,44,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (583,80,'To end of current week','less.week','less.week',NULL,NULL,NULL,45,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (584,80,'To end of current calendar month','less.month','less.month',NULL,NULL,NULL,46,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (585,80,'To end of current quarter','less.quarter','less.quarter',NULL,NULL,NULL,47,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (586,80,'To end of current calendar year','less.year','less.year',NULL,NULL,NULL,48,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (587,80,'Previous 2 days','previous_2.day','previous_2.day',NULL,NULL,NULL,49,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (588,80,'Previous 2 weeks','previous_2.week','previous_2.week',NULL,NULL,NULL,50,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (589,80,'Previous 2 calendar months','previous_2.month','previous_2.month',NULL,NULL,NULL,51,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (590,80,'Previous 2 quarters','previous_2.quarter','previous_2.quarter',NULL,NULL,NULL,52,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (591,80,'Previous 2 calendar years','previous_2.year','previous_2.year',NULL,NULL,NULL,53,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (592,80,'Day prior to yesterday','previous_before.day','previous_before.day',NULL,NULL,NULL,54,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (593,80,'Week prior to previous week','previous_before.week','previous_before.week',NULL,NULL,NULL,55,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (594,80,'Month prior to previous calendar month','previous_before.month','previous_before.month',NULL,NULL,NULL,56,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (595,80,'Quarter prior to previous quarter','previous_before.quarter','previous_before.quarter',NULL,NULL,NULL,57,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (596,80,'Year prior to previous calendar year','previous_before.year','previous_before.year',NULL,NULL,NULL,58,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (597,80,'From end of previous week','greater_previous.week','greater_previous.week',NULL,NULL,NULL,59,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (598,80,'From end of previous calendar month','greater_previous.month','greater_previous.month',NULL,NULL,NULL,60,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (599,80,'From end of previous quarter','greater_previous.quarter','greater_previous.quarter',NULL,NULL,NULL,61,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (600,80,'From end of previous calendar year','greater_previous.year','greater_previous.year',NULL,NULL,NULL,62,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (601,81,'Completed','1','Completed',NULL,0,NULL,1,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
- (602,81,'Pending','2','Pending',NULL,0,NULL,2,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
- (603,81,'Cancelled','3','Cancelled',NULL,0,NULL,3,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
- (604,81,'In Progress','5','In Progress',NULL,0,NULL,4,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
- (605,81,'Overdue','6','Overdue',NULL,0,NULL,5,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
- (606,82,'Completed','1','Completed',NULL,0,NULL,1,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
- (607,82,'Pending','2','Pending',NULL,0,NULL,2,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
- (608,82,'Cancelled','3','Cancelled',NULL,0,NULL,3,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
- (609,82,'Failed','4','Failed',NULL,0,NULL,4,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
- (610,82,'In Progress','5','In Progress',NULL,0,NULL,5,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
- (611,82,'Overdue','6','Overdue',NULL,0,NULL,6,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
- (612,82,'Processing','7','Processing',NULL,0,NULL,7,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
- (613,82,'Failing','8','Failing',NULL,0,NULL,8,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
- (614,84,'None','1','NONE',NULL,0,1,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (615,84,'By relationship to case client','2','BY_RELATIONSHIP',NULL,0,0,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (616,84,'Specific contact','3','SPECIFIC_CONTACT',NULL,0,0,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (617,84,'User creating the case','4','USER_CREATING_THE_CASE',NULL,0,0,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (618,85,'Financial Transactions','civicrm_financial_trxn','civicrm_financial_trxn',NULL,0,1,1,NULL,0,0,1,2,NULL,NULL,NULL,NULL),
- (619,31,'\"FIXME\" <info@EXAMPLE.ORG>','1','\"FIXME\" <info@EXAMPLE.ORG>',NULL,0,1,1,'Default domain email address and from name.',0,0,1,NULL,1,NULL,NULL,NULL),
- (620,24,'Emergency','1','Emergency',NULL,0,1,1,NULL,0,0,1,NULL,1,NULL,NULL,NULL),
- (621,24,'Family Support','2','Family Support',NULL,0,NULL,2,NULL,0,0,1,NULL,1,NULL,NULL,NULL),
- (622,24,'General Protection','3','General Protection',NULL,0,NULL,3,NULL,0,0,1,NULL,1,NULL,NULL,NULL),
- (623,24,'Impunity','4','Impunity',NULL,0,NULL,4,NULL,0,0,1,NULL,1,NULL,NULL,NULL),
- (624,56,'Approved','1','Approved',NULL,0,1,1,NULL,0,1,1,4,1,NULL,NULL,NULL),
- (625,56,'Rejected','2','Rejected',NULL,0,0,2,NULL,0,1,1,4,1,NULL,NULL,NULL),
- (626,56,'None','3','None',NULL,0,0,3,NULL,0,1,1,4,1,NULL,NULL,NULL),
- (627,58,'Survey','Survey','civicrm_survey',NULL,0,NULL,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (628,58,'Cases','Case','civicrm_case',NULL,0,NULL,2,'CRM_Case_PseudoConstant::caseType;',0,0,1,NULL,NULL,NULL,NULL,NULL),
- (629,86,'Abkhaz','ab','ab_GE',NULL,0,0,1,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (630,86,'Afar','aa','aa_ET',NULL,0,0,2,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (631,86,'Afrikaans','af','af_ZA',NULL,0,0,3,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (632,86,'Akan','ak','ak_GH',NULL,0,0,4,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (633,86,'Albanian','sq','sq_AL',NULL,0,0,5,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (634,86,'Amharic','am','am_ET',NULL,0,0,6,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (635,86,'Arabic','ar','ar_EG',NULL,0,0,7,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (636,86,'Aragonese','an','an_ES',NULL,0,0,8,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (637,86,'Armenian','hy','hy_AM',NULL,0,0,9,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (638,86,'Assamese','as','as_IN',NULL,0,0,10,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (639,86,'Avaric','av','av_RU',NULL,0,0,11,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (640,86,'Avestan','ae','ae_XX',NULL,0,0,12,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (641,86,'Aymara','ay','ay_BO',NULL,0,0,13,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (642,86,'Azerbaijani','az','az_AZ',NULL,0,0,14,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (643,86,'Bambara','bm','bm_ML',NULL,0,0,15,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (644,86,'Bashkir','ba','ba_RU',NULL,0,0,16,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (645,86,'Basque','eu','eu_ES',NULL,0,0,17,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (646,86,'Belarusian','be','be_BY',NULL,0,0,18,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (647,86,'Bengali','bn','bn_BD',NULL,0,0,19,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (648,86,'Bihari','bh','bh_IN',NULL,0,0,20,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (649,86,'Bislama','bi','bi_VU',NULL,0,0,21,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (650,86,'Bosnian','bs','bs_BA',NULL,0,0,22,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (651,86,'Breton','br','br_FR',NULL,0,0,23,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (652,86,'Bulgarian','bg','bg_BG',NULL,0,0,24,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (653,86,'Burmese','my','my_MM',NULL,0,0,25,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (654,86,'Catalan; Valencian','ca','ca_ES',NULL,0,0,26,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (655,86,'Chamorro','ch','ch_GU',NULL,0,0,27,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (656,86,'Chechen','ce','ce_RU',NULL,0,0,28,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (657,86,'Chichewa; Chewa; Nyanja','ny','ny_MW',NULL,0,0,29,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (658,86,'Chinese (China)','zh','zh_CN',NULL,0,0,30,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (659,86,'Chinese (Taiwan)','zh','zh_TW',NULL,0,0,31,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (660,86,'Chuvash','cv','cv_RU',NULL,0,0,32,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (661,86,'Cornish','kw','kw_GB',NULL,0,0,33,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (662,86,'Corsican','co','co_FR',NULL,0,0,34,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (663,86,'Cree','cr','cr_CA',NULL,0,0,35,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (664,86,'Croatian','hr','hr_HR',NULL,0,0,36,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (665,86,'Czech','cs','cs_CZ',NULL,0,0,37,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (666,86,'Danish','da','da_DK',NULL,0,0,38,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (667,86,'Divehi; Dhivehi; Maldivian;','dv','dv_MV',NULL,0,0,39,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (668,86,'Dutch (Netherlands)','nl','nl_NL',NULL,0,0,40,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (669,86,'Dutch (Belgium)','nl','nl_BE',NULL,0,0,41,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (670,86,'Dzongkha','dz','dz_BT',NULL,0,0,42,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (671,86,'English (Australia)','en','en_AU',NULL,0,0,43,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (672,86,'English (Canada)','en','en_CA',NULL,0,0,44,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (673,86,'English (United Kingdom)','en','en_GB',NULL,0,0,45,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (674,86,'English (United States)','en','en_US',NULL,0,1,46,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (675,86,'Esperanto','eo','eo_XX',NULL,0,0,47,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (676,86,'Estonian','et','et_EE',NULL,0,0,48,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (677,86,'Ewe','ee','ee_GH',NULL,0,0,49,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (678,86,'Faroese','fo','fo_FO',NULL,0,0,50,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (679,86,'Fijian','fj','fj_FJ',NULL,0,0,51,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (680,86,'Finnish','fi','fi_FI',NULL,0,0,52,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (681,86,'French (Canada)','fr','fr_CA',NULL,0,0,53,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (682,86,'French (France)','fr','fr_FR',NULL,0,0,54,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (683,86,'Fula; Fulah; Pulaar; Pular','ff','ff_SN',NULL,0,0,55,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (684,86,'Galician','gl','gl_ES',NULL,0,0,56,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (685,86,'Georgian','ka','ka_GE',NULL,0,0,57,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (686,86,'German','de','de_DE',NULL,0,0,58,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (687,86,'German (Swiss)','de','de_CH',NULL,0,0,59,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (688,86,'Greek, Modern','el','el_GR',NULL,0,0,60,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (689,86,'Guarani­','gn','gn_PY',NULL,0,0,61,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (690,86,'Gujarati','gu','gu_IN',NULL,0,0,62,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (691,86,'Haitian; Haitian Creole','ht','ht_HT',NULL,0,0,63,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (692,86,'Hausa','ha','ha_NG',NULL,0,0,64,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (693,86,'Hebrew (modern)','he','he_IL',NULL,0,0,65,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (694,86,'Herero','hz','hz_NA',NULL,0,0,66,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (695,86,'Hindi','hi','hi_IN',NULL,0,0,67,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (696,86,'Hiri Motu','ho','ho_PG',NULL,0,0,68,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (697,86,'Hungarian','hu','hu_HU',NULL,0,0,69,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (698,86,'Interlingua','ia','ia_XX',NULL,0,0,70,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (699,86,'Indonesian','id','id_ID',NULL,0,0,71,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (700,86,'Interlingue','ie','ie_XX',NULL,0,0,72,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (701,86,'Irish','ga','ga_IE',NULL,0,0,73,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (702,86,'Igbo','ig','ig_NG',NULL,0,0,74,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (703,86,'Inupiaq','ik','ik_US',NULL,0,0,75,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (704,86,'Ido','io','io_XX',NULL,0,0,76,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (705,86,'Icelandic','is','is_IS',NULL,0,0,77,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (706,86,'Italian','it','it_IT',NULL,0,0,78,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (707,86,'Inuktitut','iu','iu_CA',NULL,0,0,79,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (708,86,'Japanese','ja','ja_JP',NULL,0,0,80,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (709,86,'Javanese','jv','jv_ID',NULL,0,0,81,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (710,86,'Kalaallisut, Greenlandic','kl','kl_GL',NULL,0,0,82,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (711,86,'Kannada','kn','kn_IN',NULL,0,0,83,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (712,86,'Kanuri','kr','kr_NE',NULL,0,0,84,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (713,86,'Kashmiri','ks','ks_IN',NULL,0,0,85,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (714,86,'Kazakh','kk','kk_KZ',NULL,0,0,86,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (715,86,'Khmer','km','km_KH',NULL,0,0,87,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (716,86,'Kikuyu, Gikuyu','ki','ki_KE',NULL,0,0,88,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (717,86,'Kinyarwanda','rw','rw_RW',NULL,0,0,89,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (718,86,'Kirghiz, Kyrgyz','ky','ky_KG',NULL,0,0,90,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (719,86,'Komi','kv','kv_RU',NULL,0,0,91,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (720,86,'Kongo','kg','kg_CD',NULL,0,0,92,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (721,86,'Korean','ko','ko_KR',NULL,0,0,93,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (722,86,'Kurdish','ku','ku_IQ',NULL,0,0,94,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (723,86,'Kwanyama, Kuanyama','kj','kj_NA',NULL,0,0,95,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (724,86,'Latin','la','la_VA',NULL,0,0,96,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (725,86,'Luxembourgish, Letzeburgesch','lb','lb_LU',NULL,0,0,97,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (726,86,'Luganda','lg','lg_UG',NULL,0,0,98,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (727,86,'Limburgish, Limburgan, Limburger','li','li_NL',NULL,0,0,99,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (728,86,'Lingala','ln','ln_CD',NULL,0,0,100,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (729,86,'Lao','lo','lo_LA',NULL,0,0,101,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (730,86,'Lithuanian','lt','lt_LT',NULL,0,0,102,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (731,86,'Luba-Katanga','lu','lu_CD',NULL,0,0,103,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (732,86,'Latvian','lv','lv_LV',NULL,0,0,104,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (733,86,'Manx','gv','gv_IM',NULL,0,0,105,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (734,86,'Macedonian','mk','mk_MK',NULL,0,0,106,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (735,86,'Malagasy','mg','mg_MG',NULL,0,0,107,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (736,86,'Malay','ms','ms_MY',NULL,0,0,108,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (737,86,'Malayalam','ml','ml_IN',NULL,0,0,109,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (738,86,'Maltese','mt','mt_MT',NULL,0,0,110,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (739,86,'Māori','mi','mi_NZ',NULL,0,0,111,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (740,86,'Marathi','mr','mr_IN',NULL,0,0,112,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (741,86,'Marshallese','mh','mh_MH',NULL,0,0,113,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (742,86,'Mongolian','mn','mn_MN',NULL,0,0,114,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (743,86,'Nauru','na','na_NR',NULL,0,0,115,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (744,86,'Navajo, Navaho','nv','nv_US',NULL,0,0,116,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (745,86,'Norwegian Bokmål','nb','nb_NO',NULL,0,0,117,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (746,86,'North Ndebele','nd','nd_ZW',NULL,0,0,118,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (747,86,'Nepali','ne','ne_NP',NULL,0,0,119,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (748,86,'Ndonga','ng','ng_NA',NULL,0,0,120,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (749,86,'Norwegian Nynorsk','nn','nn_NO',NULL,0,0,121,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (750,86,'Norwegian','no','no_NO',NULL,0,0,122,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (751,86,'Nuosu','ii','ii_CN',NULL,0,0,123,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (752,86,'South Ndebele','nr','nr_ZA',NULL,0,0,124,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (753,86,'Occitan (after 1500)','oc','oc_FR',NULL,0,0,125,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (754,86,'Ojibwa','oj','oj_CA',NULL,0,0,126,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (755,86,'Old Church Slavonic, Church Slavic, Church Slavonic, Old Bulgarian, Old Slavonic','cu','cu_BG',NULL,0,0,127,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (756,86,'Oromo','om','om_ET',NULL,0,0,128,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (757,86,'Oriya','or','or_IN',NULL,0,0,129,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (758,86,'Ossetian, Ossetic','os','os_GE',NULL,0,0,130,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (759,86,'Panjabi, Punjabi','pa','pa_IN',NULL,0,0,131,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (760,86,'Pali','pi','pi_KH',NULL,0,0,132,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (761,86,'Persian (Iran)','fa','fa_IR',NULL,0,0,133,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (762,86,'Polish','pl','pl_PL',NULL,0,0,134,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (763,86,'Pashto, Pushto','ps','ps_AF',NULL,0,0,135,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (764,86,'Portuguese (Brazil)','pt','pt_BR',NULL,0,0,136,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (765,86,'Portuguese (Portugal)','pt','pt_PT',NULL,0,0,137,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (766,86,'Quechua','qu','qu_PE',NULL,0,0,138,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (767,86,'Romansh','rm','rm_CH',NULL,0,0,139,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (768,86,'Kirundi','rn','rn_BI',NULL,0,0,140,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (769,86,'Romanian, Moldavian, Moldovan','ro','ro_RO',NULL,0,0,141,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (770,86,'Russian','ru','ru_RU',NULL,0,0,142,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (771,86,'Sanskrit','sa','sa_IN',NULL,0,0,143,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (772,86,'Sardinian','sc','sc_IT',NULL,0,0,144,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (773,86,'Sindhi','sd','sd_IN',NULL,0,0,145,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (774,86,'Northern Sami','se','se_NO',NULL,0,0,146,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (775,86,'Samoan','sm','sm_WS',NULL,0,0,147,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (776,86,'Sango','sg','sg_CF',NULL,0,0,148,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (777,86,'Serbian','sr','sr_RS',NULL,0,0,149,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (778,86,'Scottish Gaelic; Gaelic','gd','gd_GB',NULL,0,0,150,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (779,86,'Shona','sn','sn_ZW',NULL,0,0,151,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (780,86,'Sinhala, Sinhalese','si','si_LK',NULL,0,0,152,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (781,86,'Slovak','sk','sk_SK',NULL,0,0,153,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (782,86,'Slovene','sl','sl_SI',NULL,0,0,154,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (783,86,'Somali','so','so_SO',NULL,0,0,155,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (784,86,'Southern Sotho','st','st_ZA',NULL,0,0,156,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (785,86,'Spanish; Castilian (Spain)','es','es_ES',NULL,0,0,157,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (786,86,'Spanish; Castilian (Mexico)','es','es_MX',NULL,0,0,158,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (787,86,'Spanish; Castilian (Puerto Rico)','es','es_PR',NULL,0,0,159,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (788,86,'Sundanese','su','su_ID',NULL,0,0,160,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (789,86,'Swahili','sw','sw_TZ',NULL,0,0,161,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (790,86,'Swati','ss','ss_ZA',NULL,0,0,162,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (791,86,'Swedish','sv','sv_SE',NULL,0,0,163,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (792,86,'Tamil','ta','ta_IN',NULL,0,0,164,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (793,86,'Telugu','te','te_IN',NULL,0,0,165,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (794,86,'Tajik','tg','tg_TJ',NULL,0,0,166,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (795,86,'Thai','th','th_TH',NULL,0,0,167,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (796,86,'Tigrinya','ti','ti_ET',NULL,0,0,168,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (797,86,'Tibetan Standard, Tibetan, Central','bo','bo_CN',NULL,0,0,169,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (798,86,'Turkmen','tk','tk_TM',NULL,0,0,170,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (799,86,'Tagalog','tl','tl_PH',NULL,0,0,171,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (800,86,'Tswana','tn','tn_ZA',NULL,0,0,172,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (801,86,'Tonga (Tonga Islands)','to','to_TO',NULL,0,0,173,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (802,86,'Turkish','tr','tr_TR',NULL,0,0,174,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (803,86,'Tsonga','ts','ts_ZA',NULL,0,0,175,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (804,86,'Tatar','tt','tt_RU',NULL,0,0,176,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (805,86,'Twi','tw','tw_GH',NULL,0,0,177,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (806,86,'Tahitian','ty','ty_PF',NULL,0,0,178,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (807,86,'Uighur, Uyghur','ug','ug_CN',NULL,0,0,179,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (808,86,'Ukrainian','uk','uk_UA',NULL,0,0,180,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (809,86,'Urdu','ur','ur_PK',NULL,0,0,181,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (810,86,'Uzbek','uz','uz_UZ',NULL,0,0,182,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (811,86,'Venda','ve','ve_ZA',NULL,0,0,183,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (812,86,'Vietnamese','vi','vi_VN',NULL,0,0,184,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (813,86,'Volapük','vo','vo_XX',NULL,0,0,185,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (814,86,'Walloon','wa','wa_BE',NULL,0,0,186,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (815,86,'Welsh','cy','cy_GB',NULL,0,0,187,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (816,86,'Wolof','wo','wo_SN',NULL,0,0,188,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (817,86,'Western Frisian','fy','fy_NL',NULL,0,0,189,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (818,86,'Xhosa','xh','xh_ZA',NULL,0,0,190,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (819,86,'Yiddish','yi','yi_US',NULL,0,0,191,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (820,86,'Yoruba','yo','yo_NG',NULL,0,0,192,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (821,86,'Zhuang, Chuang','za','za_CN',NULL,0,0,193,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (822,86,'Zulu','zu','zu_ZA',NULL,0,0,194,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
- (823,87,'In Person','1','in_person',NULL,0,0,1,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
- (824,87,'Phone','2','phone',NULL,0,1,2,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
- (825,87,'Email','3','email',NULL,0,0,3,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
- (826,87,'Fax','4','fax',NULL,0,0,4,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
- (827,87,'Letter Mail','5','letter_mail',NULL,0,0,5,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
- (828,88,'Cases - Send Copy of an Activity','1','case_activity',NULL,0,0,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (829,89,'Contributions - Duplicate Organization Alert','1','contribution_dupalert',NULL,0,0,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (830,89,'Contributions - Receipt (off-line)','2','contribution_offline_receipt',NULL,0,0,2,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (831,89,'Contributions - Receipt (on-line)','3','contribution_online_receipt',NULL,0,0,3,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (832,89,'Contributions - Invoice','4','contribution_invoice_receipt',NULL,0,0,4,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (833,89,'Contributions - Recurring Start and End Notification','5','contribution_recurring_notify',NULL,0,0,5,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (834,89,'Contributions - Recurring Cancellation Notification','6','contribution_recurring_cancelled',NULL,0,0,6,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (835,89,'Contributions - Recurring Billing Updates','7','contribution_recurring_billing',NULL,0,0,7,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (836,89,'Contributions - Recurring Updates','8','contribution_recurring_edit',NULL,0,0,8,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (837,89,'Personal Campaign Pages - Admin Notification','9','pcp_notify',NULL,0,0,9,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (838,89,'Personal Campaign Pages - Supporter Status Change Notification','10','pcp_status_change',NULL,0,0,10,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (839,89,'Personal Campaign Pages - Supporter Welcome','11','pcp_supporter_notify',NULL,0,0,11,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (840,89,'Personal Campaign Pages - Owner Notification','12','pcp_owner_notify',NULL,0,0,12,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (841,89,'Additional Payment Receipt or Refund Notification','13','payment_or_refund_notification',NULL,0,0,13,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (842,90,'Events - Registration Confirmation and Receipt (off-line)','1','event_offline_receipt',NULL,0,0,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (843,90,'Events - Registration Confirmation and Receipt (on-line)','2','event_online_receipt',NULL,0,0,2,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (844,90,'Events - Receipt only','3','event_registration_receipt',NULL,0,0,3,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (845,90,'Events - Registration Cancellation Notice','4','participant_cancelled',NULL,0,0,4,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (846,90,'Events - Registration Confirmation Invite','5','participant_confirm',NULL,0,0,5,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (847,90,'Events - Pending Registration Expiration Notice','6','participant_expired',NULL,0,0,6,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (848,90,'Events - Registration Transferred Notice','7','participant_transferred',NULL,0,0,7,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (849,91,'Tell-a-Friend Email','1','friend',NULL,0,0,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (850,92,'Memberships - Signup and Renewal Receipts (off-line)','1','membership_offline_receipt',NULL,0,0,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (851,92,'Memberships - Receipt (on-line)','2','membership_online_receipt',NULL,0,0,2,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (852,92,'Memberships - Auto-renew Cancellation Notification','3','membership_autorenew_cancelled',NULL,0,0,3,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (853,92,'Memberships - Auto-renew Billing Updates','4','membership_autorenew_billing',NULL,0,0,4,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (854,93,'Test-drive - Receipt Header','1','test_preview',NULL,0,0,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (855,94,'Pledges - Acknowledgement','1','pledge_acknowledge',NULL,0,0,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (856,94,'Pledges - Payment Reminder','2','pledge_reminder',NULL,0,0,2,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (857,95,'Profiles - Admin Notification','1','uf_notify',NULL,0,0,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (858,96,'Petition - signature added','1','petition_sign',NULL,0,0,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (859,96,'Petition - need verification','2','petition_confirmation_needed',NULL,0,0,2,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (860,97,'In Honor of','1','in_honor_of',NULL,0,0,1,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
- (861,97,'In Memory of','2','in_memory_of',NULL,0,0,2,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
- (862,97,'Solicited','3','solicited',NULL,0,1,3,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
- (863,97,'Household','4','household',NULL,0,0,4,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (864,97,'Workplace Giving','5','workplace',NULL,0,0,5,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (865,97,'Foundation Affiliate','6','foundation_affiliate',NULL,0,0,6,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (866,97,'3rd-party Service','7','3rd-party_service',NULL,0,0,7,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (867,97,'Donor-advised Fund','8','donor-advised_fund',NULL,0,0,8,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (868,97,'Matched Gift','9','matched_gift',NULL,0,0,9,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
- (869,97,'Personal Campaign Page','10','pcp',NULL,0,0,10,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
- (870,97,'Gift','11','gift',NULL,0,0,11,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
- (871,2,'Interview','55','Interview',NULL,0,NULL,55,'Conduct a phone or in person interview.',0,0,1,NULL,NULL,NULL,'fa-comment-o',NULL),
- (872,8,'Advisory Board','3','Advisory Board',NULL,0,0,3,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL);
+ (132,16,'Pledges','13','CiviPledge',NULL,0,NULL,13,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (133,16,'Mailings','14','CiviMail',NULL,0,NULL,14,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (134,17,'Show Smart Groups on Demand','1','showondemand',NULL,0,NULL,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (135,17,'Always Show Smart Groups','2','alwaysshow',NULL,0,NULL,2,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (136,17,'Hide Smart Groups','3','hide',NULL,0,NULL,3,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (137,18,'Custom Data','1','CustomData',NULL,0,NULL,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (138,18,'Address','2','Address',NULL,0,NULL,2,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (139,18,'Communication Preferences','3','CommunicationPreferences',NULL,0,NULL,3,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (140,18,'Notes','4','Notes',NULL,0,NULL,4,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (141,18,'Demographics','5','Demographics',NULL,0,NULL,5,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (142,18,'Tags and Groups','6','TagsAndGroups',NULL,0,NULL,6,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (143,18,'Email','7','Email',NULL,1,NULL,7,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (144,18,'Phone','8','Phone',NULL,1,NULL,8,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (145,18,'Instant Messenger','9','IM',NULL,1,NULL,9,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (146,18,'Open ID','10','OpenID',NULL,1,NULL,10,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (147,18,'Website','11','Website',NULL,1,NULL,11,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (148,18,'Prefix','12','Prefix',NULL,2,NULL,12,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (149,18,'Formal Title','13','Formal Title',NULL,2,NULL,13,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (150,18,'First Name','14','First Name',NULL,2,NULL,14,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (151,18,'Middle Name','15','Middle Name',NULL,2,NULL,15,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (152,18,'Last Name','16','Last Name',NULL,2,NULL,16,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (153,18,'Suffix','17','Suffix',NULL,2,NULL,17,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (154,19,'Address Fields','1','location',NULL,0,NULL,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (155,19,'Custom Fields','2','custom',NULL,0,NULL,2,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (156,19,'Activities','3','activity',NULL,0,NULL,4,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (157,19,'Relationships','4','relationship',NULL,0,NULL,5,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (158,19,'Notes','5','notes',NULL,0,NULL,6,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (159,19,'Change Log','6','changeLog',NULL,0,NULL,7,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (160,19,'Contributions','7','CiviContribute',NULL,0,NULL,8,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (161,19,'Memberships','8','CiviMember',NULL,0,NULL,9,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (162,19,'Events','9','CiviEvent',NULL,0,NULL,10,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (163,19,'Cases','10','CiviCase',NULL,0,NULL,11,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (164,19,'Demographics','13','demographics',NULL,0,NULL,15,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (165,19,'Pledges','15','CiviPledge',NULL,0,NULL,17,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (166,19,'Contact Type','16','contactType',NULL,0,NULL,18,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (167,19,'Groups','17','groups',NULL,0,NULL,19,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (168,19,'Tags','18','tags',NULL,0,NULL,20,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (169,19,'Mailing','19','CiviMail',NULL,0,NULL,21,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (170,20,'Groups','1','Groups',NULL,0,NULL,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (171,20,'Contributions','2','CiviContribute',NULL,0,NULL,2,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (172,20,'Memberships','3','CiviMember',NULL,0,NULL,3,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (173,20,'Events','4','CiviEvent',NULL,0,NULL,4,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (174,20,'My Contacts / Organizations','5','Permissioned Orgs',NULL,0,NULL,5,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (175,20,'Pledges','7','CiviPledge',NULL,0,NULL,7,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (176,20,'Personal Campaign Pages','8','PCP',NULL,0,NULL,8,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (177,20,'Assigned Activities','9','Assigned Activities',NULL,0,NULL,9,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (178,20,'Invoices / Credit Notes','10','Invoices / Credit Notes',NULL,0,NULL,10,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (179,43,'Email Address','2','email',NULL,0,NULL,2,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (180,43,'Phone','3','phone',NULL,0,NULL,3,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (181,43,'Street Address','4','street_address',NULL,0,NULL,4,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (182,43,'City','5','city',NULL,0,NULL,5,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (183,43,'State/Province','6','state_province',NULL,0,NULL,6,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (184,43,'Country','7','country',NULL,0,NULL,7,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (185,43,'Postal Code','8','postal_code',NULL,0,NULL,8,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (186,44,'Email Address','2','email',NULL,0,NULL,2,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (187,44,'Phone','3','phone',NULL,0,NULL,3,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (188,44,'Street Address','4','street_address',NULL,0,NULL,4,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (189,44,'City','5','city',NULL,0,NULL,5,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (190,44,'State/Province','6','state_province',NULL,0,NULL,6,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (191,44,'Country','7','country',NULL,0,NULL,7,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (192,44,'Postal Code','8','postal_code',NULL,0,NULL,8,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (193,21,'Street Address','1','street_address',NULL,0,NULL,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (194,21,'Supplemental Address 1','2','supplemental_address_1',NULL,0,NULL,2,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (195,21,'Supplemental Address 2','3','supplemental_address_2',NULL,0,NULL,3,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (196,21,'Supplemental Address 3','4','supplemental_address_3',NULL,0,NULL,4,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (197,21,'City','5','city',NULL,0,NULL,5,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (198,21,'Postal Code','6','postal_code',NULL,0,NULL,6,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (199,21,'Postal Code Suffix','7','postal_code_suffix',NULL,0,NULL,7,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (200,21,'County','8','county',NULL,0,NULL,8,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (201,21,'State/Province','9','state_province',NULL,0,NULL,9,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (202,21,'Country','10','country',NULL,0,NULL,10,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (203,21,'Latitude','11','geo_code_1',NULL,0,NULL,11,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (204,21,'Longitude','12','geo_code_2',NULL,0,NULL,12,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (205,21,'Address Name','13','address_name',NULL,0,NULL,13,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (206,21,'Street Address Parsing','14','street_address_parsing',NULL,0,NULL,14,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (207,22,'Access Control','1','Access Control',NULL,0,NULL,1,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
+ (208,22,'Mailing List','2','Mailing List',NULL,0,NULL,2,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
+ (209,23,'CRM_Contact_Form_Search_Custom_Sample','1','CRM_Contact_Form_Search_Custom_Sample',NULL,0,NULL,1,'Household Name and State',0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (210,23,'CRM_Contact_Form_Search_Custom_ContributionAggregate','2','CRM_Contact_Form_Search_Custom_ContributionAggregate',NULL,0,NULL,2,'Contribution Aggregate',0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (211,23,'CRM_Contact_Form_Search_Custom_Group','4','CRM_Contact_Form_Search_Custom_Group',NULL,0,NULL,4,'Include / Exclude Search',0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (212,23,'CRM_Contact_Form_Search_Custom_PostalMailing','5','CRM_Contact_Form_Search_Custom_PostalMailing',NULL,0,NULL,5,'Postal Mailing',0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (213,23,'CRM_Contact_Form_Search_Custom_Proximity','6','CRM_Contact_Form_Search_Custom_Proximity',NULL,0,NULL,6,'Proximity Search',0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (214,23,'CRM_Contact_Form_Search_Custom_EventAggregate','7','CRM_Contact_Form_Search_Custom_EventAggregate',NULL,0,NULL,7,'Event Aggregate',0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (215,23,'CRM_Contact_Form_Search_Custom_ActivitySearch','8','CRM_Contact_Form_Search_Custom_ActivitySearch',NULL,0,NULL,8,'Activity Search',0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (216,23,'CRM_Contact_Form_Search_Custom_PriceSet','9','CRM_Contact_Form_Search_Custom_PriceSet',NULL,0,NULL,9,'Price Set Details for Event Participants',0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (217,23,'CRM_Contact_Form_Search_Custom_ZipCodeRange','10','CRM_Contact_Form_Search_Custom_ZipCodeRange',NULL,0,NULL,10,'Zip Code Range',0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (218,23,'CRM_Contact_Form_Search_Custom_DateAdded','11','CRM_Contact_Form_Search_Custom_DateAdded',NULL,0,NULL,11,'Date Added to CiviCRM',0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (219,23,'CRM_Contact_Form_Search_Custom_MultipleValues','12','CRM_Contact_Form_Search_Custom_MultipleValues',NULL,0,NULL,12,'Custom Group Multiple Values Listing',0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (220,23,'CRM_Contact_Form_Search_Custom_ContribSYBNT','13','CRM_Contact_Form_Search_Custom_ContribSYBNT',NULL,0,NULL,13,'Contributions made in Year X and not Year Y',0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (221,23,'CRM_Contact_Form_Search_Custom_TagContributions','14','CRM_Contact_Form_Search_Custom_TagContributions',NULL,0,NULL,14,'Find Contribution Amounts by Tag',0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (222,23,'CRM_Contact_Form_Search_Custom_FullText','15','CRM_Contact_Form_Search_Custom_FullText',NULL,0,NULL,15,'Full-text Search',0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (223,39,'Constituent Report (Summary)','contact/summary','CRM_Report_Form_Contact_Summary',NULL,0,NULL,1,'Provides a list of address and telephone information for constituent records in your system.',0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (224,39,'Constituent Report (Detail)','contact/detail','CRM_Report_Form_Contact_Detail',NULL,0,NULL,2,'Provides contact-related information on contributions, memberships, events and activities.',0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (225,39,'Activity Details Report','activity','CRM_Report_Form_Activity',NULL,0,NULL,3,'Provides a list of constituent activity including activity statistics for one/all contacts during a given date range(required)',0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (226,39,'Walk / Phone List Report','walklist','CRM_Report_Form_Walklist_Walklist',NULL,0,NULL,4,'Provides a detailed report for your walk/phonelist for targeted contacts',0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (227,39,'Current Employer Report','contact/currentEmployer','CRM_Report_Form_Contact_CurrentEmployer',NULL,0,NULL,5,'Provides detail list of employer employee relationships along with employment details Ex Join Date',0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (228,39,'Contribution Summary Report','contribute/summary','CRM_Report_Form_Contribute_Summary',NULL,0,NULL,6,'Groups and totals contributions by criteria including contact, time period, financial type, contributor location, etc.',0,0,1,2,NULL,NULL,NULL,NULL),
+ (229,39,'Contribution Detail Report','contribute/detail','CRM_Report_Form_Contribute_Detail',NULL,0,NULL,7,'Lists specific contributions by criteria including contact, time period, financial type, contributor location, etc. Contribution summary report points to this report for contribution details.',0,0,1,2,NULL,NULL,NULL,NULL),
+ (230,39,'Repeat Contributions Report','contribute/repeat','CRM_Report_Form_Contribute_Repeat',NULL,0,NULL,8,'Given two date ranges, shows contacts who contributed in both the date ranges with the amount contributed in each and the percentage increase / decrease.',0,0,1,2,NULL,NULL,NULL,NULL),
+ (231,39,'Contributions by Organization Report','contribute/organizationSummary','CRM_Report_Form_Contribute_OrganizationSummary',NULL,0,NULL,9,'Displays a detailed list of contributions grouped by organization, which includes contributions made by employees for the organisation.',0,0,1,2,NULL,NULL,NULL,NULL),
+ (232,39,'Contributions by Household Report','contribute/householdSummary','CRM_Report_Form_Contribute_HouseholdSummary',NULL,0,NULL,10,'Displays a detailed list of contributions grouped by household which includes contributions made by members of the household.',0,0,1,2,NULL,NULL,NULL,NULL),
+ (233,39,'Top Donors Report','contribute/topDonor','CRM_Report_Form_Contribute_TopDonor',NULL,0,NULL,11,'Provides a list of the top donors during a time period you define. You can include as many donors as you want (for example, top 100 of your donors).',0,0,1,2,NULL,NULL,NULL,NULL),
+ (234,39,'SYBUNT Report','contribute/sybunt','CRM_Report_Form_Contribute_Sybunt',NULL,0,NULL,12,'SYBUNT means some year(s) but not this year. Provides a list of constituents who donated at some time in the history of your organization but did not donate during the time period you specify.',0,0,1,2,NULL,NULL,NULL,NULL),
+ (235,39,'LYBUNT Report','contribute/lybunt','CRM_Report_Form_Contribute_Lybunt',NULL,0,NULL,13,'LYBUNT means last year but not this year. Provides a list of constituents who donated last year but did not donate during the time period you specify as the current year.',0,0,1,2,NULL,NULL,NULL,NULL),
+ (236,39,'Soft Credit Report','contribute/softcredit','CRM_Report_Form_Contribute_SoftCredit',NULL,0,NULL,14,'Shows contributions made by contacts that have been soft-credited to other contacts.',0,0,1,2,NULL,NULL,NULL,NULL),
+ (237,39,'Membership Report (Summary)','member/summary','CRM_Report_Form_Member_Summary',NULL,0,NULL,15,'Provides a summary of memberships by type and join date.',0,0,1,3,NULL,NULL,NULL,NULL),
+ (238,39,'Membership Report (Detail)','member/detail','CRM_Report_Form_Member_Detail',NULL,0,NULL,16,'Provides a list of members along with their membership status and membership details (Join Date, Start Date, End Date). Can also display contributions (payments) associated with each membership.',0,0,1,3,NULL,NULL,NULL,NULL),
+ (239,39,'Membership Report (Lapsed)','member/lapse','CRM_Report_Form_Member_Lapse',NULL,0,NULL,17,'Provides a list of memberships that lapsed or will lapse before the date you specify.',0,0,1,3,NULL,NULL,NULL,NULL),
+ (240,39,'Event Participant Report (List)','event/participantListing','CRM_Report_Form_Event_ParticipantListing',NULL,0,NULL,18,'Provides lists of participants for an event.',0,0,1,1,NULL,NULL,NULL,NULL),
+ (241,39,'Event Income Report (Summary)','event/summary','CRM_Report_Form_Event_Summary',NULL,0,NULL,19,'Provides an overview of event income. You can include key information such as event ID, registration, attendance, and income generated to help you determine the success of an event.',0,0,1,1,NULL,NULL,NULL,NULL),
+ (242,39,'Event Income Report (Detail)','event/income','CRM_Report_Form_Event_Income',NULL,0,NULL,20,'Helps you to analyze the income generated by an event. The report can include details by participant type, status and payment method.',0,0,1,1,NULL,NULL,NULL,NULL),
+ (243,39,'Pledge Detail Report','pledge/detail','CRM_Report_Form_Pledge_Detail',NULL,0,NULL,21,'List of pledges including amount pledged, pledge status, next payment date, balance due, total amount paid etc.',0,0,1,6,NULL,NULL,NULL,NULL),
+ (244,39,'Pledged but not Paid Report','pledge/pbnp','CRM_Report_Form_Pledge_Pbnp',NULL,0,NULL,22,'Pledged but not Paid Report',0,0,1,6,NULL,NULL,NULL,NULL),
+ (245,39,'Relationship Report','contact/relationship','CRM_Report_Form_Contact_Relationship',NULL,0,NULL,23,'Relationship Report',0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (246,39,'Case Summary Report','case/summary','CRM_Report_Form_Case_Summary',NULL,0,NULL,24,'Provides a summary of cases and their duration by date range, status, staff member and / or case role.',0,0,1,7,NULL,NULL,NULL,NULL),
+ (247,39,'Case Time Spent Report','case/timespent','CRM_Report_Form_Case_TimeSpent',NULL,0,NULL,25,'Aggregates time spent on case and / or non-case activities by activity type and contact.',0,0,1,7,NULL,NULL,NULL,NULL),
+ (248,39,'Contact Demographics Report','case/demographics','CRM_Report_Form_Case_Demographics',NULL,0,NULL,26,'Demographic breakdown for case clients (and or non-case contacts) in your database. Includes custom contact fields.',0,0,1,7,NULL,NULL,NULL,NULL),
+ (249,39,'Database Log Report','contact/log','CRM_Report_Form_Contact_Log',NULL,0,NULL,27,'Log of contact and activity records created or updated in a given date range.',0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (250,39,'Activity Summary Report','activitySummary','CRM_Report_Form_ActivitySummary',NULL,0,NULL,28,'Shows activity statistics by type / date',0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (251,39,'Bookkeeping Transactions Report','contribute/bookkeeping','CRM_Report_Form_Contribute_Bookkeeping',NULL,0,0,29,'Shows Bookkeeping Transactions Report',0,0,1,2,NULL,NULL,NULL,NULL),
+ (252,39,'Participant list Count Report','event/participantlist','CRM_Report_Form_Event_ParticipantListCount',NULL,0,0,31,'Shows the Participant list with Participant Count.',0,0,1,1,NULL,NULL,NULL,NULL),
+ (253,39,'Income Count Summary Report','event/incomesummary','CRM_Report_Form_Event_IncomeCountSummary',NULL,0,0,32,'Shows the Income Summary of events with Count.',0,0,1,1,NULL,NULL,NULL,NULL),
+ (254,39,'Case Detail Report','case/detail','CRM_Report_Form_Case_Detail',NULL,0,0,33,'Case Details',0,0,1,7,NULL,NULL,NULL,NULL),
+ (255,39,'Mail Bounce Report','Mailing/bounce','CRM_Report_Form_Mailing_Bounce',NULL,0,NULL,34,'Bounce Report for mailings',0,0,1,4,NULL,NULL,NULL,NULL),
+ (256,39,'Mail Summary Report','Mailing/summary','CRM_Report_Form_Mailing_Summary',NULL,0,NULL,35,'Summary statistics for mailings',0,0,1,4,NULL,NULL,NULL,NULL),
+ (257,39,'Mail Opened Report','Mailing/opened','CRM_Report_Form_Mailing_Opened',NULL,0,NULL,36,'Display contacts who opened emails from a mailing',0,0,1,4,NULL,NULL,NULL,NULL),
+ (258,39,'Mail Click-Through Report','Mailing/clicks','CRM_Report_Form_Mailing_Clicks',NULL,0,NULL,37,'Display clicks from each mailing',0,0,1,4,NULL,NULL,NULL,NULL),
+ (259,39,'Contact Logging Report (Summary)','logging/contact/summary','CRM_Report_Form_Contact_LoggingSummary',NULL,0,NULL,38,'Contact modification report for the logging infrastructure (summary).',0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (260,39,'Contact Logging Report (Detail)','logging/contact/detail','CRM_Report_Form_Contact_LoggingDetail',NULL,0,NULL,39,'Contact modification report for the logging infrastructure (detail).',0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (261,39,'Survey Report (Detail)','survey/detail','CRM_Report_Form_Campaign_SurveyDetails',NULL,0,NULL,43,'Detailed report for canvassing, phone-banking, walk lists or other surveys.',0,0,1,9,NULL,NULL,NULL,NULL),
+ (262,39,'Personal Campaign Page Report','contribute/pcp','CRM_Report_Form_Contribute_PCP',NULL,0,NULL,44,'Summarizes amount raised and number of contributors for each Personal Campaign Page.',0,0,1,2,NULL,NULL,NULL,NULL),
+ (263,39,'Pledge Summary Report','pledge/summary','CRM_Report_Form_Pledge_Summary',NULL,0,NULL,45,'Groups and totals pledges by criteria including contact, time period, pledge status, location, etc.',0,0,1,6,NULL,NULL,NULL,NULL),
+ (264,39,'Contribution Aggregate by Relationship','contribute/history','CRM_Report_Form_Contribute_History',NULL,0,NULL,46,'List contact\'s donation history, grouped by year, along with contributions attributed to any of the contact\'s related contacts.',0,0,1,2,NULL,NULL,NULL,NULL),
+ (265,39,'Mail Detail Report','mailing/detail','CRM_Report_Form_Mailing_Detail',NULL,0,NULL,47,'Provides reporting on Intended and Successful Deliveries, Unsubscribes and Opt-outs, Replies and Forwards.',0,0,1,4,NULL,NULL,NULL,NULL),
+ (266,39,'Contribution and Membership Details','member/contributionDetail','CRM_Report_Form_Member_ContributionDetail',NULL,0,NULL,48,'Contribution details for any type of contribution, plus associated membership information for contributions which are in payment for memberships.',0,0,1,3,NULL,NULL,NULL,NULL),
+ (267,39,'Recurring Contributions Report','contribute/recur','CRM_Report_Form_Contribute_Recur',NULL,0,NULL,49,'Provides information about the status of recurring contributions',0,0,1,2,NULL,NULL,NULL,NULL),
+ (268,39,'Recurring Contributions Summary','contribute/recursummary','CRM_Report_Form_Contribute_RecurSummary',NULL,0,NULL,49,'Provides simple summary for each payment instrument for which there are recurring contributions (e.g. Credit Card, Standing Order, Direct Debit, etc., NULL), showing within a given date range.',0,0,1,2,NULL,NULL,NULL,NULL),
+ (269,39,'Deferred Revenue Details','contribute/deferredrevenue','CRM_Report_Form_Contribute_DeferredRevenue',NULL,0,NULL,50,'Deferred Revenue Details Report',0,0,1,2,NULL,NULL,NULL,NULL),
+ (270,24,'Scheduled','1','Scheduled',NULL,0,1,1,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
+ (271,24,'Completed','2','Completed',NULL,1,NULL,2,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
+ (272,24,'Cancelled','3','Cancelled',NULL,2,NULL,3,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
+ (273,24,'Left Message','4','Left Message',NULL,0,NULL,4,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (274,24,'Unreachable','5','Unreachable',NULL,2,NULL,5,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (275,24,'Not Required','6','Not Required',NULL,2,NULL,6,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (276,24,'Available','7','Available',NULL,0,NULL,7,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (277,24,'No-show','8','No_show',NULL,2,NULL,8,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (278,26,'Ongoing','1','Open','Opened',0,1,1,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
+ (279,26,'Resolved','2','Closed','Closed',0,NULL,2,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
+ (280,26,'Urgent','3','Urgent','Opened',0,NULL,3,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (281,27,'Name Only','1','Name Only',NULL,0,0,1,'CRM_Event_Page_ParticipantListing_Name',0,1,1,NULL,NULL,NULL,NULL,NULL),
+ (282,27,'Name and Email','2','Name and Email',NULL,0,0,2,'CRM_Event_Page_ParticipantListing_NameAndEmail',0,1,1,NULL,NULL,NULL,NULL,NULL),
+ (283,27,'Name, Status and Register Date','3','Name, Status and Register Date',NULL,0,0,3,'CRM_Event_Page_ParticipantListing_NameStatusAndDate',0,1,1,NULL,NULL,NULL,NULL,NULL),
+ (284,28,'jpg','1','jpg',NULL,0,0,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (285,28,'jpeg','2','jpeg',NULL,0,0,2,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (286,28,'png','3','png',NULL,0,0,3,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (287,28,'gif','4','gif',NULL,0,0,4,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (288,28,'txt','5','txt',NULL,0,0,5,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (289,28,'pdf','6','pdf',NULL,0,0,6,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (290,28,'doc','7','doc',NULL,0,0,7,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (291,28,'xls','8','xls',NULL,0,0,8,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (292,28,'rtf','9','rtf',NULL,0,0,9,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (293,28,'csv','10','csv',NULL,0,0,10,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (294,28,'ppt','11','ppt',NULL,0,0,11,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (295,28,'docx','12','docx',NULL,0,0,12,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (296,28,'xlsx','13','xlsx',NULL,0,0,13,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (297,28,'odt','14','odt',NULL,0,0,14,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (298,28,'ics','15','ics',NULL,0,0,15,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (299,28,'pptx','16','pptx',NULL,0,0,16,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (300,31,'Textarea','1','Textarea',NULL,0,NULL,1,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
+ (301,31,'CKEditor 4','2','CKEditor',NULL,0,NULL,2,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
+ (302,30,'Search Builder','1','Search Builder',NULL,0,0,1,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
+ (303,30,'Import Contact','2','Import Contact',NULL,0,0,2,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
+ (304,30,'Import Activity','3','Import Activity',NULL,0,0,3,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
+ (305,30,'Import Contribution','4','Import Contribution',NULL,0,0,4,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
+ (306,30,'Import Membership','5','Import Membership',NULL,0,0,5,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
+ (307,30,'Import Participant','6','Import Participant',NULL,0,0,6,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
+ (308,30,'Export Contact','7','Export Contact',NULL,0,0,7,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
+ (309,30,'Export Contribution','8','Export Contribution',NULL,0,0,8,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
+ (310,30,'Export Membership','9','Export Membership',NULL,0,0,9,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
+ (311,30,'Export Participant','10','Export Participant',NULL,0,0,10,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
+ (312,30,'Export Pledge','11','Export Pledge',NULL,0,0,11,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
+ (313,30,'Export Case','12','Export Case',NULL,0,0,12,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
+ (314,30,'Export Activity','14','Export Activity',NULL,0,0,14,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
+ (315,32,'day','day','day',NULL,0,NULL,1,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
+ (316,32,'week','week','week',NULL,0,NULL,2,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
+ (317,32,'month','month','month',NULL,0,NULL,3,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
+ (318,32,'year','year','year',NULL,0,NULL,4,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
+ (319,33,'Phone','1','Phone',NULL,0,NULL,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (320,33,'Mobile','2','Mobile',NULL,0,NULL,2,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (321,33,'Fax','3','Fax',NULL,0,NULL,3,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (322,33,'Pager','4','Pager',NULL,0,NULL,4,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (323,33,'Voicemail','5','Voicemail',NULL,0,NULL,5,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (324,34,'Participant Role','1','ParticipantRole',NULL,0,NULL,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (325,34,'Participant Event Name','2','ParticipantEventName',NULL,0,NULL,2,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (326,34,'Participant Event Type','3','ParticipantEventType',NULL,0,NULL,3,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (327,35,'Public','1','public',NULL,0,NULL,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (328,35,'Admin','2','admin',NULL,0,NULL,2,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (329,36,'IMAP','1','IMAP',NULL,0,NULL,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (330,36,'Maildir','2','Maildir',NULL,0,NULL,2,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (331,36,'POP3','3','POP3',NULL,0,NULL,3,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (332,36,'Localdir','4','Localdir',NULL,0,NULL,4,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (333,37,'Urgent','1','Urgent',NULL,0,NULL,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (334,37,'Normal','2','Normal',NULL,0,NULL,2,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (335,37,'Low','3','Low',NULL,0,NULL,3,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (336,38,'Vancouver','city_','city_',NULL,0,NULL,1,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (337,38,'/(19|20)(\\d{2})-(\\d{1,2})-(\\d{1,2})/','date_','date_',NULL,1,NULL,2,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (338,40,'Dear {contact.first_name}','1','Dear {contact.first_name}',NULL,1,1,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (339,40,'Dear {contact.prefix_id:label} {contact.first_name} {contact.last_name}','2','Dear {contact.prefix_id:label} {contact.first_name} {contact.last_name}',NULL,1,0,2,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (340,40,'Dear {contact.prefix_id:label} {contact.last_name}','3','Dear {contact.prefix_id:label} {contact.last_name}',NULL,1,0,3,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (341,40,'Customized','4','Customized',NULL,0,0,4,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
+ (342,40,'Dear {contact.household_name}','5','Dear {contact.household_name}',NULL,2,1,5,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (343,41,'Dear {contact.first_name}','1','Dear {contact.first_name}',NULL,1,1,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (344,41,'Dear {contact.prefix_id:label} {contact.first_name} {contact.last_name}','2','Dear {contact.prefix_id:label} {contact.first_name} {contact.last_name}',NULL,1,0,2,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (345,41,'Dear {contact.prefix_id:label} {contact.last_name}','3','Dear {contact.prefix_id:label} {contact.last_name}',NULL,1,0,3,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (346,41,'Customized','4','Customized',NULL,0,0,4,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
+ (347,41,'Dear {contact.household_name}','5','Dear {contact.household_name}',NULL,2,1,5,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (348,42,'{contact.prefix_id:label}{ }{contact.first_name}{ }{contact.middle_name}{ }{contact.last_name}{ }{contact.suffix_id:label}','1','{contact.prefix_id:label}{ }{contact.first_name}{ }{contact.middle_name}{ }{contact.last_name}{ }{contact.suffix_id:label}',NULL,1,1,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (349,42,'{contact.household_name}','2','{contact.household_name}',NULL,2,1,2,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (350,42,'{contact.organization_name}','3','{contact.organization_name}',NULL,3,1,3,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (351,42,'Customized','4','Customized',NULL,0,0,4,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
+ (352,45,'Work','1','Work',NULL,0,1,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (353,45,'Main','2','Main',NULL,0,NULL,2,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (354,45,'Facebook','3','Facebook',NULL,0,NULL,3,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (355,45,'Instagram','5','Instagram',NULL,0,NULL,5,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (356,45,'LinkedIn','6','LinkedIn',NULL,0,NULL,6,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (357,45,'MySpace','7','MySpace',NULL,0,NULL,7,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (358,45,'Pinterest','8','Pinterest',NULL,0,NULL,8,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (359,45,'SnapChat','9','SnapChat',NULL,0,NULL,9,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (360,45,'Tumblr','10','Tumblr',NULL,0,NULL,10,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (361,45,'Twitter','11','Twitter',NULL,0,NULL,11,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (362,45,'Vine','12','Vine ',NULL,0,NULL,12,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (363,46,'Contacts','civicrm_contact','Contact',NULL,0,NULL,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (364,46,'Activities','civicrm_activity','Activity',NULL,0,NULL,2,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (365,46,'Cases','civicrm_case','Case',NULL,0,NULL,3,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (366,46,'Attachments','civicrm_file','File',NULL,0,NULL,4,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (367,47,'Contacts','civicrm_contact','Contact',NULL,0,NULL,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (368,47,'Relationships','civicrm_relationship','Relationship',NULL,0,NULL,2,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (369,47,'Participants','civicrm_participant','Participant',NULL,0,NULL,3,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (370,47,'Contributions','civicrm_contribution','Contribution',NULL,0,NULL,4,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (371,48,'USD ($)','USD','USD',NULL,0,1,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (372,48,'CAD ($)','CAD','CAD',NULL,0,0,2,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (373,48,'EUR (€)','EUR','EUR',NULL,0,0,3,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (374,48,'GBP (£)','GBP','GBP',NULL,0,0,4,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (375,48,'JPY (Â¥)','JPY','JPY',NULL,0,0,5,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (376,49,'Name Only','1','CRM_Event_Badge_Simple',NULL,0,0,1,'Simple Event Name Badge',0,1,1,NULL,NULL,NULL,NULL,NULL),
+ (377,49,'Name Tent','2','CRM_Event_Badge_NameTent',NULL,0,0,2,'Name Tent',0,1,1,NULL,NULL,NULL,NULL,NULL),
+ (378,49,'With Logo','3','CRM_Event_Badge_Logo',NULL,0,0,3,'You can set your own background image',0,1,1,NULL,NULL,NULL,NULL,NULL),
+ (379,49,'5395 with Logo','4','CRM_Event_Badge_Logo5395',NULL,0,0,4,'Avery 5395 compatible labels with logo (4 up by 2, 59.2mm x 85.7mm)',0,1,1,NULL,NULL,NULL,NULL,NULL),
+ (380,50,'None','0','None',NULL,0,1,1,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
+ (381,50,'Author Only','1','Author Only',NULL,0,0,2,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
+ (382,51,'Direct Mail','1','Direct Mail',NULL,0,NULL,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (383,51,'Referral Program','2','Referral Program',NULL,0,NULL,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (384,51,'Constituent Engagement','3','Constituent Engagement',NULL,0,NULL,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (385,52,'Planned','1','Planned',NULL,0,NULL,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (386,52,'In Progress','2','In Progress',NULL,0,NULL,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (387,52,'Completed','3','Completed',NULL,0,NULL,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (388,52,'Cancelled','4','Cancelled',NULL,0,NULL,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (389,55,'1','1','1',NULL,0,NULL,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (390,55,'2','2','2',NULL,0,NULL,2,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (391,55,'3','3','3',NULL,0,NULL,3,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (392,55,'4','4','4',NULL,0,NULL,4,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (393,55,'5','5','5',NULL,0,NULL,5,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (394,57,'Letter','{\"metric\":\"in\",\"width\":8.5,\"height\":11}','letter',NULL,NULL,1,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (395,57,'Legal','{\"metric\":\"in\",\"width\":8.5,\"height\":14}','legal',NULL,NULL,0,2,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (396,57,'Ledger','{\"metric\":\"in\",\"width\":17,\"height\":11}','ledger',NULL,NULL,0,3,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (397,57,'Tabloid','{\"metric\":\"in\",\"width\":11,\"height\":17}','tabloid',NULL,NULL,0,4,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (398,57,'Executive','{\"metric\":\"in\",\"width\":7.25,\"height\":10.5}','executive',NULL,NULL,0,5,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (399,57,'Folio','{\"metric\":\"in\",\"width\":8.5,\"height\":13}','folio',NULL,NULL,0,6,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (400,57,'Envelope #9','{\"metric\":\"pt\",\"width\":638.93,\"height\":278.93}','envelope-9',NULL,NULL,0,7,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (401,57,'Envelope #10','{\"metric\":\"pt\",\"width\":684,\"height\":297}','envelope-10',NULL,NULL,0,8,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (402,57,'Envelope #11','{\"metric\":\"pt\",\"width\":747,\"height\":324}','envelope-11',NULL,NULL,0,9,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (403,57,'Envelope #12','{\"metric\":\"pt\",\"width\":792,\"height\":342}','envelope-12',NULL,NULL,0,10,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (404,57,'Envelope #14','{\"metric\":\"pt\",\"width\":828,\"height\":360}','envelope-14',NULL,NULL,0,11,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (405,57,'Envelope ISO B4','{\"metric\":\"pt\",\"width\":1000.63,\"height\":708.66}','envelope-b4',NULL,NULL,0,12,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (406,57,'Envelope ISO B5','{\"metric\":\"pt\",\"width\":708.66,\"height\":498.9}','envelope-b5',NULL,NULL,0,13,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (407,57,'Envelope ISO B6','{\"metric\":\"pt\",\"width\":498.9,\"height\":354.33}','envelope-b6',NULL,NULL,0,14,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (408,57,'Envelope ISO C3','{\"metric\":\"pt\",\"width\":1298.27,\"height\":918.42}','envelope-c3',NULL,NULL,0,15,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (409,57,'Envelope ISO C4','{\"metric\":\"pt\",\"width\":918.42,\"height\":649.13}','envelope-c4',NULL,NULL,0,16,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (410,57,'Envelope ISO C5','{\"metric\":\"pt\",\"width\":649.13,\"height\":459.21}','envelope-c5',NULL,NULL,0,17,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (411,57,'Envelope ISO C6','{\"metric\":\"pt\",\"width\":459.21,\"height\":323.15}','envelope-c6',NULL,NULL,0,18,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (412,57,'Envelope ISO DL','{\"metric\":\"pt\",\"width\":623.622,\"height\":311.811}','envelope-dl',NULL,NULL,0,19,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (413,57,'ISO A0','{\"metric\":\"pt\",\"width\":2383.94,\"height\":3370.39}','a0',NULL,NULL,0,20,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (414,57,'ISO A1','{\"metric\":\"pt\",\"width\":1683.78,\"height\":2383.94}','a1',NULL,NULL,0,21,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (415,57,'ISO A2','{\"metric\":\"pt\",\"width\":1190.55,\"height\":1683.78}','a2',NULL,NULL,0,22,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (416,57,'ISO A3','{\"metric\":\"pt\",\"width\":841.89,\"height\":1190.55}','a3',NULL,NULL,0,23,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (417,57,'ISO A4','{\"metric\":\"pt\",\"width\":595.28,\"height\":841.89}','a4',NULL,NULL,0,24,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (418,57,'ISO A5','{\"metric\":\"pt\",\"width\":419.53,\"height\":595.28}','a5',NULL,NULL,0,25,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (419,57,'ISO A6','{\"metric\":\"pt\",\"width\":297.64,\"height\":419.53}','a6',NULL,NULL,0,26,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (420,57,'ISO A7','{\"metric\":\"pt\",\"width\":209.76,\"height\":297.64}','a7',NULL,NULL,0,27,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (421,57,'ISO A8','{\"metric\":\"pt\",\"width\":147.4,\"height\":209.76}','a8',NULL,NULL,0,28,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (422,57,'ISO A9','{\"metric\":\"pt\",\"width\":104.88,\"height\":147.4}','a9',NULL,NULL,0,29,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (423,57,'ISO A10','{\"metric\":\"pt\",\"width\":73.7,\"height\":104.88}','a10',NULL,NULL,0,30,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (424,57,'ISO B0','{\"metric\":\"pt\",\"width\":2834.65,\"height\":4008.19}','b0',NULL,NULL,0,31,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (425,57,'ISO B1','{\"metric\":\"pt\",\"width\":2004.09,\"height\":2834.65}','b1',NULL,NULL,0,32,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (426,57,'ISO B2','{\"metric\":\"pt\",\"width\":1417.32,\"height\":2004.09}','b2',NULL,NULL,0,33,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (427,57,'ISO B3','{\"metric\":\"pt\",\"width\":1000.63,\"height\":1417.32}','b3',NULL,NULL,0,34,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (428,57,'ISO B4','{\"metric\":\"pt\",\"width\":708.66,\"height\":1000.63}','b4',NULL,NULL,0,35,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (429,57,'ISO B5','{\"metric\":\"pt\",\"width\":498.9,\"height\":708.66}','b5',NULL,NULL,0,36,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (430,57,'ISO B6','{\"metric\":\"pt\",\"width\":354.33,\"height\":498.9}','b6',NULL,NULL,0,37,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (431,57,'ISO B7','{\"metric\":\"pt\",\"width\":249.45,\"height\":354.33}','b7',NULL,NULL,0,38,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (432,57,'ISO B8','{\"metric\":\"pt\",\"width\":175.75,\"height\":249.45}','b8',NULL,NULL,0,39,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (433,57,'ISO B9','{\"metric\":\"pt\",\"width\":124.72,\"height\":175.75}','b9',NULL,NULL,0,40,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (434,57,'ISO B10','{\"metric\":\"pt\",\"width\":87.87,\"height\":124.72}','b10',NULL,NULL,0,41,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (435,57,'ISO C0','{\"metric\":\"pt\",\"width\":2599.37,\"height\":3676.54}','c0',NULL,NULL,0,42,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (436,57,'ISO C1','{\"metric\":\"pt\",\"width\":1836.85,\"height\":2599.37}','c1',NULL,NULL,0,43,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (437,57,'ISO C2','{\"metric\":\"pt\",\"width\":1298.27,\"height\":1836.85}','c2',NULL,NULL,0,44,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (438,57,'ISO C3','{\"metric\":\"pt\",\"width\":918.43,\"height\":1298.27}','c3',NULL,NULL,0,45,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (439,57,'ISO C4','{\"metric\":\"pt\",\"width\":649.13,\"height\":918.43}','c4',NULL,NULL,0,46,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (440,57,'ISO C5','{\"metric\":\"pt\",\"width\":459.21,\"height\":649.13}','c5',NULL,NULL,0,47,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (441,57,'ISO C6','{\"metric\":\"pt\",\"width\":323.15,\"height\":459.21}','c6',NULL,NULL,0,48,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (442,57,'ISO C7','{\"metric\":\"pt\",\"width\":229.61,\"height\":323.15}','c7',NULL,NULL,0,49,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (443,57,'ISO C8','{\"metric\":\"pt\",\"width\":161.57,\"height\":229.61}','c8',NULL,NULL,0,50,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (444,57,'ISO C9','{\"metric\":\"pt\",\"width\":113.39,\"height\":161.57}','c9',NULL,NULL,0,51,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (445,57,'ISO C10','{\"metric\":\"pt\",\"width\":79.37,\"height\":113.39}','c10',NULL,NULL,0,52,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (446,57,'ISO RA0','{\"metric\":\"pt\",\"width\":2437.8,\"height\":3458.27}','ra0',NULL,NULL,0,53,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (447,57,'ISO RA1','{\"metric\":\"pt\",\"width\":1729.13,\"height\":2437.8}','ra1',NULL,NULL,0,54,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (448,57,'ISO RA2','{\"metric\":\"pt\",\"width\":1218.9,\"height\":1729.13}','ra2',NULL,NULL,0,55,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (449,57,'ISO RA3','{\"metric\":\"pt\",\"width\":864.57,\"height\":1218.9}','ra3',NULL,NULL,0,56,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (450,57,'ISO RA4','{\"metric\":\"pt\",\"width\":609.45,\"height\":864.57}','ra4',NULL,NULL,0,57,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (451,57,'ISO SRA0','{\"metric\":\"pt\",\"width\":2551.18,\"height\":3628.35}','sra0',NULL,NULL,0,58,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (452,57,'ISO SRA1','{\"metric\":\"pt\",\"width\":1814.17,\"height\":2551.18}','sra1',NULL,NULL,0,59,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (453,57,'ISO SRA2','{\"metric\":\"pt\",\"width\":1275.59,\"height\":1814.17}','sra2',NULL,NULL,0,60,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (454,57,'ISO SRA3','{\"metric\":\"pt\",\"width\":907.09,\"height\":1275.59}','sra3',NULL,NULL,0,61,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (455,57,'ISO SRA4','{\"metric\":\"pt\",\"width\":637.8,\"height\":907.09}','sra4',NULL,NULL,0,62,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (456,60,'Activity Assignees','1','Activity Assignees',NULL,0,NULL,3,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (457,60,'Activity Source','2','Activity Source',NULL,0,NULL,2,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (458,60,'Activity Targets','3','Activity Targets',NULL,0,NULL,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (459,70,'Asset','1','Asset',NULL,0,0,1,'Things you own',0,1,1,2,NULL,NULL,NULL,NULL),
+ (460,70,'Liability','2','Liability',NULL,0,0,2,'Things you owe, like a grant still to be disbursed',0,1,1,2,NULL,NULL,NULL,NULL),
+ (461,70,'Revenue','3','Revenue',NULL,0,1,3,'Income from contributions and sales of tickets and memberships',0,1,1,2,NULL,NULL,NULL,NULL),
+ (462,70,'Cost of Sales','4','Cost of Sales',NULL,0,0,4,'Costs incurred to get revenue, e.g. premiums for donations, dinner for a fundraising dinner ticket',0,1,1,2,NULL,NULL,NULL,NULL),
+ (463,70,'Expenses','5','Expenses',NULL,0,0,5,'Things that are paid for that are consumable, e.g. grants disbursed',0,1,1,2,NULL,NULL,NULL,NULL),
+ (464,61,'Income Account is','1','Income Account is',NULL,0,1,1,'Income Account is',0,1,1,2,NULL,NULL,NULL,NULL),
+ (465,61,'Credit/Contra Revenue Account is','2','Credit/Contra Revenue Account is',NULL,0,0,2,'Credit/Contra Revenue Account is',0,1,1,2,NULL,NULL,NULL,NULL),
+ (466,61,'Accounts Receivable Account is','3','Accounts Receivable Account is',NULL,0,0,3,'Accounts Receivable Account is',0,1,1,2,NULL,NULL,NULL,NULL),
+ (467,61,'Credit Liability Account is','4','Credit Liability Account is',NULL,0,0,4,'Credit Liability Account is',0,1,0,2,NULL,NULL,NULL,NULL),
+ (468,61,'Expense Account is','5','Expense Account is',NULL,0,0,5,'Expense Account is',0,1,1,2,NULL,NULL,NULL,NULL),
+ (469,61,'Asset Account is','6','Asset Account is',NULL,0,0,6,'Asset Account is',0,1,1,2,NULL,NULL,NULL,NULL),
+ (470,61,'Cost of Sales Account is','7','Cost of Sales Account is',NULL,0,0,7,'Cost of Sales Account is',0,1,1,2,NULL,NULL,NULL,NULL),
+ (471,61,'Premiums Inventory Account is','8','Premiums Inventory Account is',NULL,0,0,8,'Premiums Inventory Account is',0,1,1,2,NULL,NULL,NULL,NULL),
+ (472,61,'Discounts Account is','9','Discounts Account is',NULL,0,0,9,'Discounts Account is',0,1,1,2,NULL,NULL,NULL,NULL),
+ (473,61,'Sales Tax Account is','10','Sales Tax Account is',NULL,0,0,10,'Sales Tax Account is',0,1,1,2,NULL,NULL,NULL,NULL),
+ (474,61,'Chargeback Account is','11','Chargeback Account is',NULL,0,0,11,'Chargeback Account is',0,1,1,2,NULL,NULL,NULL,NULL),
+ (475,61,'Deferred Revenue Account is','12','Deferred Revenue Account is',NULL,0,0,12,'Deferred Revenue Account is',0,1,1,2,NULL,NULL,NULL,NULL),
+ (476,62,'Participant Role','1','participant_role',NULL,0,NULL,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (477,63,'Morning Sessions','1','Morning Sessions',NULL,0,NULL,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (478,63,'Evening Sessions','2','Evening Sessions',NULL,0,NULL,2,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (479,64,'Contribution','1','Contribution',NULL,0,NULL,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (480,64,'Membership','2','Membership',NULL,0,NULL,2,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (481,64,'Pledge Payment','3','Pledge Payment',NULL,0,NULL,3,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (482,66,'Open','1','Open',NULL,0,NULL,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (483,66,'Closed','2','Closed',NULL,0,NULL,2,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (484,66,'Data Entry','3','Data Entry',NULL,0,NULL,3,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (485,66,'Reopened','4','Reopened',NULL,0,NULL,4,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (486,66,'Exported','5','Exported',NULL,0,NULL,5,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (487,65,'Manual Batch','1','Manual Batch',NULL,0,0,1,'Manual Batch',0,1,1,2,NULL,NULL,NULL,NULL),
+ (488,65,'Automatic Batch','2','Automatic Batch',NULL,0,0,2,'Automatic Batch',0,1,1,2,NULL,NULL,NULL,NULL),
+ (489,71,'Paid','1','Paid',NULL,0,0,1,'Paid',0,1,1,2,NULL,NULL,NULL,NULL),
+ (490,71,'Partially paid','2','Partially paid',NULL,0,0,2,'Partially paid',0,1,1,2,NULL,NULL,NULL,NULL),
+ (491,71,'Unpaid','3','Unpaid',NULL,0,0,1,'Unpaid',0,1,1,2,NULL,NULL,NULL,NULL),
+ (492,67,'http','1','http',NULL,NULL,0,1,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
+ (493,67,'xml','2','xml',NULL,NULL,0,2,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
+ (494,67,'smtp','3','smtp',NULL,NULL,0,3,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
+ (495,69,'Renewal Reminder (non-auto-renew memberships only)','1','Renewal Reminder (non-auto-renew memberships only)',NULL,0,NULL,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (496,69,'Auto-renew Memberships Only','2','Auto-renew Memberships Only',NULL,0,NULL,2,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (497,69,'Reminder for Both','3','Reminder for Both',NULL,0,NULL,3,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (498,72,'Event Badge','1','Event Badge',NULL,0,NULL,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (499,73,'Avery 5395','{\"name\":\"Avery 5395\",\"paper-size\":\"a4\",\"metric\":\"mm\",\"lMargin\":15,\"tMargin\":26,\"NX\":2,\"NY\":4,\"SpaceX\":10,\"SpaceY\":5,\"width\":83,\"height\":57,\"font-size\":12,\"orientation\":\"portrait\",\"font-name\":\"helvetica\",\"font-style\":\"\",\"lPadding\":3,\"tPadding\":3}','Avery 5395',NULL,0,NULL,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (500,73,'A6 Badge Portrait 150x106','{\"paper-size\":\"a4\",\"orientation\":\"landscape\",\"font-name\":\"times\",\"font-size\":6,\"font-style\":\"\",\"NX\":2,\"NY\":1,\"metric\":\"mm\",\"lMargin\":25,\"tMargin\":27,\"SpaceX\":0,\"SpaceY\":35,\"width\":106,\"height\":150,\"lPadding\":5,\"tPadding\":5}','A6 Badge Portrait 150x106',NULL,0,NULL,2,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (501,73,'Fattorini Name Badge 100x65','{\"paper-size\":\"a4\",\"orientation\":\"portrait\",\"font-name\":\"times\",\"font-size\":6,\"font-style\":\"\",\"NX\":2,\"NY\":4,\"metric\":\"mm\",\"lMargin\":6,\"tMargin\":19,\"SpaceX\":0,\"SpaceY\":0,\"width\":100,\"height\":65,\"lPadding\":0,\"tPadding\":0}','Fattorini Name Badge 100x65',NULL,0,NULL,3,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (502,73,'Hanging Badge 3-3/4\" x 4-3\"/4','{\"paper-size\":\"a4\",\"orientation\":\"portrait\",\"font-name\":\"times\",\"font-size\":6,\"font-style\":\"\",\"NX\":2,\"NY\":2,\"metric\":\"mm\",\"lMargin\":10,\"tMargin\":28,\"SpaceX\":0,\"SpaceY\":0,\"width\":96,\"height\":121,\"lPadding\":5,\"tPadding\":5}','Hanging Badge 3-3/4\" x 4-3\"/4',NULL,0,NULL,4,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (503,59,'Avery 3475','{\"paper-size\":\"a4\",\"orientation\":\"portrait\",\"font-name\":\"dejavusans\",\"font-size\":10,\"font-style\":\"\",\"metric\":\"mm\",\"lMargin\":0,\"tMargin\":5,\"NX\":3,\"NY\":8,\"SpaceX\":0,\"SpaceY\":0,\"width\":70,\"height\":36,\"lPadding\":5.08,\"tPadding\":5.08}','3475','Avery',NULL,0,1,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
+ (504,59,'Avery 5160','{\"paper-size\":\"letter\",\"orientation\":\"portrait\",\"font-name\":\"dejavusans\",\"font-size\":8,\"font-style\":\"\",\"metric\":\"in\",\"lMargin\":0.21975,\"tMargin\":0.5,\"NX\":3,\"NY\":10,\"SpaceX\":0.14,\"SpaceY\":0,\"width\":2.5935,\"height\":1,\"lPadding\":0.20,\"tPadding\":0.20}','5160','Avery',NULL,0,2,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
+ (505,59,'Avery 5161','{\"paper-size\":\"letter\",\"orientation\":\"portrait\",\"font-name\":\"dejavusans\",\"font-size\":8,\"font-style\":\"\",\"metric\":\"in\",\"lMargin\":0.175,\"tMargin\":0.5,\"NX\":2,\"NY\":10,\"SpaceX\":0.15625,\"SpaceY\":0,\"width\":4,\"height\":1,\"lPadding\":0.20,\"tPadding\":0.20}','5161','Avery',NULL,0,3,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
+ (506,59,'Avery 5162','{\"paper-size\":\"letter\",\"orientation\":\"portrait\",\"font-name\":\"dejavusans\",\"font-size\":8,\"font-style\":\"\",\"metric\":\"in\",\"lMargin\":0.1525,\"tMargin\":0.88,\"NX\":2,\"NY\":7,\"SpaceX\":0.195,\"SpaceY\":0,\"width\":4,\"height\":1.33,\"lPadding\":0.20,\"tPadding\":0.20}','5162','Avery',NULL,0,4,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
+ (507,59,'Avery 5163','{\"paper-size\":\"letter\",\"orientation\":\"portrait\",\"font-name\":\"dejavusans\",\"font-size\":8,\"font-style\":\"\",\"metric\":\"in\",\"lMargin\":0.18,\"tMargin\":0.5,\"NX\":2,\"NY\":5,\"SpaceX\":0.14,\"SpaceY\":0,\"width\":4,\"height\":2,\"lPadding\":0.20,\"tPadding\":0.20}','5163','Avery',NULL,0,5,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
+ (508,59,'Avery 5164','{\"paper-size\":\"letter\",\"orientation\":\"portrait\",\"font-name\":\"dejavusans\",\"font-size\":12,\"font-style\":\"\",\"metric\":\"in\",\"lMargin\":0.156,\"tMargin\":0.5,\"NX\":2,\"NY\":3,\"SpaceX\":0.1875,\"SpaceY\":0,\"width\":4,\"height\":3.33,\"lPadding\":0.20,\"tPadding\":0.20}','5164','Avery',NULL,0,6,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
+ (509,59,'Avery 8600','{\"paper-size\":\"letter\",\"orientation\":\"portrait\",\"font-name\":\"dejavusans\",\"font-size\":8,\"font-style\":\"\",\"metric\":\"mm\",\"lMargin\":7.1,\"tMargin\":19,\"NX\":3,\"NY\":10,\"SpaceX\":9.5,\"SpaceY\":3.1,\"width\":66.6,\"height\":25.4,\"lPadding\":5.08,\"tPadding\":5.08}','8600','Avery',NULL,0,7,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
+ (510,59,'Avery L7160','{\"paper-size\":\"a4\",\"orientation\":\"portrait\",\"font-name\":\"dejavusans\",\"font-size\":9,\"font-style\":\"\",\"metric\":\"in\",\"lMargin\":0.28,\"tMargin\":0.6,\"NX\":3,\"NY\":7,\"SpaceX\":0.1,\"SpaceY\":0,\"width\":2.5,\"height\":1.5,\"lPadding\":0.20,\"tPadding\":0.20}','L7160','Avery',NULL,0,8,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
+ (511,59,'Avery L7161','{\"paper-size\":\"a4\",\"orientation\":\"portrait\",\"font-name\":\"dejavusans\",\"font-size\":9,\"font-style\":\"\",\"metric\":\"in\",\"lMargin\":0.28,\"tMargin\":0.35,\"NX\":3,\"NY\":6,\"SpaceX\":0.1,\"SpaceY\":0,\"width\":2.5,\"height\":1.83,\"lPadding\":0.20,\"tPadding\":0.20}','L7161','Avery',NULL,0,9,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
+ (512,59,'Avery L7162','{\"paper-size\":\"a4\",\"orientation\":\"portrait\",\"font-name\":\"dejavusans\",\"font-size\":9,\"font-style\":\"\",\"metric\":\"in\",\"lMargin\":0.18,\"tMargin\":0.51,\"NX\":2,\"NY\":8,\"SpaceX\":0.1,\"SpaceY\":0,\"width\":3.9,\"height\":1.33,\"lPadding\":0.20,\"tPadding\":0.20}','L7162','Avery',NULL,0,10,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
+ (513,59,'Avery L7163','{\"paper-size\":\"a4\",\"orientation\":\"portrait\",\"font-name\":\"dejavusans\",\"font-size\":9,\"font-style\":\"\",\"metric\":\"in\",\"lMargin\":0.18,\"tMargin\":0.6,\"NX\":2,\"NY\":7,\"SpaceX\":0.1,\"SpaceY\":0,\"width\":3.9,\"height\":1.5,\"lPadding\":0.20,\"tPadding\":0.20}','L7163','Avery',NULL,0,11,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
+ (514,74,'Formal','1','formal',NULL,0,1,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (515,74,'Familiar','2','familiar',NULL,0,0,2,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (516,75,'Email','Email','Email',NULL,0,1,1,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
+ (517,75,'SMS','SMS','SMS',NULL,0,0,2,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
+ (518,75,'User Preference','User_Preference','User Preference',NULL,0,0,3,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
+ (519,76,'Actual date only','1','Actual date only',NULL,NULL,0,1,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
+ (520,76,'Each anniversary','2','Each anniversary',NULL,NULL,0,2,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
+ (521,77,'Default','1','default',NULL,NULL,1,1,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
+ (522,77,'CiviMail','2','civimail',NULL,NULL,0,2,NULL,0,1,1,4,NULL,NULL,NULL,NULL),
+ (523,77,'CiviEvent','3','civievent',NULL,NULL,0,3,NULL,0,1,1,1,NULL,NULL,NULL,NULL),
+ (524,81,'Production','Production','Production',NULL,NULL,1,1,'Production Environment',0,1,1,NULL,NULL,NULL,NULL,NULL),
+ (525,81,'Staging','Staging','Staging',NULL,NULL,0,2,'Staging Environment',0,1,1,NULL,NULL,NULL,NULL,NULL),
+ (526,81,'Development','Development','Development',NULL,NULL,0,3,'Development Environment',0,1,1,NULL,NULL,NULL,NULL,NULL),
+ (527,78,'Today','this.day','this.day',NULL,NULL,NULL,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (528,78,'This week','this.week','this.week',NULL,NULL,NULL,2,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (529,78,'This calendar month','this.month','this.month',NULL,NULL,NULL,3,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (530,78,'This quarter','this.quarter','this.quarter',NULL,NULL,NULL,4,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (531,78,'This fiscal year','this.fiscal_year','this.fiscal_year',NULL,NULL,NULL,5,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (532,78,'This calendar year','this.year','this.year',NULL,NULL,NULL,6,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (533,78,'Yesterday','previous.day','previous.day',NULL,NULL,NULL,7,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (534,78,'Previous week','previous.week','previous.week',NULL,NULL,NULL,8,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (535,78,'Previous calendar month','previous.month','previous.month',NULL,NULL,NULL,9,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (536,78,'Previous quarter','previous.quarter','previous.quarter',NULL,NULL,NULL,10,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (537,78,'Previous fiscal year','previous.fiscal_year','previous.fiscal_year',NULL,NULL,NULL,11,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (538,78,'Previous calendar year','previous.year','previous.year',NULL,NULL,NULL,12,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (539,78,'Last 7 days including today','ending.week','ending.week',NULL,NULL,NULL,13,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (540,78,'Last 30 days including today','ending_30.day','ending.month',NULL,NULL,NULL,14,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (541,78,'Last 60 days including today','ending_60.day','ending_2.month',NULL,NULL,NULL,15,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (542,78,'Last 90 days including today','ending_90.day','ending.quarter',NULL,NULL,NULL,16,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (543,78,'Last 12 months including today','ending.year','ending.year',NULL,NULL,NULL,17,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (544,78,'Last 2 years including today','ending_2.year','ending_2.year',NULL,NULL,NULL,18,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (545,78,'Last 3 years including today','ending_3.year','ending_3.year',NULL,NULL,NULL,19,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (546,78,'Tomorrow','starting.day','starting.day',NULL,NULL,NULL,20,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (547,78,'Next week','next.week','next.week',NULL,NULL,NULL,21,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (548,78,'Next calendar month','next.month','next.month',NULL,NULL,NULL,22,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (549,78,'Next quarter','next.quarter','next.quarter',NULL,NULL,NULL,23,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (550,78,'Next fiscal year','next.fiscal_year','next.fiscal_year',NULL,NULL,NULL,24,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (551,78,'Next calendar year','next.year','next.year',NULL,NULL,NULL,25,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (552,78,'Next 7 days including today','starting.week','starting.week',NULL,NULL,NULL,26,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (553,78,'Next 30 days including today','starting.month','starting.month',NULL,NULL,NULL,27,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (554,78,'Next 60 days including today','starting_2.month','starting_2.month',NULL,NULL,NULL,28,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (555,78,'Next 90 days including today','starting.quarter','starting.quarter',NULL,NULL,NULL,29,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (556,78,'Next 12 months including today','starting.year','starting.year',NULL,NULL,NULL,30,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (557,78,'Current week to-date','current.week','current.week',NULL,NULL,NULL,31,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (558,78,'Current calendar month to-date','current.month','current.month',NULL,NULL,NULL,32,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (559,78,'Current quarter to-date','current.quarter','current.quarter',NULL,NULL,NULL,33,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (560,78,'Current calendar year to-date','current.year','current.year',NULL,NULL,NULL,34,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (561,78,'To end of yesterday','earlier.day','earlier.day',NULL,NULL,NULL,35,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (562,78,'To end of previous week','earlier.week','earlier.week',NULL,NULL,NULL,36,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (563,78,'To end of previous calendar month','earlier.month','earlier.month',NULL,NULL,NULL,37,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (564,78,'To end of previous quarter','earlier.quarter','earlier.quarter',NULL,NULL,NULL,38,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (565,78,'To end of previous calendar year','earlier.year','earlier.year',NULL,NULL,NULL,39,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (566,78,'From start of current day','greater.day','greater.day',NULL,NULL,NULL,40,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (567,78,'From start of current week','greater.week','greater.week',NULL,NULL,NULL,41,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (568,78,'From start of current calendar month','greater.month','greater.month',NULL,NULL,NULL,42,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (569,78,'From start of current quarter','greater.quarter','greater.quarter',NULL,NULL,NULL,43,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (570,78,'From start of current calendar year','greater.year','greater.year',NULL,NULL,NULL,44,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (571,78,'To end of current week','less.week','less.week',NULL,NULL,NULL,45,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (572,78,'To end of current calendar month','less.month','less.month',NULL,NULL,NULL,46,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (573,78,'To end of current quarter','less.quarter','less.quarter',NULL,NULL,NULL,47,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (574,78,'To end of current calendar year','less.year','less.year',NULL,NULL,NULL,48,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (575,78,'Previous 2 days','previous_2.day','previous_2.day',NULL,NULL,NULL,49,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (576,78,'Previous 2 weeks','previous_2.week','previous_2.week',NULL,NULL,NULL,50,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (577,78,'Previous 2 calendar months','previous_2.month','previous_2.month',NULL,NULL,NULL,51,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (578,78,'Previous 2 quarters','previous_2.quarter','previous_2.quarter',NULL,NULL,NULL,52,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (579,78,'Previous 2 calendar years','previous_2.year','previous_2.year',NULL,NULL,NULL,53,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (580,78,'Day prior to yesterday','previous_before.day','previous_before.day',NULL,NULL,NULL,54,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (581,78,'Week prior to previous week','previous_before.week','previous_before.week',NULL,NULL,NULL,55,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (582,78,'Month prior to previous calendar month','previous_before.month','previous_before.month',NULL,NULL,NULL,56,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (583,78,'Quarter prior to previous quarter','previous_before.quarter','previous_before.quarter',NULL,NULL,NULL,57,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (584,78,'Year prior to previous calendar year','previous_before.year','previous_before.year',NULL,NULL,NULL,58,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (585,78,'From end of previous week','greater_previous.week','greater_previous.week',NULL,NULL,NULL,59,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (586,78,'From end of previous calendar month','greater_previous.month','greater_previous.month',NULL,NULL,NULL,60,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (587,78,'From end of previous quarter','greater_previous.quarter','greater_previous.quarter',NULL,NULL,NULL,61,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (588,78,'From end of previous calendar year','greater_previous.year','greater_previous.year',NULL,NULL,NULL,62,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (589,79,'Completed','1','Completed',NULL,0,NULL,1,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
+ (590,79,'Pending','2','Pending',NULL,0,NULL,2,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
+ (591,79,'Cancelled','3','Cancelled',NULL,0,NULL,3,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
+ (592,79,'In Progress','5','In Progress',NULL,0,NULL,4,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
+ (593,79,'Overdue','6','Overdue',NULL,0,NULL,5,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
+ (594,80,'Completed','1','Completed',NULL,0,NULL,1,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
+ (595,80,'Pending','2','Pending',NULL,0,NULL,2,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
+ (596,80,'Cancelled','3','Cancelled',NULL,0,NULL,3,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
+ (597,80,'Failed','4','Failed',NULL,0,NULL,4,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
+ (598,80,'In Progress','5','In Progress',NULL,0,NULL,5,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
+ (599,80,'Overdue','6','Overdue',NULL,0,NULL,6,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
+ (600,80,'Processing','7','Processing',NULL,0,NULL,7,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
+ (601,80,'Failing','8','Failing',NULL,0,NULL,8,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
+ (602,82,'None','1','NONE',NULL,0,1,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (603,82,'By relationship to case client','2','BY_RELATIONSHIP',NULL,0,0,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (604,82,'Specific contact','3','SPECIFIC_CONTACT',NULL,0,0,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (605,82,'User creating the case','4','USER_CREATING_THE_CASE',NULL,0,0,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (606,83,'Financial Transactions','civicrm_financial_trxn','civicrm_financial_trxn',NULL,0,1,1,NULL,0,0,1,2,NULL,NULL,NULL,NULL),
+ (607,29,'\"FIXME\" <info@EXAMPLE.ORG>','1','\"FIXME\" <info@EXAMPLE.ORG>',NULL,0,1,1,'Default domain email address and from name.',0,0,1,NULL,1,NULL,NULL,NULL),
+ (608,54,'Approved','1','Approved',NULL,0,1,1,NULL,0,1,1,4,1,NULL,NULL,NULL),
+ (609,54,'Rejected','2','Rejected',NULL,0,0,2,NULL,0,1,1,4,1,NULL,NULL,NULL),
+ (610,54,'None','3','None',NULL,0,0,3,NULL,0,1,1,4,1,NULL,NULL,NULL),
+ (611,56,'Survey','Survey','civicrm_survey',NULL,0,NULL,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (612,56,'Cases','Case','civicrm_case',NULL,0,NULL,2,'CRM_Case_PseudoConstant::caseType;',0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (613,84,'Abkhaz','ab','ab_GE',NULL,0,0,1,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (614,84,'Afar','aa','aa_ET',NULL,0,0,2,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (615,84,'Afrikaans','af','af_ZA',NULL,0,0,3,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (616,84,'Akan','ak','ak_GH',NULL,0,0,4,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (617,84,'Albanian','sq','sq_AL',NULL,0,0,5,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (618,84,'Amharic','am','am_ET',NULL,0,0,6,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (619,84,'Arabic','ar','ar_EG',NULL,0,0,7,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (620,84,'Aragonese','an','an_ES',NULL,0,0,8,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (621,84,'Armenian','hy','hy_AM',NULL,0,0,9,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (622,84,'Assamese','as','as_IN',NULL,0,0,10,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (623,84,'Avaric','av','av_RU',NULL,0,0,11,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (624,84,'Avestan','ae','ae_XX',NULL,0,0,12,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (625,84,'Aymara','ay','ay_BO',NULL,0,0,13,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (626,84,'Azerbaijani','az','az_AZ',NULL,0,0,14,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (627,84,'Bambara','bm','bm_ML',NULL,0,0,15,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (628,84,'Bashkir','ba','ba_RU',NULL,0,0,16,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (629,84,'Basque','eu','eu_ES',NULL,0,0,17,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (630,84,'Belarusian','be','be_BY',NULL,0,0,18,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (631,84,'Bengali','bn','bn_BD',NULL,0,0,19,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (632,84,'Bihari','bh','bh_IN',NULL,0,0,20,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (633,84,'Bislama','bi','bi_VU',NULL,0,0,21,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (634,84,'Bosnian','bs','bs_BA',NULL,0,0,22,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (635,84,'Breton','br','br_FR',NULL,0,0,23,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (636,84,'Bulgarian','bg','bg_BG',NULL,0,0,24,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (637,84,'Burmese','my','my_MM',NULL,0,0,25,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (638,84,'Catalan; Valencian','ca','ca_ES',NULL,0,0,26,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (639,84,'Chamorro','ch','ch_GU',NULL,0,0,27,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (640,84,'Chechen','ce','ce_RU',NULL,0,0,28,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (641,84,'Chichewa; Chewa; Nyanja','ny','ny_MW',NULL,0,0,29,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (642,84,'Chinese (China)','zh','zh_CN',NULL,0,0,30,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (643,84,'Chinese (Taiwan)','zh','zh_TW',NULL,0,0,31,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (644,84,'Chuvash','cv','cv_RU',NULL,0,0,32,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (645,84,'Cornish','kw','kw_GB',NULL,0,0,33,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (646,84,'Corsican','co','co_FR',NULL,0,0,34,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (647,84,'Cree','cr','cr_CA',NULL,0,0,35,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (648,84,'Croatian','hr','hr_HR',NULL,0,0,36,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (649,84,'Czech','cs','cs_CZ',NULL,0,0,37,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (650,84,'Danish','da','da_DK',NULL,0,0,38,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (651,84,'Divehi; Dhivehi; Maldivian;','dv','dv_MV',NULL,0,0,39,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (652,84,'Dutch (Netherlands)','nl','nl_NL',NULL,0,0,40,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (653,84,'Dutch (Belgium)','nl','nl_BE',NULL,0,0,41,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (654,84,'Dzongkha','dz','dz_BT',NULL,0,0,42,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (655,84,'English (Australia)','en','en_AU',NULL,0,0,43,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (656,84,'English (Canada)','en','en_CA',NULL,0,0,44,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (657,84,'English (United Kingdom)','en','en_GB',NULL,0,0,45,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (658,84,'English (United States)','en','en_US',NULL,0,1,46,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (659,84,'Esperanto','eo','eo_XX',NULL,0,0,47,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (660,84,'Estonian','et','et_EE',NULL,0,0,48,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (661,84,'Ewe','ee','ee_GH',NULL,0,0,49,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (662,84,'Faroese','fo','fo_FO',NULL,0,0,50,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (663,84,'Fijian','fj','fj_FJ',NULL,0,0,51,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (664,84,'Finnish','fi','fi_FI',NULL,0,0,52,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (665,84,'French (Canada)','fr','fr_CA',NULL,0,0,53,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (666,84,'French (France)','fr','fr_FR',NULL,0,0,54,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (667,84,'Fula; Fulah; Pulaar; Pular','ff','ff_SN',NULL,0,0,55,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (668,84,'Galician','gl','gl_ES',NULL,0,0,56,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (669,84,'Georgian','ka','ka_GE',NULL,0,0,57,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (670,84,'German','de','de_DE',NULL,0,0,58,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (671,84,'German (Swiss)','de','de_CH',NULL,0,0,59,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (672,84,'Greek, Modern','el','el_GR',NULL,0,0,60,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (673,84,'Guarani­','gn','gn_PY',NULL,0,0,61,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (674,84,'Gujarati','gu','gu_IN',NULL,0,0,62,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (675,84,'Haitian; Haitian Creole','ht','ht_HT',NULL,0,0,63,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (676,84,'Hausa','ha','ha_NG',NULL,0,0,64,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (677,84,'Hebrew (modern)','he','he_IL',NULL,0,0,65,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (678,84,'Herero','hz','hz_NA',NULL,0,0,66,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (679,84,'Hindi','hi','hi_IN',NULL,0,0,67,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (680,84,'Hiri Motu','ho','ho_PG',NULL,0,0,68,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (681,84,'Hungarian','hu','hu_HU',NULL,0,0,69,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (682,84,'Interlingua','ia','ia_XX',NULL,0,0,70,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (683,84,'Indonesian','id','id_ID',NULL,0,0,71,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (684,84,'Interlingue','ie','ie_XX',NULL,0,0,72,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (685,84,'Irish','ga','ga_IE',NULL,0,0,73,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (686,84,'Igbo','ig','ig_NG',NULL,0,0,74,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (687,84,'Inupiaq','ik','ik_US',NULL,0,0,75,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (688,84,'Ido','io','io_XX',NULL,0,0,76,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (689,84,'Icelandic','is','is_IS',NULL,0,0,77,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (690,84,'Italian','it','it_IT',NULL,0,0,78,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (691,84,'Inuktitut','iu','iu_CA',NULL,0,0,79,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (692,84,'Japanese','ja','ja_JP',NULL,0,0,80,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (693,84,'Javanese','jv','jv_ID',NULL,0,0,81,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (694,84,'Kalaallisut, Greenlandic','kl','kl_GL',NULL,0,0,82,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (695,84,'Kannada','kn','kn_IN',NULL,0,0,83,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (696,84,'Kanuri','kr','kr_NE',NULL,0,0,84,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (697,84,'Kashmiri','ks','ks_IN',NULL,0,0,85,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (698,84,'Kazakh','kk','kk_KZ',NULL,0,0,86,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (699,84,'Khmer','km','km_KH',NULL,0,0,87,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (700,84,'Kikuyu, Gikuyu','ki','ki_KE',NULL,0,0,88,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (701,84,'Kinyarwanda','rw','rw_RW',NULL,0,0,89,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (702,84,'Kirghiz, Kyrgyz','ky','ky_KG',NULL,0,0,90,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (703,84,'Komi','kv','kv_RU',NULL,0,0,91,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (704,84,'Kongo','kg','kg_CD',NULL,0,0,92,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (705,84,'Korean','ko','ko_KR',NULL,0,0,93,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (706,84,'Kurdish','ku','ku_IQ',NULL,0,0,94,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (707,84,'Kwanyama, Kuanyama','kj','kj_NA',NULL,0,0,95,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (708,84,'Latin','la','la_VA',NULL,0,0,96,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (709,84,'Luxembourgish, Letzeburgesch','lb','lb_LU',NULL,0,0,97,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (710,84,'Luganda','lg','lg_UG',NULL,0,0,98,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (711,84,'Limburgish, Limburgan, Limburger','li','li_NL',NULL,0,0,99,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (712,84,'Lingala','ln','ln_CD',NULL,0,0,100,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (713,84,'Lao','lo','lo_LA',NULL,0,0,101,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (714,84,'Lithuanian','lt','lt_LT',NULL,0,0,102,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (715,84,'Luba-Katanga','lu','lu_CD',NULL,0,0,103,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (716,84,'Latvian','lv','lv_LV',NULL,0,0,104,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (717,84,'Manx','gv','gv_IM',NULL,0,0,105,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (718,84,'Macedonian','mk','mk_MK',NULL,0,0,106,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (719,84,'Malagasy','mg','mg_MG',NULL,0,0,107,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (720,84,'Malay','ms','ms_MY',NULL,0,0,108,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (721,84,'Malayalam','ml','ml_IN',NULL,0,0,109,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (722,84,'Maltese','mt','mt_MT',NULL,0,0,110,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (723,84,'Māori','mi','mi_NZ',NULL,0,0,111,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (724,84,'Marathi','mr','mr_IN',NULL,0,0,112,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (725,84,'Marshallese','mh','mh_MH',NULL,0,0,113,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (726,84,'Mongolian','mn','mn_MN',NULL,0,0,114,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (727,84,'Nauru','na','na_NR',NULL,0,0,115,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (728,84,'Navajo, Navaho','nv','nv_US',NULL,0,0,116,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (729,84,'Norwegian Bokmål','nb','nb_NO',NULL,0,0,117,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (730,84,'North Ndebele','nd','nd_ZW',NULL,0,0,118,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (731,84,'Nepali','ne','ne_NP',NULL,0,0,119,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (732,84,'Ndonga','ng','ng_NA',NULL,0,0,120,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (733,84,'Norwegian Nynorsk','nn','nn_NO',NULL,0,0,121,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (734,84,'Norwegian','no','no_NO',NULL,0,0,122,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (735,84,'Nuosu','ii','ii_CN',NULL,0,0,123,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (736,84,'South Ndebele','nr','nr_ZA',NULL,0,0,124,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (737,84,'Occitan (after 1500)','oc','oc_FR',NULL,0,0,125,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (738,84,'Ojibwa','oj','oj_CA',NULL,0,0,126,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (739,84,'Old Church Slavonic, Church Slavic, Church Slavonic, Old Bulgarian, Old Slavonic','cu','cu_BG',NULL,0,0,127,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (740,84,'Oromo','om','om_ET',NULL,0,0,128,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (741,84,'Oriya','or','or_IN',NULL,0,0,129,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (742,84,'Ossetian, Ossetic','os','os_GE',NULL,0,0,130,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (743,84,'Panjabi, Punjabi','pa','pa_IN',NULL,0,0,131,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (744,84,'Pali','pi','pi_KH',NULL,0,0,132,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (745,84,'Persian (Iran)','fa','fa_IR',NULL,0,0,133,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (746,84,'Polish','pl','pl_PL',NULL,0,0,134,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (747,84,'Pashto, Pushto','ps','ps_AF',NULL,0,0,135,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (748,84,'Portuguese (Brazil)','pt','pt_BR',NULL,0,0,136,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (749,84,'Portuguese (Portugal)','pt','pt_PT',NULL,0,0,137,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (750,84,'Quechua','qu','qu_PE',NULL,0,0,138,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (751,84,'Romansh','rm','rm_CH',NULL,0,0,139,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (752,84,'Kirundi','rn','rn_BI',NULL,0,0,140,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (753,84,'Romanian, Moldavian, Moldovan','ro','ro_RO',NULL,0,0,141,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (754,84,'Russian','ru','ru_RU',NULL,0,0,142,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (755,84,'Sanskrit','sa','sa_IN',NULL,0,0,143,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (756,84,'Sardinian','sc','sc_IT',NULL,0,0,144,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (757,84,'Sindhi','sd','sd_IN',NULL,0,0,145,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (758,84,'Northern Sami','se','se_NO',NULL,0,0,146,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (759,84,'Samoan','sm','sm_WS',NULL,0,0,147,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (760,84,'Sango','sg','sg_CF',NULL,0,0,148,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (761,84,'Serbian','sr','sr_RS',NULL,0,0,149,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (762,84,'Scottish Gaelic; Gaelic','gd','gd_GB',NULL,0,0,150,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (763,84,'Shona','sn','sn_ZW',NULL,0,0,151,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (764,84,'Sinhala, Sinhalese','si','si_LK',NULL,0,0,152,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (765,84,'Slovak','sk','sk_SK',NULL,0,0,153,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (766,84,'Slovene','sl','sl_SI',NULL,0,0,154,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (767,84,'Somali','so','so_SO',NULL,0,0,155,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (768,84,'Southern Sotho','st','st_ZA',NULL,0,0,156,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (769,84,'Spanish; Castilian (Spain)','es','es_ES',NULL,0,0,157,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (770,84,'Spanish; Castilian (Mexico)','es','es_MX',NULL,0,0,158,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (771,84,'Spanish; Castilian (Puerto Rico)','es','es_PR',NULL,0,0,159,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (772,84,'Sundanese','su','su_ID',NULL,0,0,160,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (773,84,'Swahili','sw','sw_TZ',NULL,0,0,161,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (774,84,'Swati','ss','ss_ZA',NULL,0,0,162,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (775,84,'Swedish','sv','sv_SE',NULL,0,0,163,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (776,84,'Tamil','ta','ta_IN',NULL,0,0,164,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (777,84,'Telugu','te','te_IN',NULL,0,0,165,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (778,84,'Tajik','tg','tg_TJ',NULL,0,0,166,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (779,84,'Thai','th','th_TH',NULL,0,0,167,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (780,84,'Tigrinya','ti','ti_ET',NULL,0,0,168,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (781,84,'Tibetan Standard, Tibetan, Central','bo','bo_CN',NULL,0,0,169,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (782,84,'Turkmen','tk','tk_TM',NULL,0,0,170,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (783,84,'Tagalog','tl','tl_PH',NULL,0,0,171,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (784,84,'Tswana','tn','tn_ZA',NULL,0,0,172,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (785,84,'Tonga (Tonga Islands)','to','to_TO',NULL,0,0,173,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (786,84,'Turkish','tr','tr_TR',NULL,0,0,174,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (787,84,'Tsonga','ts','ts_ZA',NULL,0,0,175,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (788,84,'Tatar','tt','tt_RU',NULL,0,0,176,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (789,84,'Twi','tw','tw_GH',NULL,0,0,177,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (790,84,'Tahitian','ty','ty_PF',NULL,0,0,178,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (791,84,'Uighur, Uyghur','ug','ug_CN',NULL,0,0,179,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (792,84,'Ukrainian','uk','uk_UA',NULL,0,0,180,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (793,84,'Urdu','ur','ur_PK',NULL,0,0,181,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (794,84,'Uzbek','uz','uz_UZ',NULL,0,0,182,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (795,84,'Venda','ve','ve_ZA',NULL,0,0,183,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (796,84,'Vietnamese','vi','vi_VN',NULL,0,0,184,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (797,84,'Volapük','vo','vo_XX',NULL,0,0,185,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (798,84,'Walloon','wa','wa_BE',NULL,0,0,186,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (799,84,'Welsh','cy','cy_GB',NULL,0,0,187,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (800,84,'Wolof','wo','wo_SN',NULL,0,0,188,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (801,84,'Western Frisian','fy','fy_NL',NULL,0,0,189,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (802,84,'Xhosa','xh','xh_ZA',NULL,0,0,190,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (803,84,'Yiddish','yi','yi_US',NULL,0,0,191,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (804,84,'Yoruba','yo','yo_NG',NULL,0,0,192,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (805,84,'Zhuang, Chuang','za','za_CN',NULL,0,0,193,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (806,84,'Zulu','zu','zu_ZA',NULL,0,0,194,NULL,0,0,0,NULL,NULL,NULL,NULL,NULL),
+ (807,85,'In Person','1','in_person',NULL,0,0,1,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
+ (808,85,'Phone','2','phone',NULL,0,1,2,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
+ (809,85,'Email','3','email',NULL,0,0,3,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
+ (810,85,'Fax','4','fax',NULL,0,0,4,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
+ (811,85,'Letter Mail','5','letter_mail',NULL,0,0,5,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
+ (812,86,'Cases - Send Copy of an Activity','1','case_activity',NULL,0,0,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (813,87,'Contributions - Duplicate Organization Alert','1','contribution_dupalert',NULL,0,0,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (814,87,'Contributions - Receipt (off-line)','2','contribution_offline_receipt',NULL,0,0,2,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (815,87,'Contributions - Receipt (on-line)','3','contribution_online_receipt',NULL,0,0,3,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (816,87,'Contributions - Invoice','4','contribution_invoice_receipt',NULL,0,0,4,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (817,87,'Contributions - Recurring Start and End Notification','5','contribution_recurring_notify',NULL,0,0,5,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (818,87,'Contributions - Recurring Cancellation Notification','6','contribution_recurring_cancelled',NULL,0,0,6,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (819,87,'Contributions - Recurring Billing Updates','7','contribution_recurring_billing',NULL,0,0,7,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (820,87,'Contributions - Recurring Updates','8','contribution_recurring_edit',NULL,0,0,8,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (821,87,'Personal Campaign Pages - Admin Notification','9','pcp_notify',NULL,0,0,9,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (822,87,'Personal Campaign Pages - Supporter Status Change Notification','10','pcp_status_change',NULL,0,0,10,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (823,87,'Personal Campaign Pages - Supporter Welcome','11','pcp_supporter_notify',NULL,0,0,11,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (824,87,'Personal Campaign Pages - Owner Notification','12','pcp_owner_notify',NULL,0,0,12,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (825,87,'Additional Payment Receipt or Refund Notification','13','payment_or_refund_notification',NULL,0,0,13,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (826,88,'Events - Registration Confirmation and Receipt (off-line)','1','event_offline_receipt',NULL,0,0,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (827,88,'Events - Registration Confirmation and Receipt (on-line)','2','event_online_receipt',NULL,0,0,2,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (828,88,'Events - Receipt only','3','event_registration_receipt',NULL,0,0,3,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (829,88,'Events - Registration Cancellation Notice','4','participant_cancelled',NULL,0,0,4,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (830,88,'Events - Registration Confirmation Invite','5','participant_confirm',NULL,0,0,5,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (831,88,'Events - Pending Registration Expiration Notice','6','participant_expired',NULL,0,0,6,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (832,88,'Events - Registration Transferred Notice','7','participant_transferred',NULL,0,0,7,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (833,89,'Tell-a-Friend Email','1','friend',NULL,0,0,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (834,90,'Memberships - Signup and Renewal Receipts (off-line)','1','membership_offline_receipt',NULL,0,0,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (835,90,'Memberships - Receipt (on-line)','2','membership_online_receipt',NULL,0,0,2,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (836,90,'Memberships - Auto-renew Cancellation Notification','3','membership_autorenew_cancelled',NULL,0,0,3,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (837,90,'Memberships - Auto-renew Billing Updates','4','membership_autorenew_billing',NULL,0,0,4,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (838,91,'Test-drive - Receipt Header','1','test_preview',NULL,0,0,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (839,92,'Pledges - Acknowledgement','1','pledge_acknowledge',NULL,0,0,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (840,92,'Pledges - Payment Reminder','2','pledge_reminder',NULL,0,0,2,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (841,93,'Profiles - Admin Notification','1','uf_notify',NULL,0,0,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (842,94,'Petition - signature added','1','petition_sign',NULL,0,0,1,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (843,94,'Petition - need verification','2','petition_confirmation_needed',NULL,0,0,2,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (844,95,'In Honor of','1','in_honor_of',NULL,0,0,1,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
+ (845,95,'In Memory of','2','in_memory_of',NULL,0,0,2,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
+ (846,95,'Solicited','3','solicited',NULL,0,1,3,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
+ (847,95,'Household','4','household',NULL,0,0,4,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (848,95,'Workplace Giving','5','workplace',NULL,0,0,5,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (849,95,'Foundation Affiliate','6','foundation_affiliate',NULL,0,0,6,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (850,95,'3rd-party Service','7','3rd-party_service',NULL,0,0,7,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (851,95,'Donor-advised Fund','8','donor-advised_fund',NULL,0,0,8,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (852,95,'Matched Gift','9','matched_gift',NULL,0,0,9,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL),
+ (853,95,'Personal Campaign Page','10','pcp',NULL,0,0,10,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
+ (854,95,'Gift','11','gift',NULL,0,0,11,NULL,0,1,1,NULL,NULL,NULL,NULL,NULL),
+ (855,2,'Interview','55','Interview',NULL,0,NULL,55,'Conduct a phone or in person interview.',0,0,1,NULL,NULL,NULL,'fa-comment-o',NULL),
+ (856,8,'Advisory Board','3','Advisory Board',NULL,0,0,3,NULL,0,0,1,NULL,NULL,NULL,NULL,NULL);
 /*!40000 ALTER TABLE `civicrm_option_value` ENABLE KEYS */;
 UNLOCK TABLES;
 
@@ -6647,56 +6578,56 @@ UNLOCK TABLES;
 LOCK TABLES `civicrm_participant` WRITE;
 /*!40000 ALTER TABLE `civicrm_participant` DISABLE KEYS */;
 INSERT INTO `civicrm_participant` (`id`, `contact_id`, `event_id`, `status_id`, `role_id`, `register_date`, `source`, `fee_level`, `is_test`, `is_pay_later`, `fee_amount`, `registered_by_id`, `discount_id`, `fee_currency`, `campaign_id`, `discount_amount`, `cart_id`, `must_wait`, `transferred_to_contact_id`) VALUES
- (1,134,1,1,'1','2009-01-21 00:00:00','Check','Single',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
- (2,68,2,2,'2','2008-05-07 00:00:00','Credit Card','Soprano',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
- (3,5,3,3,'3','2008-05-05 00:00:00','Credit Card','Tiny-tots (ages 5-8)',0,0,800.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
- (4,151,1,4,'4','2008-10-21 00:00:00','Direct Transfer','Single',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
- (5,7,2,1,'1','2008-01-10 00:00:00','Check','Soprano',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
- (6,58,3,2,'2','2008-03-05 00:00:00','Direct Transfer','Tiny-tots (ages 5-8)',0,0,800.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
- (7,175,1,3,'3','2009-07-21 00:00:00','Direct Transfer','Single',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
- (8,154,2,4,'4','2009-03-07 00:00:00','Credit Card','Soprano',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
- (9,16,3,1,'1','2008-02-05 00:00:00','Direct Transfer','Tiny-tots (ages 5-8)',0,0,800.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
- (10,117,1,2,'2','2008-02-01 00:00:00','Check','Single',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
- (11,71,2,3,'3','2009-01-10 00:00:00','Direct Transfer','Soprano',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
- (12,14,3,4,'4','2009-03-06 00:00:00','Credit Card','Tiny-tots (ages 5-8)',0,0,800.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
- (13,195,1,1,'2','2008-06-04 00:00:00','Credit Card','Single',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
- (14,11,2,2,'3','2008-01-10 00:00:00','Direct Transfer','Soprano',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
- (15,66,3,4,'1','2008-07-04 00:00:00','Check','Tiny-tots (ages 5-8)',0,0,800.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
- (16,144,1,4,'2','2009-01-21 00:00:00','Credit Card','Single',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
- (17,158,2,2,'3','2008-01-10 00:00:00','Credit Card','Soprano',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
- (18,73,3,3,'1','2009-03-05 00:00:00','Credit Card','Tiny-tots (ages 5-8)',0,0,800.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
- (19,184,1,2,'1','2008-10-21 00:00:00','Direct Transfer','Single',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
- (20,149,2,4,'1','2009-01-10 00:00:00','Credit Card','Soprano',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
- (21,150,3,1,'4','2008-03-25 00:00:00','Check','Tiny-tots (ages 5-8)',0,0,800.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
- (22,87,1,2,'3','2009-10-21 00:00:00','Direct Transfer','Single',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
- (23,152,2,4,'1','2008-01-10 00:00:00','Direct Transfer','Soprano',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
- (24,146,3,3,'1','2008-03-11 00:00:00','Credit Card','Tiny-tots (ages 5-8)',0,0,800.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
- (25,156,3,2,'2','2008-04-05 00:00:00','Direct Transfer','Tiny-tots (ages 5-8)',0,0,800.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
- (26,178,1,1,'1','2009-01-21 00:00:00','Check','Single',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
- (27,69,2,2,'2','2008-05-07 00:00:00','Credit Card','Soprano',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
- (28,185,3,3,'3','2009-12-12 00:00:00','Direct Transfer','Tiny-tots (ages 5-8)',0,0,800.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
- (29,81,1,4,'4','2009-12-13 00:00:00','Credit Card','Single',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
- (30,116,2,1,'1','2009-12-14 00:00:00','Direct Transfer','Soprano',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
- (31,25,3,2,'2','2009-12-15 00:00:00','Credit Card','Tiny-tots (ages 5-8)',0,0,800.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
- (32,21,1,3,'3','2009-07-21 00:00:00','Check','Single',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
- (33,103,2,4,'4','2009-03-07 00:00:00','Direct Transfer','Soprano',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
- (34,157,3,1,'1','2009-12-15 00:00:00','Credit Card','Tiny-tots (ages 5-8)',0,0,800.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
- (35,4,1,2,'2','2009-12-13 00:00:00','Direct Transfer','Single',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
- (36,128,2,3,'3','2009-01-10 00:00:00','Direct Transfer','Soprano',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
- (37,55,3,4,'4','2009-03-06 00:00:00','Check','Tiny-tots (ages 5-8)',0,0,800.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
- (38,93,1,1,'2','2009-12-13 00:00:00','Direct Transfer','Single',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
- (39,72,2,2,'3','2008-01-10 00:00:00','Direct Transfer','Soprano',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
- (40,44,3,4,'1','2009-12-14 00:00:00','Credit Card','Tiny-tots (ages 5-8)',0,0,800.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
- (41,121,1,4,'2','2009-01-21 00:00:00','Credit Card','Single',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
- (42,99,2,2,'3','2009-12-15 00:00:00','Credit Card','Soprano',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
- (43,82,3,3,'1','2009-03-05 00:00:00','Credit Card','Tiny-tots (ages 5-8)',0,0,800.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
- (44,1,1,2,'1','2009-12-13 00:00:00','Direct Transfer','Single',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
- (45,129,2,4,'1','2009-01-10 00:00:00','Direct Transfer','Soprano',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
- (46,37,3,1,'4','2009-12-13 00:00:00','Check','Tiny-tots (ages 5-8)',0,0,800.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
- (47,28,1,2,'3','2009-10-21 00:00:00','Credit Card','Single',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
- (48,160,2,4,'1','2009-12-10 00:00:00','Credit Card','Soprano',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
- (49,202,3,3,'1','2009-03-11 00:00:00','Credit Card','Tiny-tots (ages 5-8)',0,0,800.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
- (50,104,3,2,'2','2009-04-05 00:00:00','Check','Tiny-tots (ages 5-8)',0,0,800.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL);
+ (1,156,1,1,'1','2009-01-21 00:00:00','Check','Single',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
+ (2,60,2,2,'2','2008-05-07 00:00:00','Credit Card','Soprano',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
+ (3,178,3,3,'3','2008-05-05 00:00:00','Credit Card','Tiny-tots (ages 5-8)',0,0,800.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
+ (4,100,1,4,'4','2008-10-21 00:00:00','Direct Transfer','Single',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
+ (5,119,2,1,'1','2008-01-10 00:00:00','Check','Soprano',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
+ (6,138,3,2,'2','2008-03-05 00:00:00','Direct Transfer','Tiny-tots (ages 5-8)',0,0,800.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
+ (7,167,1,3,'3','2009-07-21 00:00:00','Direct Transfer','Single',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
+ (8,124,2,4,'4','2009-03-07 00:00:00','Credit Card','Soprano',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
+ (9,65,3,1,'1','2008-02-05 00:00:00','Direct Transfer','Tiny-tots (ages 5-8)',0,0,800.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
+ (10,58,1,2,'2','2008-02-01 00:00:00','Check','Single',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
+ (11,75,2,3,'3','2009-01-10 00:00:00','Direct Transfer','Soprano',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
+ (12,182,3,4,'4','2009-03-06 00:00:00','Credit Card','Tiny-tots (ages 5-8)',0,0,800.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
+ (13,51,1,1,'2','2008-06-04 00:00:00','Credit Card','Single',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
+ (14,150,2,2,'3','2008-01-10 00:00:00','Direct Transfer','Soprano',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
+ (15,202,3,4,'1','2008-07-04 00:00:00','Check','Tiny-tots (ages 5-8)',0,0,800.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
+ (16,15,1,4,'2','2009-01-21 00:00:00','Credit Card','Single',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
+ (17,191,2,2,'3','2008-01-10 00:00:00','Credit Card','Soprano',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
+ (18,185,3,3,'1','2009-03-05 00:00:00','Credit Card','Tiny-tots (ages 5-8)',0,0,800.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
+ (19,87,1,2,'1','2008-10-21 00:00:00','Direct Transfer','Single',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
+ (20,49,2,4,'1','2009-01-10 00:00:00','Credit Card','Soprano',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
+ (21,128,3,1,'4','2008-03-25 00:00:00','Check','Tiny-tots (ages 5-8)',0,0,800.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
+ (22,32,1,2,'3','2009-10-21 00:00:00','Direct Transfer','Single',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
+ (23,158,2,4,'1','2008-01-10 00:00:00','Direct Transfer','Soprano',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
+ (24,63,3,3,'1','2008-03-11 00:00:00','Credit Card','Tiny-tots (ages 5-8)',0,0,800.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
+ (25,181,3,2,'2','2008-04-05 00:00:00','Direct Transfer','Tiny-tots (ages 5-8)',0,0,800.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
+ (26,31,1,1,'1','2009-01-21 00:00:00','Check','Single',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
+ (27,25,2,2,'2','2008-05-07 00:00:00','Credit Card','Soprano',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
+ (28,157,3,3,'3','2009-12-12 00:00:00','Direct Transfer','Tiny-tots (ages 5-8)',0,0,800.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
+ (29,123,1,4,'4','2009-12-13 00:00:00','Credit Card','Single',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
+ (30,44,2,1,'1','2009-12-14 00:00:00','Direct Transfer','Soprano',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
+ (31,89,3,2,'2','2009-12-15 00:00:00','Credit Card','Tiny-tots (ages 5-8)',0,0,800.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
+ (32,132,1,3,'3','2009-07-21 00:00:00','Check','Single',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
+ (33,151,2,4,'4','2009-03-07 00:00:00','Direct Transfer','Soprano',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
+ (34,48,3,1,'1','2009-12-15 00:00:00','Credit Card','Tiny-tots (ages 5-8)',0,0,800.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
+ (35,200,1,2,'2','2009-12-13 00:00:00','Direct Transfer','Single',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
+ (36,40,2,3,'3','2009-01-10 00:00:00','Direct Transfer','Soprano',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
+ (37,20,3,4,'4','2009-03-06 00:00:00','Check','Tiny-tots (ages 5-8)',0,0,800.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
+ (38,42,1,1,'2','2009-12-13 00:00:00','Direct Transfer','Single',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
+ (39,4,2,2,'3','2008-01-10 00:00:00','Direct Transfer','Soprano',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
+ (40,29,3,4,'1','2009-12-14 00:00:00','Credit Card','Tiny-tots (ages 5-8)',0,0,800.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
+ (41,113,1,4,'2','2009-01-21 00:00:00','Credit Card','Single',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
+ (42,168,2,2,'3','2009-12-15 00:00:00','Credit Card','Soprano',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
+ (43,22,3,3,'1','2009-03-05 00:00:00','Credit Card','Tiny-tots (ages 5-8)',0,0,800.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
+ (44,194,1,2,'1','2009-12-13 00:00:00','Direct Transfer','Single',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
+ (45,71,2,4,'1','2009-01-10 00:00:00','Direct Transfer','Soprano',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
+ (46,61,3,1,'4','2009-12-13 00:00:00','Check','Tiny-tots (ages 5-8)',0,0,800.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
+ (47,189,1,2,'3','2009-10-21 00:00:00','Credit Card','Single',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
+ (48,88,2,4,'1','2009-12-10 00:00:00','Credit Card','Soprano',0,0,50.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
+ (49,172,3,3,'1','2009-03-11 00:00:00','Credit Card','Tiny-tots (ages 5-8)',0,0,800.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL),
+ (50,99,3,2,'2','2009-04-05 00:00:00','Check','Tiny-tots (ages 5-8)',0,0,800.00,NULL,NULL,'USD',NULL,NULL,NULL,NULL,NULL);
 /*!40000 ALTER TABLE `civicrm_participant` ENABLE KEYS */;
 UNLOCK TABLES;
 
@@ -6707,56 +6638,56 @@ UNLOCK TABLES;
 LOCK TABLES `civicrm_participant_payment` WRITE;
 /*!40000 ALTER TABLE `civicrm_participant_payment` DISABLE KEYS */;
 INSERT INTO `civicrm_participant_payment` (`id`, `participant_id`, `contribution_id`) VALUES
- (1,44,63),
- (2,35,64),
+ (1,1,63),
+ (2,2,64),
  (3,3,65),
- (4,5,66),
- (5,14,67),
- (6,12,68),
- (7,9,69),
- (8,32,70),
- (9,31,71),
- (10,47,72),
- (11,46,73),
- (12,40,74),
- (13,37,75),
- (14,6,76),
+ (4,4,66),
+ (5,5,67),
+ (6,6,68),
+ (7,7,69),
+ (8,8,70),
+ (9,9,71),
+ (10,10,72),
+ (11,11,73),
+ (12,12,74),
+ (13,13,75),
+ (14,14,76),
  (15,15,77),
- (16,2,78),
- (17,27,79),
- (18,11,80),
- (19,39,81),
- (20,18,82),
- (21,29,83),
- (22,43,84),
- (23,22,85),
- (24,38,86),
- (25,42,87),
- (26,33,88),
- (27,50,89),
- (28,30,90),
- (29,10,91),
- (30,41,92),
- (31,36,93),
- (32,45,94),
- (33,1,95),
- (34,16,96),
- (35,24,97),
- (36,20,98),
- (37,21,99),
- (38,4,100),
- (39,23,101),
- (40,8,102),
- (41,25,103),
- (42,34,104),
- (43,17,105),
- (44,48,106),
- (45,7,107),
- (46,26,108),
- (47,19,109),
- (48,28,110),
- (49,13,111),
- (50,49,112);
+ (16,16,78),
+ (17,17,79),
+ (18,18,80),
+ (19,19,81),
+ (20,20,82),
+ (21,21,83),
+ (22,22,84),
+ (23,23,85),
+ (24,24,86),
+ (25,25,87),
+ (26,26,88),
+ (27,27,89),
+ (28,28,90),
+ (29,29,91),
+ (30,30,92),
+ (31,31,93),
+ (32,32,94),
+ (33,33,95),
+ (34,34,96),
+ (35,35,97),
+ (36,36,98),
+ (37,37,99),
+ (38,38,100),
+ (39,39,101),
+ (40,40,102),
+ (41,41,103),
+ (42,42,104),
+ (43,43,105),
+ (44,44,106),
+ (45,45,107),
+ (46,46,108),
+ (47,47,109),
+ (48,48,110),
+ (49,49,111),
+ (50,50,112);
 /*!40000 ALTER TABLE `civicrm_participant_payment` ENABLE KEYS */;
 UNLOCK TABLES;
 
@@ -6830,7 +6761,7 @@ UNLOCK TABLES;
 LOCK TABLES `civicrm_pcp` WRITE;
 /*!40000 ALTER TABLE `civicrm_pcp` DISABLE KEYS */;
 INSERT INTO `civicrm_pcp` (`id`, `contact_id`, `status_id`, `title`, `intro_text`, `page_text`, `donate_link_text`, `page_id`, `page_type`, `pcp_block_id`, `is_thermometer`, `is_honor_roll`, `goal_amount`, `currency`, `is_active`, `is_notify`) VALUES
- (1,185,2,'My Personal Civi Fundraiser','I\'m on a mission to get all my friends and family to help support my favorite open-source civic sector CRM.','<p>Friends and family - please help build much needed infrastructure for the civic sector by supporting my personal campaign!</p>\r\n<p><a href=\"https://civicrm.org\">You can learn more about CiviCRM here</a>.</p>\r\n<p>Then click the <strong>Contribute Now</strong> button to go to our easy-to-use online contribution form.</p>','Contribute Now',1,'contribute',1,1,1,5000.00,'USD',1,1);
+ (1,125,2,'My Personal Civi Fundraiser','I\'m on a mission to get all my friends and family to help support my favorite open-source civic sector CRM.','<p>Friends and family - please help build much needed infrastructure for the civic sector by supporting my personal campaign!</p>\r\n<p><a href=\"https://civicrm.org\">You can learn more about CiviCRM here</a>.</p>\r\n<p>Then click the <strong>Contribute Now</strong> button to go to our easy-to-use online contribution form.</p>','Contribute Now',1,'contribute',1,1,1,5000.00,'USD',1,1);
 /*!40000 ALTER TABLE `civicrm_pcp` ENABLE KEYS */;
 UNLOCK TABLES;
 
@@ -6852,165 +6783,166 @@ UNLOCK TABLES;
 LOCK TABLES `civicrm_phone` WRITE;
 /*!40000 ALTER TABLE `civicrm_phone` DISABLE KEYS */;
 INSERT INTO `civicrm_phone` (`id`, `contact_id`, `location_type_id`, `is_primary`, `is_billing`, `mobile_provider_id`, `phone`, `phone_ext`, `phone_numeric`, `phone_type_id`) VALUES
- (1,76,1,1,0,NULL,'395-7900',NULL,'3957900',1),
- (2,185,1,1,0,NULL,'(841) 427-7018',NULL,'8414277018',2),
- (3,192,1,1,0,NULL,'619-9896',NULL,'6199896',1),
- (4,192,1,0,0,NULL,'810-4755',NULL,'8104755',2),
- (5,100,1,1,0,NULL,'893-5476',NULL,'8935476',1),
- (6,170,1,1,0,NULL,'354-9908',NULL,'3549908',1),
- (7,148,1,1,0,NULL,'476-7740',NULL,'4767740',1),
- (8,148,1,0,0,NULL,'(500) 263-5335',NULL,'5002635335',1),
- (9,95,1,1,0,NULL,'201-1099',NULL,'2011099',2),
- (10,48,1,1,0,NULL,'(801) 709-9819',NULL,'8017099819',1),
- (11,12,1,1,0,NULL,'(395) 795-5308',NULL,'3957955308',2),
- (12,12,1,0,0,NULL,'503-3246',NULL,'5033246',1),
- (13,46,1,1,0,NULL,'708-8387',NULL,'7088387',2),
- (14,164,1,1,0,NULL,'(636) 542-2178',NULL,'6365422178',2),
- (15,164,1,0,0,NULL,'(276) 275-1152',NULL,'2762751152',2),
- (16,71,1,1,0,NULL,'(878) 720-2469',NULL,'8787202469',2),
- (17,71,1,0,0,NULL,'(508) 768-7496',NULL,'5087687496',1),
- (18,162,1,1,0,NULL,'441-8200',NULL,'4418200',2),
- (19,162,1,0,0,NULL,'(688) 365-6502',NULL,'6883656502',2),
- (20,197,1,1,0,NULL,'694-8012',NULL,'6948012',1),
- (21,200,1,1,0,NULL,'(673) 333-1569',NULL,'6733331569',1),
- (22,200,1,0,0,NULL,'(623) 525-5743',NULL,'6235255743',2),
- (23,7,1,1,0,NULL,'833-6908',NULL,'8336908',1),
- (24,111,1,1,0,NULL,'530-2290',NULL,'5302290',2),
- (25,111,1,0,0,NULL,'(681) 669-6496',NULL,'6816696496',1),
- (26,9,1,1,0,NULL,'(690) 890-7877',NULL,'6908907877',2),
- (27,9,1,0,0,NULL,'643-4339',NULL,'6434339',2),
- (28,147,1,1,0,NULL,'642-7930',NULL,'6427930',1),
- (29,112,1,1,0,NULL,'500-5067',NULL,'5005067',1),
- (30,112,1,0,0,NULL,'(624) 598-7368',NULL,'6245987368',1),
- (31,39,1,1,0,NULL,'(485) 224-1832',NULL,'4852241832',2),
- (32,39,1,0,0,NULL,'727-2760',NULL,'7272760',2),
- (33,157,1,1,0,NULL,'(565) 450-8560',NULL,'5654508560',2),
- (34,157,1,0,0,NULL,'783-8099',NULL,'7838099',2),
- (35,62,1,1,0,NULL,'333-8150',NULL,'3338150',2),
- (36,62,1,0,0,NULL,'(416) 417-1924',NULL,'4164171924',1),
- (37,180,1,1,0,NULL,'549-8124',NULL,'5498124',1),
- (38,118,1,1,0,NULL,'656-4215',NULL,'6564215',2),
- (39,194,1,1,0,NULL,'(326) 285-4897',NULL,'3262854897',2),
- (40,126,1,1,0,NULL,'879-2374',NULL,'8792374',1),
- (41,40,1,1,0,NULL,'225-8833',NULL,'2258833',1),
- (42,142,1,1,0,NULL,'(295) 280-6570',NULL,'2952806570',2),
- (43,174,1,1,0,NULL,'569-6563',NULL,'5696563',1),
- (44,174,1,0,0,NULL,'568-3358',NULL,'5683358',1),
- (45,80,1,1,0,NULL,'551-7973',NULL,'5517973',1),
- (46,198,1,1,0,NULL,'(402) 208-4090',NULL,'4022084090',2),
- (47,198,1,0,0,NULL,'(557) 404-7342',NULL,'5574047342',1),
- (48,149,1,1,0,NULL,'437-6924',NULL,'4376924',1),
- (49,96,1,1,0,NULL,'(821) 343-3351',NULL,'8213433351',2),
- (50,4,1,1,0,NULL,'432-3642',NULL,'4323642',2),
- (51,4,1,0,0,NULL,'767-3617',NULL,'7673617',2),
- (52,49,1,1,0,NULL,'603-2323',NULL,'6032323',2),
- (53,14,1,1,0,NULL,'(530) 782-1782',NULL,'5307821782',1),
- (54,70,1,1,0,NULL,'265-5864',NULL,'2655864',1),
- (55,30,1,1,0,NULL,'(831) 768-6647',NULL,'8317686647',1),
- (56,54,1,1,0,NULL,'(230) 820-8926',NULL,'2308208926',2),
- (57,54,1,0,0,NULL,'(839) 298-8715',NULL,'8392988715',2),
- (58,63,1,1,0,NULL,'432-5853',NULL,'4325853',1),
- (59,168,1,1,0,NULL,'(410) 518-7294',NULL,'4105187294',1),
- (60,60,1,1,0,NULL,'544-5347',NULL,'5445347',1),
- (61,60,1,0,0,NULL,'736-7898',NULL,'7367898',2),
- (62,92,1,1,0,NULL,'841-1924',NULL,'8411924',1),
- (63,92,1,0,0,NULL,'527-7438',NULL,'5277438',2),
- (64,138,1,1,0,NULL,'(288) 758-1582',NULL,'2887581582',2),
- (65,83,1,1,0,NULL,'833-3606',NULL,'8333606',1),
- (66,13,1,1,0,NULL,'(680) 396-5638',NULL,'6803965638',1),
- (67,13,1,0,0,NULL,'(254) 642-3708',NULL,'2546423708',2),
- (68,105,1,1,0,NULL,'(286) 717-8979',NULL,'2867178979',2),
- (69,135,1,1,0,NULL,'332-6738',NULL,'3326738',1),
- (70,135,1,0,0,NULL,'(588) 311-7901',NULL,'5883117901',2),
- (71,20,1,1,0,NULL,'(551) 758-3916',NULL,'5517583916',1),
- (72,20,1,0,0,NULL,'406-8908',NULL,'4068908',2),
- (73,161,1,1,0,NULL,'(671) 674-2405',NULL,'6716742405',1),
- (74,161,1,0,0,NULL,'480-9859',NULL,'4809859',1),
- (75,110,1,1,0,NULL,'(278) 553-6399',NULL,'2785536399',1),
- (76,122,1,1,0,NULL,'(298) 838-1223',NULL,'2988381223',2),
- (77,156,1,1,0,NULL,'895-9050',NULL,'8959050',2),
- (78,156,1,0,0,NULL,'685-3844',NULL,'6853844',2),
- (79,143,1,1,0,NULL,'(572) 869-6758',NULL,'5728696758',1),
- (80,143,1,0,0,NULL,'761-3566',NULL,'7613566',1),
- (81,146,1,1,0,NULL,'811-5842',NULL,'8115842',2),
- (82,82,1,1,0,NULL,'(782) 661-9322',NULL,'7826619322',2),
- (83,165,1,1,0,NULL,'585-1806',NULL,'5851806',2),
- (84,190,1,1,0,NULL,'(475) 868-4745',NULL,'4758684745',2),
- (85,59,1,1,0,NULL,'682-1804',NULL,'6821804',1),
- (86,59,1,0,0,NULL,'(500) 377-7145',NULL,'5003777145',1),
- (87,72,1,1,0,NULL,'805-3789',NULL,'8053789',2),
- (88,72,1,0,0,NULL,'865-5776',NULL,'8655776',1),
- (89,108,1,1,0,NULL,'566-1525',NULL,'5661525',1),
- (90,81,1,1,0,NULL,'(212) 235-1154',NULL,'2122351154',2),
- (91,81,1,0,0,NULL,'(701) 568-4421',NULL,'7015684421',1),
- (92,65,1,1,0,NULL,'666-9026',NULL,'6669026',1),
- (93,65,1,0,0,NULL,'622-8022',NULL,'6228022',1),
- (94,189,1,1,0,NULL,'(404) 333-6178',NULL,'4043336178',1),
- (95,88,1,1,0,NULL,'(355) 430-7465',NULL,'3554307465',1),
- (96,196,1,1,0,NULL,'(697) 797-1137',NULL,'6977971137',1),
- (97,196,1,0,0,NULL,'540-3823',NULL,'5403823',2),
- (98,136,1,1,0,NULL,'(217) 216-1317',NULL,'2172161317',2),
- (99,134,1,1,0,NULL,'257-4038',NULL,'2574038',1),
- (100,154,1,1,0,NULL,'793-5265',NULL,'7935265',1),
- (101,77,1,1,0,NULL,'(630) 708-4065',NULL,'6307084065',1),
- (102,77,1,0,0,NULL,'851-6074',NULL,'8516074',2),
- (103,193,1,1,0,NULL,'727-8942',NULL,'7278942',2),
- (104,193,1,0,0,NULL,'(461) 225-4193',NULL,'4612254193',2),
- (105,55,1,1,0,NULL,'(865) 292-6121',NULL,'8652926121',2),
- (106,182,1,1,0,NULL,'217-6647',NULL,'2176647',1),
- (107,53,1,1,0,NULL,'(849) 703-8907',NULL,'8497038907',2),
- (108,53,1,0,0,NULL,'(329) 780-3779',NULL,'3297803779',1),
- (109,114,1,1,0,NULL,'(636) 421-6125',NULL,'6364216125',1),
- (110,114,1,0,0,NULL,'(266) 846-2248',NULL,'2668462248',2),
- (111,125,1,1,0,NULL,'712-2299',NULL,'7122299',1),
- (112,139,1,1,0,NULL,'221-5875',NULL,'2215875',2),
- (113,24,1,1,0,NULL,'(798) 282-8769',NULL,'7982828769',2),
- (114,85,1,1,0,NULL,'(797) 665-9265',NULL,'7976659265',1),
- (115,85,1,0,0,NULL,'(211) 438-2583',NULL,'2114382583',1),
- (116,133,1,1,0,NULL,'775-2400',NULL,'7752400',2),
- (117,155,1,1,0,NULL,'(432) 691-4755',NULL,'4326914755',1),
- (118,123,1,1,0,NULL,'(588) 592-7384',NULL,'5885927384',2),
- (119,123,1,0,0,NULL,'(460) 792-3509',NULL,'4607923509',2),
- (120,86,1,1,0,NULL,'(575) 848-7805',NULL,'5758487805',1),
- (121,117,1,1,0,NULL,'305-8190',NULL,'3058190',1),
- (122,16,1,1,0,NULL,'(678) 733-2896',NULL,'6787332896',1),
- (123,26,1,1,0,NULL,'238-1577',NULL,'2381577',1),
- (124,6,1,1,0,NULL,'311-8589',NULL,'3118589',1),
- (125,181,1,1,0,NULL,'(224) 546-8473',NULL,'2245468473',2),
- (126,181,1,0,0,NULL,'(718) 650-9675',NULL,'7186509675',1),
- (127,199,1,1,0,NULL,'842-5958',NULL,'8425958',2),
- (128,31,1,1,0,NULL,'796-8860',NULL,'7968860',2),
- (129,179,1,1,0,NULL,'584-7252',NULL,'5847252',1),
- (130,179,1,0,0,NULL,'(409) 431-6971',NULL,'4094316971',2),
- (131,145,1,1,0,NULL,'(884) 834-2839',NULL,'8848342839',1),
- (132,145,1,0,0,NULL,'(475) 760-9952',NULL,'4757609952',2),
- (133,74,1,1,0,NULL,'(668) 412-5694',NULL,'6684125694',1),
- (134,41,1,1,0,NULL,'762-5540',NULL,'7625540',1),
- (135,191,1,1,0,NULL,'373-9188',NULL,'3739188',2),
- (136,159,1,1,0,NULL,'(624) 607-6652',NULL,'6246076652',1),
- (137,5,1,1,0,NULL,'(574) 438-5402',NULL,'5744385402',1),
- (138,5,1,0,0,NULL,'(213) 878-7271',NULL,'2138787271',1),
- (139,152,1,1,0,NULL,'837-3423',NULL,'8373423',2),
- (140,152,1,0,0,NULL,'718-1485',NULL,'7181485',2),
- (141,140,1,1,0,NULL,'(363) 371-1709',NULL,'3633711709',2),
- (142,99,1,1,0,NULL,'(232) 315-3792',NULL,'2323153792',1),
- (143,99,1,0,0,NULL,'373-4601',NULL,'3734601',2),
- (144,3,1,1,0,NULL,'(691) 748-8491',NULL,'6917488491',2),
- (145,3,1,0,0,NULL,'628-9325',NULL,'6289325',1),
- (146,22,1,1,0,NULL,'(533) 661-6102',NULL,'5336616102',1),
- (147,29,1,1,0,NULL,'363-8403',NULL,'3638403',2),
- (148,29,1,0,0,NULL,'(675) 374-5900',NULL,'6753745900',2),
- (149,66,1,1,0,NULL,'317-7506',NULL,'3177506',2),
- (150,66,1,0,0,NULL,'(273) 818-6517',NULL,'2738186517',2),
- (151,175,1,1,0,NULL,'340-9881',NULL,'3409881',1),
- (152,38,1,1,0,NULL,'240-7674',NULL,'2407674',2),
- (153,160,1,1,0,NULL,'(364) 579-3189',NULL,'3645793189',2),
- (154,160,1,0,0,NULL,'(492) 237-2053',NULL,'4922372053',2),
- (155,137,1,1,0,NULL,'(885) 424-3382',NULL,'8854243382',2),
- (156,104,1,1,0,NULL,'(412) 578-9266',NULL,'4125789266',1),
- (157,NULL,1,0,0,NULL,'204 222-1000',NULL,'2042221000',1),
- (158,NULL,1,0,0,NULL,'204 223-1000',NULL,'2042231000',1),
- (159,NULL,1,0,0,NULL,'303 323-1000',NULL,'3033231000',1);
+ (1,125,1,1,0,NULL,'205-1925',NULL,'2051925',2),
+ (2,177,1,1,0,NULL,'(393) 519-5367',NULL,'3935195367',2),
+ (3,104,1,1,0,NULL,'239-9519',NULL,'2399519',2),
+ (4,104,1,0,0,NULL,'(836) 229-6000',NULL,'8362296000',1),
+ (5,55,1,1,0,NULL,'(398) 666-9777',NULL,'3986669777',2),
+ (6,116,1,1,0,NULL,'(335) 340-9235',NULL,'3353409235',1),
+ (7,182,1,1,0,NULL,'(723) 253-4301',NULL,'7232534301',2),
+ (8,76,1,1,0,NULL,'426-7997',NULL,'4267997',2),
+ (9,76,1,0,0,NULL,'688-1783',NULL,'6881783',2),
+ (10,121,1,1,0,NULL,'(233) 495-2899',NULL,'2334952899',2),
+ (11,99,1,1,0,NULL,'375-1050',NULL,'3751050',1),
+ (12,199,1,1,0,NULL,'(510) 234-7677',NULL,'5102347677',2),
+ (13,28,1,1,0,NULL,'239-8746',NULL,'2398746',1),
+ (14,201,1,1,0,NULL,'478-1025',NULL,'4781025',1),
+ (15,201,1,0,0,NULL,'(525) 607-6919',NULL,'5256076919',1),
+ (16,200,1,1,0,NULL,'(608) 435-5386',NULL,'6084355386',2),
+ (17,200,1,0,0,NULL,'(738) 502-6462',NULL,'7385026462',2),
+ (18,9,1,1,0,NULL,'643-2669',NULL,'6432669',2),
+ (19,9,1,0,0,NULL,'536-8816',NULL,'5368816',2),
+ (20,105,1,1,0,NULL,'(772) 297-1150',NULL,'7722971150',2),
+ (21,119,1,1,0,NULL,'(742) 826-1709',NULL,'7428261709',2),
+ (22,122,1,1,0,NULL,'(768) 873-9154',NULL,'7688739154',1),
+ (23,127,1,1,0,NULL,'581-4661',NULL,'5814661',1),
+ (24,127,1,0,0,NULL,'(628) 832-7312',NULL,'6288327312',1),
+ (25,115,1,1,0,NULL,'(556) 692-8908',NULL,'5566928908',1),
+ (26,117,1,1,0,NULL,'404-9679',NULL,'4049679',2),
+ (27,117,1,0,0,NULL,'(800) 479-5740',NULL,'8004795740',1),
+ (28,79,1,1,0,NULL,'(357) 365-7663',NULL,'3573657663',1),
+ (29,179,1,1,0,NULL,'(295) 417-8262',NULL,'2954178262',2),
+ (30,179,1,0,0,NULL,'455-7052',NULL,'4557052',1),
+ (31,131,1,1,0,NULL,'552-5853',NULL,'5525853',2),
+ (32,52,1,1,0,NULL,'(286) 567-2974',NULL,'2865672974',1),
+ (33,52,1,0,0,NULL,'749-4789',NULL,'7494789',1),
+ (34,72,1,1,0,NULL,'(890) 380-6947',NULL,'8903806947',1),
+ (35,72,1,0,0,NULL,'717-3634',NULL,'7173634',1),
+ (36,178,1,1,0,NULL,'333-8499',NULL,'3338499',2),
+ (37,178,1,0,0,NULL,'(221) 694-8033',NULL,'2216948033',1),
+ (38,66,1,1,0,NULL,'(585) 449-5320',NULL,'5854495320',1),
+ (39,195,1,1,0,NULL,'(809) 415-3253',NULL,'8094153253',1),
+ (40,46,1,1,0,NULL,'(395) 292-4639',NULL,'3952924639',1),
+ (41,103,1,1,0,NULL,'712-3543',NULL,'7123543',1),
+ (42,103,1,0,0,NULL,'485-4393',NULL,'4854393',1),
+ (43,170,1,1,0,NULL,'(764) 260-6255',NULL,'7642606255',2),
+ (44,170,1,0,0,NULL,'345-6195',NULL,'3456195',1),
+ (45,165,1,1,0,NULL,'581-1046',NULL,'5811046',2),
+ (46,165,1,0,0,NULL,'(369) 529-2655',NULL,'3695292655',1),
+ (47,184,1,1,0,NULL,'890-9936',NULL,'8909936',2),
+ (48,45,1,1,0,NULL,'(261) 492-9624',NULL,'2614929624',1),
+ (49,101,1,1,0,NULL,'(394) 308-5726',NULL,'3943085726',2),
+ (50,27,1,1,0,NULL,'774-8275',NULL,'7748275',2),
+ (51,27,1,0,0,NULL,'(358) 859-2009',NULL,'3588592009',1),
+ (52,137,1,1,0,NULL,'(807) 523-6347',NULL,'8075236347',1),
+ (53,10,1,1,0,NULL,'628-2303',NULL,'6282303',2),
+ (54,124,1,1,0,NULL,'(577) 389-5869',NULL,'5773895869',1),
+ (55,124,1,0,0,NULL,'673-3141',NULL,'6733141',1),
+ (56,111,1,1,0,NULL,'441-4980',NULL,'4414980',2),
+ (57,145,1,1,0,NULL,'(681) 764-2355',NULL,'6817642355',2),
+ (58,145,1,0,0,NULL,'421-1345',NULL,'4211345',1),
+ (59,197,1,1,0,NULL,'424-4056',NULL,'4244056',1),
+ (60,129,1,1,0,NULL,'(499) 421-6756',NULL,'4994216756',1),
+ (61,74,1,1,0,NULL,'(605) 460-8452',NULL,'6054608452',1),
+ (62,26,1,1,0,NULL,'(323) 626-1800',NULL,'3236261800',2),
+ (63,173,1,1,0,NULL,'525-4245',NULL,'5254245',2),
+ (64,80,1,1,0,NULL,'338-5372',NULL,'3385372',2),
+ (65,80,1,0,0,NULL,'(497) 392-1971',NULL,'4973921971',1),
+ (66,78,1,1,0,NULL,'370-2439',NULL,'3702439',2),
+ (67,98,1,1,0,NULL,'393-9352',NULL,'3939352',2),
+ (68,98,1,0,0,NULL,'829-5669',NULL,'8295669',2),
+ (69,30,1,1,0,NULL,'(691) 403-5561',NULL,'6914035561',1),
+ (70,30,1,0,0,NULL,'271-6579',NULL,'2716579',1),
+ (71,186,1,1,0,NULL,'767-4421',NULL,'7674421',2),
+ (72,186,1,0,0,NULL,'(581) 436-1274',NULL,'5814361274',1),
+ (73,106,1,1,0,NULL,'(818) 531-9283',NULL,'8185319283',1),
+ (74,106,1,0,0,NULL,'(533) 549-5879',NULL,'5335495879',2),
+ (75,57,1,1,0,NULL,'(854) 436-4577',NULL,'8544364577',2),
+ (76,57,1,0,0,NULL,'253-1722',NULL,'2531722',2),
+ (77,15,1,1,0,NULL,'376-3655',NULL,'3763655',1),
+ (78,15,1,0,0,NULL,'(859) 666-1456',NULL,'8596661456',1),
+ (79,160,1,1,0,NULL,'363-9587',NULL,'3639587',1),
+ (80,160,1,0,0,NULL,'619-8985',NULL,'6198985',2),
+ (81,196,1,1,0,NULL,'(272) 526-1373',NULL,'2725261373',1),
+ (82,196,1,0,0,NULL,'(372) 802-3653',NULL,'3728023653',2),
+ (83,120,1,1,0,NULL,'(465) 654-8287',NULL,'4656548287',1),
+ (84,18,1,1,0,NULL,'(314) 251-4555',NULL,'3142514555',1),
+ (85,12,1,1,0,NULL,'(476) 864-6569',NULL,'4768646569',2),
+ (86,36,1,1,0,NULL,'(558) 820-6727',NULL,'5588206727',2),
+ (87,36,1,0,0,NULL,'(709) 883-3696',NULL,'7098833696',1),
+ (88,181,1,1,0,NULL,'495-6653',NULL,'4956653',1),
+ (89,118,1,1,0,NULL,'776-3377',NULL,'7763377',1),
+ (90,176,1,1,0,NULL,'(790) 867-7882',NULL,'7908677882',1),
+ (91,176,1,0,0,NULL,'862-2472',NULL,'8622472',2),
+ (92,5,1,1,0,NULL,'894-3916',NULL,'8943916',2),
+ (93,5,1,0,0,NULL,'281-4655',NULL,'2814655',1),
+ (94,75,1,1,0,NULL,'708-7941',NULL,'7087941',1),
+ (95,3,1,1,0,NULL,'(500) 476-6159',NULL,'5004766159',1),
+ (96,3,1,0,0,NULL,'(642) 811-3098',NULL,'6428113098',1),
+ (97,149,1,1,0,NULL,'(359) 515-4741',NULL,'3595154741',2),
+ (98,149,1,0,0,NULL,'(230) 853-1400',NULL,'2308531400',2),
+ (99,192,1,1,0,NULL,'(202) 638-3416',NULL,'2026383416',1),
+ (100,82,1,1,0,NULL,'(428) 846-3240',NULL,'4288463240',1),
+ (101,146,1,1,0,NULL,'(322) 809-5726',NULL,'3228095726',1),
+ (102,183,1,1,0,NULL,'(324) 747-6198',NULL,'3247476198',2),
+ (103,183,1,0,0,NULL,'(841) 740-2646',NULL,'8417402646',2),
+ (104,198,1,1,0,NULL,'(685) 354-4639',NULL,'6853544639',2),
+ (105,84,1,1,0,NULL,'513-7111',NULL,'5137111',1),
+ (106,84,1,0,0,NULL,'(518) 342-8421',NULL,'5183428421',1),
+ (107,90,1,1,0,NULL,'(412) 529-4506',NULL,'4125294506',1),
+ (108,24,1,1,0,NULL,'(256) 797-1756',NULL,'2567971756',2),
+ (109,24,1,0,0,NULL,'(462) 349-5044',NULL,'4623495044',1),
+ (110,39,1,1,0,NULL,'(882) 610-9410',NULL,'8826109410',1),
+ (111,39,1,0,0,NULL,'552-2729',NULL,'5522729',1),
+ (112,32,1,1,0,NULL,'(681) 873-8492',NULL,'6818738492',1),
+ (113,32,1,0,0,NULL,'(334) 486-3580',NULL,'3344863580',2),
+ (114,150,1,1,0,NULL,'(782) 581-2227',NULL,'7825812227',2),
+ (115,150,1,0,0,NULL,'(617) 673-9314',NULL,'6176739314',1),
+ (116,180,1,1,0,NULL,'(693) 326-7935',NULL,'6933267935',2),
+ (117,152,1,1,0,NULL,'833-8548',NULL,'8338548',1),
+ (118,65,1,1,0,NULL,'230-9385',NULL,'2309385',1),
+ (119,148,1,1,0,NULL,'389-1433',NULL,'3891433',2),
+ (120,13,1,1,0,NULL,'647-2414',NULL,'6472414',1),
+ (121,141,1,1,0,NULL,'733-3157',NULL,'7333157',1),
+ (122,141,1,0,0,NULL,'(899) 718-6485',NULL,'8997186485',2),
+ (123,154,1,1,0,NULL,'897-6177',NULL,'8976177',2),
+ (124,154,1,0,0,NULL,'(684) 202-8755',NULL,'6842028755',1),
+ (125,81,1,1,0,NULL,'(527) 388-4858',NULL,'5273884858',2),
+ (126,81,1,0,0,NULL,'675-7322',NULL,'6757322',1),
+ (127,48,1,1,0,NULL,'282-3265',NULL,'2823265',1),
+ (128,48,1,0,0,NULL,'(397) 433-5708',NULL,'3974335708',1),
+ (129,47,1,1,0,NULL,'353-8860',NULL,'3538860',1),
+ (130,17,1,1,0,NULL,'(233) 603-5569',NULL,'2336035569',1),
+ (131,70,1,1,0,NULL,'766-6982',NULL,'7666982',1),
+ (132,70,1,0,0,NULL,'(528) 591-3263',NULL,'5285913263',2),
+ (133,144,1,1,0,NULL,'(276) 379-4260',NULL,'2763794260',1),
+ (134,136,1,1,0,NULL,'422-1675',NULL,'4221675',1),
+ (135,136,1,0,0,NULL,'(206) 204-2114',NULL,'2062042114',2),
+ (136,109,1,1,0,NULL,'(265) 207-1373',NULL,'2652071373',2),
+ (137,21,1,1,0,NULL,'344-3819',NULL,'3443819',2),
+ (138,95,1,1,0,NULL,'690-6586',NULL,'6906586',2),
+ (139,95,1,0,0,NULL,'(383) 659-6467',NULL,'3836596467',2),
+ (140,50,1,1,0,NULL,'271-4835',NULL,'2714835',2),
+ (141,51,1,1,0,NULL,'308-5137',NULL,'3085137',2),
+ (142,51,1,0,0,NULL,'401-4345',NULL,'4014345',1),
+ (143,132,1,1,0,NULL,'(845) 306-1780',NULL,'8453061780',1),
+ (144,31,1,1,0,NULL,'(358) 528-5445',NULL,'3585285445',1),
+ (145,31,1,0,0,NULL,'(866) 815-7490',NULL,'8668157490',1),
+ (146,128,1,1,0,NULL,'252-5775',NULL,'2525775',1),
+ (147,94,1,1,0,NULL,'(311) 300-3773',NULL,'3113003773',1),
+ (148,96,1,1,0,NULL,'786-8558',NULL,'7868558',2),
+ (149,96,1,0,0,NULL,'313-2332',NULL,'3132332',2),
+ (150,89,1,1,0,NULL,'(648) 217-7289',NULL,'6482177289',1),
+ (151,16,1,1,0,NULL,'(866) 623-7029',NULL,'8666237029',1),
+ (152,7,1,1,0,NULL,'327-6616',NULL,'3276616',2),
+ (153,189,1,1,0,NULL,'269-5361',NULL,'2695361',1),
+ (154,40,1,1,0,NULL,'(324) 602-2448',NULL,'3246022448',2),
+ (155,40,1,0,0,NULL,'(831) 767-5214',NULL,'8317675214',1),
+ (156,156,1,1,0,NULL,'(419) 831-1121',NULL,'4198311121',1),
+ (157,156,1,0,0,NULL,'(714) 575-5607',NULL,'7145755607',2),
+ (158,NULL,1,0,0,NULL,'204 222-1000',NULL,'2042221000',1),
+ (159,NULL,1,0,0,NULL,'204 223-1000',NULL,'2042231000',1),
+ (160,NULL,1,0,0,NULL,'303 323-1000',NULL,'3033231000',1);
 /*!40000 ALTER TABLE `civicrm_phone` ENABLE KEYS */;
 UNLOCK TABLES;
 
@@ -7211,6 +7143,15 @@ INSERT INTO `civicrm_product` (`id`, `name`, `description`, `sku`, `options`, `i
 /*!40000 ALTER TABLE `civicrm_product` ENABLE KEYS */;
 UNLOCK TABLES;
 
+--
+-- Dumping data for table `civicrm_queue`
+--
+
+LOCK TABLES `civicrm_queue` WRITE;
+/*!40000 ALTER TABLE `civicrm_queue` DISABLE KEYS */;
+/*!40000 ALTER TABLE `civicrm_queue` ENABLE KEYS */;
+UNLOCK TABLES;
+
 --
 -- Dumping data for table `civicrm_queue_item`
 --
@@ -7235,221 +7176,221 @@ UNLOCK TABLES;
 
 LOCK TABLES `civicrm_relationship` WRITE;
 /*!40000 ALTER TABLE `civicrm_relationship` DISABLE KEYS */;
-INSERT INTO `civicrm_relationship` (`id`, `contact_id_a`, `contact_id_b`, `relationship_type_id`, `start_date`, `end_date`, `is_active`, `description`, `is_permission_a_b`, `is_permission_b_a`, `case_id`) VALUES
- (1,121,35,1,NULL,NULL,1,NULL,0,0,NULL),
- (2,122,35,1,NULL,NULL,1,NULL,0,0,NULL),
- (3,121,110,1,NULL,NULL,1,NULL,0,0,NULL),
- (4,122,110,1,NULL,NULL,1,NULL,0,0,NULL),
- (5,122,121,4,NULL,NULL,1,NULL,0,0,NULL),
- (6,110,44,8,NULL,NULL,1,NULL,0,0,NULL),
- (7,121,44,8,NULL,NULL,1,NULL,0,0,NULL),
- (8,122,44,8,NULL,NULL,1,NULL,0,0,NULL),
- (9,35,44,7,NULL,NULL,0,NULL,0,0,NULL),
- (10,110,35,2,NULL,NULL,0,NULL,0,0,NULL),
- (11,52,156,1,NULL,NULL,1,NULL,0,0,NULL),
- (12,50,156,1,NULL,NULL,1,NULL,0,0,NULL),
- (13,52,143,1,NULL,NULL,1,NULL,0,0,NULL),
- (14,50,143,1,NULL,NULL,1,NULL,0,0,NULL),
- (15,50,52,4,NULL,NULL,1,NULL,0,0,NULL),
- (16,143,201,8,NULL,NULL,1,NULL,0,0,NULL),
- (17,52,201,8,NULL,NULL,1,NULL,0,0,NULL),
- (18,50,201,8,NULL,NULL,1,NULL,0,0,NULL),
- (19,156,201,7,NULL,NULL,0,NULL,0,0,NULL),
- (20,143,156,2,NULL,NULL,0,NULL,0,0,NULL),
- (21,165,146,1,NULL,NULL,1,NULL,0,0,NULL),
- (22,127,146,1,NULL,NULL,1,NULL,0,0,NULL),
- (23,165,82,1,NULL,NULL,1,NULL,0,0,NULL),
- (24,127,82,1,NULL,NULL,1,NULL,0,0,NULL),
- (25,127,165,4,NULL,NULL,1,NULL,0,0,NULL),
- (26,82,124,8,NULL,NULL,1,NULL,0,0,NULL),
- (27,165,124,8,NULL,NULL,1,NULL,0,0,NULL),
- (28,127,124,8,NULL,NULL,1,NULL,0,0,NULL),
- (29,146,124,7,NULL,NULL,0,NULL,0,0,NULL),
- (30,82,146,2,NULL,NULL,0,NULL,0,0,NULL),
- (31,72,190,1,NULL,NULL,1,NULL,0,0,NULL),
- (32,108,190,1,NULL,NULL,1,NULL,0,0,NULL),
- (33,72,59,1,NULL,NULL,1,NULL,0,0,NULL),
- (34,108,59,1,NULL,NULL,1,NULL,0,0,NULL),
- (35,108,72,4,NULL,NULL,1,NULL,0,0,NULL),
- (36,59,151,8,NULL,NULL,1,NULL,0,0,NULL),
- (37,72,151,8,NULL,NULL,1,NULL,0,0,NULL),
- (38,108,151,8,NULL,NULL,1,NULL,0,0,NULL),
- (39,190,151,7,NULL,NULL,1,NULL,0,0,NULL),
- (40,59,190,2,NULL,NULL,1,NULL,0,0,NULL),
- (41,189,81,1,NULL,NULL,1,NULL,0,0,NULL),
- (42,88,81,1,NULL,NULL,1,NULL,0,0,NULL),
- (43,189,65,1,NULL,NULL,1,NULL,0,0,NULL),
- (44,88,65,1,NULL,NULL,1,NULL,0,0,NULL),
- (45,88,189,4,NULL,NULL,1,NULL,0,0,NULL),
- (46,65,90,8,NULL,NULL,1,NULL,0,0,NULL),
- (47,189,90,8,NULL,NULL,1,NULL,0,0,NULL),
- (48,88,90,8,NULL,NULL,1,NULL,0,0,NULL),
- (49,81,90,7,NULL,NULL,0,NULL,0,0,NULL),
- (50,65,81,2,NULL,NULL,0,NULL,0,0,NULL),
- (51,186,196,1,NULL,NULL,1,NULL,0,0,NULL),
- (52,136,196,1,NULL,NULL,1,NULL,0,0,NULL),
- (53,186,19,1,NULL,NULL,1,NULL,0,0,NULL),
- (54,136,19,1,NULL,NULL,1,NULL,0,0,NULL),
- (55,136,186,4,NULL,NULL,1,NULL,0,0,NULL),
- (56,19,78,8,NULL,NULL,1,NULL,0,0,NULL),
- (57,186,78,8,NULL,NULL,1,NULL,0,0,NULL),
- (58,136,78,8,NULL,NULL,1,NULL,0,0,NULL),
- (59,196,78,7,NULL,NULL,1,NULL,0,0,NULL),
- (60,19,196,2,NULL,NULL,1,NULL,0,0,NULL),
- (61,176,134,1,NULL,NULL,1,NULL,0,0,NULL),
- (62,77,134,1,NULL,NULL,1,NULL,0,0,NULL),
- (63,176,154,1,NULL,NULL,1,NULL,0,0,NULL),
- (64,77,154,1,NULL,NULL,1,NULL,0,0,NULL),
- (65,77,176,4,NULL,NULL,1,NULL,0,0,NULL),
- (66,154,131,8,NULL,NULL,1,NULL,0,0,NULL),
- (67,176,131,8,NULL,NULL,1,NULL,0,0,NULL),
- (68,77,131,8,NULL,NULL,1,NULL,0,0,NULL),
- (69,134,131,7,NULL,NULL,1,NULL,0,0,NULL),
- (70,154,134,2,NULL,NULL,1,NULL,0,0,NULL),
- (71,47,193,1,NULL,NULL,1,NULL,0,0,NULL),
- (72,55,193,1,NULL,NULL,1,NULL,0,0,NULL),
- (73,47,27,1,NULL,NULL,1,NULL,0,0,NULL),
- (74,55,27,1,NULL,NULL,1,NULL,0,0,NULL),
- (75,55,47,4,NULL,NULL,1,NULL,0,0,NULL),
- (76,27,32,8,NULL,NULL,1,NULL,0,0,NULL),
- (77,47,32,8,NULL,NULL,1,NULL,0,0,NULL),
- (78,55,32,8,NULL,NULL,1,NULL,0,0,NULL),
- (79,193,32,7,NULL,NULL,0,NULL,0,0,NULL),
- (80,27,193,2,NULL,NULL,0,NULL,0,0,NULL),
- (81,114,182,1,NULL,NULL,1,NULL,0,0,NULL),
- (82,125,182,1,NULL,NULL,1,NULL,0,0,NULL),
- (83,114,53,1,NULL,NULL,1,NULL,0,0,NULL),
- (84,125,53,1,NULL,NULL,1,NULL,0,0,NULL),
- (85,125,114,4,NULL,NULL,1,NULL,0,0,NULL),
- (86,53,132,8,NULL,NULL,1,NULL,0,0,NULL),
- (87,114,132,8,NULL,NULL,1,NULL,0,0,NULL),
- (88,125,132,8,NULL,NULL,1,NULL,0,0,NULL),
- (89,182,132,7,NULL,NULL,0,NULL,0,0,NULL),
- (90,53,182,2,NULL,NULL,0,NULL,0,0,NULL),
- (91,85,139,1,NULL,NULL,1,NULL,0,0,NULL),
- (92,133,139,1,NULL,NULL,1,NULL,0,0,NULL),
- (93,85,24,1,NULL,NULL,1,NULL,0,0,NULL),
- (94,133,24,1,NULL,NULL,1,NULL,0,0,NULL),
- (95,133,85,4,NULL,NULL,1,NULL,0,0,NULL),
- (96,24,153,8,NULL,NULL,1,NULL,0,0,NULL),
- (97,85,153,8,NULL,NULL,1,NULL,0,0,NULL),
- (98,133,153,8,NULL,NULL,1,NULL,0,0,NULL),
- (99,139,153,7,NULL,NULL,0,NULL,0,0,NULL),
- (100,24,139,2,NULL,NULL,0,NULL,0,0,NULL),
- (101,87,155,1,NULL,NULL,1,NULL,0,0,NULL),
- (102,86,155,1,NULL,NULL,1,NULL,0,0,NULL),
- (103,87,123,1,NULL,NULL,1,NULL,0,0,NULL),
- (104,86,123,1,NULL,NULL,1,NULL,0,0,NULL),
- (105,86,87,4,NULL,NULL,1,NULL,0,0,NULL),
- (106,123,37,8,NULL,NULL,1,NULL,0,0,NULL),
- (107,87,37,8,NULL,NULL,1,NULL,0,0,NULL),
- (108,86,37,8,NULL,NULL,1,NULL,0,0,NULL),
- (109,155,37,7,NULL,NULL,1,NULL,0,0,NULL),
- (110,123,155,2,NULL,NULL,1,NULL,0,0,NULL),
- (111,16,75,1,NULL,NULL,1,NULL,0,0,NULL),
- (112,26,75,1,NULL,NULL,1,NULL,0,0,NULL),
- (113,16,117,1,NULL,NULL,1,NULL,0,0,NULL),
- (114,26,117,1,NULL,NULL,1,NULL,0,0,NULL),
- (115,26,16,4,NULL,NULL,1,NULL,0,0,NULL),
- (116,117,169,8,NULL,NULL,1,NULL,0,0,NULL),
- (117,16,169,8,NULL,NULL,1,NULL,0,0,NULL),
- (118,26,169,8,NULL,NULL,1,NULL,0,0,NULL),
- (119,75,169,7,NULL,NULL,0,NULL,0,0,NULL),
- (120,117,75,2,NULL,NULL,0,NULL,0,0,NULL),
- (121,181,6,1,NULL,NULL,1,NULL,0,0,NULL),
- (122,199,6,1,NULL,NULL,1,NULL,0,0,NULL),
- (123,181,36,1,NULL,NULL,1,NULL,0,0,NULL),
- (124,199,36,1,NULL,NULL,1,NULL,0,0,NULL),
- (125,199,181,4,NULL,NULL,1,NULL,0,0,NULL),
- (126,36,67,8,NULL,NULL,1,NULL,0,0,NULL),
- (127,181,67,8,NULL,NULL,1,NULL,0,0,NULL),
- (128,199,67,8,NULL,NULL,1,NULL,0,0,NULL),
- (129,6,67,7,NULL,NULL,1,NULL,0,0,NULL),
- (130,36,6,2,NULL,NULL,1,NULL,0,0,NULL),
- (131,179,51,1,NULL,NULL,1,NULL,0,0,NULL),
- (132,145,51,1,NULL,NULL,1,NULL,0,0,NULL),
- (133,179,31,1,NULL,NULL,1,NULL,0,0,NULL),
- (134,145,31,1,NULL,NULL,1,NULL,0,0,NULL),
- (135,145,179,4,NULL,NULL,1,NULL,0,0,NULL),
- (136,31,94,8,NULL,NULL,1,NULL,0,0,NULL),
- (137,179,94,8,NULL,NULL,1,NULL,0,0,NULL),
- (138,145,94,8,NULL,NULL,1,NULL,0,0,NULL),
- (139,51,94,7,NULL,NULL,1,NULL,0,0,NULL),
- (140,31,51,2,NULL,NULL,1,NULL,0,0,NULL),
- (141,41,163,1,NULL,NULL,1,NULL,0,0,NULL),
- (142,28,163,1,NULL,NULL,1,NULL,0,0,NULL),
- (143,41,74,1,NULL,NULL,1,NULL,0,0,NULL),
- (144,28,74,1,NULL,NULL,1,NULL,0,0,NULL),
- (145,28,41,4,NULL,NULL,1,NULL,0,0,NULL),
- (146,74,129,8,NULL,NULL,1,NULL,0,0,NULL),
- (147,41,129,8,NULL,NULL,1,NULL,0,0,NULL),
- (148,28,129,8,NULL,NULL,1,NULL,0,0,NULL),
- (149,163,129,7,NULL,NULL,0,NULL,0,0,NULL),
- (150,74,163,2,NULL,NULL,0,NULL,0,0,NULL),
- (151,8,191,1,NULL,NULL,1,NULL,0,0,NULL),
- (152,69,191,1,NULL,NULL,1,NULL,0,0,NULL),
- (153,8,45,1,NULL,NULL,1,NULL,0,0,NULL),
- (154,69,45,1,NULL,NULL,1,NULL,0,0,NULL),
- (155,69,8,4,NULL,NULL,1,NULL,0,0,NULL),
- (156,45,25,8,NULL,NULL,1,NULL,0,0,NULL),
- (157,8,25,8,NULL,NULL,1,NULL,0,0,NULL),
- (158,69,25,8,NULL,NULL,1,NULL,0,0,NULL),
- (159,191,25,7,NULL,NULL,0,NULL,0,0,NULL),
- (160,45,191,2,NULL,NULL,0,NULL,0,0,NULL),
- (161,152,159,1,NULL,NULL,1,NULL,0,0,NULL),
- (162,140,159,1,NULL,NULL,1,NULL,0,0,NULL),
- (163,152,5,1,NULL,NULL,1,NULL,0,0,NULL),
- (164,140,5,1,NULL,NULL,1,NULL,0,0,NULL),
- (165,140,152,4,NULL,NULL,1,NULL,0,0,NULL),
- (166,5,10,8,NULL,NULL,1,NULL,0,0,NULL),
- (167,152,10,8,NULL,NULL,1,NULL,0,0,NULL),
- (168,140,10,8,NULL,NULL,1,NULL,0,0,NULL),
- (169,159,10,7,NULL,NULL,1,NULL,0,0,NULL),
- (170,5,159,2,NULL,NULL,1,NULL,0,0,NULL),
- (171,22,99,1,NULL,NULL,1,NULL,0,0,NULL),
- (172,29,99,1,NULL,NULL,1,NULL,0,0,NULL),
- (173,22,3,1,NULL,NULL,1,NULL,0,0,NULL),
- (174,29,3,1,NULL,NULL,1,NULL,0,0,NULL),
- (175,29,22,4,NULL,NULL,1,NULL,0,0,NULL),
- (176,3,43,8,NULL,NULL,1,NULL,0,0,NULL),
- (177,22,43,8,NULL,NULL,1,NULL,0,0,NULL),
- (178,29,43,8,NULL,NULL,1,NULL,0,0,NULL),
- (179,99,43,7,NULL,NULL,1,NULL,0,0,NULL),
- (180,3,99,2,NULL,NULL,1,NULL,0,0,NULL),
- (181,175,66,1,NULL,NULL,1,NULL,0,0,NULL),
- (182,73,66,1,NULL,NULL,1,NULL,0,0,NULL),
- (183,175,23,1,NULL,NULL,1,NULL,0,0,NULL),
- (184,73,23,1,NULL,NULL,1,NULL,0,0,NULL),
- (185,73,175,4,NULL,NULL,1,NULL,0,0,NULL),
- (186,23,141,8,NULL,NULL,1,NULL,0,0,NULL),
- (187,175,141,8,NULL,NULL,1,NULL,0,0,NULL),
- (188,73,141,8,NULL,NULL,1,NULL,0,0,NULL),
- (189,66,141,7,NULL,NULL,1,NULL,0,0,NULL),
- (190,23,66,2,NULL,NULL,1,NULL,0,0,NULL),
- (191,137,38,1,NULL,NULL,1,NULL,0,0,NULL),
- (192,104,38,1,NULL,NULL,1,NULL,0,0,NULL),
- (193,137,160,1,NULL,NULL,1,NULL,0,0,NULL),
- (194,104,160,1,NULL,NULL,1,NULL,0,0,NULL),
- (195,104,137,4,NULL,NULL,1,NULL,0,0,NULL),
- (196,160,177,8,NULL,NULL,1,NULL,0,0,NULL),
- (197,137,177,8,NULL,NULL,1,NULL,0,0,NULL),
- (198,104,177,8,NULL,NULL,1,NULL,0,0,NULL),
- (199,38,177,7,NULL,NULL,0,NULL,0,0,NULL),
- (200,160,38,2,NULL,NULL,0,NULL,0,0,NULL),
- (201,19,17,5,NULL,NULL,1,NULL,0,0,NULL),
- (202,36,18,5,NULL,NULL,1,NULL,0,0,NULL),
- (203,126,21,5,NULL,NULL,1,NULL,0,0,NULL),
- (204,27,42,5,NULL,NULL,1,NULL,0,0,NULL),
- (205,135,93,5,NULL,NULL,1,NULL,0,0,NULL),
- (206,98,101,5,NULL,NULL,1,NULL,0,0,NULL),
- (207,76,102,5,NULL,NULL,1,NULL,0,0,NULL),
- (208,155,109,5,NULL,NULL,1,NULL,0,0,NULL),
- (209,136,115,5,NULL,NULL,1,NULL,0,0,NULL),
- (210,96,120,5,NULL,NULL,1,NULL,0,0,NULL),
- (211,86,173,5,NULL,NULL,1,NULL,0,0,NULL),
- (212,3,178,5,NULL,NULL,1,NULL,0,0,NULL),
- (213,119,184,5,NULL,NULL,1,NULL,0,0,NULL),
- (214,28,195,5,NULL,NULL,1,NULL,0,0,NULL);
+INSERT INTO `civicrm_relationship` (`id`, `contact_id_a`, `contact_id_b`, `relationship_type_id`, `start_date`, `end_date`, `is_active`, `description`, `is_permission_a_b`, `is_permission_b_a`, `case_id`, `created_date`, `modified_date`) VALUES
+ (1,57,106,1,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:38','2022-02-28 22:32:38'),
+ (2,15,106,1,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:38','2022-02-28 22:32:38'),
+ (3,57,169,1,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:38','2022-02-28 22:32:38'),
+ (4,15,169,1,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:38','2022-02-28 22:32:38'),
+ (5,15,57,4,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:38','2022-02-28 22:32:38'),
+ (6,169,130,8,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:38','2022-02-28 22:32:38'),
+ (7,57,130,8,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:38','2022-02-28 22:32:38'),
+ (8,15,130,8,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:38','2022-02-28 22:32:38'),
+ (9,106,130,7,NULL,NULL,0,NULL,0,0,NULL,'2022-02-28 22:32:38','2022-02-28 22:32:38'),
+ (10,169,106,2,NULL,NULL,0,NULL,0,0,NULL,'2022-02-28 22:32:38','2022-02-28 22:32:38'),
+ (11,196,160,1,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:38','2022-02-28 22:32:38'),
+ (12,6,160,1,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:38','2022-02-28 22:32:38'),
+ (13,196,63,1,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:38','2022-02-28 22:32:38'),
+ (14,6,63,1,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:38','2022-02-28 22:32:38'),
+ (15,6,196,4,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:38','2022-02-28 22:32:38'),
+ (16,63,71,8,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:38','2022-02-28 22:32:38'),
+ (17,196,71,8,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:38','2022-02-28 22:32:38'),
+ (18,6,71,8,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:38','2022-02-28 22:32:38'),
+ (19,160,71,7,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:38','2022-02-28 22:32:38'),
+ (20,63,160,2,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:38','2022-02-28 22:32:38'),
+ (21,18,157,1,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:38','2022-02-28 22:32:38'),
+ (22,12,157,1,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:38','2022-02-28 22:32:38'),
+ (23,18,120,1,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:38','2022-02-28 22:32:38'),
+ (24,12,120,1,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:38','2022-02-28 22:32:38'),
+ (25,12,18,4,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:38','2022-02-28 22:32:38'),
+ (26,120,41,8,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:38','2022-02-28 22:32:38'),
+ (27,18,41,8,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:38','2022-02-28 22:32:38'),
+ (28,12,41,8,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:38','2022-02-28 22:32:38'),
+ (29,157,41,7,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:38','2022-02-28 22:32:38'),
+ (30,120,157,2,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:38','2022-02-28 22:32:38'),
+ (31,118,36,1,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:38','2022-02-28 22:32:38'),
+ (32,176,36,1,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:38','2022-02-28 22:32:38'),
+ (33,118,181,1,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:38','2022-02-28 22:32:38'),
+ (34,176,181,1,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:38','2022-02-28 22:32:38'),
+ (35,176,118,4,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:38','2022-02-28 22:32:38'),
+ (36,181,172,8,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:38','2022-02-28 22:32:38'),
+ (37,118,172,8,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:38','2022-02-28 22:32:38'),
+ (38,176,172,8,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:38','2022-02-28 22:32:38'),
+ (39,36,172,7,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:38','2022-02-28 22:32:38'),
+ (40,181,36,2,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:38','2022-02-28 22:32:38'),
+ (41,3,5,1,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:38','2022-02-28 22:32:38'),
+ (42,149,5,1,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:38','2022-02-28 22:32:38'),
+ (43,3,75,1,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:38','2022-02-28 22:32:38'),
+ (44,149,75,1,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:38','2022-02-28 22:32:38'),
+ (45,149,3,4,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:38','2022-02-28 22:32:38'),
+ (46,75,162,8,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:38','2022-02-28 22:32:38'),
+ (47,3,162,8,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:38','2022-02-28 22:32:38'),
+ (48,149,162,8,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (49,5,162,7,NULL,NULL,0,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (50,75,5,2,NULL,NULL,0,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (51,146,192,1,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (52,159,192,1,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (53,146,82,1,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (54,159,82,1,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (55,159,146,4,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (56,82,161,8,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (57,146,161,8,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (58,159,161,8,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (59,192,161,7,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (60,82,192,2,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (61,84,183,1,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (62,90,183,1,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (63,84,198,1,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (64,90,198,1,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (65,90,84,4,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (66,198,42,8,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (67,84,42,8,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (68,90,42,8,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (69,183,42,7,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (70,198,183,2,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (71,39,24,1,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (72,32,24,1,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (73,39,49,1,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (74,32,49,1,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (75,32,39,4,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (76,49,44,8,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (77,39,44,8,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (78,32,44,8,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (79,24,44,7,NULL,NULL,0,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (80,49,24,2,NULL,NULL,0,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (81,150,62,1,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (82,180,62,1,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (83,150,168,1,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (84,180,168,1,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (85,180,150,4,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (86,168,35,8,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (87,150,35,8,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (88,180,35,8,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (89,62,35,7,NULL,NULL,0,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (90,168,62,2,NULL,NULL,0,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (91,167,175,1,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (92,65,175,1,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (93,167,152,1,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (94,65,152,1,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (95,65,167,4,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (96,152,108,8,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (97,167,108,8,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (98,65,108,8,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (99,175,108,7,NULL,NULL,0,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (100,152,175,2,NULL,NULL,0,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (101,13,148,1,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (102,141,148,1,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (103,13,107,1,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (104,141,107,1,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (105,141,13,4,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (106,107,88,8,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (107,13,88,8,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (108,141,88,8,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (109,148,88,7,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (110,107,148,2,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (111,81,154,1,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (112,34,154,1,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (113,81,20,1,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (114,34,20,1,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (115,34,81,4,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (116,20,93,8,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (117,81,93,8,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (118,34,93,8,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (119,154,93,7,NULL,NULL,0,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (120,20,154,2,NULL,NULL,0,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (121,17,48,1,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (122,70,48,1,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (123,17,47,1,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (124,70,47,1,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (125,70,17,4,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (126,47,102,8,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (127,17,102,8,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (128,70,102,8,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (129,48,102,7,NULL,NULL,0,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (130,47,48,2,NULL,NULL,0,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (131,136,144,1,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (132,19,144,1,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (133,136,85,1,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (134,19,85,1,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (135,19,136,4,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (136,85,87,8,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (137,136,87,8,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (138,19,87,8,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (139,144,87,7,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (140,85,144,2,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (141,21,109,1,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (142,95,109,1,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (143,21,73,1,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (144,95,73,1,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (145,95,21,4,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (146,73,38,8,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (147,21,38,8,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (148,95,38,8,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (149,109,38,7,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (150,73,109,2,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (151,50,185,1,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (152,51,185,1,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (153,50,113,1,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (154,51,113,1,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (155,51,50,4,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (156,113,110,8,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (157,50,110,8,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (158,51,110,8,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (159,185,110,7,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (160,113,185,2,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (161,31,147,1,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (162,128,147,1,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (163,31,132,1,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (164,128,132,1,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (165,128,31,4,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (166,132,135,8,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (167,31,135,8,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (168,128,135,8,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (169,147,135,7,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (170,132,147,2,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (171,194,94,1,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (172,89,94,1,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (173,194,96,1,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (174,89,96,1,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (175,89,194,4,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (176,96,8,8,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (177,194,8,8,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (178,89,8,8,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (179,94,8,7,NULL,NULL,0,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (180,96,94,2,NULL,NULL,0,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (181,4,16,1,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (182,189,16,1,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (183,4,7,1,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (184,189,7,1,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (185,189,4,4,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (186,7,133,8,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (187,4,133,8,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (188,189,133,8,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (189,16,133,7,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (190,7,16,2,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (191,91,40,1,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (192,156,40,1,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (193,91,97,1,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (194,156,97,1,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (195,156,91,4,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (196,97,190,8,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (197,91,190,8,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (198,156,190,8,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (199,40,190,7,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (200,97,40,2,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (201,119,22,5,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (202,186,23,5,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (203,128,25,5,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (204,19,33,5,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (205,154,54,5,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (206,36,58,5,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (207,75,60,5,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (208,169,77,5,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (209,174,83,5,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (210,120,114,5,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (211,143,142,5,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (212,27,153,5,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (213,32,158,5,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39'),
+ (214,199,191,5,NULL,NULL,1,NULL,0,0,NULL,'2022-02-28 22:32:39','2022-02-28 22:32:39');
 /*!40000 ALTER TABLE `civicrm_relationship` ENABLE KEYS */;
 UNLOCK TABLES;
 
@@ -7460,434 +7401,434 @@ UNLOCK TABLES;
 LOCK TABLES `civicrm_relationship_cache` WRITE;
 /*!40000 ALTER TABLE `civicrm_relationship_cache` DISABLE KEYS */;
 INSERT INTO `civicrm_relationship_cache` (`id`, `relationship_id`, `relationship_type_id`, `orientation`, `near_contact_id`, `near_relation`, `far_contact_id`, `far_relation`, `is_active`, `start_date`, `end_date`, `case_id`) VALUES
- (1,1,1,'a_b',121,'Child of',35,'Parent of',1,NULL,NULL,NULL),
- (2,1,1,'b_a',35,'Parent of',121,'Child of',1,NULL,NULL,NULL),
- (3,2,1,'a_b',122,'Child of',35,'Parent of',1,NULL,NULL,NULL),
- (4,2,1,'b_a',35,'Parent of',122,'Child of',1,NULL,NULL,NULL),
- (5,3,1,'a_b',121,'Child of',110,'Parent of',1,NULL,NULL,NULL),
- (6,3,1,'b_a',110,'Parent of',121,'Child of',1,NULL,NULL,NULL),
- (7,4,1,'a_b',122,'Child of',110,'Parent of',1,NULL,NULL,NULL),
- (8,4,1,'b_a',110,'Parent of',122,'Child of',1,NULL,NULL,NULL),
- (9,5,4,'a_b',122,'Sibling of',121,'Sibling of',1,NULL,NULL,NULL),
- (10,5,4,'b_a',121,'Sibling of',122,'Sibling of',1,NULL,NULL,NULL),
- (11,6,8,'a_b',110,'Household Member of',44,'Household Member is',1,NULL,NULL,NULL),
- (12,6,8,'b_a',44,'Household Member is',110,'Household Member of',1,NULL,NULL,NULL),
- (13,7,8,'a_b',121,'Household Member of',44,'Household Member is',1,NULL,NULL,NULL),
- (14,7,8,'b_a',44,'Household Member is',121,'Household Member of',1,NULL,NULL,NULL),
- (15,8,8,'a_b',122,'Household Member of',44,'Household Member is',1,NULL,NULL,NULL),
- (16,8,8,'b_a',44,'Household Member is',122,'Household Member of',1,NULL,NULL,NULL),
- (17,9,7,'a_b',35,'Head of Household for',44,'Head of Household is',0,NULL,NULL,NULL),
- (18,9,7,'b_a',44,'Head of Household is',35,'Head of Household for',0,NULL,NULL,NULL),
- (19,10,2,'a_b',110,'Spouse of',35,'Spouse of',0,NULL,NULL,NULL),
- (20,10,2,'b_a',35,'Spouse of',110,'Spouse of',0,NULL,NULL,NULL),
- (21,11,1,'a_b',52,'Child of',156,'Parent of',1,NULL,NULL,NULL),
- (22,11,1,'b_a',156,'Parent of',52,'Child of',1,NULL,NULL,NULL),
- (23,12,1,'a_b',50,'Child of',156,'Parent of',1,NULL,NULL,NULL),
- (24,12,1,'b_a',156,'Parent of',50,'Child of',1,NULL,NULL,NULL),
- (25,13,1,'a_b',52,'Child of',143,'Parent of',1,NULL,NULL,NULL),
- (26,13,1,'b_a',143,'Parent of',52,'Child of',1,NULL,NULL,NULL),
- (27,14,1,'a_b',50,'Child of',143,'Parent of',1,NULL,NULL,NULL),
- (28,14,1,'b_a',143,'Parent of',50,'Child of',1,NULL,NULL,NULL),
- (29,15,4,'a_b',50,'Sibling of',52,'Sibling of',1,NULL,NULL,NULL),
- (30,15,4,'b_a',52,'Sibling of',50,'Sibling of',1,NULL,NULL,NULL),
- (31,16,8,'a_b',143,'Household Member of',201,'Household Member is',1,NULL,NULL,NULL),
- (32,16,8,'b_a',201,'Household Member is',143,'Household Member of',1,NULL,NULL,NULL),
- (33,17,8,'a_b',52,'Household Member of',201,'Household Member is',1,NULL,NULL,NULL),
- (34,17,8,'b_a',201,'Household Member is',52,'Household Member of',1,NULL,NULL,NULL),
- (35,18,8,'a_b',50,'Household Member of',201,'Household Member is',1,NULL,NULL,NULL),
- (36,18,8,'b_a',201,'Household Member is',50,'Household Member of',1,NULL,NULL,NULL),
- (37,19,7,'a_b',156,'Head of Household for',201,'Head of Household is',0,NULL,NULL,NULL),
- (38,19,7,'b_a',201,'Head of Household is',156,'Head of Household for',0,NULL,NULL,NULL),
- (39,20,2,'a_b',143,'Spouse of',156,'Spouse of',0,NULL,NULL,NULL),
- (40,20,2,'b_a',156,'Spouse of',143,'Spouse of',0,NULL,NULL,NULL),
- (41,21,1,'a_b',165,'Child of',146,'Parent of',1,NULL,NULL,NULL),
- (42,21,1,'b_a',146,'Parent of',165,'Child of',1,NULL,NULL,NULL),
- (43,22,1,'a_b',127,'Child of',146,'Parent of',1,NULL,NULL,NULL),
- (44,22,1,'b_a',146,'Parent of',127,'Child of',1,NULL,NULL,NULL),
- (45,23,1,'a_b',165,'Child of',82,'Parent of',1,NULL,NULL,NULL),
- (46,23,1,'b_a',82,'Parent of',165,'Child of',1,NULL,NULL,NULL),
- (47,24,1,'a_b',127,'Child of',82,'Parent of',1,NULL,NULL,NULL),
- (48,24,1,'b_a',82,'Parent of',127,'Child of',1,NULL,NULL,NULL),
- (49,25,4,'a_b',127,'Sibling of',165,'Sibling of',1,NULL,NULL,NULL),
- (50,25,4,'b_a',165,'Sibling of',127,'Sibling of',1,NULL,NULL,NULL),
- (51,26,8,'a_b',82,'Household Member of',124,'Household Member is',1,NULL,NULL,NULL),
- (52,26,8,'b_a',124,'Household Member is',82,'Household Member of',1,NULL,NULL,NULL),
- (53,27,8,'a_b',165,'Household Member of',124,'Household Member is',1,NULL,NULL,NULL),
- (54,27,8,'b_a',124,'Household Member is',165,'Household Member of',1,NULL,NULL,NULL),
- (55,28,8,'a_b',127,'Household Member of',124,'Household Member is',1,NULL,NULL,NULL),
- (56,28,8,'b_a',124,'Household Member is',127,'Household Member of',1,NULL,NULL,NULL),
- (57,29,7,'a_b',146,'Head of Household for',124,'Head of Household is',0,NULL,NULL,NULL),
- (58,29,7,'b_a',124,'Head of Household is',146,'Head of Household for',0,NULL,NULL,NULL),
- (59,30,2,'a_b',82,'Spouse of',146,'Spouse of',0,NULL,NULL,NULL),
- (60,30,2,'b_a',146,'Spouse of',82,'Spouse of',0,NULL,NULL,NULL),
- (61,31,1,'a_b',72,'Child of',190,'Parent of',1,NULL,NULL,NULL),
- (62,31,1,'b_a',190,'Parent of',72,'Child of',1,NULL,NULL,NULL),
- (63,32,1,'a_b',108,'Child of',190,'Parent of',1,NULL,NULL,NULL),
- (64,32,1,'b_a',190,'Parent of',108,'Child of',1,NULL,NULL,NULL),
- (65,33,1,'a_b',72,'Child of',59,'Parent of',1,NULL,NULL,NULL),
- (66,33,1,'b_a',59,'Parent of',72,'Child of',1,NULL,NULL,NULL),
- (67,34,1,'a_b',108,'Child of',59,'Parent of',1,NULL,NULL,NULL),
- (68,34,1,'b_a',59,'Parent of',108,'Child of',1,NULL,NULL,NULL),
- (69,35,4,'a_b',108,'Sibling of',72,'Sibling of',1,NULL,NULL,NULL),
- (70,35,4,'b_a',72,'Sibling of',108,'Sibling of',1,NULL,NULL,NULL),
- (71,36,8,'a_b',59,'Household Member of',151,'Household Member is',1,NULL,NULL,NULL),
- (72,36,8,'b_a',151,'Household Member is',59,'Household Member of',1,NULL,NULL,NULL),
- (73,37,8,'a_b',72,'Household Member of',151,'Household Member is',1,NULL,NULL,NULL),
- (74,37,8,'b_a',151,'Household Member is',72,'Household Member of',1,NULL,NULL,NULL),
- (75,38,8,'a_b',108,'Household Member of',151,'Household Member is',1,NULL,NULL,NULL),
- (76,38,8,'b_a',151,'Household Member is',108,'Household Member of',1,NULL,NULL,NULL),
- (77,39,7,'a_b',190,'Head of Household for',151,'Head of Household is',1,NULL,NULL,NULL),
- (78,39,7,'b_a',151,'Head of Household is',190,'Head of Household for',1,NULL,NULL,NULL),
- (79,40,2,'a_b',59,'Spouse of',190,'Spouse of',1,NULL,NULL,NULL),
- (80,40,2,'b_a',190,'Spouse of',59,'Spouse of',1,NULL,NULL,NULL),
- (81,41,1,'a_b',189,'Child of',81,'Parent of',1,NULL,NULL,NULL),
- (82,41,1,'b_a',81,'Parent of',189,'Child of',1,NULL,NULL,NULL),
- (83,42,1,'a_b',88,'Child of',81,'Parent of',1,NULL,NULL,NULL),
- (84,42,1,'b_a',81,'Parent of',88,'Child of',1,NULL,NULL,NULL),
- (85,43,1,'a_b',189,'Child of',65,'Parent of',1,NULL,NULL,NULL),
- (86,43,1,'b_a',65,'Parent of',189,'Child of',1,NULL,NULL,NULL),
- (87,44,1,'a_b',88,'Child of',65,'Parent of',1,NULL,NULL,NULL),
- (88,44,1,'b_a',65,'Parent of',88,'Child of',1,NULL,NULL,NULL),
- (89,45,4,'a_b',88,'Sibling of',189,'Sibling of',1,NULL,NULL,NULL),
- (90,45,4,'b_a',189,'Sibling of',88,'Sibling of',1,NULL,NULL,NULL),
- (91,46,8,'a_b',65,'Household Member of',90,'Household Member is',1,NULL,NULL,NULL),
- (92,46,8,'b_a',90,'Household Member is',65,'Household Member of',1,NULL,NULL,NULL),
- (93,47,8,'a_b',189,'Household Member of',90,'Household Member is',1,NULL,NULL,NULL),
- (94,47,8,'b_a',90,'Household Member is',189,'Household Member of',1,NULL,NULL,NULL),
- (95,48,8,'a_b',88,'Household Member of',90,'Household Member is',1,NULL,NULL,NULL),
- (96,48,8,'b_a',90,'Household Member is',88,'Household Member of',1,NULL,NULL,NULL),
- (97,49,7,'a_b',81,'Head of Household for',90,'Head of Household is',0,NULL,NULL,NULL),
- (98,49,7,'b_a',90,'Head of Household is',81,'Head of Household for',0,NULL,NULL,NULL),
- (99,50,2,'a_b',65,'Spouse of',81,'Spouse of',0,NULL,NULL,NULL),
- (100,50,2,'b_a',81,'Spouse of',65,'Spouse of',0,NULL,NULL,NULL),
- (101,51,1,'a_b',186,'Child of',196,'Parent of',1,NULL,NULL,NULL),
- (102,51,1,'b_a',196,'Parent of',186,'Child of',1,NULL,NULL,NULL),
- (103,52,1,'a_b',136,'Child of',196,'Parent of',1,NULL,NULL,NULL),
- (104,52,1,'b_a',196,'Parent of',136,'Child of',1,NULL,NULL,NULL),
- (105,53,1,'a_b',186,'Child of',19,'Parent of',1,NULL,NULL,NULL),
- (106,53,1,'b_a',19,'Parent of',186,'Child of',1,NULL,NULL,NULL),
- (107,54,1,'a_b',136,'Child of',19,'Parent of',1,NULL,NULL,NULL),
- (108,54,1,'b_a',19,'Parent of',136,'Child of',1,NULL,NULL,NULL),
- (109,55,4,'a_b',136,'Sibling of',186,'Sibling of',1,NULL,NULL,NULL),
- (110,55,4,'b_a',186,'Sibling of',136,'Sibling of',1,NULL,NULL,NULL),
- (111,56,8,'a_b',19,'Household Member of',78,'Household Member is',1,NULL,NULL,NULL),
- (112,56,8,'b_a',78,'Household Member is',19,'Household Member of',1,NULL,NULL,NULL),
- (113,57,8,'a_b',186,'Household Member of',78,'Household Member is',1,NULL,NULL,NULL),
- (114,57,8,'b_a',78,'Household Member is',186,'Household Member of',1,NULL,NULL,NULL),
- (115,58,8,'a_b',136,'Household Member of',78,'Household Member is',1,NULL,NULL,NULL),
- (116,58,8,'b_a',78,'Household Member is',136,'Household Member of',1,NULL,NULL,NULL),
- (117,59,7,'a_b',196,'Head of Household for',78,'Head of Household is',1,NULL,NULL,NULL),
- (118,59,7,'b_a',78,'Head of Household is',196,'Head of Household for',1,NULL,NULL,NULL),
- (119,60,2,'a_b',19,'Spouse of',196,'Spouse of',1,NULL,NULL,NULL),
- (120,60,2,'b_a',196,'Spouse of',19,'Spouse of',1,NULL,NULL,NULL),
- (121,61,1,'a_b',176,'Child of',134,'Parent of',1,NULL,NULL,NULL),
- (122,61,1,'b_a',134,'Parent of',176,'Child of',1,NULL,NULL,NULL),
- (123,62,1,'a_b',77,'Child of',134,'Parent of',1,NULL,NULL,NULL),
- (124,62,1,'b_a',134,'Parent of',77,'Child of',1,NULL,NULL,NULL),
- (125,63,1,'a_b',176,'Child of',154,'Parent of',1,NULL,NULL,NULL),
- (126,63,1,'b_a',154,'Parent of',176,'Child of',1,NULL,NULL,NULL),
- (127,64,1,'a_b',77,'Child of',154,'Parent of',1,NULL,NULL,NULL),
- (128,64,1,'b_a',154,'Parent of',77,'Child of',1,NULL,NULL,NULL),
- (129,65,4,'a_b',77,'Sibling of',176,'Sibling of',1,NULL,NULL,NULL),
- (130,65,4,'b_a',176,'Sibling of',77,'Sibling of',1,NULL,NULL,NULL),
- (131,66,8,'a_b',154,'Household Member of',131,'Household Member is',1,NULL,NULL,NULL),
- (132,66,8,'b_a',131,'Household Member is',154,'Household Member of',1,NULL,NULL,NULL),
- (133,67,8,'a_b',176,'Household Member of',131,'Household Member is',1,NULL,NULL,NULL),
- (134,67,8,'b_a',131,'Household Member is',176,'Household Member of',1,NULL,NULL,NULL),
- (135,68,8,'a_b',77,'Household Member of',131,'Household Member is',1,NULL,NULL,NULL),
- (136,68,8,'b_a',131,'Household Member is',77,'Household Member of',1,NULL,NULL,NULL),
- (137,69,7,'a_b',134,'Head of Household for',131,'Head of Household is',1,NULL,NULL,NULL),
- (138,69,7,'b_a',131,'Head of Household is',134,'Head of Household for',1,NULL,NULL,NULL),
- (139,70,2,'a_b',154,'Spouse of',134,'Spouse of',1,NULL,NULL,NULL),
- (140,70,2,'b_a',134,'Spouse of',154,'Spouse of',1,NULL,NULL,NULL),
- (141,71,1,'a_b',47,'Child of',193,'Parent of',1,NULL,NULL,NULL),
- (142,71,1,'b_a',193,'Parent of',47,'Child of',1,NULL,NULL,NULL),
- (143,72,1,'a_b',55,'Child of',193,'Parent of',1,NULL,NULL,NULL),
- (144,72,1,'b_a',193,'Parent of',55,'Child of',1,NULL,NULL,NULL),
- (145,73,1,'a_b',47,'Child of',27,'Parent of',1,NULL,NULL,NULL),
- (146,73,1,'b_a',27,'Parent of',47,'Child of',1,NULL,NULL,NULL),
- (147,74,1,'a_b',55,'Child of',27,'Parent of',1,NULL,NULL,NULL),
- (148,74,1,'b_a',27,'Parent of',55,'Child of',1,NULL,NULL,NULL),
- (149,75,4,'a_b',55,'Sibling of',47,'Sibling of',1,NULL,NULL,NULL),
- (150,75,4,'b_a',47,'Sibling of',55,'Sibling of',1,NULL,NULL,NULL),
- (151,76,8,'a_b',27,'Household Member of',32,'Household Member is',1,NULL,NULL,NULL),
- (152,76,8,'b_a',32,'Household Member is',27,'Household Member of',1,NULL,NULL,NULL),
- (153,77,8,'a_b',47,'Household Member of',32,'Household Member is',1,NULL,NULL,NULL),
- (154,77,8,'b_a',32,'Household Member is',47,'Household Member of',1,NULL,NULL,NULL),
- (155,78,8,'a_b',55,'Household Member of',32,'Household Member is',1,NULL,NULL,NULL),
- (156,78,8,'b_a',32,'Household Member is',55,'Household Member of',1,NULL,NULL,NULL),
- (157,79,7,'a_b',193,'Head of Household for',32,'Head of Household is',0,NULL,NULL,NULL),
- (158,79,7,'b_a',32,'Head of Household is',193,'Head of Household for',0,NULL,NULL,NULL),
- (159,80,2,'a_b',27,'Spouse of',193,'Spouse of',0,NULL,NULL,NULL),
- (160,80,2,'b_a',193,'Spouse of',27,'Spouse of',0,NULL,NULL,NULL),
- (161,81,1,'a_b',114,'Child of',182,'Parent of',1,NULL,NULL,NULL),
- (162,81,1,'b_a',182,'Parent of',114,'Child of',1,NULL,NULL,NULL),
- (163,82,1,'a_b',125,'Child of',182,'Parent of',1,NULL,NULL,NULL),
- (164,82,1,'b_a',182,'Parent of',125,'Child of',1,NULL,NULL,NULL),
- (165,83,1,'a_b',114,'Child of',53,'Parent of',1,NULL,NULL,NULL),
- (166,83,1,'b_a',53,'Parent of',114,'Child of',1,NULL,NULL,NULL),
- (167,84,1,'a_b',125,'Child of',53,'Parent of',1,NULL,NULL,NULL),
- (168,84,1,'b_a',53,'Parent of',125,'Child of',1,NULL,NULL,NULL),
- (169,85,4,'a_b',125,'Sibling of',114,'Sibling of',1,NULL,NULL,NULL),
- (170,85,4,'b_a',114,'Sibling of',125,'Sibling of',1,NULL,NULL,NULL),
- (171,86,8,'a_b',53,'Household Member of',132,'Household Member is',1,NULL,NULL,NULL),
- (172,86,8,'b_a',132,'Household Member is',53,'Household Member of',1,NULL,NULL,NULL),
- (173,87,8,'a_b',114,'Household Member of',132,'Household Member is',1,NULL,NULL,NULL),
- (174,87,8,'b_a',132,'Household Member is',114,'Household Member of',1,NULL,NULL,NULL),
- (175,88,8,'a_b',125,'Household Member of',132,'Household Member is',1,NULL,NULL,NULL),
- (176,88,8,'b_a',132,'Household Member is',125,'Household Member of',1,NULL,NULL,NULL),
- (177,89,7,'a_b',182,'Head of Household for',132,'Head of Household is',0,NULL,NULL,NULL),
- (178,89,7,'b_a',132,'Head of Household is',182,'Head of Household for',0,NULL,NULL,NULL),
- (179,90,2,'a_b',53,'Spouse of',182,'Spouse of',0,NULL,NULL,NULL),
- (180,90,2,'b_a',182,'Spouse of',53,'Spouse of',0,NULL,NULL,NULL),
- (181,91,1,'a_b',85,'Child of',139,'Parent of',1,NULL,NULL,NULL),
- (182,91,1,'b_a',139,'Parent of',85,'Child of',1,NULL,NULL,NULL),
- (183,92,1,'a_b',133,'Child of',139,'Parent of',1,NULL,NULL,NULL),
- (184,92,1,'b_a',139,'Parent of',133,'Child of',1,NULL,NULL,NULL),
- (185,93,1,'a_b',85,'Child of',24,'Parent of',1,NULL,NULL,NULL),
- (186,93,1,'b_a',24,'Parent of',85,'Child of',1,NULL,NULL,NULL),
- (187,94,1,'a_b',133,'Child of',24,'Parent of',1,NULL,NULL,NULL),
- (188,94,1,'b_a',24,'Parent of',133,'Child of',1,NULL,NULL,NULL),
- (189,95,4,'a_b',133,'Sibling of',85,'Sibling of',1,NULL,NULL,NULL),
- (190,95,4,'b_a',85,'Sibling of',133,'Sibling of',1,NULL,NULL,NULL),
- (191,96,8,'a_b',24,'Household Member of',153,'Household Member is',1,NULL,NULL,NULL),
- (192,96,8,'b_a',153,'Household Member is',24,'Household Member of',1,NULL,NULL,NULL),
- (193,97,8,'a_b',85,'Household Member of',153,'Household Member is',1,NULL,NULL,NULL),
- (194,97,8,'b_a',153,'Household Member is',85,'Household Member of',1,NULL,NULL,NULL),
- (195,98,8,'a_b',133,'Household Member of',153,'Household Member is',1,NULL,NULL,NULL),
- (196,98,8,'b_a',153,'Household Member is',133,'Household Member of',1,NULL,NULL,NULL),
- (197,99,7,'a_b',139,'Head of Household for',153,'Head of Household is',0,NULL,NULL,NULL),
- (198,99,7,'b_a',153,'Head of Household is',139,'Head of Household for',0,NULL,NULL,NULL),
- (199,100,2,'a_b',24,'Spouse of',139,'Spouse of',0,NULL,NULL,NULL),
- (200,100,2,'b_a',139,'Spouse of',24,'Spouse of',0,NULL,NULL,NULL),
- (201,101,1,'a_b',87,'Child of',155,'Parent of',1,NULL,NULL,NULL),
- (202,101,1,'b_a',155,'Parent of',87,'Child of',1,NULL,NULL,NULL),
- (203,102,1,'a_b',86,'Child of',155,'Parent of',1,NULL,NULL,NULL),
- (204,102,1,'b_a',155,'Parent of',86,'Child of',1,NULL,NULL,NULL),
- (205,103,1,'a_b',87,'Child of',123,'Parent of',1,NULL,NULL,NULL),
- (206,103,1,'b_a',123,'Parent of',87,'Child of',1,NULL,NULL,NULL),
- (207,104,1,'a_b',86,'Child of',123,'Parent of',1,NULL,NULL,NULL),
- (208,104,1,'b_a',123,'Parent of',86,'Child of',1,NULL,NULL,NULL),
- (209,105,4,'a_b',86,'Sibling of',87,'Sibling of',1,NULL,NULL,NULL),
- (210,105,4,'b_a',87,'Sibling of',86,'Sibling of',1,NULL,NULL,NULL),
- (211,106,8,'a_b',123,'Household Member of',37,'Household Member is',1,NULL,NULL,NULL),
- (212,106,8,'b_a',37,'Household Member is',123,'Household Member of',1,NULL,NULL,NULL),
- (213,107,8,'a_b',87,'Household Member of',37,'Household Member is',1,NULL,NULL,NULL),
- (214,107,8,'b_a',37,'Household Member is',87,'Household Member of',1,NULL,NULL,NULL),
- (215,108,8,'a_b',86,'Household Member of',37,'Household Member is',1,NULL,NULL,NULL),
- (216,108,8,'b_a',37,'Household Member is',86,'Household Member of',1,NULL,NULL,NULL),
- (217,109,7,'a_b',155,'Head of Household for',37,'Head of Household is',1,NULL,NULL,NULL),
- (218,109,7,'b_a',37,'Head of Household is',155,'Head of Household for',1,NULL,NULL,NULL),
- (219,110,2,'a_b',123,'Spouse of',155,'Spouse of',1,NULL,NULL,NULL),
- (220,110,2,'b_a',155,'Spouse of',123,'Spouse of',1,NULL,NULL,NULL),
- (221,111,1,'a_b',16,'Child of',75,'Parent of',1,NULL,NULL,NULL),
- (222,111,1,'b_a',75,'Parent of',16,'Child of',1,NULL,NULL,NULL),
- (223,112,1,'a_b',26,'Child of',75,'Parent of',1,NULL,NULL,NULL),
- (224,112,1,'b_a',75,'Parent of',26,'Child of',1,NULL,NULL,NULL),
- (225,113,1,'a_b',16,'Child of',117,'Parent of',1,NULL,NULL,NULL),
- (226,113,1,'b_a',117,'Parent of',16,'Child of',1,NULL,NULL,NULL),
- (227,114,1,'a_b',26,'Child of',117,'Parent of',1,NULL,NULL,NULL),
- (228,114,1,'b_a',117,'Parent of',26,'Child of',1,NULL,NULL,NULL),
- (229,115,4,'a_b',26,'Sibling of',16,'Sibling of',1,NULL,NULL,NULL),
- (230,115,4,'b_a',16,'Sibling of',26,'Sibling of',1,NULL,NULL,NULL),
- (231,116,8,'a_b',117,'Household Member of',169,'Household Member is',1,NULL,NULL,NULL),
- (232,116,8,'b_a',169,'Household Member is',117,'Household Member of',1,NULL,NULL,NULL),
- (233,117,8,'a_b',16,'Household Member of',169,'Household Member is',1,NULL,NULL,NULL),
- (234,117,8,'b_a',169,'Household Member is',16,'Household Member of',1,NULL,NULL,NULL),
- (235,118,8,'a_b',26,'Household Member of',169,'Household Member is',1,NULL,NULL,NULL),
- (236,118,8,'b_a',169,'Household Member is',26,'Household Member of',1,NULL,NULL,NULL),
- (237,119,7,'a_b',75,'Head of Household for',169,'Head of Household is',0,NULL,NULL,NULL),
- (238,119,7,'b_a',169,'Head of Household is',75,'Head of Household for',0,NULL,NULL,NULL),
- (239,120,2,'a_b',117,'Spouse of',75,'Spouse of',0,NULL,NULL,NULL),
- (240,120,2,'b_a',75,'Spouse of',117,'Spouse of',0,NULL,NULL,NULL),
- (241,121,1,'a_b',181,'Child of',6,'Parent of',1,NULL,NULL,NULL),
- (242,121,1,'b_a',6,'Parent of',181,'Child of',1,NULL,NULL,NULL),
- (243,122,1,'a_b',199,'Child of',6,'Parent of',1,NULL,NULL,NULL),
- (244,122,1,'b_a',6,'Parent of',199,'Child of',1,NULL,NULL,NULL),
- (245,123,1,'a_b',181,'Child of',36,'Parent of',1,NULL,NULL,NULL),
- (246,123,1,'b_a',36,'Parent of',181,'Child of',1,NULL,NULL,NULL),
- (247,124,1,'a_b',199,'Child of',36,'Parent of',1,NULL,NULL,NULL),
- (248,124,1,'b_a',36,'Parent of',199,'Child of',1,NULL,NULL,NULL),
- (249,125,4,'a_b',199,'Sibling of',181,'Sibling of',1,NULL,NULL,NULL),
- (250,125,4,'b_a',181,'Sibling of',199,'Sibling of',1,NULL,NULL,NULL),
- (251,126,8,'a_b',36,'Household Member of',67,'Household Member is',1,NULL,NULL,NULL),
- (252,126,8,'b_a',67,'Household Member is',36,'Household Member of',1,NULL,NULL,NULL),
- (253,127,8,'a_b',181,'Household Member of',67,'Household Member is',1,NULL,NULL,NULL),
- (254,127,8,'b_a',67,'Household Member is',181,'Household Member of',1,NULL,NULL,NULL),
- (255,128,8,'a_b',199,'Household Member of',67,'Household Member is',1,NULL,NULL,NULL),
- (256,128,8,'b_a',67,'Household Member is',199,'Household Member of',1,NULL,NULL,NULL),
- (257,129,7,'a_b',6,'Head of Household for',67,'Head of Household is',1,NULL,NULL,NULL),
- (258,129,7,'b_a',67,'Head of Household is',6,'Head of Household for',1,NULL,NULL,NULL),
- (259,130,2,'a_b',36,'Spouse of',6,'Spouse of',1,NULL,NULL,NULL),
- (260,130,2,'b_a',6,'Spouse of',36,'Spouse of',1,NULL,NULL,NULL),
- (261,131,1,'a_b',179,'Child of',51,'Parent of',1,NULL,NULL,NULL),
- (262,131,1,'b_a',51,'Parent of',179,'Child of',1,NULL,NULL,NULL),
- (263,132,1,'a_b',145,'Child of',51,'Parent of',1,NULL,NULL,NULL),
- (264,132,1,'b_a',51,'Parent of',145,'Child of',1,NULL,NULL,NULL),
- (265,133,1,'a_b',179,'Child of',31,'Parent of',1,NULL,NULL,NULL),
- (266,133,1,'b_a',31,'Parent of',179,'Child of',1,NULL,NULL,NULL),
- (267,134,1,'a_b',145,'Child of',31,'Parent of',1,NULL,NULL,NULL),
- (268,134,1,'b_a',31,'Parent of',145,'Child of',1,NULL,NULL,NULL),
- (269,135,4,'a_b',145,'Sibling of',179,'Sibling of',1,NULL,NULL,NULL),
- (270,135,4,'b_a',179,'Sibling of',145,'Sibling of',1,NULL,NULL,NULL),
- (271,136,8,'a_b',31,'Household Member of',94,'Household Member is',1,NULL,NULL,NULL),
- (272,136,8,'b_a',94,'Household Member is',31,'Household Member of',1,NULL,NULL,NULL),
- (273,137,8,'a_b',179,'Household Member of',94,'Household Member is',1,NULL,NULL,NULL),
- (274,137,8,'b_a',94,'Household Member is',179,'Household Member of',1,NULL,NULL,NULL),
- (275,138,8,'a_b',145,'Household Member of',94,'Household Member is',1,NULL,NULL,NULL),
- (276,138,8,'b_a',94,'Household Member is',145,'Household Member of',1,NULL,NULL,NULL),
- (277,139,7,'a_b',51,'Head of Household for',94,'Head of Household is',1,NULL,NULL,NULL),
- (278,139,7,'b_a',94,'Head of Household is',51,'Head of Household for',1,NULL,NULL,NULL),
- (279,140,2,'a_b',31,'Spouse of',51,'Spouse of',1,NULL,NULL,NULL),
- (280,140,2,'b_a',51,'Spouse of',31,'Spouse of',1,NULL,NULL,NULL),
- (281,141,1,'a_b',41,'Child of',163,'Parent of',1,NULL,NULL,NULL),
- (282,141,1,'b_a',163,'Parent of',41,'Child of',1,NULL,NULL,NULL),
- (283,142,1,'a_b',28,'Child of',163,'Parent of',1,NULL,NULL,NULL),
- (284,142,1,'b_a',163,'Parent of',28,'Child of',1,NULL,NULL,NULL),
- (285,143,1,'a_b',41,'Child of',74,'Parent of',1,NULL,NULL,NULL),
- (286,143,1,'b_a',74,'Parent of',41,'Child of',1,NULL,NULL,NULL),
- (287,144,1,'a_b',28,'Child of',74,'Parent of',1,NULL,NULL,NULL),
- (288,144,1,'b_a',74,'Parent of',28,'Child of',1,NULL,NULL,NULL),
- (289,145,4,'a_b',28,'Sibling of',41,'Sibling of',1,NULL,NULL,NULL),
- (290,145,4,'b_a',41,'Sibling of',28,'Sibling of',1,NULL,NULL,NULL),
- (291,146,8,'a_b',74,'Household Member of',129,'Household Member is',1,NULL,NULL,NULL),
- (292,146,8,'b_a',129,'Household Member is',74,'Household Member of',1,NULL,NULL,NULL),
- (293,147,8,'a_b',41,'Household Member of',129,'Household Member is',1,NULL,NULL,NULL),
- (294,147,8,'b_a',129,'Household Member is',41,'Household Member of',1,NULL,NULL,NULL),
- (295,148,8,'a_b',28,'Household Member of',129,'Household Member is',1,NULL,NULL,NULL),
- (296,148,8,'b_a',129,'Household Member is',28,'Household Member of',1,NULL,NULL,NULL),
- (297,149,7,'a_b',163,'Head of Household for',129,'Head of Household is',0,NULL,NULL,NULL),
- (298,149,7,'b_a',129,'Head of Household is',163,'Head of Household for',0,NULL,NULL,NULL),
- (299,150,2,'a_b',74,'Spouse of',163,'Spouse of',0,NULL,NULL,NULL),
- (300,150,2,'b_a',163,'Spouse of',74,'Spouse of',0,NULL,NULL,NULL),
- (301,151,1,'a_b',8,'Child of',191,'Parent of',1,NULL,NULL,NULL),
- (302,151,1,'b_a',191,'Parent of',8,'Child of',1,NULL,NULL,NULL),
- (303,152,1,'a_b',69,'Child of',191,'Parent of',1,NULL,NULL,NULL),
- (304,152,1,'b_a',191,'Parent of',69,'Child of',1,NULL,NULL,NULL),
- (305,153,1,'a_b',8,'Child of',45,'Parent of',1,NULL,NULL,NULL),
- (306,153,1,'b_a',45,'Parent of',8,'Child of',1,NULL,NULL,NULL),
- (307,154,1,'a_b',69,'Child of',45,'Parent of',1,NULL,NULL,NULL),
- (308,154,1,'b_a',45,'Parent of',69,'Child of',1,NULL,NULL,NULL),
- (309,155,4,'a_b',69,'Sibling of',8,'Sibling of',1,NULL,NULL,NULL),
- (310,155,4,'b_a',8,'Sibling of',69,'Sibling of',1,NULL,NULL,NULL),
- (311,156,8,'a_b',45,'Household Member of',25,'Household Member is',1,NULL,NULL,NULL),
- (312,156,8,'b_a',25,'Household Member is',45,'Household Member of',1,NULL,NULL,NULL),
- (313,157,8,'a_b',8,'Household Member of',25,'Household Member is',1,NULL,NULL,NULL),
- (314,157,8,'b_a',25,'Household Member is',8,'Household Member of',1,NULL,NULL,NULL),
- (315,158,8,'a_b',69,'Household Member of',25,'Household Member is',1,NULL,NULL,NULL),
- (316,158,8,'b_a',25,'Household Member is',69,'Household Member of',1,NULL,NULL,NULL),
- (317,159,7,'a_b',191,'Head of Household for',25,'Head of Household is',0,NULL,NULL,NULL),
- (318,159,7,'b_a',25,'Head of Household is',191,'Head of Household for',0,NULL,NULL,NULL),
- (319,160,2,'a_b',45,'Spouse of',191,'Spouse of',0,NULL,NULL,NULL),
- (320,160,2,'b_a',191,'Spouse of',45,'Spouse of',0,NULL,NULL,NULL),
- (321,161,1,'a_b',152,'Child of',159,'Parent of',1,NULL,NULL,NULL),
- (322,161,1,'b_a',159,'Parent of',152,'Child of',1,NULL,NULL,NULL),
- (323,162,1,'a_b',140,'Child of',159,'Parent of',1,NULL,NULL,NULL),
- (324,162,1,'b_a',159,'Parent of',140,'Child of',1,NULL,NULL,NULL),
- (325,163,1,'a_b',152,'Child of',5,'Parent of',1,NULL,NULL,NULL),
- (326,163,1,'b_a',5,'Parent of',152,'Child of',1,NULL,NULL,NULL),
- (327,164,1,'a_b',140,'Child of',5,'Parent of',1,NULL,NULL,NULL),
- (328,164,1,'b_a',5,'Parent of',140,'Child of',1,NULL,NULL,NULL),
- (329,165,4,'a_b',140,'Sibling of',152,'Sibling of',1,NULL,NULL,NULL),
- (330,165,4,'b_a',152,'Sibling of',140,'Sibling of',1,NULL,NULL,NULL),
- (331,166,8,'a_b',5,'Household Member of',10,'Household Member is',1,NULL,NULL,NULL),
- (332,166,8,'b_a',10,'Household Member is',5,'Household Member of',1,NULL,NULL,NULL),
- (333,167,8,'a_b',152,'Household Member of',10,'Household Member is',1,NULL,NULL,NULL),
- (334,167,8,'b_a',10,'Household Member is',152,'Household Member of',1,NULL,NULL,NULL),
- (335,168,8,'a_b',140,'Household Member of',10,'Household Member is',1,NULL,NULL,NULL),
- (336,168,8,'b_a',10,'Household Member is',140,'Household Member of',1,NULL,NULL,NULL),
- (337,169,7,'a_b',159,'Head of Household for',10,'Head of Household is',1,NULL,NULL,NULL),
- (338,169,7,'b_a',10,'Head of Household is',159,'Head of Household for',1,NULL,NULL,NULL),
- (339,170,2,'a_b',5,'Spouse of',159,'Spouse of',1,NULL,NULL,NULL),
- (340,170,2,'b_a',159,'Spouse of',5,'Spouse of',1,NULL,NULL,NULL),
- (341,171,1,'a_b',22,'Child of',99,'Parent of',1,NULL,NULL,NULL),
- (342,171,1,'b_a',99,'Parent of',22,'Child of',1,NULL,NULL,NULL),
- (343,172,1,'a_b',29,'Child of',99,'Parent of',1,NULL,NULL,NULL),
- (344,172,1,'b_a',99,'Parent of',29,'Child of',1,NULL,NULL,NULL),
- (345,173,1,'a_b',22,'Child of',3,'Parent of',1,NULL,NULL,NULL),
- (346,173,1,'b_a',3,'Parent of',22,'Child of',1,NULL,NULL,NULL),
- (347,174,1,'a_b',29,'Child of',3,'Parent of',1,NULL,NULL,NULL),
- (348,174,1,'b_a',3,'Parent of',29,'Child of',1,NULL,NULL,NULL),
- (349,175,4,'a_b',29,'Sibling of',22,'Sibling of',1,NULL,NULL,NULL),
- (350,175,4,'b_a',22,'Sibling of',29,'Sibling of',1,NULL,NULL,NULL),
- (351,176,8,'a_b',3,'Household Member of',43,'Household Member is',1,NULL,NULL,NULL),
- (352,176,8,'b_a',43,'Household Member is',3,'Household Member of',1,NULL,NULL,NULL),
- (353,177,8,'a_b',22,'Household Member of',43,'Household Member is',1,NULL,NULL,NULL),
- (354,177,8,'b_a',43,'Household Member is',22,'Household Member of',1,NULL,NULL,NULL),
- (355,178,8,'a_b',29,'Household Member of',43,'Household Member is',1,NULL,NULL,NULL),
- (356,178,8,'b_a',43,'Household Member is',29,'Household Member of',1,NULL,NULL,NULL),
- (357,179,7,'a_b',99,'Head of Household for',43,'Head of Household is',1,NULL,NULL,NULL),
- (358,179,7,'b_a',43,'Head of Household is',99,'Head of Household for',1,NULL,NULL,NULL),
- (359,180,2,'a_b',3,'Spouse of',99,'Spouse of',1,NULL,NULL,NULL),
- (360,180,2,'b_a',99,'Spouse of',3,'Spouse of',1,NULL,NULL,NULL),
- (361,181,1,'a_b',175,'Child of',66,'Parent of',1,NULL,NULL,NULL),
- (362,181,1,'b_a',66,'Parent of',175,'Child of',1,NULL,NULL,NULL),
- (363,182,1,'a_b',73,'Child of',66,'Parent of',1,NULL,NULL,NULL),
- (364,182,1,'b_a',66,'Parent of',73,'Child of',1,NULL,NULL,NULL),
- (365,183,1,'a_b',175,'Child of',23,'Parent of',1,NULL,NULL,NULL),
- (366,183,1,'b_a',23,'Parent of',175,'Child of',1,NULL,NULL,NULL),
- (367,184,1,'a_b',73,'Child of',23,'Parent of',1,NULL,NULL,NULL),
- (368,184,1,'b_a',23,'Parent of',73,'Child of',1,NULL,NULL,NULL),
- (369,185,4,'a_b',73,'Sibling of',175,'Sibling of',1,NULL,NULL,NULL),
- (370,185,4,'b_a',175,'Sibling of',73,'Sibling of',1,NULL,NULL,NULL),
- (371,186,8,'a_b',23,'Household Member of',141,'Household Member is',1,NULL,NULL,NULL),
- (372,186,8,'b_a',141,'Household Member is',23,'Household Member of',1,NULL,NULL,NULL),
- (373,187,8,'a_b',175,'Household Member of',141,'Household Member is',1,NULL,NULL,NULL),
- (374,187,8,'b_a',141,'Household Member is',175,'Household Member of',1,NULL,NULL,NULL),
- (375,188,8,'a_b',73,'Household Member of',141,'Household Member is',1,NULL,NULL,NULL),
- (376,188,8,'b_a',141,'Household Member is',73,'Household Member of',1,NULL,NULL,NULL),
- (377,189,7,'a_b',66,'Head of Household for',141,'Head of Household is',1,NULL,NULL,NULL),
- (378,189,7,'b_a',141,'Head of Household is',66,'Head of Household for',1,NULL,NULL,NULL),
- (379,190,2,'a_b',23,'Spouse of',66,'Spouse of',1,NULL,NULL,NULL),
- (380,190,2,'b_a',66,'Spouse of',23,'Spouse of',1,NULL,NULL,NULL),
- (381,191,1,'a_b',137,'Child of',38,'Parent of',1,NULL,NULL,NULL),
- (382,191,1,'b_a',38,'Parent of',137,'Child of',1,NULL,NULL,NULL),
- (383,192,1,'a_b',104,'Child of',38,'Parent of',1,NULL,NULL,NULL),
- (384,192,1,'b_a',38,'Parent of',104,'Child of',1,NULL,NULL,NULL),
- (385,193,1,'a_b',137,'Child of',160,'Parent of',1,NULL,NULL,NULL),
- (386,193,1,'b_a',160,'Parent of',137,'Child of',1,NULL,NULL,NULL),
- (387,194,1,'a_b',104,'Child of',160,'Parent of',1,NULL,NULL,NULL),
- (388,194,1,'b_a',160,'Parent of',104,'Child of',1,NULL,NULL,NULL),
- (389,195,4,'a_b',104,'Sibling of',137,'Sibling of',1,NULL,NULL,NULL),
- (390,195,4,'b_a',137,'Sibling of',104,'Sibling of',1,NULL,NULL,NULL),
- (391,196,8,'a_b',160,'Household Member of',177,'Household Member is',1,NULL,NULL,NULL),
- (392,196,8,'b_a',177,'Household Member is',160,'Household Member of',1,NULL,NULL,NULL),
- (393,197,8,'a_b',137,'Household Member of',177,'Household Member is',1,NULL,NULL,NULL),
- (394,197,8,'b_a',177,'Household Member is',137,'Household Member of',1,NULL,NULL,NULL),
- (395,198,8,'a_b',104,'Household Member of',177,'Household Member is',1,NULL,NULL,NULL),
- (396,198,8,'b_a',177,'Household Member is',104,'Household Member of',1,NULL,NULL,NULL),
- (397,199,7,'a_b',38,'Head of Household for',177,'Head of Household is',0,NULL,NULL,NULL),
- (398,199,7,'b_a',177,'Head of Household is',38,'Head of Household for',0,NULL,NULL,NULL),
- (399,200,2,'a_b',160,'Spouse of',38,'Spouse of',0,NULL,NULL,NULL),
- (400,200,2,'b_a',38,'Spouse of',160,'Spouse of',0,NULL,NULL,NULL),
- (401,201,5,'a_b',19,'Employee of',17,'Employer of',1,NULL,NULL,NULL),
- (402,201,5,'b_a',17,'Employer of',19,'Employee of',1,NULL,NULL,NULL),
- (403,202,5,'a_b',36,'Employee of',18,'Employer of',1,NULL,NULL,NULL),
- (404,202,5,'b_a',18,'Employer of',36,'Employee of',1,NULL,NULL,NULL),
- (405,203,5,'a_b',126,'Employee of',21,'Employer of',1,NULL,NULL,NULL),
- (406,203,5,'b_a',21,'Employer of',126,'Employee of',1,NULL,NULL,NULL),
- (407,204,5,'a_b',27,'Employee of',42,'Employer of',1,NULL,NULL,NULL),
- (408,204,5,'b_a',42,'Employer of',27,'Employee of',1,NULL,NULL,NULL),
- (409,205,5,'a_b',135,'Employee of',93,'Employer of',1,NULL,NULL,NULL),
- (410,205,5,'b_a',93,'Employer of',135,'Employee of',1,NULL,NULL,NULL),
- (411,206,5,'a_b',98,'Employee of',101,'Employer of',1,NULL,NULL,NULL),
- (412,206,5,'b_a',101,'Employer of',98,'Employee of',1,NULL,NULL,NULL),
- (413,207,5,'a_b',76,'Employee of',102,'Employer of',1,NULL,NULL,NULL),
- (414,207,5,'b_a',102,'Employer of',76,'Employee of',1,NULL,NULL,NULL),
- (415,208,5,'a_b',155,'Employee of',109,'Employer of',1,NULL,NULL,NULL),
- (416,208,5,'b_a',109,'Employer of',155,'Employee of',1,NULL,NULL,NULL),
- (417,209,5,'a_b',136,'Employee of',115,'Employer of',1,NULL,NULL,NULL),
- (418,209,5,'b_a',115,'Employer of',136,'Employee of',1,NULL,NULL,NULL),
- (419,210,5,'a_b',96,'Employee of',120,'Employer of',1,NULL,NULL,NULL),
- (420,210,5,'b_a',120,'Employer of',96,'Employee of',1,NULL,NULL,NULL),
- (421,211,5,'a_b',86,'Employee of',173,'Employer of',1,NULL,NULL,NULL),
- (422,211,5,'b_a',173,'Employer of',86,'Employee of',1,NULL,NULL,NULL),
- (423,212,5,'a_b',3,'Employee of',178,'Employer of',1,NULL,NULL,NULL),
- (424,212,5,'b_a',178,'Employer of',3,'Employee of',1,NULL,NULL,NULL),
- (425,213,5,'a_b',119,'Employee of',184,'Employer of',1,NULL,NULL,NULL),
- (426,213,5,'b_a',184,'Employer of',119,'Employee of',1,NULL,NULL,NULL),
- (427,214,5,'a_b',28,'Employee of',195,'Employer of',1,NULL,NULL,NULL),
- (428,214,5,'b_a',195,'Employer of',28,'Employee of',1,NULL,NULL,NULL);
+ (1,1,1,'a_b',57,'Child of',106,'Parent of',1,NULL,NULL,NULL),
+ (2,1,1,'b_a',106,'Parent of',57,'Child of',1,NULL,NULL,NULL),
+ (3,2,1,'a_b',15,'Child of',106,'Parent of',1,NULL,NULL,NULL),
+ (4,2,1,'b_a',106,'Parent of',15,'Child of',1,NULL,NULL,NULL),
+ (5,3,1,'a_b',57,'Child of',169,'Parent of',1,NULL,NULL,NULL),
+ (6,3,1,'b_a',169,'Parent of',57,'Child of',1,NULL,NULL,NULL),
+ (7,4,1,'a_b',15,'Child of',169,'Parent of',1,NULL,NULL,NULL),
+ (8,4,1,'b_a',169,'Parent of',15,'Child of',1,NULL,NULL,NULL),
+ (9,5,4,'a_b',15,'Sibling of',57,'Sibling of',1,NULL,NULL,NULL),
+ (10,5,4,'b_a',57,'Sibling of',15,'Sibling of',1,NULL,NULL,NULL),
+ (11,6,8,'a_b',169,'Household Member of',130,'Household Member is',1,NULL,NULL,NULL),
+ (12,6,8,'b_a',130,'Household Member is',169,'Household Member of',1,NULL,NULL,NULL),
+ (13,7,8,'a_b',57,'Household Member of',130,'Household Member is',1,NULL,NULL,NULL),
+ (14,7,8,'b_a',130,'Household Member is',57,'Household Member of',1,NULL,NULL,NULL),
+ (15,8,8,'a_b',15,'Household Member of',130,'Household Member is',1,NULL,NULL,NULL),
+ (16,8,8,'b_a',130,'Household Member is',15,'Household Member of',1,NULL,NULL,NULL),
+ (17,9,7,'a_b',106,'Head of Household for',130,'Head of Household is',0,NULL,NULL,NULL),
+ (18,9,7,'b_a',130,'Head of Household is',106,'Head of Household for',0,NULL,NULL,NULL),
+ (19,10,2,'a_b',169,'Spouse of',106,'Spouse of',0,NULL,NULL,NULL),
+ (20,10,2,'b_a',106,'Spouse of',169,'Spouse of',0,NULL,NULL,NULL),
+ (21,11,1,'a_b',196,'Child of',160,'Parent of',1,NULL,NULL,NULL),
+ (22,11,1,'b_a',160,'Parent of',196,'Child of',1,NULL,NULL,NULL),
+ (23,12,1,'a_b',6,'Child of',160,'Parent of',1,NULL,NULL,NULL),
+ (24,12,1,'b_a',160,'Parent of',6,'Child of',1,NULL,NULL,NULL),
+ (25,13,1,'a_b',196,'Child of',63,'Parent of',1,NULL,NULL,NULL),
+ (26,13,1,'b_a',63,'Parent of',196,'Child of',1,NULL,NULL,NULL),
+ (27,14,1,'a_b',6,'Child of',63,'Parent of',1,NULL,NULL,NULL),
+ (28,14,1,'b_a',63,'Parent of',6,'Child of',1,NULL,NULL,NULL),
+ (29,15,4,'a_b',6,'Sibling of',196,'Sibling of',1,NULL,NULL,NULL),
+ (30,15,4,'b_a',196,'Sibling of',6,'Sibling of',1,NULL,NULL,NULL),
+ (31,16,8,'a_b',63,'Household Member of',71,'Household Member is',1,NULL,NULL,NULL),
+ (32,16,8,'b_a',71,'Household Member is',63,'Household Member of',1,NULL,NULL,NULL),
+ (33,17,8,'a_b',196,'Household Member of',71,'Household Member is',1,NULL,NULL,NULL),
+ (34,17,8,'b_a',71,'Household Member is',196,'Household Member of',1,NULL,NULL,NULL),
+ (35,18,8,'a_b',6,'Household Member of',71,'Household Member is',1,NULL,NULL,NULL),
+ (36,18,8,'b_a',71,'Household Member is',6,'Household Member of',1,NULL,NULL,NULL),
+ (37,19,7,'a_b',160,'Head of Household for',71,'Head of Household is',1,NULL,NULL,NULL),
+ (38,19,7,'b_a',71,'Head of Household is',160,'Head of Household for',1,NULL,NULL,NULL),
+ (39,20,2,'a_b',63,'Spouse of',160,'Spouse of',1,NULL,NULL,NULL),
+ (40,20,2,'b_a',160,'Spouse of',63,'Spouse of',1,NULL,NULL,NULL),
+ (41,21,1,'a_b',18,'Child of',157,'Parent of',1,NULL,NULL,NULL),
+ (42,21,1,'b_a',157,'Parent of',18,'Child of',1,NULL,NULL,NULL),
+ (43,22,1,'a_b',12,'Child of',157,'Parent of',1,NULL,NULL,NULL),
+ (44,22,1,'b_a',157,'Parent of',12,'Child of',1,NULL,NULL,NULL),
+ (45,23,1,'a_b',18,'Child of',120,'Parent of',1,NULL,NULL,NULL),
+ (46,23,1,'b_a',120,'Parent of',18,'Child of',1,NULL,NULL,NULL),
+ (47,24,1,'a_b',12,'Child of',120,'Parent of',1,NULL,NULL,NULL),
+ (48,24,1,'b_a',120,'Parent of',12,'Child of',1,NULL,NULL,NULL),
+ (49,25,4,'a_b',12,'Sibling of',18,'Sibling of',1,NULL,NULL,NULL),
+ (50,25,4,'b_a',18,'Sibling of',12,'Sibling of',1,NULL,NULL,NULL),
+ (51,26,8,'a_b',120,'Household Member of',41,'Household Member is',1,NULL,NULL,NULL),
+ (52,26,8,'b_a',41,'Household Member is',120,'Household Member of',1,NULL,NULL,NULL),
+ (53,27,8,'a_b',18,'Household Member of',41,'Household Member is',1,NULL,NULL,NULL),
+ (54,27,8,'b_a',41,'Household Member is',18,'Household Member of',1,NULL,NULL,NULL),
+ (55,28,8,'a_b',12,'Household Member of',41,'Household Member is',1,NULL,NULL,NULL),
+ (56,28,8,'b_a',41,'Household Member is',12,'Household Member of',1,NULL,NULL,NULL),
+ (57,29,7,'a_b',157,'Head of Household for',41,'Head of Household is',1,NULL,NULL,NULL),
+ (58,29,7,'b_a',41,'Head of Household is',157,'Head of Household for',1,NULL,NULL,NULL),
+ (59,30,2,'a_b',120,'Spouse of',157,'Spouse of',1,NULL,NULL,NULL),
+ (60,30,2,'b_a',157,'Spouse of',120,'Spouse of',1,NULL,NULL,NULL),
+ (61,31,1,'a_b',118,'Child of',36,'Parent of',1,NULL,NULL,NULL),
+ (62,31,1,'b_a',36,'Parent of',118,'Child of',1,NULL,NULL,NULL),
+ (63,32,1,'a_b',176,'Child of',36,'Parent of',1,NULL,NULL,NULL),
+ (64,32,1,'b_a',36,'Parent of',176,'Child of',1,NULL,NULL,NULL),
+ (65,33,1,'a_b',118,'Child of',181,'Parent of',1,NULL,NULL,NULL),
+ (66,33,1,'b_a',181,'Parent of',118,'Child of',1,NULL,NULL,NULL),
+ (67,34,1,'a_b',176,'Child of',181,'Parent of',1,NULL,NULL,NULL),
+ (68,34,1,'b_a',181,'Parent of',176,'Child of',1,NULL,NULL,NULL),
+ (69,35,4,'a_b',176,'Sibling of',118,'Sibling of',1,NULL,NULL,NULL),
+ (70,35,4,'b_a',118,'Sibling of',176,'Sibling of',1,NULL,NULL,NULL),
+ (71,36,8,'a_b',181,'Household Member of',172,'Household Member is',1,NULL,NULL,NULL),
+ (72,36,8,'b_a',172,'Household Member is',181,'Household Member of',1,NULL,NULL,NULL),
+ (73,37,8,'a_b',118,'Household Member of',172,'Household Member is',1,NULL,NULL,NULL),
+ (74,37,8,'b_a',172,'Household Member is',118,'Household Member of',1,NULL,NULL,NULL),
+ (75,38,8,'a_b',176,'Household Member of',172,'Household Member is',1,NULL,NULL,NULL),
+ (76,38,8,'b_a',172,'Household Member is',176,'Household Member of',1,NULL,NULL,NULL),
+ (77,39,7,'a_b',36,'Head of Household for',172,'Head of Household is',1,NULL,NULL,NULL),
+ (78,39,7,'b_a',172,'Head of Household is',36,'Head of Household for',1,NULL,NULL,NULL),
+ (79,40,2,'a_b',181,'Spouse of',36,'Spouse of',1,NULL,NULL,NULL),
+ (80,40,2,'b_a',36,'Spouse of',181,'Spouse of',1,NULL,NULL,NULL),
+ (81,41,1,'a_b',3,'Child of',5,'Parent of',1,NULL,NULL,NULL),
+ (82,41,1,'b_a',5,'Parent of',3,'Child of',1,NULL,NULL,NULL),
+ (83,42,1,'a_b',149,'Child of',5,'Parent of',1,NULL,NULL,NULL),
+ (84,42,1,'b_a',5,'Parent of',149,'Child of',1,NULL,NULL,NULL),
+ (85,43,1,'a_b',3,'Child of',75,'Parent of',1,NULL,NULL,NULL),
+ (86,43,1,'b_a',75,'Parent of',3,'Child of',1,NULL,NULL,NULL),
+ (87,44,1,'a_b',149,'Child of',75,'Parent of',1,NULL,NULL,NULL),
+ (88,44,1,'b_a',75,'Parent of',149,'Child of',1,NULL,NULL,NULL),
+ (89,45,4,'a_b',149,'Sibling of',3,'Sibling of',1,NULL,NULL,NULL),
+ (90,45,4,'b_a',3,'Sibling of',149,'Sibling of',1,NULL,NULL,NULL),
+ (91,46,8,'a_b',75,'Household Member of',162,'Household Member is',1,NULL,NULL,NULL),
+ (92,46,8,'b_a',162,'Household Member is',75,'Household Member of',1,NULL,NULL,NULL),
+ (93,47,8,'a_b',3,'Household Member of',162,'Household Member is',1,NULL,NULL,NULL),
+ (94,47,8,'b_a',162,'Household Member is',3,'Household Member of',1,NULL,NULL,NULL),
+ (95,48,8,'a_b',149,'Household Member of',162,'Household Member is',1,NULL,NULL,NULL),
+ (96,48,8,'b_a',162,'Household Member is',149,'Household Member of',1,NULL,NULL,NULL),
+ (97,49,7,'a_b',5,'Head of Household for',162,'Head of Household is',0,NULL,NULL,NULL),
+ (98,49,7,'b_a',162,'Head of Household is',5,'Head of Household for',0,NULL,NULL,NULL),
+ (99,50,2,'a_b',75,'Spouse of',5,'Spouse of',0,NULL,NULL,NULL),
+ (100,50,2,'b_a',5,'Spouse of',75,'Spouse of',0,NULL,NULL,NULL),
+ (101,51,1,'a_b',146,'Child of',192,'Parent of',1,NULL,NULL,NULL),
+ (102,51,1,'b_a',192,'Parent of',146,'Child of',1,NULL,NULL,NULL),
+ (103,52,1,'a_b',159,'Child of',192,'Parent of',1,NULL,NULL,NULL),
+ (104,52,1,'b_a',192,'Parent of',159,'Child of',1,NULL,NULL,NULL),
+ (105,53,1,'a_b',146,'Child of',82,'Parent of',1,NULL,NULL,NULL),
+ (106,53,1,'b_a',82,'Parent of',146,'Child of',1,NULL,NULL,NULL),
+ (107,54,1,'a_b',159,'Child of',82,'Parent of',1,NULL,NULL,NULL),
+ (108,54,1,'b_a',82,'Parent of',159,'Child of',1,NULL,NULL,NULL),
+ (109,55,4,'a_b',159,'Sibling of',146,'Sibling of',1,NULL,NULL,NULL),
+ (110,55,4,'b_a',146,'Sibling of',159,'Sibling of',1,NULL,NULL,NULL),
+ (111,56,8,'a_b',82,'Household Member of',161,'Household Member is',1,NULL,NULL,NULL),
+ (112,56,8,'b_a',161,'Household Member is',82,'Household Member of',1,NULL,NULL,NULL),
+ (113,57,8,'a_b',146,'Household Member of',161,'Household Member is',1,NULL,NULL,NULL),
+ (114,57,8,'b_a',161,'Household Member is',146,'Household Member of',1,NULL,NULL,NULL),
+ (115,58,8,'a_b',159,'Household Member of',161,'Household Member is',1,NULL,NULL,NULL),
+ (116,58,8,'b_a',161,'Household Member is',159,'Household Member of',1,NULL,NULL,NULL),
+ (117,59,7,'a_b',192,'Head of Household for',161,'Head of Household is',1,NULL,NULL,NULL),
+ (118,59,7,'b_a',161,'Head of Household is',192,'Head of Household for',1,NULL,NULL,NULL),
+ (119,60,2,'a_b',82,'Spouse of',192,'Spouse of',1,NULL,NULL,NULL),
+ (120,60,2,'b_a',192,'Spouse of',82,'Spouse of',1,NULL,NULL,NULL),
+ (121,61,1,'a_b',84,'Child of',183,'Parent of',1,NULL,NULL,NULL),
+ (122,61,1,'b_a',183,'Parent of',84,'Child of',1,NULL,NULL,NULL),
+ (123,62,1,'a_b',90,'Child of',183,'Parent of',1,NULL,NULL,NULL),
+ (124,62,1,'b_a',183,'Parent of',90,'Child of',1,NULL,NULL,NULL),
+ (125,63,1,'a_b',84,'Child of',198,'Parent of',1,NULL,NULL,NULL),
+ (126,63,1,'b_a',198,'Parent of',84,'Child of',1,NULL,NULL,NULL),
+ (127,64,1,'a_b',90,'Child of',198,'Parent of',1,NULL,NULL,NULL),
+ (128,64,1,'b_a',198,'Parent of',90,'Child of',1,NULL,NULL,NULL),
+ (129,65,4,'a_b',90,'Sibling of',84,'Sibling of',1,NULL,NULL,NULL),
+ (130,65,4,'b_a',84,'Sibling of',90,'Sibling of',1,NULL,NULL,NULL),
+ (131,66,8,'a_b',198,'Household Member of',42,'Household Member is',1,NULL,NULL,NULL),
+ (132,66,8,'b_a',42,'Household Member is',198,'Household Member of',1,NULL,NULL,NULL),
+ (133,67,8,'a_b',84,'Household Member of',42,'Household Member is',1,NULL,NULL,NULL),
+ (134,67,8,'b_a',42,'Household Member is',84,'Household Member of',1,NULL,NULL,NULL),
+ (135,68,8,'a_b',90,'Household Member of',42,'Household Member is',1,NULL,NULL,NULL),
+ (136,68,8,'b_a',42,'Household Member is',90,'Household Member of',1,NULL,NULL,NULL),
+ (137,69,7,'a_b',183,'Head of Household for',42,'Head of Household is',1,NULL,NULL,NULL),
+ (138,69,7,'b_a',42,'Head of Household is',183,'Head of Household for',1,NULL,NULL,NULL),
+ (139,70,2,'a_b',198,'Spouse of',183,'Spouse of',1,NULL,NULL,NULL),
+ (140,70,2,'b_a',183,'Spouse of',198,'Spouse of',1,NULL,NULL,NULL),
+ (141,71,1,'a_b',39,'Child of',24,'Parent of',1,NULL,NULL,NULL),
+ (142,71,1,'b_a',24,'Parent of',39,'Child of',1,NULL,NULL,NULL),
+ (143,72,1,'a_b',32,'Child of',24,'Parent of',1,NULL,NULL,NULL),
+ (144,72,1,'b_a',24,'Parent of',32,'Child of',1,NULL,NULL,NULL),
+ (145,73,1,'a_b',39,'Child of',49,'Parent of',1,NULL,NULL,NULL),
+ (146,73,1,'b_a',49,'Parent of',39,'Child of',1,NULL,NULL,NULL),
+ (147,74,1,'a_b',32,'Child of',49,'Parent of',1,NULL,NULL,NULL),
+ (148,74,1,'b_a',49,'Parent of',32,'Child of',1,NULL,NULL,NULL),
+ (149,75,4,'a_b',32,'Sibling of',39,'Sibling of',1,NULL,NULL,NULL),
+ (150,75,4,'b_a',39,'Sibling of',32,'Sibling of',1,NULL,NULL,NULL),
+ (151,76,8,'a_b',49,'Household Member of',44,'Household Member is',1,NULL,NULL,NULL),
+ (152,76,8,'b_a',44,'Household Member is',49,'Household Member of',1,NULL,NULL,NULL),
+ (153,77,8,'a_b',39,'Household Member of',44,'Household Member is',1,NULL,NULL,NULL),
+ (154,77,8,'b_a',44,'Household Member is',39,'Household Member of',1,NULL,NULL,NULL),
+ (155,78,8,'a_b',32,'Household Member of',44,'Household Member is',1,NULL,NULL,NULL),
+ (156,78,8,'b_a',44,'Household Member is',32,'Household Member of',1,NULL,NULL,NULL),
+ (157,79,7,'a_b',24,'Head of Household for',44,'Head of Household is',0,NULL,NULL,NULL),
+ (158,79,7,'b_a',44,'Head of Household is',24,'Head of Household for',0,NULL,NULL,NULL),
+ (159,80,2,'a_b',49,'Spouse of',24,'Spouse of',0,NULL,NULL,NULL),
+ (160,80,2,'b_a',24,'Spouse of',49,'Spouse of',0,NULL,NULL,NULL),
+ (161,81,1,'a_b',150,'Child of',62,'Parent of',1,NULL,NULL,NULL),
+ (162,81,1,'b_a',62,'Parent of',150,'Child of',1,NULL,NULL,NULL),
+ (163,82,1,'a_b',180,'Child of',62,'Parent of',1,NULL,NULL,NULL),
+ (164,82,1,'b_a',62,'Parent of',180,'Child of',1,NULL,NULL,NULL),
+ (165,83,1,'a_b',150,'Child of',168,'Parent of',1,NULL,NULL,NULL),
+ (166,83,1,'b_a',168,'Parent of',150,'Child of',1,NULL,NULL,NULL),
+ (167,84,1,'a_b',180,'Child of',168,'Parent of',1,NULL,NULL,NULL),
+ (168,84,1,'b_a',168,'Parent of',180,'Child of',1,NULL,NULL,NULL),
+ (169,85,4,'a_b',180,'Sibling of',150,'Sibling of',1,NULL,NULL,NULL),
+ (170,85,4,'b_a',150,'Sibling of',180,'Sibling of',1,NULL,NULL,NULL),
+ (171,86,8,'a_b',168,'Household Member of',35,'Household Member is',1,NULL,NULL,NULL),
+ (172,86,8,'b_a',35,'Household Member is',168,'Household Member of',1,NULL,NULL,NULL),
+ (173,87,8,'a_b',150,'Household Member of',35,'Household Member is',1,NULL,NULL,NULL),
+ (174,87,8,'b_a',35,'Household Member is',150,'Household Member of',1,NULL,NULL,NULL),
+ (175,88,8,'a_b',180,'Household Member of',35,'Household Member is',1,NULL,NULL,NULL),
+ (176,88,8,'b_a',35,'Household Member is',180,'Household Member of',1,NULL,NULL,NULL),
+ (177,89,7,'a_b',62,'Head of Household for',35,'Head of Household is',0,NULL,NULL,NULL),
+ (178,89,7,'b_a',35,'Head of Household is',62,'Head of Household for',0,NULL,NULL,NULL),
+ (179,90,2,'a_b',168,'Spouse of',62,'Spouse of',0,NULL,NULL,NULL),
+ (180,90,2,'b_a',62,'Spouse of',168,'Spouse of',0,NULL,NULL,NULL),
+ (181,91,1,'a_b',167,'Child of',175,'Parent of',1,NULL,NULL,NULL),
+ (182,91,1,'b_a',175,'Parent of',167,'Child of',1,NULL,NULL,NULL),
+ (183,92,1,'a_b',65,'Child of',175,'Parent of',1,NULL,NULL,NULL),
+ (184,92,1,'b_a',175,'Parent of',65,'Child of',1,NULL,NULL,NULL),
+ (185,93,1,'a_b',167,'Child of',152,'Parent of',1,NULL,NULL,NULL),
+ (186,93,1,'b_a',152,'Parent of',167,'Child of',1,NULL,NULL,NULL),
+ (187,94,1,'a_b',65,'Child of',152,'Parent of',1,NULL,NULL,NULL),
+ (188,94,1,'b_a',152,'Parent of',65,'Child of',1,NULL,NULL,NULL),
+ (189,95,4,'a_b',65,'Sibling of',167,'Sibling of',1,NULL,NULL,NULL),
+ (190,95,4,'b_a',167,'Sibling of',65,'Sibling of',1,NULL,NULL,NULL),
+ (191,96,8,'a_b',152,'Household Member of',108,'Household Member is',1,NULL,NULL,NULL),
+ (192,96,8,'b_a',108,'Household Member is',152,'Household Member of',1,NULL,NULL,NULL),
+ (193,97,8,'a_b',167,'Household Member of',108,'Household Member is',1,NULL,NULL,NULL),
+ (194,97,8,'b_a',108,'Household Member is',167,'Household Member of',1,NULL,NULL,NULL),
+ (195,98,8,'a_b',65,'Household Member of',108,'Household Member is',1,NULL,NULL,NULL),
+ (196,98,8,'b_a',108,'Household Member is',65,'Household Member of',1,NULL,NULL,NULL),
+ (197,99,7,'a_b',175,'Head of Household for',108,'Head of Household is',0,NULL,NULL,NULL),
+ (198,99,7,'b_a',108,'Head of Household is',175,'Head of Household for',0,NULL,NULL,NULL),
+ (199,100,2,'a_b',152,'Spouse of',175,'Spouse of',0,NULL,NULL,NULL),
+ (200,100,2,'b_a',175,'Spouse of',152,'Spouse of',0,NULL,NULL,NULL),
+ (201,101,1,'a_b',13,'Child of',148,'Parent of',1,NULL,NULL,NULL),
+ (202,101,1,'b_a',148,'Parent of',13,'Child of',1,NULL,NULL,NULL),
+ (203,102,1,'a_b',141,'Child of',148,'Parent of',1,NULL,NULL,NULL),
+ (204,102,1,'b_a',148,'Parent of',141,'Child of',1,NULL,NULL,NULL),
+ (205,103,1,'a_b',13,'Child of',107,'Parent of',1,NULL,NULL,NULL),
+ (206,103,1,'b_a',107,'Parent of',13,'Child of',1,NULL,NULL,NULL),
+ (207,104,1,'a_b',141,'Child of',107,'Parent of',1,NULL,NULL,NULL),
+ (208,104,1,'b_a',107,'Parent of',141,'Child of',1,NULL,NULL,NULL),
+ (209,105,4,'a_b',141,'Sibling of',13,'Sibling of',1,NULL,NULL,NULL),
+ (210,105,4,'b_a',13,'Sibling of',141,'Sibling of',1,NULL,NULL,NULL),
+ (211,106,8,'a_b',107,'Household Member of',88,'Household Member is',1,NULL,NULL,NULL),
+ (212,106,8,'b_a',88,'Household Member is',107,'Household Member of',1,NULL,NULL,NULL),
+ (213,107,8,'a_b',13,'Household Member of',88,'Household Member is',1,NULL,NULL,NULL),
+ (214,107,8,'b_a',88,'Household Member is',13,'Household Member of',1,NULL,NULL,NULL),
+ (215,108,8,'a_b',141,'Household Member of',88,'Household Member is',1,NULL,NULL,NULL),
+ (216,108,8,'b_a',88,'Household Member is',141,'Household Member of',1,NULL,NULL,NULL),
+ (217,109,7,'a_b',148,'Head of Household for',88,'Head of Household is',1,NULL,NULL,NULL),
+ (218,109,7,'b_a',88,'Head of Household is',148,'Head of Household for',1,NULL,NULL,NULL),
+ (219,110,2,'a_b',107,'Spouse of',148,'Spouse of',1,NULL,NULL,NULL),
+ (220,110,2,'b_a',148,'Spouse of',107,'Spouse of',1,NULL,NULL,NULL),
+ (221,111,1,'a_b',81,'Child of',154,'Parent of',1,NULL,NULL,NULL),
+ (222,111,1,'b_a',154,'Parent of',81,'Child of',1,NULL,NULL,NULL),
+ (223,112,1,'a_b',34,'Child of',154,'Parent of',1,NULL,NULL,NULL),
+ (224,112,1,'b_a',154,'Parent of',34,'Child of',1,NULL,NULL,NULL),
+ (225,113,1,'a_b',81,'Child of',20,'Parent of',1,NULL,NULL,NULL),
+ (226,113,1,'b_a',20,'Parent of',81,'Child of',1,NULL,NULL,NULL),
+ (227,114,1,'a_b',34,'Child of',20,'Parent of',1,NULL,NULL,NULL),
+ (228,114,1,'b_a',20,'Parent of',34,'Child of',1,NULL,NULL,NULL),
+ (229,115,4,'a_b',34,'Sibling of',81,'Sibling of',1,NULL,NULL,NULL),
+ (230,115,4,'b_a',81,'Sibling of',34,'Sibling of',1,NULL,NULL,NULL),
+ (231,116,8,'a_b',20,'Household Member of',93,'Household Member is',1,NULL,NULL,NULL),
+ (232,116,8,'b_a',93,'Household Member is',20,'Household Member of',1,NULL,NULL,NULL),
+ (233,117,8,'a_b',81,'Household Member of',93,'Household Member is',1,NULL,NULL,NULL),
+ (234,117,8,'b_a',93,'Household Member is',81,'Household Member of',1,NULL,NULL,NULL),
+ (235,118,8,'a_b',34,'Household Member of',93,'Household Member is',1,NULL,NULL,NULL),
+ (236,118,8,'b_a',93,'Household Member is',34,'Household Member of',1,NULL,NULL,NULL),
+ (237,119,7,'a_b',154,'Head of Household for',93,'Head of Household is',0,NULL,NULL,NULL),
+ (238,119,7,'b_a',93,'Head of Household is',154,'Head of Household for',0,NULL,NULL,NULL),
+ (239,120,2,'a_b',20,'Spouse of',154,'Spouse of',0,NULL,NULL,NULL),
+ (240,120,2,'b_a',154,'Spouse of',20,'Spouse of',0,NULL,NULL,NULL),
+ (241,121,1,'a_b',17,'Child of',48,'Parent of',1,NULL,NULL,NULL),
+ (242,121,1,'b_a',48,'Parent of',17,'Child of',1,NULL,NULL,NULL),
+ (243,122,1,'a_b',70,'Child of',48,'Parent of',1,NULL,NULL,NULL),
+ (244,122,1,'b_a',48,'Parent of',70,'Child of',1,NULL,NULL,NULL),
+ (245,123,1,'a_b',17,'Child of',47,'Parent of',1,NULL,NULL,NULL),
+ (246,123,1,'b_a',47,'Parent of',17,'Child of',1,NULL,NULL,NULL),
+ (247,124,1,'a_b',70,'Child of',47,'Parent of',1,NULL,NULL,NULL),
+ (248,124,1,'b_a',47,'Parent of',70,'Child of',1,NULL,NULL,NULL),
+ (249,125,4,'a_b',70,'Sibling of',17,'Sibling of',1,NULL,NULL,NULL),
+ (250,125,4,'b_a',17,'Sibling of',70,'Sibling of',1,NULL,NULL,NULL),
+ (251,126,8,'a_b',47,'Household Member of',102,'Household Member is',1,NULL,NULL,NULL),
+ (252,126,8,'b_a',102,'Household Member is',47,'Household Member of',1,NULL,NULL,NULL),
+ (253,127,8,'a_b',17,'Household Member of',102,'Household Member is',1,NULL,NULL,NULL),
+ (254,127,8,'b_a',102,'Household Member is',17,'Household Member of',1,NULL,NULL,NULL),
+ (255,128,8,'a_b',70,'Household Member of',102,'Household Member is',1,NULL,NULL,NULL),
+ (256,128,8,'b_a',102,'Household Member is',70,'Household Member of',1,NULL,NULL,NULL),
+ (257,129,7,'a_b',48,'Head of Household for',102,'Head of Household is',0,NULL,NULL,NULL),
+ (258,129,7,'b_a',102,'Head of Household is',48,'Head of Household for',0,NULL,NULL,NULL),
+ (259,130,2,'a_b',47,'Spouse of',48,'Spouse of',0,NULL,NULL,NULL),
+ (260,130,2,'b_a',48,'Spouse of',47,'Spouse of',0,NULL,NULL,NULL),
+ (261,131,1,'a_b',136,'Child of',144,'Parent of',1,NULL,NULL,NULL),
+ (262,131,1,'b_a',144,'Parent of',136,'Child of',1,NULL,NULL,NULL),
+ (263,132,1,'a_b',19,'Child of',144,'Parent of',1,NULL,NULL,NULL),
+ (264,132,1,'b_a',144,'Parent of',19,'Child of',1,NULL,NULL,NULL),
+ (265,133,1,'a_b',136,'Child of',85,'Parent of',1,NULL,NULL,NULL),
+ (266,133,1,'b_a',85,'Parent of',136,'Child of',1,NULL,NULL,NULL),
+ (267,134,1,'a_b',19,'Child of',85,'Parent of',1,NULL,NULL,NULL),
+ (268,134,1,'b_a',85,'Parent of',19,'Child of',1,NULL,NULL,NULL),
+ (269,135,4,'a_b',19,'Sibling of',136,'Sibling of',1,NULL,NULL,NULL),
+ (270,135,4,'b_a',136,'Sibling of',19,'Sibling of',1,NULL,NULL,NULL),
+ (271,136,8,'a_b',85,'Household Member of',87,'Household Member is',1,NULL,NULL,NULL),
+ (272,136,8,'b_a',87,'Household Member is',85,'Household Member of',1,NULL,NULL,NULL),
+ (273,137,8,'a_b',136,'Household Member of',87,'Household Member is',1,NULL,NULL,NULL),
+ (274,137,8,'b_a',87,'Household Member is',136,'Household Member of',1,NULL,NULL,NULL),
+ (275,138,8,'a_b',19,'Household Member of',87,'Household Member is',1,NULL,NULL,NULL),
+ (276,138,8,'b_a',87,'Household Member is',19,'Household Member of',1,NULL,NULL,NULL),
+ (277,139,7,'a_b',144,'Head of Household for',87,'Head of Household is',1,NULL,NULL,NULL),
+ (278,139,7,'b_a',87,'Head of Household is',144,'Head of Household for',1,NULL,NULL,NULL),
+ (279,140,2,'a_b',85,'Spouse of',144,'Spouse of',1,NULL,NULL,NULL),
+ (280,140,2,'b_a',144,'Spouse of',85,'Spouse of',1,NULL,NULL,NULL),
+ (281,141,1,'a_b',21,'Child of',109,'Parent of',1,NULL,NULL,NULL),
+ (282,141,1,'b_a',109,'Parent of',21,'Child of',1,NULL,NULL,NULL),
+ (283,142,1,'a_b',95,'Child of',109,'Parent of',1,NULL,NULL,NULL),
+ (284,142,1,'b_a',109,'Parent of',95,'Child of',1,NULL,NULL,NULL),
+ (285,143,1,'a_b',21,'Child of',73,'Parent of',1,NULL,NULL,NULL),
+ (286,143,1,'b_a',73,'Parent of',21,'Child of',1,NULL,NULL,NULL),
+ (287,144,1,'a_b',95,'Child of',73,'Parent of',1,NULL,NULL,NULL),
+ (288,144,1,'b_a',73,'Parent of',95,'Child of',1,NULL,NULL,NULL),
+ (289,145,4,'a_b',95,'Sibling of',21,'Sibling of',1,NULL,NULL,NULL),
+ (290,145,4,'b_a',21,'Sibling of',95,'Sibling of',1,NULL,NULL,NULL),
+ (291,146,8,'a_b',73,'Household Member of',38,'Household Member is',1,NULL,NULL,NULL),
+ (292,146,8,'b_a',38,'Household Member is',73,'Household Member of',1,NULL,NULL,NULL),
+ (293,147,8,'a_b',21,'Household Member of',38,'Household Member is',1,NULL,NULL,NULL),
+ (294,147,8,'b_a',38,'Household Member is',21,'Household Member of',1,NULL,NULL,NULL),
+ (295,148,8,'a_b',95,'Household Member of',38,'Household Member is',1,NULL,NULL,NULL),
+ (296,148,8,'b_a',38,'Household Member is',95,'Household Member of',1,NULL,NULL,NULL),
+ (297,149,7,'a_b',109,'Head of Household for',38,'Head of Household is',1,NULL,NULL,NULL),
+ (298,149,7,'b_a',38,'Head of Household is',109,'Head of Household for',1,NULL,NULL,NULL),
+ (299,150,2,'a_b',73,'Spouse of',109,'Spouse of',1,NULL,NULL,NULL),
+ (300,150,2,'b_a',109,'Spouse of',73,'Spouse of',1,NULL,NULL,NULL),
+ (301,151,1,'a_b',50,'Child of',185,'Parent of',1,NULL,NULL,NULL),
+ (302,151,1,'b_a',185,'Parent of',50,'Child of',1,NULL,NULL,NULL),
+ (303,152,1,'a_b',51,'Child of',185,'Parent of',1,NULL,NULL,NULL),
+ (304,152,1,'b_a',185,'Parent of',51,'Child of',1,NULL,NULL,NULL),
+ (305,153,1,'a_b',50,'Child of',113,'Parent of',1,NULL,NULL,NULL),
+ (306,153,1,'b_a',113,'Parent of',50,'Child of',1,NULL,NULL,NULL),
+ (307,154,1,'a_b',51,'Child of',113,'Parent of',1,NULL,NULL,NULL),
+ (308,154,1,'b_a',113,'Parent of',51,'Child of',1,NULL,NULL,NULL),
+ (309,155,4,'a_b',51,'Sibling of',50,'Sibling of',1,NULL,NULL,NULL),
+ (310,155,4,'b_a',50,'Sibling of',51,'Sibling of',1,NULL,NULL,NULL),
+ (311,156,8,'a_b',113,'Household Member of',110,'Household Member is',1,NULL,NULL,NULL),
+ (312,156,8,'b_a',110,'Household Member is',113,'Household Member of',1,NULL,NULL,NULL),
+ (313,157,8,'a_b',50,'Household Member of',110,'Household Member is',1,NULL,NULL,NULL),
+ (314,157,8,'b_a',110,'Household Member is',50,'Household Member of',1,NULL,NULL,NULL),
+ (315,158,8,'a_b',51,'Household Member of',110,'Household Member is',1,NULL,NULL,NULL),
+ (316,158,8,'b_a',110,'Household Member is',51,'Household Member of',1,NULL,NULL,NULL),
+ (317,159,7,'a_b',185,'Head of Household for',110,'Head of Household is',1,NULL,NULL,NULL),
+ (318,159,7,'b_a',110,'Head of Household is',185,'Head of Household for',1,NULL,NULL,NULL),
+ (319,160,2,'a_b',113,'Spouse of',185,'Spouse of',1,NULL,NULL,NULL),
+ (320,160,2,'b_a',185,'Spouse of',113,'Spouse of',1,NULL,NULL,NULL),
+ (321,161,1,'a_b',31,'Child of',147,'Parent of',1,NULL,NULL,NULL),
+ (322,161,1,'b_a',147,'Parent of',31,'Child of',1,NULL,NULL,NULL),
+ (323,162,1,'a_b',128,'Child of',147,'Parent of',1,NULL,NULL,NULL),
+ (324,162,1,'b_a',147,'Parent of',128,'Child of',1,NULL,NULL,NULL),
+ (325,163,1,'a_b',31,'Child of',132,'Parent of',1,NULL,NULL,NULL),
+ (326,163,1,'b_a',132,'Parent of',31,'Child of',1,NULL,NULL,NULL),
+ (327,164,1,'a_b',128,'Child of',132,'Parent of',1,NULL,NULL,NULL),
+ (328,164,1,'b_a',132,'Parent of',128,'Child of',1,NULL,NULL,NULL),
+ (329,165,4,'a_b',128,'Sibling of',31,'Sibling of',1,NULL,NULL,NULL),
+ (330,165,4,'b_a',31,'Sibling of',128,'Sibling of',1,NULL,NULL,NULL),
+ (331,166,8,'a_b',132,'Household Member of',135,'Household Member is',1,NULL,NULL,NULL),
+ (332,166,8,'b_a',135,'Household Member is',132,'Household Member of',1,NULL,NULL,NULL),
+ (333,167,8,'a_b',31,'Household Member of',135,'Household Member is',1,NULL,NULL,NULL),
+ (334,167,8,'b_a',135,'Household Member is',31,'Household Member of',1,NULL,NULL,NULL),
+ (335,168,8,'a_b',128,'Household Member of',135,'Household Member is',1,NULL,NULL,NULL),
+ (336,168,8,'b_a',135,'Household Member is',128,'Household Member of',1,NULL,NULL,NULL),
+ (337,169,7,'a_b',147,'Head of Household for',135,'Head of Household is',1,NULL,NULL,NULL),
+ (338,169,7,'b_a',135,'Head of Household is',147,'Head of Household for',1,NULL,NULL,NULL),
+ (339,170,2,'a_b',132,'Spouse of',147,'Spouse of',1,NULL,NULL,NULL),
+ (340,170,2,'b_a',147,'Spouse of',132,'Spouse of',1,NULL,NULL,NULL),
+ (341,171,1,'a_b',194,'Child of',94,'Parent of',1,NULL,NULL,NULL),
+ (342,171,1,'b_a',94,'Parent of',194,'Child of',1,NULL,NULL,NULL),
+ (343,172,1,'a_b',89,'Child of',94,'Parent of',1,NULL,NULL,NULL),
+ (344,172,1,'b_a',94,'Parent of',89,'Child of',1,NULL,NULL,NULL),
+ (345,173,1,'a_b',194,'Child of',96,'Parent of',1,NULL,NULL,NULL),
+ (346,173,1,'b_a',96,'Parent of',194,'Child of',1,NULL,NULL,NULL),
+ (347,174,1,'a_b',89,'Child of',96,'Parent of',1,NULL,NULL,NULL),
+ (348,174,1,'b_a',96,'Parent of',89,'Child of',1,NULL,NULL,NULL),
+ (349,175,4,'a_b',89,'Sibling of',194,'Sibling of',1,NULL,NULL,NULL),
+ (350,175,4,'b_a',194,'Sibling of',89,'Sibling of',1,NULL,NULL,NULL),
+ (351,176,8,'a_b',96,'Household Member of',8,'Household Member is',1,NULL,NULL,NULL),
+ (352,176,8,'b_a',8,'Household Member is',96,'Household Member of',1,NULL,NULL,NULL),
+ (353,177,8,'a_b',194,'Household Member of',8,'Household Member is',1,NULL,NULL,NULL),
+ (354,177,8,'b_a',8,'Household Member is',194,'Household Member of',1,NULL,NULL,NULL),
+ (355,178,8,'a_b',89,'Household Member of',8,'Household Member is',1,NULL,NULL,NULL),
+ (356,178,8,'b_a',8,'Household Member is',89,'Household Member of',1,NULL,NULL,NULL),
+ (357,179,7,'a_b',94,'Head of Household for',8,'Head of Household is',0,NULL,NULL,NULL),
+ (358,179,7,'b_a',8,'Head of Household is',94,'Head of Household for',0,NULL,NULL,NULL),
+ (359,180,2,'a_b',96,'Spouse of',94,'Spouse of',0,NULL,NULL,NULL),
+ (360,180,2,'b_a',94,'Spouse of',96,'Spouse of',0,NULL,NULL,NULL),
+ (361,181,1,'a_b',4,'Child of',16,'Parent of',1,NULL,NULL,NULL),
+ (362,181,1,'b_a',16,'Parent of',4,'Child of',1,NULL,NULL,NULL),
+ (363,182,1,'a_b',189,'Child of',16,'Parent of',1,NULL,NULL,NULL),
+ (364,182,1,'b_a',16,'Parent of',189,'Child of',1,NULL,NULL,NULL),
+ (365,183,1,'a_b',4,'Child of',7,'Parent of',1,NULL,NULL,NULL),
+ (366,183,1,'b_a',7,'Parent of',4,'Child of',1,NULL,NULL,NULL),
+ (367,184,1,'a_b',189,'Child of',7,'Parent of',1,NULL,NULL,NULL),
+ (368,184,1,'b_a',7,'Parent of',189,'Child of',1,NULL,NULL,NULL),
+ (369,185,4,'a_b',189,'Sibling of',4,'Sibling of',1,NULL,NULL,NULL),
+ (370,185,4,'b_a',4,'Sibling of',189,'Sibling of',1,NULL,NULL,NULL),
+ (371,186,8,'a_b',7,'Household Member of',133,'Household Member is',1,NULL,NULL,NULL),
+ (372,186,8,'b_a',133,'Household Member is',7,'Household Member of',1,NULL,NULL,NULL),
+ (373,187,8,'a_b',4,'Household Member of',133,'Household Member is',1,NULL,NULL,NULL),
+ (374,187,8,'b_a',133,'Household Member is',4,'Household Member of',1,NULL,NULL,NULL),
+ (375,188,8,'a_b',189,'Household Member of',133,'Household Member is',1,NULL,NULL,NULL),
+ (376,188,8,'b_a',133,'Household Member is',189,'Household Member of',1,NULL,NULL,NULL),
+ (377,189,7,'a_b',16,'Head of Household for',133,'Head of Household is',1,NULL,NULL,NULL),
+ (378,189,7,'b_a',133,'Head of Household is',16,'Head of Household for',1,NULL,NULL,NULL),
+ (379,190,2,'a_b',7,'Spouse of',16,'Spouse of',1,NULL,NULL,NULL),
+ (380,190,2,'b_a',16,'Spouse of',7,'Spouse of',1,NULL,NULL,NULL),
+ (381,191,1,'a_b',91,'Child of',40,'Parent of',1,NULL,NULL,NULL),
+ (382,191,1,'b_a',40,'Parent of',91,'Child of',1,NULL,NULL,NULL),
+ (383,192,1,'a_b',156,'Child of',40,'Parent of',1,NULL,NULL,NULL),
+ (384,192,1,'b_a',40,'Parent of',156,'Child of',1,NULL,NULL,NULL),
+ (385,193,1,'a_b',91,'Child of',97,'Parent of',1,NULL,NULL,NULL),
+ (386,193,1,'b_a',97,'Parent of',91,'Child of',1,NULL,NULL,NULL),
+ (387,194,1,'a_b',156,'Child of',97,'Parent of',1,NULL,NULL,NULL),
+ (388,194,1,'b_a',97,'Parent of',156,'Child of',1,NULL,NULL,NULL),
+ (389,195,4,'a_b',156,'Sibling of',91,'Sibling of',1,NULL,NULL,NULL),
+ (390,195,4,'b_a',91,'Sibling of',156,'Sibling of',1,NULL,NULL,NULL),
+ (391,196,8,'a_b',97,'Household Member of',190,'Household Member is',1,NULL,NULL,NULL),
+ (392,196,8,'b_a',190,'Household Member is',97,'Household Member of',1,NULL,NULL,NULL),
+ (393,197,8,'a_b',91,'Household Member of',190,'Household Member is',1,NULL,NULL,NULL),
+ (394,197,8,'b_a',190,'Household Member is',91,'Household Member of',1,NULL,NULL,NULL),
+ (395,198,8,'a_b',156,'Household Member of',190,'Household Member is',1,NULL,NULL,NULL),
+ (396,198,8,'b_a',190,'Household Member is',156,'Household Member of',1,NULL,NULL,NULL),
+ (397,199,7,'a_b',40,'Head of Household for',190,'Head of Household is',1,NULL,NULL,NULL),
+ (398,199,7,'b_a',190,'Head of Household is',40,'Head of Household for',1,NULL,NULL,NULL),
+ (399,200,2,'a_b',97,'Spouse of',40,'Spouse of',1,NULL,NULL,NULL),
+ (400,200,2,'b_a',40,'Spouse of',97,'Spouse of',1,NULL,NULL,NULL),
+ (401,201,5,'a_b',119,'Employee of',22,'Employer of',1,NULL,NULL,NULL),
+ (402,201,5,'b_a',22,'Employer of',119,'Employee of',1,NULL,NULL,NULL),
+ (403,202,5,'a_b',186,'Employee of',23,'Employer of',1,NULL,NULL,NULL),
+ (404,202,5,'b_a',23,'Employer of',186,'Employee of',1,NULL,NULL,NULL),
+ (405,203,5,'a_b',128,'Employee of',25,'Employer of',1,NULL,NULL,NULL),
+ (406,203,5,'b_a',25,'Employer of',128,'Employee of',1,NULL,NULL,NULL),
+ (407,204,5,'a_b',19,'Employee of',33,'Employer of',1,NULL,NULL,NULL),
+ (408,204,5,'b_a',33,'Employer of',19,'Employee of',1,NULL,NULL,NULL),
+ (409,205,5,'a_b',154,'Employee of',54,'Employer of',1,NULL,NULL,NULL),
+ (410,205,5,'b_a',54,'Employer of',154,'Employee of',1,NULL,NULL,NULL),
+ (411,206,5,'a_b',36,'Employee of',58,'Employer of',1,NULL,NULL,NULL),
+ (412,206,5,'b_a',58,'Employer of',36,'Employee of',1,NULL,NULL,NULL),
+ (413,207,5,'a_b',75,'Employee of',60,'Employer of',1,NULL,NULL,NULL),
+ (414,207,5,'b_a',60,'Employer of',75,'Employee of',1,NULL,NULL,NULL),
+ (415,208,5,'a_b',169,'Employee of',77,'Employer of',1,NULL,NULL,NULL),
+ (416,208,5,'b_a',77,'Employer of',169,'Employee of',1,NULL,NULL,NULL),
+ (417,209,5,'a_b',174,'Employee of',83,'Employer of',1,NULL,NULL,NULL),
+ (418,209,5,'b_a',83,'Employer of',174,'Employee of',1,NULL,NULL,NULL),
+ (419,210,5,'a_b',120,'Employee of',114,'Employer of',1,NULL,NULL,NULL),
+ (420,210,5,'b_a',114,'Employer of',120,'Employee of',1,NULL,NULL,NULL),
+ (421,211,5,'a_b',143,'Employee of',142,'Employer of',1,NULL,NULL,NULL),
+ (422,211,5,'b_a',142,'Employer of',143,'Employee of',1,NULL,NULL,NULL),
+ (423,212,5,'a_b',27,'Employee of',153,'Employer of',1,NULL,NULL,NULL),
+ (424,212,5,'b_a',153,'Employer of',27,'Employee of',1,NULL,NULL,NULL),
+ (425,213,5,'a_b',32,'Employee of',158,'Employer of',1,NULL,NULL,NULL),
+ (426,213,5,'b_a',158,'Employer of',32,'Employee of',1,NULL,NULL,NULL),
+ (427,214,5,'a_b',199,'Employee of',191,'Employer of',1,NULL,NULL,NULL),
+ (428,214,5,'b_a',191,'Employer of',199,'Employee of',1,NULL,NULL,NULL);
 /*!40000 ALTER TABLE `civicrm_relationship_cache` ENABLE KEYS */;
 UNLOCK TABLES;
 
@@ -12046,90 +11987,90 @@ UNLOCK TABLES;
 LOCK TABLES `civicrm_subscription_history` WRITE;
 /*!40000 ALTER TABLE `civicrm_subscription_history` DISABLE KEYS */;
 INSERT INTO `civicrm_subscription_history` (`id`, `contact_id`, `group_id`, `date`, `method`, `status`, `tracking`) VALUES
- (1,64,2,'2021-06-15 16:35:48','Email','Added',NULL),
- (2,76,2,'2021-04-08 06:27:52','Admin','Added',NULL),
- (3,79,2,'2021-03-25 05:30:35','Admin','Added',NULL),
- (4,185,2,'2021-10-23 19:18:08','Email','Added',NULL),
- (5,192,2,'2021-05-15 21:09:53','Email','Added',NULL),
- (6,57,2,'2021-02-15 03:47:46','Email','Added',NULL),
- (7,167,2,'2021-05-29 18:57:32','Admin','Added',NULL),
- (8,100,2,'2021-09-14 02:36:26','Email','Added',NULL),
- (9,170,2,'2021-08-13 14:21:07','Admin','Added',NULL),
- (10,148,2,'2021-07-23 03:45:14','Admin','Added',NULL),
- (11,95,2,'2021-01-05 05:33:29','Admin','Added',NULL),
- (12,48,2,'2021-09-05 09:22:08','Admin','Added',NULL),
- (13,12,2,'2021-02-28 20:14:52','Email','Added',NULL),
- (14,58,2,'2021-12-06 07:39:23','Admin','Added',NULL),
- (15,113,2,'2022-01-03 23:42:31','Email','Added',NULL),
- (16,46,2,'2022-01-04 07:14:09','Admin','Added',NULL),
- (17,164,2,'2021-12-08 22:38:43','Admin','Added',NULL),
- (18,71,2,'2021-03-16 04:20:56','Email','Added',NULL),
- (19,162,2,'2021-07-22 23:44:03','Admin','Added',NULL),
- (20,197,2,'2021-12-27 08:30:07','Admin','Added',NULL),
- (21,200,2,'2021-03-21 06:34:53','Admin','Added',NULL),
- (22,7,2,'2021-03-03 08:21:37','Admin','Added',NULL),
- (23,111,2,'2021-04-20 13:38:02','Admin','Added',NULL),
- (24,9,2,'2021-10-23 03:37:26','Email','Added',NULL),
- (25,147,2,'2021-03-16 14:32:28','Email','Added',NULL),
- (26,130,2,'2021-01-10 23:01:43','Email','Added',NULL),
- (27,15,2,'2021-06-07 15:22:59','Email','Added',NULL),
- (28,106,2,'2021-10-21 21:08:01','Admin','Added',NULL),
- (29,112,2,'2021-09-10 09:10:02','Email','Added',NULL),
- (30,171,2,'2021-02-20 10:45:53','Admin','Added',NULL),
- (31,39,2,'2021-02-10 20:22:45','Email','Added',NULL),
- (32,157,2,'2021-07-11 07:26:01','Email','Added',NULL),
- (33,128,2,'2021-09-17 11:37:06','Admin','Added',NULL),
- (34,84,2,'2021-05-07 02:31:40','Email','Added',NULL),
- (35,62,2,'2021-09-16 17:12:58','Admin','Added',NULL),
- (36,180,2,'2021-10-15 15:47:51','Admin','Added',NULL),
- (37,118,2,'2021-08-02 04:32:37','Admin','Added',NULL),
- (38,61,2,'2021-12-01 00:35:27','Email','Added',NULL),
- (39,194,2,'2021-02-14 19:11:50','Email','Added',NULL),
- (40,126,2,'2021-01-12 20:04:39','Email','Added',NULL),
- (41,40,2,'2021-10-25 04:53:37','Admin','Added',NULL),
- (42,142,2,'2021-12-22 02:27:25','Email','Added',NULL),
- (43,174,2,'2021-03-20 11:10:44','Email','Added',NULL),
- (44,89,2,'2021-06-25 17:55:42','Admin','Added',NULL),
- (45,107,2,'2021-08-07 09:56:47','Email','Added',NULL),
- (46,80,2,'2021-09-22 10:43:35','Admin','Added',NULL),
- (47,144,2,'2021-03-22 10:04:34','Email','Added',NULL),
- (48,198,2,'2021-05-24 09:23:58','Admin','Added',NULL),
- (49,149,2,'2021-10-04 23:20:09','Admin','Added',NULL),
- (50,96,2,'2021-05-16 07:57:17','Email','Added',NULL),
- (51,188,2,'2021-08-09 17:55:18','Email','Added',NULL),
- (52,34,2,'2021-03-06 07:59:24','Email','Added',NULL),
- (53,97,2,'2021-04-11 07:49:23','Email','Added',NULL),
- (54,4,2,'2021-02-09 12:16:28','Email','Added',NULL),
- (55,172,2,'2021-04-15 19:53:06','Email','Added',NULL),
- (56,49,2,'2021-01-31 01:51:22','Admin','Added',NULL),
- (57,158,2,'2021-07-04 05:35:46','Email','Added',NULL),
- (58,14,2,'2021-11-08 20:37:55','Email','Added',NULL),
- (59,70,2,'2021-10-04 00:36:26','Admin','Added',NULL),
- (60,68,2,'2021-07-03 22:20:41','Admin','Added',NULL),
- (61,30,3,'2021-01-07 18:10:50','Admin','Added',NULL),
- (62,54,3,'2021-09-20 06:54:42','Email','Added',NULL),
- (63,63,3,'2021-08-27 23:25:42','Email','Added',NULL),
- (64,168,3,'2021-08-21 14:53:03','Admin','Added',NULL),
- (65,60,3,'2021-02-11 13:16:03','Email','Added',NULL),
- (66,92,3,'2021-11-28 12:37:53','Email','Added',NULL),
- (67,138,3,'2021-01-12 02:13:19','Admin','Added',NULL),
- (68,83,3,'2021-03-26 07:53:32','Email','Added',NULL),
- (69,13,3,'2021-08-20 17:13:33','Email','Added',NULL),
- (70,98,3,'2021-08-19 01:24:53','Admin','Added',NULL),
- (71,103,3,'2021-09-05 18:19:48','Email','Added',NULL),
- (72,105,3,'2021-06-03 10:14:30','Email','Added',NULL),
- (73,183,3,'2021-11-25 00:57:21','Admin','Added',NULL),
- (74,91,3,'2021-06-15 21:04:48','Email','Added',NULL),
- (75,119,3,'2021-10-18 08:57:15','Admin','Added',NULL),
- (76,64,4,'2021-06-13 08:25:25','Email','Added',NULL),
- (77,100,4,'2021-03-06 12:12:03','Admin','Added',NULL),
- (78,113,4,'2021-08-26 15:42:54','Admin','Added',NULL),
- (79,7,4,'2021-08-15 17:50:28','Admin','Added',NULL),
- (80,112,4,'2021-05-10 14:32:47','Email','Added',NULL),
- (81,180,4,'2021-09-13 01:01:04','Admin','Added',NULL),
- (82,174,4,'2021-10-06 21:05:33','Email','Added',NULL),
- (83,96,4,'2021-08-10 20:21:54','Admin','Added',NULL),
- (84,202,4,'2021-10-06 20:47:07','Email','Added',NULL);
+ (1,174,2,'2021-08-01 17:23:49','Email','Added',NULL),
+ (2,163,2,'2021-12-03 23:33:22','Admin','Added',NULL),
+ (3,188,2,'2021-08-02 05:26:54','Email','Added',NULL),
+ (4,125,2,'2021-04-23 17:19:09','Admin','Added',NULL),
+ (5,177,2,'2022-02-09 20:27:49','Admin','Added',NULL),
+ (6,104,2,'2021-05-09 08:49:05','Admin','Added',NULL),
+ (7,55,2,'2021-06-28 12:50:18','Email','Added',NULL),
+ (8,116,2,'2021-08-04 16:22:38','Email','Added',NULL),
+ (9,151,2,'2021-05-30 10:49:22','Email','Added',NULL),
+ (10,182,2,'2021-07-15 12:30:21','Admin','Added',NULL),
+ (11,140,2,'2021-12-17 22:49:32','Email','Added',NULL),
+ (12,76,2,'2022-02-15 12:28:12','Admin','Added',NULL),
+ (13,121,2,'2021-09-20 17:33:27','Email','Added',NULL),
+ (14,99,2,'2021-11-03 00:08:45','Email','Added',NULL),
+ (15,199,2,'2021-12-24 00:08:23','Email','Added',NULL),
+ (16,171,2,'2021-08-09 21:47:01','Email','Added',NULL),
+ (17,126,2,'2021-09-06 12:05:53','Email','Added',NULL),
+ (18,28,2,'2022-01-04 07:50:13','Email','Added',NULL),
+ (19,201,2,'2022-01-12 20:43:25','Admin','Added',NULL),
+ (20,200,2,'2022-02-22 08:23:24','Admin','Added',NULL),
+ (21,9,2,'2021-04-26 12:28:07','Admin','Added',NULL),
+ (22,105,2,'2021-03-15 00:14:35','Email','Added',NULL),
+ (23,68,2,'2021-09-27 23:44:19','Email','Added',NULL),
+ (24,119,2,'2021-09-28 19:33:10','Email','Added',NULL),
+ (25,122,2,'2021-11-10 15:39:20','Email','Added',NULL),
+ (26,127,2,'2021-10-01 13:24:30','Email','Added',NULL),
+ (27,115,2,'2021-03-19 20:12:26','Email','Added',NULL),
+ (28,2,2,'2021-05-04 01:34:44','Admin','Added',NULL),
+ (29,117,2,'2021-07-19 20:40:22','Email','Added',NULL),
+ (30,134,2,'2021-04-24 03:20:15','Admin','Added',NULL),
+ (31,79,2,'2021-07-07 21:29:48','Email','Added',NULL),
+ (32,179,2,'2021-08-08 19:01:49','Admin','Added',NULL),
+ (33,131,2,'2021-05-13 00:40:31','Email','Added',NULL),
+ (34,86,2,'2021-05-25 09:23:47','Email','Added',NULL),
+ (35,11,2,'2022-01-23 21:37:59','Email','Added',NULL),
+ (36,143,2,'2021-09-22 10:14:40','Email','Added',NULL),
+ (37,52,2,'2021-03-11 19:00:07','Admin','Added',NULL),
+ (38,100,2,'2022-02-22 09:57:04','Email','Added',NULL),
+ (39,155,2,'2021-08-29 06:26:23','Email','Added',NULL),
+ (40,72,2,'2021-04-05 06:36:51','Email','Added',NULL),
+ (41,178,2,'2022-01-03 17:00:29','Email','Added',NULL),
+ (42,66,2,'2021-10-02 17:23:55','Admin','Added',NULL),
+ (43,164,2,'2021-06-01 15:57:45','Admin','Added',NULL),
+ (44,193,2,'2021-07-19 05:57:06','Admin','Added',NULL),
+ (45,187,2,'2021-10-28 11:23:55','Email','Added',NULL),
+ (46,67,2,'2021-03-09 04:26:51','Admin','Added',NULL),
+ (47,29,2,'2021-04-17 02:09:31','Email','Added',NULL),
+ (48,195,2,'2021-09-17 09:43:27','Admin','Added',NULL),
+ (49,64,2,'2021-06-05 06:14:50','Email','Added',NULL),
+ (50,46,2,'2021-12-07 18:54:59','Admin','Added',NULL),
+ (51,69,2,'2021-05-03 15:31:17','Email','Added',NULL),
+ (52,103,2,'2022-01-04 03:24:28','Admin','Added',NULL),
+ (53,170,2,'2021-12-13 23:20:21','Email','Added',NULL),
+ (54,165,2,'2021-08-22 07:46:50','Email','Added',NULL),
+ (55,184,2,'2021-04-19 03:56:36','Email','Added',NULL),
+ (56,45,2,'2022-01-16 13:03:36','Admin','Added',NULL),
+ (57,59,2,'2021-11-22 11:00:38','Admin','Added',NULL),
+ (58,101,2,'2022-02-22 23:51:46','Email','Added',NULL),
+ (59,138,2,'2021-10-05 08:51:03','Admin','Added',NULL),
+ (60,112,2,'2021-12-15 22:53:00','Email','Added',NULL),
+ (61,27,3,'2022-01-25 21:52:51','Email','Added',NULL),
+ (62,137,3,'2022-02-01 14:32:26','Admin','Added',NULL),
+ (63,10,3,'2021-06-11 23:42:52','Email','Added',NULL),
+ (64,124,3,'2021-06-02 22:43:55','Admin','Added',NULL),
+ (65,53,3,'2021-05-15 00:26:24','Admin','Added',NULL),
+ (66,111,3,'2021-06-05 21:01:58','Admin','Added',NULL),
+ (67,145,3,'2021-05-10 12:38:26','Email','Added',NULL),
+ (68,197,3,'2021-12-31 20:27:49','Admin','Added',NULL),
+ (69,129,3,'2021-10-01 03:46:41','Admin','Added',NULL),
+ (70,74,3,'2021-08-29 14:17:40','Email','Added',NULL),
+ (71,14,3,'2021-08-05 08:38:15','Admin','Added',NULL),
+ (72,26,3,'2021-10-28 02:59:09','Email','Added',NULL),
+ (73,56,3,'2021-10-08 10:31:42','Admin','Added',NULL),
+ (74,173,3,'2021-04-14 02:22:54','Email','Added',NULL),
+ (75,80,3,'2021-07-05 20:11:44','Admin','Added',NULL),
+ (76,174,4,'2022-01-08 04:58:39','Email','Added',NULL),
+ (77,116,4,'2021-04-30 04:59:03','Email','Added',NULL),
+ (78,199,4,'2021-07-23 02:22:36','Admin','Added',NULL),
+ (79,105,4,'2021-12-06 16:46:39','Admin','Added',NULL),
+ (80,117,4,'2021-05-02 07:22:55','Admin','Added',NULL),
+ (81,143,4,'2021-09-04 03:21:19','Admin','Added',NULL),
+ (82,164,4,'2022-01-30 09:28:19','Admin','Added',NULL),
+ (83,46,4,'2021-12-25 16:05:06','Admin','Added',NULL),
+ (84,202,4,'2022-02-01 00:42:59','Admin','Added',NULL);
 /*!40000 ALTER TABLE `civicrm_subscription_history` ENABLE KEYS */;
 UNLOCK TABLES;
 
@@ -12346,22 +12287,21 @@ UNLOCK TABLES;
 LOCK TABLES `civicrm_website` WRITE;
 /*!40000 ALTER TABLE `civicrm_website` DISABLE KEYS */;
 INSERT INTO `civicrm_website` (`id`, `contact_id`, `url`, `website_type_id`) VALUES
- (1,116,'http://creativefoodsystems.org',1),
- (2,17,'http://kinsmaneducation.org',1),
- (3,102,'http://urbanschool.org',1),
- (4,187,'http://globalfood.org',1),
- (5,195,'http://watertownfoodpartnership.org',1),
- (6,101,'http://orlandofood.org',1),
- (7,21,'http://sierraacademy.org',1),
- (8,18,'http://ohioschool.org',1),
- (9,93,'http://woodbridgefood.org',1),
- (10,166,'http://mainsustainability.org',1),
- (11,56,'http://woodbridgehealthinitiative.org',1),
- (12,184,'http://bayhealthschool.org',1),
- (13,11,'http://padronisportscenter.org',1),
- (14,173,'http://progressivepeace.org',1),
- (15,120,'http://passadumkeagagriculturepartnership.org',1),
- (16,42,'http://vnempowermentacademy.org',1);
+ (1,77,'http://mlkingenvironmental.org',1),
+ (2,139,'http://oxfordinitiative.org',1),
+ (3,43,'http://gibbonhealthpartners.org',1),
+ (4,22,'http://secondfood.org',1),
+ (5,153,'http://woodbridgesustainability.org',1),
+ (6,58,'http://houstonlegalassociation.org',1),
+ (7,142,'http://harmonpeacefund.org',1),
+ (8,191,'http://tennesseesystems.org',1),
+ (9,25,'http://unitedcollective.org',1),
+ (10,166,'http://texaspeace.org',1),
+ (11,60,'http://cotopaxiadvocacytrust.org',1),
+ (12,54,'http://lincolnfood.org',1),
+ (13,158,'http://lincolnculture.org',1),
+ (14,92,'http://nclegalinitiative.org',1),
+ (15,23,'http://floridalegalsolutions.org',1);
 /*!40000 ALTER TABLE `civicrm_website` ENABLE KEYS */;
 UNLOCK TABLES;
 
@@ -12393,12 +12333,13 @@ UNLOCK TABLES;
 
 /*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
 /*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
+/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
 /*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
 /*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
 /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
 /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
 
--- Dump completed on 2022-01-05  3:20:55
+-- Dump completed on 2022-02-28 22:32:42
 -- +--------------------------------------------------------------------+
 -- | Copyright CiviCRM LLC. All rights reserved.                        |
 -- |                                                                    |
diff --git a/civicrm/sql/civicrm_navigation.mysql b/civicrm/sql/civicrm_navigation.mysql
index 08fdcbd9bb..2e8c73fe48 100644
--- a/civicrm/sql/civicrm_navigation.mysql
+++ b/civicrm/sql/civicrm_navigation.mysql
@@ -249,20 +249,6 @@ VALUES
     ( @domainID, 'civicrm/case/search?reset=1', 'Find Cases', 'Find Cases', 'access my cases and activities,access all cases and activities', 'OR',     @caselastID, '1', 1, 3 ),
     ( @domainID, 'civicrm/report/list?compid=7&reset=1', 'Case Reports', 'Case Reports', 'access my cases and activities,access all cases and activities,administer CiviCase', 'OR', @caselastID, '1', 0,    4 );
 
-INSERT INTO civicrm_navigation
-    ( domain_id, url, label, name, permission, permission_operator, parent_id, is_active, has_separator, weight, icon )
-VALUES
-    ( @domainID, NULL, 'Grants', 'Grants', 'access CiviGrant', '', NULL, '1', NULL, 90, 'crm-i fa-money' );
-
-SET @grantlastID:=LAST_INSERT_ID();
-INSERT INTO civicrm_navigation
-    ( domain_id, url, label, name, permission, permission_operator, parent_id, is_active, has_separator, weight )
-VALUES
-    ( @domainID, 'civicrm/grant?reset=1',           'Dashboard', 'Dashboard', 'access CiviGrant', '',       @grantlastID, '1', NULL, 1 ),
-    ( @domainID, 'civicrm/grant/add?reset=1&action=add&context=standalone', 'New Grant', 'New Grant', 'access CiviGrant,edit grants', 'AND', @grantlastID, '1', NULL, 2 ),
-    ( @domainID, 'civicrm/grant/search?reset=1',    'Find Grants', 'Find Grants', 'access CiviGrant', '',   @grantlastID, '1', 1, 3 ),
-    ( @domainID, 'civicrm/report/list?compid=5&reset=1', 'Grant Reports', 'Grant Reports', 'access CiviGrant', '', @grantlastID, '1', 0,    4 );
-
 INSERT INTO civicrm_navigation
     ( domain_id, url, label, name, permission, permission_operator, parent_id, is_active, has_separator, weight, icon )
 VALUES
@@ -475,18 +461,6 @@ VALUES
     ( @domainID, 'civicrm/admin/paymentProcessor?reset=1',                  'Payment Processors', 'Payment Processors',              'administer CiviCRM', '',                     @adminEventlastID, '1', NULL, 12),
     ( @domainID, 'civicrm/admin/setting/preferences/event?reset=1',         'CiviEvent Component Settings', 'CiviEvent Component Settings','access CiviEvent,administer CiviCRM', 'AND', @adminEventlastID, '1', NULL, 13 );
 
-INSERT INTO civicrm_navigation
-    ( domain_id, url, label, name, permission, permission_operator, parent_id, is_active, has_separator, weight )
-VALUES
-    ( @domainID, NULL, 'CiviGrant', 'CiviGrant', 'access CiviGrant,administer CiviCRM', 'AND', @adminlastID, '1', NULL, 13 );
-
-SET @adminGrantlastID:=LAST_INSERT_ID();
-INSERT INTO civicrm_navigation
-    ( domain_id, url, label, name, permission, permission_operator, parent_id, is_active, has_separator, weight )
-VALUES
-    ( @domainID, 'civicrm/admin/options/grant_type?reset=1', 'Grant Types', 'Grant Types', 'access CiviGrant,administer CiviCRM', 'AND', @adminGrantlastID, '1', NULL, 1 ),
-    ( @domainID, 'civicrm/admin/options/grant_status?reset=1', 'Grant Status', 'Grant Status', 'access CiviGrant,administer CiviCRM', 'AND', @adminGrantlastID, '1', NULL, 2 );
-
 INSERT INTO civicrm_navigation
     ( domain_id, url, label, name, permission, permission_operator, parent_id, is_active, has_separator, weight )
 VALUES
diff --git a/civicrm/templates/CRM/Activity/Form/Search.tpl b/civicrm/templates/CRM/Activity/Form/Search.tpl
index 0be339fb6f..9dd7bebde2 100644
--- a/civicrm/templates/CRM/Activity/Form/Search.tpl
+++ b/civicrm/templates/CRM/Activity/Form/Search.tpl
@@ -19,7 +19,7 @@
         {strip}
           <table class="form-layout">
             <tr>
-              <td class="font-size12pt" colspan="2">
+              <td colspan="2">
                 {$form.sort_name.label}&nbsp;&nbsp;{$form.sort_name.html|crmAddClass:'twenty'}
                 <div>
                   <div class="description font-italic">{ts}Complete OR Partial Name{/ts}
diff --git a/civicrm/templates/CRM/Activity/Form/Search/Common.tpl b/civicrm/templates/CRM/Activity/Form/Search/Common.tpl
index 0759d8e2bb..d34f2e3668 100644
--- a/civicrm/templates/CRM/Activity/Form/Search/Common.tpl
+++ b/civicrm/templates/CRM/Activity/Form/Search/Common.tpl
@@ -70,7 +70,7 @@
 {/if}
 
 <tr>
-  {include file="CRM/Core/DatePickerRangeWrapper.tpl" fieldName="activity_date_time" colspan="2"}
+  {include file="CRM/Core/DatePickerRangeWrapper.tpl" fieldName="activity_date_time" to='' from='' colspan="2" hideRelativeLabel=0 class =''}
   <td>&nbsp;</td>
 </tr>
 <tr>
diff --git a/civicrm/templates/CRM/Activity/Selector/Selector.tpl b/civicrm/templates/CRM/Activity/Selector/Selector.tpl
index 4817467ee5..aba74b7922 100644
--- a/civicrm/templates/CRM/Activity/Selector/Selector.tpl
+++ b/civicrm/templates/CRM/Activity/Selector/Selector.tpl
@@ -10,7 +10,7 @@
 <div class="crm-activity-selector-{$context}">
   <div class="crm-accordion-wrapper crm-search_filters-accordion">
     <div class="crm-accordion-header">
-    {ts}Filter by Activity{/ts}</a>
+    {ts}Filter by Activity{/ts}
     </div><!-- /.crm-accordion-header -->
     <div class="crm-accordion-body">
       <form><!-- form element is here to fool the datepicker widget -->
diff --git a/civicrm/templates/CRM/Admin/Form/Preferences/Contribute.tpl b/civicrm/templates/CRM/Admin/Form/Preferences/Contribute.tpl
index bea7787bfc..0c40f27567 100644
--- a/civicrm/templates/CRM/Admin/Form/Preferences/Contribute.tpl
+++ b/civicrm/templates/CRM/Admin/Form/Preferences/Contribute.tpl
@@ -7,7 +7,7 @@
  | and copyright information, see https://civicrm.org/licensing       |
  +--------------------------------------------------------------------+
 *}
-<div class="crm-block crm-form-block crm-{$formName}-block">
+<div class="crm-block crm-form-block crm--block">
   <div class="crm-submit-buttons">{include file="CRM/common/formButtons.tpl" location="top"}</div>
   {include file="CRM/Form/basicFormFields.tpl"}
 
@@ -20,7 +20,7 @@
             <td class="label"></td>
             <td>
               {$form.$htmlField.html} {$form.$htmlField.label}
-              {if $desc}
+              {if $fieldSpec.description}
                 <br /><span class="description">{$fieldSpec.description}</span>
               {/if}
             </td>
diff --git a/civicrm/templates/CRM/Admin/Form/Setting/Localization.tpl b/civicrm/templates/CRM/Admin/Form/Setting/Localization.tpl
index 754212bc0e..05fd577a9b 100644
--- a/civicrm/templates/CRM/Admin/Form/Setting/Localization.tpl
+++ b/civicrm/templates/CRM/Admin/Form/Setting/Localization.tpl
@@ -49,10 +49,15 @@
               <span class="description">{$settings_fields.contact_default_language.description}</span>
             </td>
           </tr>
-            <tr class="crm-localization-form-block-defaultCurrency">
-                <td class="label">{$form.defaultCurrency.label} {help id='defaultCurrency' title=$form.defaultCurrency.label}</td>
-                <td>{$form.defaultCurrency.html}</td>
-            </tr>
+          <tr class="crm-localization-form-block-defaultCurrency">
+            <td class="label">{$form.defaultCurrency.label} {help id='defaultCurrency' title=$form.defaultCurrency.label}</td>
+            <td>{$form.defaultCurrency.html}</td>
+          </tr>
+          <tr class="crm-localization-form-block-format_locale">
+            <td class="label">{$form.format_locale.label}</td>
+            <td>{$form.format_locale.html}<br />
+              <span class="description">{ts}Locale to use when formatting money (and in future dates). This replaces thousandsSeparator & decimalSeparator settings.{/ts}</span></td>
+          </tr>
             <tr class="crm-localization-form-block-monetaryThousandSeparator">
                 <td class="label">{$form.monetaryThousandSeparator.label}</td>
                 <td>{$form.monetaryThousandSeparator.html}</td>
diff --git a/civicrm/templates/CRM/Admin/Page/ExtensionDetails.tpl b/civicrm/templates/CRM/Admin/Page/ExtensionDetails.tpl
index 46413b0e39..7832acbe91 100644
--- a/civicrm/templates/CRM/Admin/Page/ExtensionDetails.tpl
+++ b/civicrm/templates/CRM/Admin/Page/ExtensionDetails.tpl
@@ -62,9 +62,4 @@
     <tr>
       <td class="label">{ts}Local path{/ts}</td><td>{if !empty($extension.path)}{$extension.path|escape}{/if}</td>
     </tr>
-    {if !empty($extension.downloadUrl)}
-    <tr>
-      <td class="label">{ts}Download location{/ts}</td><td>{$extension.downloadUrl|escape}</td>
-    </tr>
-    {/if}
 </table>
diff --git a/civicrm/templates/CRM/Campaign/Form/Gotv.tpl b/civicrm/templates/CRM/Campaign/Form/Gotv.tpl
index c11c028724..3a6f311067 100644
--- a/civicrm/templates/CRM/Campaign/Form/Gotv.tpl
+++ b/civicrm/templates/CRM/Campaign/Form/Gotv.tpl
@@ -10,55 +10,53 @@
 
 {if $errorMessages}
   <div class="messages status crm-error no-popup">
-     {icon icon="fa-info-circle"}{/icon}
-        <ul>
-          {foreach from=$errorMessages item=errorMsg}
-            <li>{ts}{$errorMsg}{/ts}</li>
-          {/foreach}
-       </ul>
-     </div>
+    {icon icon="fa-info-circle"}{/icon}
+    <ul>
+      {foreach from=$errorMessages item=errorMsg}
+        <li>{ts}{$errorMsg}{/ts}</li>
+      {/foreach}
+    </ul>
   </div>
 
 {elseif $buildSelector}
 
-       {* load voter selector for reserve/release *}
-
-       {literal}
-       <script type="text/javascript">
-       CRM.$(function($) {
-           loadVoterList( );
-       });
-       </script>
-       {/literal}
-
-       <table class="gotvVoterRecords">
-           <thead>
-              <tr class="columnheader">
-            <th></th>
-                  <th>{ts}Name{/ts}</th>
-            <th>{ts}Street Address{/ts}</th>
-            <th>{ts}Street Name{/ts}</th>
-            <th>{ts}Street Number{/ts}</th>
-            <th>{ts}Street Unit{/ts}</th>
-            {if $searchVoterFor eq 'release'}
+  {* load voter selector for reserve/release *}
+  {literal}
+  <script type="text/javascript">
+  CRM.$(function($) {
+      loadVoterList( );
+  });
+  </script>
+  {/literal}
+
+  <table class="gotvVoterRecords">
+      <thead>
+        <tr class="columnheader">
+          <th></th>
+          <th>{ts}Name{/ts}</th>
+          <th>{ts}Street Address{/ts}</th>
+          <th>{ts}Street Name{/ts}</th>
+          <th>{ts}Street Number{/ts}</th>
+          <th>{ts}Street Unit{/ts}</th>
+          {if $searchVoterFor eq 'release'}
             <th>{ts}Is Interview Conducted?{/ts}</th>
-            {elseif $searchVoterFor eq 'gotv'}
+          {elseif $searchVoterFor eq 'gotv'}
             <th>{ts}Voted?{/ts}</th>
-            {else}
+          {else}
             <th>{ts}Is Reserved?{/ts}</th>
-            {/if}
-              </tr>
-           </thead>
-           <tbody></tbody>
-       </table>
+          {/if}
+        </tr>
+      </thead>
+      <tbody></tbody>
+  </table>
 
 {else}
 
-    {* build search form *}
-    {include file='CRM/Campaign/Form/Search/Common.tpl' context='gotv'}
-    <div class="crm-block crm-form-block crm-search-form-block">
-      <div id='voterList'></div>
-    </div>
+  {* build search form *}
+  {include file='CRM/Campaign/Form/Search/Common.tpl' context='gotv'}
+  <div class="crm-block crm-form-block crm-search-form-block">
+    <div id='voterList'></div>
+  </div>
 
 {/if} {* end of search form build *}
 
@@ -66,152 +64,158 @@
 {literal}
 <script type="text/javascript">
 
- {/literal}
- {* load selector when force *}
- {if $force and !$buildSelector}
- {literal}
- CRM.$(function($) {
-    searchVoters( {/literal}'{$qfKey}'{literal} );
- });
-
- {/literal}
- {/if}
- {literal}
-
-function searchVoters( qfKey )
-{
-      var dataUrl =  {/literal}"{crmURL h=0 q='search=1&snippet=4'}"{literal};
-
-      //carry survey and interviewer id,
-      //might be helpful if user jump from current tab to interview tab.
-      var surveyId = CRM.$( '#campaign_survey_id' ).val();
-      var interviewerId = CRM.$( '#survey_interviewer_id' ).val();
-      if ( surveyId ) dataUrl = dataUrl + '&sid=' + surveyId;
-      if ( interviewerId ) dataUrl = dataUrl + '&cid=' + interviewerId;
-
-      //lets carry qfKey to retain form session.
-      if ( qfKey ) dataUrl = dataUrl + '&qfKey=' + qfKey;
-
-      CRM.$.get( dataUrl, null, function( voterList ) {
-        CRM.$( '#voterList' ).html( voterList ).trigger('crmLoad');
-
-        //collapse the search form.
-        var searchFormName = '#search_form_' + {/literal}'{$searchVoterFor}'{literal};
-        CRM.$( searchFormName + '.crm-accordion-wrapper:not(.collapsed)').crmAccordionToggle();
-      }, 'html' );
-}
-
-function loadVoterList( )
-{
-     var sourceUrl = {/literal}"{crmURL p='civicrm/ajax/rest' h=0 q='snippet=4&className=CRM_Campaign_Page_AJAX&fnName=voterList' }"{literal};
-
-     var searchVoterFor = {/literal}'{$searchVoterFor}'{literal};
-     CRM.$( 'table.gotvVoterRecords', 'form.{/literal}{$form.formClass}{literal}').dataTable({
-               "bFilter"    : false,
-    "bAutoWidth" : false,
-        "bProcessing": true,
-    "bJQueryUI"  : true,
-                "aaSorting": [[0,''],[1,'asc'], [2,'asc'], [3,'asc'], [4,'asc'], [5,'asc'] ],
-    "aoColumns":[{bSortable:false},{sClass:""},{sClass:""},{sClass:""},{sClass:""},{sClass:""},{bSortable:false}],
-    "sPaginationType": "full_numbers",
-    "sDom"       : '<"crm-datatable-pager-top"lfp>rt<"crm-datatable-pager-bottom"ip>',
-       "bServerSide": true,
-       "sAjaxSource": sourceUrl,
-
-    "fnServerData": function ( sSource, aoData, fnCallback ) {
-      var dataLength = aoData.length;
-
-      var count = 1;
-      var searchCriteria = ['campaign_search_voter_for'];
-
-      //get the search criteria.
-                        var searchParams = {/literal}{$searchParams}{literal};
-                        for ( param in searchParams ) {
-                            if ( val = CRM.$( '#' + param ).val( ) ) {
+  {/literal}
+  {* load selector when force *}
+  {if $force and !$buildSelector}
+    {literal}
+    CRM.$(function($) {
+        searchVoters( {/literal}'{$qfKey}'{literal} );
+    });
+    {/literal}
+  {/if}
+  {literal}
+
+  function searchVoters( qfKey )
+  {
+    var dataUrl =  {/literal}"{crmURL h=0 q='search=1&snippet=4'}"{literal};
+
+    //carry survey and interviewer id,
+    //might be helpful if user jump from current tab to interview tab.
+    var surveyId = CRM.$( '#campaign_survey_id' ).val();
+    var interviewerId = CRM.$( '#survey_interviewer_id' ).val();
+    if ( surveyId ) {
+      dataUrl = dataUrl + '&sid=' + surveyId;
+    }
+    if ( interviewerId ) {
+      dataUrl = dataUrl + '&cid=' + interviewerId;
+    }
+
+    //lets carry qfKey to retain form session.
+    if ( qfKey ) {
+      dataUrl = dataUrl + '&qfKey=' + qfKey;
+    }
+
+    CRM.$.get( dataUrl, null, function( voterList ) {
+      CRM.$( '#voterList' ).html( voterList ).trigger('crmLoad');
+
+      //collapse the search form.
+      var searchFormName = '#search_form_' + {/literal}'{$searchVoterFor}'{literal};
+      CRM.$( searchFormName + '.crm-accordion-wrapper:not(.collapsed)').crmAccordionToggle();
+    }, 'html' );
+  }
+
+  function loadVoterList( )
+  {
+    var sourceUrl = {/literal}"{crmURL p='civicrm/ajax/rest' h=0 q='snippet=4&className=CRM_Campaign_Page_AJAX&fnName=voterList' }"{literal};
+
+    var searchVoterFor = {/literal}'{$searchVoterFor}'{literal};
+    CRM.$( 'table.gotvVoterRecords', 'form.{/literal}{$form.formClass}{literal}').dataTable({
+      "bFilter"    : false,
+      "bAutoWidth" : false,
+      "bProcessing": true,
+      "bJQueryUI"  : true,
+      "aaSorting"  : [[0,''],[1,'asc'], [2,'asc'], [3,'asc'], [4,'asc'], [5,'asc'] ],
+      "aoColumns"  :[{bSortable:false},{sClass:""},{sClass:""},{sClass:""},{sClass:""},{sClass:""},{bSortable:false}],
+      "sPaginationType": "full_numbers",
+      "sDom"       : '<"crm-datatable-pager-top"lfp>rt<"crm-datatable-pager-bottom"ip>',
+      "bServerSide": true,
+      "sAjaxSource": sourceUrl,
+      "fnServerData": function ( sSource, aoData, fnCallback ) {
+        var dataLength = aoData.length;
+        var count = 1;
+        var searchCriteria = ['campaign_search_voter_for'];
+
+        //get the search criteria.
+        var searchParams = {/literal}{$searchParams}{literal};
+        for ( param in searchParams ) {
+          if ( val = CRM.$( '#' + param ).val() ) {
             aoData[dataLength++] = {name: param , value: val };
           }
           searchCriteria[count++] = param;
-                        }
-
-      //do search to reserve voters.
-      aoData[dataLength++] = {name: 'campaign_search_voter_for', value: searchVoterFor};
-
-      //lets transfer search criteria.
-      aoData[dataLength++] = {name: 'searchCriteria', value:searchCriteria.join(',')};
-
-      CRM.$.ajax( {
-        "dataType": 'json',
-        "type": "POST",
-        "url": sSource,
-        "data": aoData,
-        "success": fnCallback
-      } ); }
-         });
-}
-
-function processVoterData( element, operation )
-{
-
-  var data = new Object;
-  if ( !operation ) return;
-
-  var data = new Object;
-  if ( operation == 'release' ) {
-         data['operation']   = operation;
-  data['activity_id'] = CRM.$( element ).val( );
-  data['isDelete']    = CRM.$( element ).prop('checked') ? 1:0;
-  } else if ( operation == 'reserve' ) {
-        var interviewerId           = CRM.$( '#survey_interviewer_id' ).val( );
-        data['operation']           = operation;
-        data['source_record_id']    = CRM.$( '#campaign_survey_id' ).val( );
-  data['target_contact_id']   = CRM.$( element ).val( );
-        data['source_contact_id']   = interviewerId;
-        data['assignee_contact_id'] = interviewerId;
-  data['isReserved']          = CRM.$( element ).prop('checked') ? 1:0;
-  } else if ( operation == 'gotv' ) {
-         data['operation']   = operation;
-  data['activity_id'] = CRM.$( element ).val( );
-  data['hasVoted']    = CRM.$( element ).prop('checked') ? 1: 0;
+        }
+
+        //do search to reserve voters.
+        aoData[dataLength++] = {name: 'campaign_search_voter_for', value: searchVoterFor};
+
+        //lets transfer search criteria.
+        aoData[dataLength++] = {name: 'searchCriteria', value:searchCriteria.join(',')};
+
+        CRM.$.ajax({
+          "dataType": 'json',
+          "type": "POST",
+          "url": sSource,
+          "data": aoData,
+          "success": fnCallback
+        });
+      }
+    });
   }
-  data['surveyTitle'] = {/literal}'{$surveyTitle|escape:javascript}'{literal};
-
-  var actUrl = {/literal}
-         "{crmURL p='civicrm/ajax/rest' h=0 q='className=CRM_Campaign_Page_AJAX&fnName=processVoterData'}"
-         {literal};
-
-  //post data to save voter as voted/non voted.
-  CRM.$.post( actUrl,
-       data,
-     function( response ) {
-         if ( response.status == 'success' ) {
-                   var msgId = '#success_msg_' + CRM.$( element ).val( );
-       CRM.$( msgId ).fadeIn('slow').fadeOut('slow');
-       if ( operation == 'release' ) {
-                 msg = '{/literal}{ts escape='js'}Save as voted.{/ts}{literal}';
-           var isDeleted = CRM.$( element ).prop('checked') ? 1:0;
-           if ( !isDeleted ) msg = '{/literal}{ts escape='js'}Save as non voted.{/ts}{literal}';
-       } else if ( operation == 'gotv' ) {
-           msg = '{/literal}{ts escape='js'}Vote Recorded.{/ts}{literal}';
-           var hasVoted = CRM.$( element ).prop('checked') ? 1:0;
-           var trObject = CRM.$( '[id^="survey_activity['+ CRM.$( element ).val() +']"]' ).parents('tr' );
-           var methodName = 'addClass';
-           if ( !hasVoted ) {
-        msg = '{/literal}{ts escape='js'}Vote Cancelled.{/ts}{literal}';
-        methodName = 'removeClass';
-           }
-           eval( 'trObject.' + methodName + "( 'name disabled' )" );
-       } else if ( operation == 'reserve' ) {
-           if ( CRM.$( element ).prop('checked') ) {
-               msg = '{/literal}{ts escape='js'}Reserved.{/ts}{literal}';
-           } else {
-               msg = '{/literal}{ts escape='js'}Released.{/ts}{literal}';
-           }
-       }
-       CRM.$( msgId ).html( msg );
-         }
-     }, 'json' );
-
-}
 
+  function processVoterData( element, operation )
+  {
+    var data = new Object;
+    if ( !operation ) {
+      return;
+    }
+
+    var data = new Object;
+    if ( operation == 'release' ) {
+      data['operation']   = operation;
+      data['activity_id'] = CRM.$( element ).val( );
+      data['isDelete']    = CRM.$( element ).prop('checked') ? 1:0;
+    } else if ( operation == 'reserve' ) {
+      var interviewerId           = CRM.$( '#survey_interviewer_id' ).val( );
+      data['operation']           = operation;
+      data['source_record_id']    = CRM.$( '#campaign_survey_id' ).val( );
+      data['target_contact_id']   = CRM.$( element ).val( );
+      data['source_contact_id']   = interviewerId;
+      data['assignee_contact_id'] = interviewerId;
+      data['isReserved']          = CRM.$( element ).prop('checked') ? 1:0;
+    } else if ( operation == 'gotv' ) {
+      data['operation']   = operation;
+      data['activity_id'] = CRM.$( element ).val( );
+      data['hasVoted']    = CRM.$( element ).prop('checked') ? 1: 0;
+    }
+    data['surveyTitle'] = {/literal}'{$surveyTitle|escape:javascript}'{literal};
+
+    var actUrl = {/literal}
+      "{crmURL p='civicrm/ajax/rest' h=0 q='className=CRM_Campaign_Page_AJAX&fnName=processVoterData'}"
+    {literal};
+
+    //post data to save voter as voted/non voted.
+    CRM.$.post( actUrl, data,
+      function( response ) {
+        if ( response.status == 'success' ) {
+          var msgId = '#success_msg_' + CRM.$( element ).val( );
+          CRM.$( msgId ).fadeIn('slow').fadeOut('slow');
+          if ( operation == 'release' ) {
+            msg = '{/literal}{ts escape='js'}Save as voted.{/ts}{literal}';
+            var isDeleted = CRM.$( element ).prop('checked') ? 1:0;
+            if ( !isDeleted ) {
+              msg = '{/literal}{ts escape='js'}Save as non voted.{/ts}{literal}';
+            }
+          } else if ( operation == 'gotv' ) {
+            msg = '{/literal}{ts escape='js'}Vote Recorded.{/ts}{literal}';
+            var hasVoted = CRM.$( element ).prop('checked') ? 1:0;
+            var trObject = CRM.$( '[id^="survey_activity['+ CRM.$( element ).val() +']"]' ).parents('tr' );
+            var methodName = 'addClass';
+            if ( !hasVoted ) {
+              msg = '{/literal}{ts escape='js'}Vote Cancelled.{/ts}{literal}';
+              methodName = 'removeClass';
+            }
+            eval( 'trObject.' + methodName + "( 'name disabled' )" );
+          } else if ( operation == 'reserve' ) {
+            if ( CRM.$( element ).prop('checked') ) {
+              msg = '{/literal}{ts escape='js'}Reserved.{/ts}{literal}';
+            } else {
+              msg = '{/literal}{ts escape='js'}Released.{/ts}{literal}';
+            }
+          }
+          CRM.$( msgId ).html( msg );
+        }
+      },
+      'json'
+    );
+  }
 </script>
 {/literal}
diff --git a/civicrm/templates/CRM/Campaign/Form/Search/Common.tpl b/civicrm/templates/CRM/Campaign/Form/Search/Common.tpl
index 35a1c333b8..2b9a059b43 100644
--- a/civicrm/templates/CRM/Campaign/Form/Search/Common.tpl
+++ b/civicrm/templates/CRM/Campaign/Form/Search/Common.tpl
@@ -23,7 +23,7 @@
     {strip}
       <table class="form-layout">
         <tr>
-          <td class="font-size12pt">
+          <td>
             {$form.campaign_survey_id.label}
           </td>
           <td>
@@ -31,17 +31,17 @@
           </td>
 
           {if $showInterviewer}
-            <td class="font-size12pt">
+            <td>
               {$form.survey_interviewer_id.label}
             </td>
-            <td class="font-size12pt ">
+            <td>
               {$form.survey_interviewer_id.html}
             </td>
           {/if}
 
         </tr>
         <tr>
-          <td class="font-size12pt">
+          <td>
             {$form.sort_name.label}
           </td>
           <td colspan="3">
@@ -64,13 +64,13 @@
         </tr>
 
         <tr>
-          <td class="font-size12pt">
+          <td>
             {$form.street_address.label}
           </td>
           <td>
             {$form.street_address.html}
           </td>
-          <td class="font-size12pt">
+          <td>
             {$form.street_name.label}
           </td>
           <td>
@@ -78,13 +78,13 @@
           </td>
         </tr>
         <tr>
-          <td class="font-size12pt">
+          <td>
             {$form.street_unit.label}
           </td>
           <td>
             {$form.street_unit.html}
           </td>
-          <td class="font-size12pt">
+          <td>
             {$form.city.label}
           </td>
           <td>
@@ -92,14 +92,14 @@
           </td>
         </tr>
         <tr>
-          <td class="font-size12pt">
+          <td>
             {$form.street_number.label}
           </td>
           <td>
             {$form.street_number.html}
           </td>
 
-          <td class="font-size12pt">
+          <td>
             {$form.postal_code.label}
           </td>
           <td>
@@ -110,7 +110,7 @@
           <tr>
             {if $customSearchFields.ward}
               {assign var='ward' value=$customSearchFields.ward}
-              <td class="font-size12pt">
+              <td>
                 {$form.$ward.label}
               </td>
               <td>
@@ -120,7 +120,7 @@
 
             {if $customSearchFields.precinct}
               {assign var='precinct' value=$customSearchFields.precinct}
-              <td class="font-size12pt">
+              <td>
                 {$form.$precinct.label}
               </td>
               <td>
diff --git a/civicrm/templates/CRM/Case/Form/Activity.tpl b/civicrm/templates/CRM/Case/Form/Activity.tpl
index 4e243b3415..cf24faa281 100644
--- a/civicrm/templates/CRM/Case/Form/Activity.tpl
+++ b/civicrm/templates/CRM/Case/Form/Activity.tpl
@@ -62,9 +62,9 @@
             <table class="form-layout-compressed">
               <tbody>
                 <tr id="with-clients" class="crm-case-activity-form-block-client_name">
-                  <td class="label font-size12pt">{ts}Client{/ts}</td>
+                  <td class="label">{ts}Client{/ts}</td>
                   <td class="view-value">
-                    <span class="font-size12pt">
+                    <span>
                       {foreach from=$client_names item=client name=clients key=id}
                         {foreach from=$client_names.$id item=client1}
                           {$client1.display_name}
@@ -131,7 +131,7 @@
                 <td class="view-value">
                   {$form.activity_date_time.html}
                   {if $action eq 2 && $activityTypeFile eq 'OpenCase'}
-                    <div class="description">Use a <a class="open-inline" href="{$changeStartURL}">Change Start Date</a> activity to change the date</div>
+                    <div class="description">{ts}Use a <a class="open-inline" href="{$changeStartURL}">Change Start Date</a> activity to change the date{/ts}</div>
                   {/if}
                 </td>
               </tr>
diff --git a/civicrm/templates/CRM/Case/Form/Case.tpl b/civicrm/templates/CRM/Case/Form/Case.tpl
index ef2bbef2a2..bcbef3b5f7 100644
--- a/civicrm/templates/CRM/Case/Form/Case.tpl
+++ b/civicrm/templates/CRM/Case/Form/Case.tpl
@@ -36,8 +36,8 @@
     {/if}
 {if !empty($clientName)}
     <tr class="crm-case-form-block-clientName">
-      <td class="label font-size12pt">{ts}Client{/ts}</td>
-      <td class="font-size12pt bold view-value">{$clientName}</td>
+      <td class="label">{ts}Client{/ts}</td>
+      <td class="bold view-value">{$clientName}</td>
     </tr>
 {elseif empty($clientName) and $action eq 1}
     {if $context eq 'standalone'}
diff --git a/civicrm/templates/CRM/Case/Form/Search.tpl b/civicrm/templates/CRM/Case/Form/Search.tpl
index 0f920c3335..1aae150e0c 100644
--- a/civicrm/templates/CRM/Case/Form/Search.tpl
+++ b/civicrm/templates/CRM/Case/Form/Search.tpl
@@ -21,7 +21,7 @@
         {strip}
             <table class="form-layout">
             <tr class="crm-case-search-form-block-sort_name">
-               <td class="font-size12pt" colspan="2">
+               <td colspan="2">
                    {$form.sort_name.label}&nbsp;&nbsp;{$form.sort_name.html|crmAddClass:'twenty'}
                </td>
               <td>{include file="CRM/common/formButtons.tpl" location="top"}</td>
diff --git a/civicrm/templates/CRM/Case/Form/Search/Common.tpl b/civicrm/templates/CRM/Case/Form/Search/Common.tpl
index dc9d0121f2..a720113051 100644
--- a/civicrm/templates/CRM/Case/Form/Search/Common.tpl
+++ b/civicrm/templates/CRM/Case/Form/Search/Common.tpl
@@ -22,10 +22,10 @@
   </tr>
 
   <tr>
-    {include file="CRM/Core/DatePickerRangeWrapper.tpl" fieldName="case_start_date" hideRelativeLabel=0}
+    {include file="CRM/Core/DatePickerRangeWrapper.tpl" fieldName="case_start_date" to='' from='' colspan='' class ='' hideRelativeLabel=0}
   </tr>
   <tr>
-    {include file="CRM/Core/DatePickerRangeWrapper.tpl" fieldName="case_end_date" hideRelativeLabel=0}
+    {include file="CRM/Core/DatePickerRangeWrapper.tpl" fieldName="case_end_date" to='' from='' colspan='' class ='' hideRelativeLabel=0 }
   </tr>
 
   <tr id='case_search_form'>
diff --git a/civicrm/templates/CRM/Contact/Form/DedupeFind.tpl b/civicrm/templates/CRM/Contact/Form/DedupeFind.tpl
index d96ba76511..5cb53d59af 100644
--- a/civicrm/templates/CRM/Contact/Form/DedupeFind.tpl
+++ b/civicrm/templates/CRM/Contact/Form/DedupeFind.tpl
@@ -20,10 +20,12 @@
        <td class="label">{$form.group_id.label}</td>
        <td>{$form.group_id.html}</td>
      </tr>
-       <tr class="crm-dedupe-find-form-block-limit">
-        <td class="label">{$form.limit.label}</td>
-        <td>{$form.limit.html}</td>
-       </tr>
+     {if $limitShown}
+        <tr class="crm-dedupe-find-form-block-limit">
+          <td class="label">{$form.limit.label}</td>
+          <td>{$form.limit.html}</td>
+        </tr>
+      {/if}
    </table>
   <div class="crm-submit-buttons">{include file="CRM/common/formButtons.tpl" location="bottom"}</div>
 </div>
diff --git a/civicrm/templates/CRM/Contact/Form/Relationship.tpl b/civicrm/templates/CRM/Contact/Form/Relationship.tpl
index 37f9a5a627..f1fc994faa 100644
--- a/civicrm/templates/CRM/Contact/Form/Relationship.tpl
+++ b/civicrm/templates/CRM/Contact/Form/Relationship.tpl
@@ -9,65 +9,6 @@
 *}
 {* this template is used for adding/editing/viewing relationships  *}
 
-  {if $action eq 4 } {* action = view *}
-    <div class="crm-block crm-content-block crm-relationship-view-block">
-      <table class="crm-info-panel">
-        {foreach from=$viewRelationship item="row"}
-          <tr>
-            <td class="label">{$row.relation}</td>
-            <td><a class="no-popup" href="{crmURL p='civicrm/contact/view' q="reset=1&cid=`$row.cid`"}">{$row.name}</a></td>
-          </tr>
-          {if $isCurrentEmployer}
-            <tr><td class="label">{ts}Current Employee?{/ts}</td><td>{ts}Yes{/ts}</td></tr>
-          {/if}
-          {if $row.start_date}
-            <tr><td class="label">{ts}Start Date{/ts}</td><td>{$row.start_date|crmDate}</td></tr>
-          {/if}
-          {if $row.end_date}
-            <tr><td class="label">{ts}End Date{/ts}</td><td>{$row.end_date|crmDate}</td></tr>
-          {/if}
-          {if $row.description}
-            <tr><td class="label">{ts}Description{/ts}</td><td>{$row.description}</td></tr>
-          {/if}
-          {foreach from=$viewNote item="rec"}
-            {if $rec }
-              <tr><td class="label">{ts}Note{/ts}</td><td>{$rec}</td></tr>
-            {/if}
-          {/foreach}
-          <tr>
-            <td class="label"><label>{ts}Permissions{/ts}</label></td>
-            <td>
-              {if $row.is_permission_a_b or $row.is_permission_b_a}
-                {if $row.is_permission_a_b}
-                  <div>
-                  {if $row.rtype EQ 'a_b' AND $is_contact_id_a}
-                    {include file="CRM/Contact/Page/View/RelationshipPerm.tpl" permType=$row.is_permission_a_b permDisplayName=$displayName otherDisplayName=$row.display_name displayText=true}
-                  {else}
-                    {include file="CRM/Contact/Page/View/RelationshipPerm.tpl" permType=$row.is_permission_a_b otherDisplayName=$displayName permDisplayName=$row.display_name displayText=true}
-                  {/if}
-                  </div>
-                {/if}
-                {if $row.is_permission_b_a}
-                  <div>
-                  {if $row.rtype EQ 'a_b' AND $is_contact_id_a}
-                    {include file="CRM/Contact/Page/View/RelationshipPerm.tpl" permType=$row.is_permission_b_a otherDisplayName=$displayName permDisplayName=$row.display_name displayText=true}
-                  {else}
-                    {include file="CRM/Contact/Page/View/RelationshipPerm.tpl" permType=$row.is_permission_b_a permDisplayName=$displayName otherDisplayName=$row.display_name displayText=true}
-                  {/if}
-                  </div>
-                {/if}
-              {else}
-                {ts}None{/ts}
-              {/if}
-            </td>
-          </tr>
-          <tr><td class="label">{ts}Status{/ts}</td><td>{if $row.is_active}{ts}Enabled{/ts}{else}{ts}Disabled{/ts}{/if}</td></tr>
-        {/foreach}
-      </table>
-      {include file="CRM/Custom/Page/CustomDataView.tpl"}
-    </div>
-  {/if}
-
   {if $action eq 2 or $action eq 1} {* add and update actions *}
     <div class="crm-block crm-form-block crm-relationship-form-block">
       <table class="form-layout-compressed">
diff --git a/civicrm/templates/CRM/Contact/Form/Search/ContactSearchFields.tpl b/civicrm/templates/CRM/Contact/Form/Search/ContactSearchFields.tpl
index 2941f228ee..e80a3ceb4e 100644
--- a/civicrm/templates/CRM/Contact/Form/Search/ContactSearchFields.tpl
+++ b/civicrm/templates/CRM/Contact/Form/Search/ContactSearchFields.tpl
@@ -1,5 +1,5 @@
 <tr>
-  <td class="font-size12pt">
+  <td>
     {$form.sort_name.label}
     <br>
     {$form.sort_name.html|crmAddClass:'twenty'}
diff --git a/civicrm/templates/CRM/Contact/Form/Search/Criteria/ChangeLog.tpl b/civicrm/templates/CRM/Contact/Form/Search/Criteria/ChangeLog.tpl
index 38da97e13b..f84cc732f0 100644
--- a/civicrm/templates/CRM/Contact/Form/Search/Criteria/ChangeLog.tpl
+++ b/civicrm/templates/CRM/Contact/Form/Search/Criteria/ChangeLog.tpl
@@ -10,14 +10,14 @@
 <div id="changelog" class="form-item">
   <table class="form-layout">
     <tr>
-      {include file="CRM/Core/DatePickerRangeWrapper.tpl" fieldName="modified_date"}
+      {include file="CRM/Core/DatePickerRangeWrapper.tpl" fieldName="modified_date" to='' from='' class='' colspan='' hideRelativeLabel=0}
       <td>
         <span class="modifiedBy"><label>{ts}Modified By{/ts}</label></span></br>
         {$form.changed_by.html}<br><span class="description">{ts}Note this field just filters on who made a change no matter when that change happened, It doesn't have any link to the modified date field.{/ts}</span>
       </td>
     </tr>
     <tr>
-      {include file="CRM/Core/DatePickerRangeWrapper.tpl" fieldName="created_date"}
+      {include file="CRM/Core/DatePickerRangeWrapper.tpl" fieldName="created_date" to='' from='' colspan='' class='' hideRelativeLabel=0}
     </tr>
   </table>
 </div>
diff --git a/civicrm/templates/CRM/Contact/Form/Search/Criteria/Demographics.tpl b/civicrm/templates/CRM/Contact/Form/Search/Criteria/Demographics.tpl
index 41edbab140..ad2858ea82 100644
--- a/civicrm/templates/CRM/Contact/Form/Search/Criteria/Demographics.tpl
+++ b/civicrm/templates/CRM/Contact/Form/Search/Criteria/Demographics.tpl
@@ -10,7 +10,7 @@
 <div id="demographics" class="form-item">
   <table class="form-layout">
     <tr>
-      {include file="CRM/Core/DatePickerRangeWrapper.tpl" fieldName="birth_date"}
+      {include file="CRM/Core/DatePickerRangeWrapper.tpl" fieldName="birth_date" to='' from='' colspan='' class='' hideRelativeLabel=0}
     </tr>
     <tr>
       <td>
@@ -27,7 +27,7 @@
       </td>
     </tr>
     <tr>
-      {include file="CRM/Core/DatePickerRangeWrapper.tpl" fieldName="deceased_date"}
+      {include file="CRM/Core/DatePickerRangeWrapper.tpl" fieldName="deceased_date"  to='' from='' colspan='' class='' hideRelativeLabel=0}
     </tr>
     <tr>
       <td>
diff --git a/civicrm/templates/CRM/Contact/Form/Search/Criteria/Relationship.tpl b/civicrm/templates/CRM/Contact/Form/Search/Criteria/Relationship.tpl
index 35a22fd924..2fe8f3c1d3 100644
--- a/civicrm/templates/CRM/Contact/Form/Search/Criteria/Relationship.tpl
+++ b/civicrm/templates/CRM/Contact/Form/Search/Criteria/Relationship.tpl
@@ -44,16 +44,16 @@
       </td>
     </tr>
     <tr>
-      {include file="CRM/Core/DatePickerRangeWrapper.tpl" fieldName="relationship_start_date"}
+      {include file="CRM/Core/DatePickerRangeWrapper.tpl" fieldName="relationship_start_date"  to='' from='' colspan='' class='' hideRelativeLabel=0}
     </tr>
     <tr>
-      {include file="CRM/Core/DatePickerRangeWrapper.tpl" fieldName="relationship_end_date"}
+      {include file="CRM/Core/DatePickerRangeWrapper.tpl" fieldName="relationship_end_date"  to='' from='' colspan='' class='' hideRelativeLabel=0}
     </tr>
     <tr>
       <td colspan="2"><label>{ts}Active Period{/ts}</label> {help id="id-relationship-active-period" file="CRM/Contact/Form/Search/Advanced.hlp"}<br /></td>
     </tr>
     <tr>
-      {include file="CRM/Core/DatePickerRangeWrapper.tpl" fieldName="relation_active_period_date" hideRelativeLabel=1}
+      {include file="CRM/Core/DatePickerRangeWrapper.tpl" fieldName="relation_active_period_date" to='' from='' colspan='' class ='' hideRelativeLabel=1 }
     </tr>
     {if !empty($relationshipGroupTree)}
       <tr>
diff --git a/civicrm/templates/CRM/Contact/Form/Search/ResultTasks.tpl b/civicrm/templates/CRM/Contact/Form/Search/ResultTasks.tpl
index 79bcf3fc58..567a415f76 100644
--- a/civicrm/templates/CRM/Contact/Form/Search/ResultTasks.tpl
+++ b/civicrm/templates/CRM/Contact/Form/Search/ResultTasks.tpl
@@ -38,7 +38,7 @@
 
   <table class="form-layout-compressed">
   <tr>
-    <td class="font-size12pt" style="width: 30%;">
+    <td style="width: 30%;">
         {if !empty($savedSearch.name)}{$savedSearch.name} ({ts}smart group{/ts}) - {/if}
         {ts count=$pager->_totalItems plural='%count Contacts'}%count Contact{/ts}
     </td>
@@ -51,7 +51,7 @@
     </td>
   </tr>
   <tr>
-    <td class="font-size11pt"> {ts}Select Records{/ts}:</td>
+    <td> {ts}Select Records{/ts}:</td>
     <td class="nowrap">
       {assign var="checked" value=$selectedContactIds|@count}
       {$form.radio_ts.ts_all.html} <label for="{$ts_all_id}">{ts count=$pager->_totalItems plural='All %count records'}The found record{/ts}</label>
diff --git a/civicrm/templates/CRM/Contact/Form/Task.tpl b/civicrm/templates/CRM/Contact/Form/Task.tpl
index ec171e0810..80cdb64ade 100644
--- a/civicrm/templates/CRM/Contact/Form/Task.tpl
+++ b/civicrm/templates/CRM/Contact/Form/Task.tpl
@@ -9,7 +9,7 @@
 *}
 {ts 1=$totalSelectedContacts}Number of selected contacts: %1{/ts}
 
-{if !empty($searchtype) && $searchtype eq 'ts_sel'}
+{if $isSelectedContacts}
 <div id="popupContainer">
   <div class="crm-block crm-form-block crm-search-form-block">
     <table id="selectedRecords-{if !empty($group)}{$group.id}{/if}" class="display crm-copy-fields crm-sortable">
@@ -32,7 +32,7 @@
 <a href="#" id="popup-button" title="{ts}View Selected Contacts{/ts}">{ts}View Selected Contacts{/ts}</a>
 {/if}
 
-{if !empty($searchtype) && $searchtype eq 'ts_sel'}
+{if $isSelectedContacts}
 {literal}
 <script type="text/javascript">
   CRM.$(function($) {
diff --git a/civicrm/templates/CRM/Contact/Form/Task/Email.hlp b/civicrm/templates/CRM/Contact/Form/Task/Email.hlp
index 9ae2dcb3df..e9a357730b 100644
--- a/civicrm/templates/CRM/Contact/Form/Task/Email.hlp
+++ b/civicrm/templates/CRM/Contact/Form/Task/Email.hlp
@@ -8,25 +8,6 @@
  +--------------------------------------------------------------------+
 *}
 {capture assign=tokentext}{ts}Find out more about CiviCRM Tokens{/ts}{/capture}
-{htxt id="id-from_email-title"}
-  {ts}From Address{/ts}
-{/htxt}
-{htxt id="id-from_email"}
-{if !empty($params.logged_in_email_setting) and $params.logged_in_email_setting == "1"}
-  <p>{ts}By default, CiviCRM uses the primary email address of the logged in user as the FROM address when sending emails to contacts. However, users with Administer CiviCRM permission can configure one or more general email addresses that can be selected as an alternative. EXAMPLE: "Client Services" &lt;clientservices@example.org&gt;{/ts}</p>
-{else}
-  <p>{ts}CiviCRM is currently configured to only use the defined From Email addresses. If you wish to be able to use the email address of the logged in user as the From Address you will need to set the setting "Allow mail from logged in contact" setting. Users with Administer CiviCRM can set this setting in the SMTP settings.{/ts}<p>
-  {if !empty($params.isAdmin)}
-    {capture assign="smtpUrl"}{crmURL p="civicrm/admin/setting/smtp" q="reset=1"}{/capture}
-    <p>{ts 1=$smtpUrl}Go to <a href='%1'>Settings - Outbound Mail</a> to enable the usage of the logged in contact's email address as the from email{/ts}</p>
-  {/if}
-{/if}
-{if !empty($params.isAdmin)}
-   {capture assign="fromConfig"}{crmURL p="civicrm/admin/options/from_email_address" q="reset=1"}{/capture}
-   <p>{ts 1=$fromConfig}Go to <a href='%1'>Administer CiviCRM &raquo; Communications &raquo; FROM Email Addresses</a> to add or edit general email addresses. Make sure these email addresses are valid email accounts with your email service provider.{/ts}</p>
-{/if}
-{/htxt}
-
 {htxt id="id-to_email-title"}
   {ts}To Address{/ts}
 {/htxt}
@@ -51,11 +32,6 @@
 <p>{ts}Use tokens when you are sending mail to a number of recipients, and want to include their name and / or other values from their contact record automatically within your message.{/ts}</p>
 <p>{ts 1='&#123;contact.first_name&#125;'}EXAMPLE: If you want your message to begin with "Dear " followed by the recipient's first name, you can use the %1 token in your message. <em>Dear %1</em>{/ts}</p>
 <p>{ts}Place your cursor within the Message box where you want to the token to be inserted. Then click the &quot;Insert Tokens&quot; link in the upper right corner of the message box to see a list of available tokens. Insert the token by clicking the desired token name in the list (for example, click &quot;First Name&quot;).{/ts}</p>
-{if !empty($params.tplFile) and $params.tplFile EQ 'CRM/Mailing/Form/Upload.tpl'}
-    <p>
-    {ts}You will also use tokens to insert Unsubscribe, Opt out and Forwarding links in your message.{/ts}
-    </p>
-{/if}
 <p>{ts}Custom tokens (based on custom data) can be added for organizations as well. These tokens will not be displayed in the list of available tokens, but can be added manually. The format is {literal}{contact.custom_12}{/literal} – where 12 is the ID of the custom data field. To find the custom data field ID,
 go Administer > Customize Data & Screens > Custom Fields and click ‘edit’ on the field you want to use. Look at the URL. The last part of the URL will
 be an equal sign and a number (=12). The number (12 in this example) is the id of that custom field.{/ts}</p>
@@ -69,19 +45,6 @@ be an equal sign and a number (=12). The number (12 in this example) is the id o
 <p>{ts}Use tokens when you are sending mail or generating PDF letters for a number of recipients, and want to include their name and / or other values from their contact record automatically within your message.{/ts}</p>
 <p>{ts 1='&#123;contact.first_name&#125;'}EXAMPLE: If you want your message to begin with "Dear " followed by the recipient's first name, you can use the %1 token in your message. <em>Dear %1</em>{/ts}</p>
 <p>{ts}Place your cursor within the Message box where you want to the token to be inserted. Then click the &quot;Insert Tokens&quot; link in the upper right corner of the message box to see a list of available tokens. Insert the token by clicking the desired token name in the list (for example, click &quot;First Name&quot;).{/ts}</p>
-{if !empty($params.tplFile) and $params.tplFile EQ 'CRM/Mailing/Form/Upload.tpl'}
-    <p>
-    {ts}You will also use tokens to insert Unsubscribe, Opt out and Forwarding links in your message.{/ts}
-        {ts}Use these steps to insert clickable action links:{/ts}
-        <ul>
-            <li>{ts}Select the action token from the Insert Tokens pop-up list - e.g. Unsubscribe via web page - and insert into your message.{/ts}</li>
-            <li>{ts 1='&#123;action.unsubscribeUrl&#125;}'}Highlight the token and copy it to your clipboard - e.g. %1.{/ts}</li>
-            <li>{ts}Replace the token in your message with the text you want for the link - e.g. Click here to unsubscribe.{/ts}</li>
-            <li>{ts}With the text highlighted, click the Insert/Edit Link icon in the editor toolbar.{/ts}</li>
-            <li>{ts}Paste the action token into the URL field and click Insert (or Update).{/ts}</li>
-        </ul>
-    </p>
-{/if}
 <p>{ts}Custom tokens (based on custom data) can be added for organizations as well. These tokens will not be displayed in the list of available tokens, but can be added manually. The format is {literal}{contact.custom_12}{/literal} – where 12 is the ID of the custom data field. To find the custom data field ID,
 go Administer > Customize Data & Screens > Custom Fields and click ‘edit’ on the field you want to use. Look at the URL. The last part of the URL will
 be an equal sign and a number (=12). The number (12 in this example) is the id of that custom field.{/ts}</p>
diff --git a/civicrm/templates/CRM/Contact/Form/Task/Email.tpl b/civicrm/templates/CRM/Contact/Form/Task/Email.tpl
index c9b9b138a0..02e9ed51e7 100644
--- a/civicrm/templates/CRM/Contact/Form/Task/Email.tpl
+++ b/civicrm/templates/CRM/Contact/Form/Task/Email.tpl
@@ -14,11 +14,11 @@
         <p>{ts count=$suppressedEmails plural='Email will NOT be sent to %count contacts - (no email address on file, or communication preferences specify DO NOT EMAIL, or contact is deceased).'}Email will NOT be sent to %count contact - (no email address on file, or communication preferences specify DO NOT EMAIL, or contact is deceased).{/ts}</p>
     </div>
 {/if}
-{crmSetting var="logged_in_email_setting" name="allow_mail_from_logged_in_contact"}
+
 <table class="form-layout-compressed">
   <tr id="selectEmailFrom" class="crm-contactEmail-form-block-fromEmailAddress crm-email-element">
     <td class="label">{$form.from_email_address.label}</td>
-    <td>{$form.from_email_address.html} {help id="id-from_email" file="CRM/Contact/Form/Task/Email.hlp" isAdmin=$isAdmin logged_in_email_setting=$logged_in_email_setting}</td>
+    <td>{$form.from_email_address.html} {help id="id-from_email" file="CRM/Contact/Form/Task/Help/Email/id-from_email.hlp"}</td>
   </tr>
     <tr class="crm-contactEmail-form-block-recipient">
        <td class="label">{if $single eq false}{ts}Recipient(s){/ts}{else}{$form.to.label}{/if}</td>
@@ -68,7 +68,7 @@
   {include file="CRM/Campaign/Form/addCampaignToComponent.tpl" campaignTrClass="crm-contactEmail-form-block-campaign_id"}
 </table>
 
-{include file="CRM/Contact/Form/Task/EmailCommon.tpl"}
+{include file="CRM/Contact/Form/Task/EmailCommon.tpl" noAttach=0}
 {include file="CRM/Activity/Form/FollowUp.tpl" type='email-'}
 
 <div class="spacer"> </div>
diff --git a/civicrm/templates/CRM/Contact/Form/Task/EmailCommon.tpl b/civicrm/templates/CRM/Contact/Form/Task/EmailCommon.tpl
index 6c0f69516e..644950ab62 100644
--- a/civicrm/templates/CRM/Contact/Form/Task/EmailCommon.tpl
+++ b/civicrm/templates/CRM/Contact/Form/Task/EmailCommon.tpl
@@ -21,10 +21,7 @@
   </div>
   <div class="clear"></div>
     <div class='html'>
-  {if !empty($editor) and $editor EQ 'textarea'}
-      <div class="help description">{ts}NOTE: If you are composing HTML-formatted messages, you may want to enable a Rich Text (WYSIWYG) editor (Administer &raquo; Customize Data & Screens &raquo; Display Preferences).{/ts}</div>
-  {/if}
-  {$form.html_message.html}<br />
+      {$form.html_message.html}<br />
     </div>
   </div><!-- /.crm-accordion-body -->
 </div><!-- /.crm-accordion-wrapper -->
@@ -59,7 +56,7 @@
    <div class="content">{$form.saveTemplateName.html|crmAddClass:huge}</div>
 </div>
 
-{if empty($noAttach)}
+{if !$noAttach}
     {include file="CRM/Form/attachment.tpl"}
 {/if}
 
diff --git a/civicrm/templates/CRM/Contact/Form/Task/Help/Email/id-from_email.hlp b/civicrm/templates/CRM/Contact/Form/Task/Help/Email/id-from_email.hlp
new file mode 100644
index 0000000000..d0ca4c2994
--- /dev/null
+++ b/civicrm/templates/CRM/Contact/Form/Task/Help/Email/id-from_email.hlp
@@ -0,0 +1,19 @@
+{htxt id="id-from_email-title"}
+  {ts}From Address{/ts}
+{/htxt}
+{htxt id="id-from_email"}
+{crmSetting var="allow_mail_from_logged_in_contact" name="allow_mail_from_logged_in_contact"}
+{if $allow_mail_from_logged_in_contact}
+  <p>{ts}By default, CiviCRM uses the primary email address of the logged in user as the FROM address when sending emails to contacts. However, users with Administer CiviCRM permission can configure one or more general email addresses that can be selected as an alternative. EXAMPLE: "Client Services" &lt;clientservices@example.org&gt;{/ts}</p>
+{else}
+  <p>{ts}CiviCRM is currently configured to only use the defined From Email addresses. If you wish to be able to use the email address of the logged in user as the From Address you will need to set the setting "Allow mail from logged in contact" setting. Users with Administer CiviCRM can set this setting in the SMTP settings.{/ts}<p>
+    {if call_user_func(array('CRM_Core_Permission','check'), 'administer CiviCRM')}
+        {capture assign="smtpUrl"}{crmURL p="civicrm/admin/setting/smtp" q="reset=1"}{/capture}
+      <p>{ts 1=$smtpUrl}Go to <a href='%1'>Settings - Outbound Mail</a> to enable the usage of the logged in contact's email address as the from email{/ts}</p>
+    {/if}
+{/if}
+{if call_user_func(array('CRM_Core_Permission','check'), 'administer CiviCRM')}
+    {capture assign="fromConfig"}{crmURL p="civicrm/admin/options/from_email_address" q="reset=1"}{/capture}
+  <p>{ts 1=$fromConfig}Go to <a href='%1'>Administer CiviCRM &raquo; Communications &raquo; FROM Email Addresses</a> to add or edit general email addresses. Make sure these email addresses are valid email accounts with your email service provider.{/ts}</p>
+{/if}
+{/htxt}
diff --git a/civicrm/templates/CRM/Contact/Page/View/Relationship.tpl b/civicrm/templates/CRM/Contact/Page/View/Relationship.tpl
index 2cffd1e82f..bdc7ac33cd 100644
--- a/civicrm/templates/CRM/Contact/Page/View/Relationship.tpl
+++ b/civicrm/templates/CRM/Contact/Page/View/Relationship.tpl
@@ -8,7 +8,9 @@
  +--------------------------------------------------------------------+
 *}
 {* Relationship tab within View Contact - browse, and view relationships for a contact *}
-{if $action neq 16} {* add, update or view *}
+{if $action eq 4 } {* action = view *}
+  {include file="CRM/Contact/Page/View/ViewRelationship.tpl"}
+{elseif $action neq 16} {* add, update *}
   {include file="CRM/Contact/Form/Relationship.tpl"}
 {else}
   <div id="contact-summary-relationship-tab" class="view-content">
diff --git a/civicrm/templates/CRM/Contact/Page/View/ViewRelationship.tpl b/civicrm/templates/CRM/Contact/Page/View/ViewRelationship.tpl
new file mode 100644
index 0000000000..1c675a13a1
--- /dev/null
+++ b/civicrm/templates/CRM/Contact/Page/View/ViewRelationship.tpl
@@ -0,0 +1,58 @@
+<div class="crm-block crm-content-block crm-relationship-view-block">
+  <table class="crm-info-panel">
+      {foreach from=$viewRelationship item="row"}
+        <tr>
+          <td class="label">{$row.relation}</td>
+          <td><a class="no-popup" href="{crmURL p='civicrm/contact/view' q="reset=1&cid=`$row.cid`"}">{$row.name}</a></td>
+        </tr>
+          {if $isCurrentEmployer}
+            <tr><td class="label">{ts}Current Employee?{/ts}</td><td>{ts}Yes{/ts}</td></tr>
+          {/if}
+          {if $row.start_date}
+            <tr><td class="label">{ts}Start Date{/ts}</td><td>{$row.start_date|crmDate}</td></tr>
+          {/if}
+          {if $row.end_date}
+            <tr><td class="label">{ts}End Date{/ts}</td><td>{$row.end_date|crmDate}</td></tr>
+          {/if}
+          {if $row.description}
+            <tr><td class="label">{ts}Description{/ts}</td><td>{$row.description}</td></tr>
+          {/if}
+          {foreach from=$viewNote item="rec"}
+              {if $rec }
+                <tr><td class="label">{ts}Note{/ts}</td><td>{$rec}</td></tr>
+              {/if}
+          {/foreach}
+        <tr>
+          <td class="label"><label>{ts}Permissions{/ts}</label></td>
+          <td>
+              {if $row.is_permission_a_b or $row.is_permission_b_a}
+                  {if $row.is_permission_a_b}
+                    <div>
+                        {if $row.rtype EQ 'a_b' AND $is_contact_id_a}
+                            {include file="CRM/Contact/Page/View/RelationshipPerm.tpl" permType=$row.is_permission_a_b permDisplayName=$displayName otherDisplayName=$row.display_name displayText=true}
+                        {else}
+                            {include file="CRM/Contact/Page/View/RelationshipPerm.tpl" permType=$row.is_permission_a_b otherDisplayName=$displayName permDisplayName=$row.display_name displayText=true}
+                        {/if}
+                    </div>
+                  {/if}
+                  {if $row.is_permission_b_a}
+                    <div>
+                        {if $row.rtype EQ 'a_b' AND $is_contact_id_a}
+                            {include file="CRM/Contact/Page/View/RelationshipPerm.tpl" permType=$row.is_permission_b_a otherDisplayName=$displayName permDisplayName=$row.display_name displayText=true}
+                        {else}
+                            {include file="CRM/Contact/Page/View/RelationshipPerm.tpl" permType=$row.is_permission_b_a permDisplayName=$displayName otherDisplayName=$row.display_name displayText=true}
+                        {/if}
+                    </div>
+                  {/if}
+              {else}
+                  {ts}None{/ts}
+              {/if}
+          </td>
+        </tr>
+        <tr><td class="label">{ts}Status{/ts}</td><td>{if $row.is_active}{ts}Enabled{/ts}{else}{ts}Disabled{/ts}{/if}</td></tr>
+      {/foreach}
+  </table>
+    {include file="CRM/Custom/Page/CustomDataView.tpl"}
+</div>
+
+<div class="crm-submit-buttons">{include file="CRM/common/formButtons.tpl" location="bottom"}</div>
diff --git a/civicrm/templates/CRM/Contribute/Form/AdditionalPayment.tpl b/civicrm/templates/CRM/Contribute/Form/AdditionalPayment.tpl
index 40049945e7..886f43b84d 100644
--- a/civicrm/templates/CRM/Contribute/Form/AdditionalPayment.tpl
+++ b/civicrm/templates/CRM/Contribute/Form/AdditionalPayment.tpl
@@ -38,7 +38,7 @@
   </div>
   <table class="form-layout-compressed">
     <tr>
-      <td class="font-size12pt label"><strong>{if $component eq 'event'}{ts}Participant{/ts}{else}{ts}Contact{/ts}{/if}</strong></td><td class="font-size12pt"><strong>{$displayName}</strong></td>
+      <td class="label"><strong>{if $component eq 'event'}{ts}Participant{/ts}{else}{ts}Contact{/ts}{/if}</strong></td><td><strong>{$displayName}</strong></td>
     </tr>
     {if $eventName}
       <tr>
@@ -61,7 +61,7 @@
         </tr>
         <tr id="fromEmail" class="crm-payment-form-block-from_email_address" style="display:none;">
           <td class="label">{$form.from_email_address.label}</td>
-          <td>{$form.from_email_address.html} {help id="id-from_email" file="CRM/Contact/Form/Task/Email.hlp" isAdmin=$isAdmin}</td>
+          <td>{$form.from_email_address.html} {help id="id-from_email" file="CRM/Contact/Form/Task/Help/Email/id-from_email.hlp"}</td>
         </tr>
       {/if}
       {if $contributionMode}
diff --git a/civicrm/templates/CRM/Contribute/Form/Contribution.tpl b/civicrm/templates/CRM/Contribute/Form/Contribution.tpl
index a0e62b165d..e9d4c7885f 100644
--- a/civicrm/templates/CRM/Contribute/Form/Contribution.tpl
+++ b/civicrm/templates/CRM/Contribute/Form/Contribution.tpl
@@ -217,7 +217,7 @@
         {if empty($is_template)}
         <tr id="fromEmail" class="crm-contribution-form-block-receipt_date" style="display:none;">
           <td class="label">{$form.from_email_address.label}</td>
-          <td>{$form.from_email_address.html} {help id="id-from_email" file="CRM/Contact/Form/Task/Email.hlp" isAdmin=$isAdmin}</td>
+          <td>{$form.from_email_address.html} {help id="id-from_email" file="CRM/Contact/Form/Task/Help/Email/id-from_email.hlp"}</td>
         </tr>
         {/if}
         {if empty($is_template)}
@@ -597,7 +597,6 @@
           // replace all thousandMarker and change the separator to a dot
           totalAmount = totalAmount.replace(thousandMarker,'').replace(separator,'.');
 
-          var totalTaxAmount = '{/literal}{$totalTaxAmount}{literal}';
           var taxAmount = (taxRate/100)*totalAmount;
           taxAmount = isNaN (taxAmount) ? 0:taxAmount;
           var totalTaxAmount = taxAmount + Number(totalAmount);
diff --git a/civicrm/templates/CRM/Contribute/Form/ContributionPage/Settings.tpl b/civicrm/templates/CRM/Contribute/Form/ContributionPage/Settings.tpl
index b9eadf760c..082f334b82 100644
--- a/civicrm/templates/CRM/Contribute/Form/ContributionPage/Settings.tpl
+++ b/civicrm/templates/CRM/Contribute/Form/ContributionPage/Settings.tpl
@@ -43,19 +43,13 @@
             <tr class="crm-contribution-for_organization_help">
                 <td class="description" colspan="2">
                     {capture assign="profileURL"}{crmURL p='civicrm/admin/uf/group' q='reset=1'}{/capture}
-                    {if $invalidProfiles}
-                      {ts 1=$profileURL}You must <a href="%1">configure a valid organization profile</a> in order to allow individuals to contribute on behalf of an organization. Valid profiles include Contact and / or Organization fields, and may include Contribution and Membership fields.{/ts}
-                    {else}
-                      {ts 1=$profileURL}To change the organization data collected use the "On Behalf Of Organization" profile (<a href="%1">Administer > Customize Data and Screens > Profiles</a>).{/ts}
-                    {/if}
+                    {ts 1=$profileURL}To change the organization data collected use the "On Behalf Of Organization" profile (<a href="%1">Administer > Customize Data and Screens > Profiles</a>).{/ts}
                 </td>
             </tr>
-            {if !$invalidProfiles}
-              <tr class="crm-contribution-onbehalf_profile_id">
-                <td class="label">{$form.onbehalf_profile_id.label}</td>
-                <td>{$form.onbehalf_profile_id.html}</td>
-              </tr>
-            {/if}
+            <tr class="crm-contribution-onbehalf_profile_id">
+              <td class="label">{$form.onbehalf_profile_id.label}</td>
+              <td>{$form.onbehalf_profile_id.html}</td>
+            </tr>
             <tr id="for_org_text" class="crm-contribution-contributionpage-settings-form-block-for_organization">
                 <td class="label">{$form.for_organization.label}</td>
                 <td>{$form.for_organization.html}<br />
@@ -141,12 +135,12 @@
         <td>{$form.is_share.html} {$form.is_share.label} {help id="id-is_share"}</td>
       </tr>
         <tr class="crm-contribution-contributionpage-settings-form-block-is_active">
-        <td>&nbsp;</td>  
+        <td>&nbsp;</td>
         <td>{$form.is_active.html} {$form.is_active.label}</td>
       </tr>
   {if $contributionPageID}
         <tr class="crm-contribution-contributionpage-settings-form-block-info_link">
-        <td>&nbsp;</td>  
+        <td>&nbsp;</td>
         <td class="description">
           {if $config->userSystem->is_drupal || $config->userFramework EQ 'WordPress'}
               {ts}When your page is active, you can link people to the page by copying and pasting the following URL:{/ts}<br />
diff --git a/civicrm/templates/CRM/Contribute/Form/ContributionPage/Tab.tpl b/civicrm/templates/CRM/Contribute/Form/ContributionPage/Tab.tpl
index 31d3236950..ca86c0f092 100644
--- a/civicrm/templates/CRM/Contribute/Form/ContributionPage/Tab.tpl
+++ b/civicrm/templates/CRM/Contribute/Form/ContributionPage/Tab.tpl
@@ -16,7 +16,7 @@
                  <div class="crm-contribpage-links-list-inner">
                    <ul>
                             <li><a class="crm-contribpage-contribution" href="{crmURL p='civicrm/contribute/add' q="reset=1&action=add&context=standalone"}">{ts}New Contribution{/ts}</a></li>
-                            <li><a class="crm-contribution-test" href="{crmURL p='civicrm/contribute/transact' q="reset=1&action=preview&id=`$contributionPageID`"}">{ts}Online Contribution (Test-drive){/ts}</a></li>
+                            <li><a class="crm-contribution-test" href="{crmURL p='civicrm/contribute/transact' q="reset=1&action=preview&id=`$contributionPageID`" fe='true'}">{ts}Online Contribution (Test-drive){/ts}</a></li>
                             <li><a class="crm-contribution-live" href="{crmURL p='civicrm/contribute/transact' q="reset=1&id=`$contributionPageID`" fe='true'}" target="_blank">{ts}Online Contribution (Live){/ts}</a></li>
                 </ul>
                  </div>
diff --git a/civicrm/templates/CRM/Contribute/Form/Search/Common.tpl b/civicrm/templates/CRM/Contribute/Form/Search/Common.tpl
index c585ac38de..4101c7aca3 100644
--- a/civicrm/templates/CRM/Contribute/Form/Search/Common.tpl
+++ b/civicrm/templates/CRM/Contribute/Form/Search/Common.tpl
@@ -9,7 +9,7 @@
 *}
 
 <tr>
-{include file="CRM/Core/DatePickerRangeWrapper.tpl" fieldName="receive_date" colspan="2"}
+{include file="CRM/Core/DatePickerRangeWrapper.tpl" fieldName="receive_date" to='' from='' colspan="2" class='' hideRelativeLabel=0}
 </tr>
 <tr>
   <td><label>{ts}Contribution Amounts{/ts}</label> <br />
@@ -159,7 +159,7 @@
   </td>
 </tr>
 <tr>
-  {include file="CRM/Core/DatePickerRangeWrapper.tpl" fieldName="contribution_cancel_date" colspan="2"}
+  {include file="CRM/Core/DatePickerRangeWrapper.tpl" fieldName="contribution_cancel_date" to='' from='' colspan="2" class='' hideRelativeLabel=0}
 </tr>
 <tr>
   <td>
diff --git a/civicrm/templates/CRM/Contribute/Form/Search/ContributionRecur.tpl b/civicrm/templates/CRM/Contribute/Form/Search/ContributionRecur.tpl
index 0988205710..1eb1679a8a 100644
--- a/civicrm/templates/CRM/Contribute/Form/Search/ContributionRecur.tpl
+++ b/civicrm/templates/CRM/Contribute/Form/Search/ContributionRecur.tpl
@@ -20,27 +20,27 @@
       </tr>
       <tr>
         <td><label for="contribution_recur_start_date_relative">{$form.contribution_recur_start_date_relative.label}</label></td>
-        {include file="CRM/Core/DatePickerRangeWrapper.tpl" fieldName="contribution_recur_start_date" colspan="2" hideRelativeLabel=1}
+        {include file="CRM/Core/DatePickerRangeWrapper.tpl" fieldName="contribution_recur_start_date" to='' from='' colspan="2" hideRelativeLabel=1 class =''}
       </tr>
       <tr>
         <td><label for="contribution_recur_end_date_relative">{$form.contribution_recur_end_date_relative.label}</label></td>
-        {include file="CRM/Core/DatePickerRangeWrapper.tpl" fieldName="contribution_recur_end_date" colspan="2" hideRelativeLabel=1}
+        {include file="CRM/Core/DatePickerRangeWrapper.tpl" fieldName="contribution_recur_end_date" to='' from='' colspan="2" hideRelativeLabel=1 class =''}
       </tr>
       <tr>
         <td><label for="contribution_recur_modified_date_relative">{$form.contribution_recur_modified_date_relative.label}</label></td>
-        {include file="CRM/Core/DatePickerRangeWrapper.tpl" fieldName="contribution_recur_modified_date" colspan="2" hideRelativeLabel=1}
+        {include file="CRM/Core/DatePickerRangeWrapper.tpl" fieldName="contribution_recur_modified_date" to='' from='' colspan="2" class ='' hideRelativeLabel=1}
       </tr>
       <tr>
         <td><label for="contribution_recur_next_sched_contribution_date_relative">{$form.contribution_recur_next_sched_contribution_date_relative.label}</label></td>
-        {include file="CRM/Core/DatePickerRangeWrapper.tpl" fieldName="contribution_recur_next_sched_contribution_date" colspan="2" hideRelativeLabel=1}
+        {include file="CRM/Core/DatePickerRangeWrapper.tpl" fieldName="contribution_recur_next_sched_contribution_date" to='' from='' colspan="2" hideRelativeLabel=1 class=''}
       </tr>
       <tr>
         <td><label for="contribution_recur_failure_rety_date_relative">{$form.contribution_recur_failure_retry_date_relative.label}</label></td>
-        {include file="CRM/Core/DatePickerRangeWrapper.tpl" fieldName="contribution_recur_failure_retry_date" colspan="2" hideRelativeLabel=1}
+        {include file="CRM/Core/DatePickerRangeWrapper.tpl" fieldName="contribution_recur_failure_retry_date" to='' from='' colspan="2" hideRelativeLabel=1 class=''}
       </tr>
       <tr>
         <td><label for="contribution_recur_cancel_date_relative">{$form.contribution_recur_cancel_date_relative.label}</label></td>
-        {include file="CRM/Core/DatePickerRangeWrapper.tpl" fieldName="contribution_recur_cancel_date" colspan="2" hideRelativeLabel=1}
+        {include file="CRM/Core/DatePickerRangeWrapper.tpl" fieldName="contribution_recur_cancel_date" to='' from='' colspan="2" hideRelativeLabel=1 class=''}
       </tr>
       <tr>
         <td>{ts}Status{/ts}</td>
diff --git a/civicrm/templates/CRM/Contribute/Form/Selector.tpl b/civicrm/templates/CRM/Contribute/Form/Selector.tpl
index 7b377458f2..d522a3fc87 100644
--- a/civicrm/templates/CRM/Contribute/Form/Selector.tpl
+++ b/civicrm/templates/CRM/Contribute/Form/Selector.tpl
@@ -56,10 +56,7 @@
           {/if}
         </td>
       {foreach from=$columnHeaders item=column}
-          {assign var='columnName' value=''}
-          {if $column.field_name}
-            {assign var='columnName' value=$column.field_name}
-          {/if}
+        {assign var='columnName' value=$column.field_name}
         {if !$columnName}{* if field_name has not been set skip, this helps with not changing anything not specifically edited *}
         {elseif $columnName === 'total_amount'}{* rendered above as soft credit columns = confusing *}
         {elseif $column.type === 'actions'}{* rendered below as soft credit column handling = not fixed *}
@@ -76,7 +73,7 @@
               {$row.$columnName|crmDate}
             </td>
           {else}
-          <td class="crm-{$columnName} crm-{$columnName}_{if $row.columnName}{$row.columnName}{/if}">
+          <td class="crm-{$columnName} crm-{$columnName}_">
             {$row.$columnName}
           </td>
           {/if}
diff --git a/civicrm/templates/CRM/Contribute/Form/Task/Invoice.hlp b/civicrm/templates/CRM/Contribute/Form/Task/Invoice.hlp
index 3a64ef0dfe..fd235fe855 100644
--- a/civicrm/templates/CRM/Contribute/Form/Task/Invoice.hlp
+++ b/civicrm/templates/CRM/Contribute/Form/Task/Invoice.hlp
@@ -7,9 +7,6 @@
  | and copyright information, see https://civicrm.org/licensing       |
  +--------------------------------------------------------------------+
 *}
-{htxt id ="id-from_email-title"}
-  {ts}From Address{/ts}
-{/htxt}
 {htxt id="content-intro-title"}
   {ts}Message Formats{/ts}
 {/htxt}
diff --git a/civicrm/templates/CRM/Contribute/Form/Task/Invoice.tpl b/civicrm/templates/CRM/Contribute/Form/Task/Invoice.tpl
index 777354f29f..208d0a8223 100644
--- a/civicrm/templates/CRM/Contribute/Form/Task/Invoice.tpl
+++ b/civicrm/templates/CRM/Contribute/Form/Task/Invoice.tpl
@@ -26,7 +26,7 @@
   {/if}
   <tr id="selectEmailFrom" style="display: none" class="crm-contactEmail-form-block-fromEmailAddress crm-email-element">
     <td class="label">{$form.from_email_address.label}</td>
-    <td>{$form.from_email_address.html} {help id="id-from_email" file="CRM/Contact/Form/Task/Email.hlp" isAdmin=$isAdmin}</td>
+    <td>{$form.from_email_address.html} {help id="id-from_email" file="CRM/Contact/Form/Task/Help/Email/id-from_email.hlp"}</td>
   </tr>
   <tr class="crm-email-element crm-contactEmail-form-block-cc_id">
     <td class="label">{$form.cc_id.label}</td>
diff --git a/civicrm/templates/CRM/Contribute/Form/Task/PDF.tpl b/civicrm/templates/CRM/Contribute/Form/Task/PDF.tpl
index ca5b3e1228..b799bac83c 100644
--- a/civicrm/templates/CRM/Contribute/Form/Task/PDF.tpl
+++ b/civicrm/templates/CRM/Contribute/Form/Task/PDF.tpl
@@ -21,7 +21,7 @@
   </tr>
   <tr id="selectEmailFrom" style="display: none" class="crm-contactEmail-form-block-fromEmailAddress crm-email-element">
     <td class="label">{$form.from_email_address.label}</td>
-    <td>{$form.from_email_address.html} {help id="id-from_email" file="CRM/Contact/Form/Task/Email.hlp" isAdmin=$isAdmin}</td>
+    <td>{$form.from_email_address.html}  {help id="id-from_email" file="CRM/Contact/Form/Task/Help/Email/id-from_email.hlp"}</td>
   </tr>
   <tr>
     <td>{$form.output.pdf_receipt.html}</td>
diff --git a/civicrm/templates/CRM/Contribute/Form/Task/PDFLetter.tpl b/civicrm/templates/CRM/Contribute/Form/Task/PDFLetter.tpl
index 22b090590e..701a68f4d6 100644
--- a/civicrm/templates/CRM/Contribute/Form/Task/PDFLetter.tpl
+++ b/civicrm/templates/CRM/Contribute/Form/Task/PDFLetter.tpl
@@ -36,7 +36,7 @@
         <td>{$form.email_options.html}</td>
       </tr>
       <tr>
-        <td class="label-left">{$form.from_email_address.label} {help id="id-from_email" file="CRM/Contact/Form/Task/Email.hlp" isAdmin=$isAdmin}</td>
+        <td class="label-left">{$form.from_email_address.label}  {help id="id-from_email" file="CRM/Contact/Form/Task/Help/Email/id-from_email.hlp"}</td>
         <td>{$form.from_email_address.html}</td>
       </tr>
     </table>
diff --git a/civicrm/templates/CRM/Contribute/Page/PcpUserDashboard.tpl b/civicrm/templates/CRM/Contribute/Page/PcpUserDashboard.tpl
index 23c59e8283..551af64483 100644
--- a/civicrm/templates/CRM/Contribute/Page/PcpUserDashboard.tpl
+++ b/civicrm/templates/CRM/Contribute/Page/PcpUserDashboard.tpl
@@ -49,10 +49,10 @@
 {strip}
 {if $pcpInfo} {* Change layout and text if they already have a PCP. *}
     <br />
-    <div class="float-right" style="width: 65%">
+    <div>
     <div>{ts}Create a Personal Campaign Page for another campaign:{/ts}</div>
 {else}
-    <div style="width: 65%">
+    <div>
     <div class="label">{ts}Become a supporter by creating a Personal Campaign Page:{/ts}</div>
 {/if}
 <table class="selector">
@@ -64,7 +64,7 @@
 
   {foreach from=$pcpBlock item=row}
   <tr class="{cycle values="odd-row,even-row"}">
-    <td>{if $row.component eq 'contribute'}<a href="{crmURL p='civicrm/contribute/transact' q="id=`$row.pageId`&reset=1"}" title="{ts}View campaign page{/ts}">{else}<a href="{crmURL p='civicrm/event/register' q="id=`$row.pageId`&reset=1"}" title="{ts}View campaign page{/ts}">{/if}{$row.pageTitle}</a></td>
+    <td>{if $row.pageComponent eq 'contribute'}<a href="{crmURL p='civicrm/contribute/transact' q="id=`$row.pageId`&reset=1"}" title="{ts}View campaign page{/ts}">{else}<a href="{crmURL p='civicrm/event/register' q="id=`$row.pageId`&reset=1"}" title="{ts}View campaign page{/ts}">{/if}{$row.pageTitle}</a></td>
         <td>{if $row.end_date}{$row.end_date|truncate:10:''|crmDate}{else}({ts}ongoing{/ts}){/if}</td>
     <td>{$row.action|replace:'xx':$row.pageId}</td>
   </tr>
diff --git a/civicrm/templates/CRM/Core/Calendar/ICal.tpl b/civicrm/templates/CRM/Core/Calendar/ICal.tpl
index f38502d5ad..ab15f5e1c0 100644
--- a/civicrm/templates/CRM/Core/Calendar/ICal.tpl
+++ b/civicrm/templates/CRM/Core/Calendar/ICal.tpl
@@ -24,15 +24,15 @@ CATEGORIES:{$event.event_type|crmICalText}
 {/if}
 CALSCALE:GREGORIAN
 {if $event.start_date}
-DTSTAMP;TZID={$timezone}:{$event.start_date|crmICalDate}
-DTSTART;TZID={$timezone}:{$event.start_date|crmICalDate}
+DTSTAMP;TZID={$event.tz|default:$timezone}:{$event.start_date|crmICalDate}
+DTSTART;TZID={$event.tz|default:$timezone}:{$event.start_date|crmICalDate}
 {else}
 DTSTAMP;TZID={$timezone}:{$smarty.now|date_format:'%Y-%m-%d %H:%M:%S'|crmICalDate}
 {/if}
 {if $event.end_date}
-DTEND;TZID={$timezone}:{$event.end_date|crmICalDate}
+DTEND;TZID={$event.tz|default:$timezone}:{$event.end_date|crmICalDate}
 {else}
-DTEND;TZID={$timezone}:{$event.start_date|crmICalDate}
+DTEND;TZID={$event.tz|default:$timezone}:{$event.start_date|crmICalDate}
 {/if}
 {if $event.is_show_location EQ 1 && $event.location}
 LOCATION:{$event.location|crmICalText}
diff --git a/civicrm/templates/CRM/Core/DatePickerRangeWrapper.tpl b/civicrm/templates/CRM/Core/DatePickerRangeWrapper.tpl
index f43499bd13..1a0139cfa8 100644
--- a/civicrm/templates/CRM/Core/DatePickerRangeWrapper.tpl
+++ b/civicrm/templates/CRM/Core/DatePickerRangeWrapper.tpl
@@ -9,7 +9,6 @@
 *}
 {* Wrapper around DatePickerRange TPL file *}
 <td {if !empty($colspan)} colspan="{$colspan}" {else} colspan="2" {/if} {if !empty($class)} class="{$class}" {/if}>
-  {assign var='hideRelativeLabel' value=$hideRelativeLabel|default:0}
   {assign var='from' value=$from|default:'_low'}
   {assign var='to' value=$to|default:'_high'}
   {include file="CRM/Core/DatePickerRange.tpl" fieldName=$fieldName hideRelativeLabel=$hideRelativeLabel to=$to from=$from}
diff --git a/civicrm/templates/CRM/Custom/Page/Group.hlp b/civicrm/templates/CRM/Custom/Form/Group.hlp
similarity index 98%
rename from civicrm/templates/CRM/Custom/Page/Group.hlp
rename to civicrm/templates/CRM/Custom/Form/Group.hlp
index 05cd658563..3e9df92ede 100644
--- a/civicrm/templates/CRM/Custom/Page/Group.hlp
+++ b/civicrm/templates/CRM/Custom/Form/Group.hlp
@@ -25,12 +25,12 @@
   {ts}Display Style{/ts}
 {/htxt}
 {htxt id="id-display_style"}
-    {ts}Select 'Inline' to include this set of fields in the main contact Add/Edit form and Contact Summary screens. Select 'Tab' or 'Tab with Table' to create a separate navigation tab for display and editing these values (generally for less frequently accessed and/or larger sets of fields). 'Tab with Table' is recommended for customs data sets which allow multiple records.{/ts} 
+    {ts}Select 'Inline' to include this set of fields in the main contact Add/Edit form and Contact Summary screens. Select 'Tab' or 'Tab with Table' to create a separate navigation tab for display and editing these values (generally for less frequently accessed and/or larger sets of fields). 'Tab with Table' is recommended for customs data sets which allow multiple records.{/ts}
     <p class="font-italic">{ts}NOTE: This setting applies only to custom sets used for Contact records (e.g. Individuals, Households, Organizations, or ALL contact types).{/ts}</p>
 {/htxt}
 
 {htxt id="id-extends-title"}
-  {ts}Entity Type{/ts}
+  {ts}Used For{/ts}
 {/htxt}
 {htxt id="id-extends"}
     {ts}Select the type of record that this set of custom fields is applicable for. You can configure custom data for a specific type of contact (e.g. Individuals but NOT Organizations), ANY type of contact, or other record types such as activities, contributions, memberships and event participants.{/ts}
@@ -64,7 +64,7 @@
 {/htxt}
 
 {htxt id="id-weight-title"}
-  {ts}Weight{/ts}
+  {ts}Order{/ts}
 {/htxt}
 {htxt id="id-weight"}
     {ts}Weight controls the order in which custom field sets are presented when there are more than one. Enter a positive or negative integer - lower numbers are displayed ahead of higher numbers.{/ts}
diff --git a/civicrm/templates/CRM/Custom/Form/Search.tpl b/civicrm/templates/CRM/Custom/Form/Search.tpl
index 8bf00efc5b..5e59359821 100644
--- a/civicrm/templates/CRM/Custom/Form/Search.tpl
+++ b/civicrm/templates/CRM/Custom/Form/Search.tpl
@@ -29,7 +29,7 @@
                     {$form.$element_name_from.html|crmAddClass:six}
                     &nbsp;&nbsp;{$form.$element_name_to.label}&nbsp;&nbsp;{$form.$element_name_to.html|crmAddClass:six}
                   {elseif empty($element.skip_calendar)}
-                    {include file="CRM/Core/DatePickerRangeCustomField.tpl" fieldName=$element_name hideRelativeLabel=0}<td>
+                    {include file="CRM/Core/DatePickerRangeCustomField.tpl" fieldName=$element_name to='' from='' colspan='' class='' hideRelativeLabel=0}<td>
                   {/if}
             {else}
                 <td class="label">{$form.$element_name.label}</td><td>
diff --git a/civicrm/templates/CRM/Custom/Page/Field.tpl b/civicrm/templates/CRM/Custom/Page/Field.tpl
index 39b40c802b..83609a7b8c 100644
--- a/civicrm/templates/CRM/Custom/Page/Field.tpl
+++ b/civicrm/templates/CRM/Custom/Page/Field.tpl
@@ -7,14 +7,7 @@
  | and copyright information, see https://civicrm.org/licensing       |
  +--------------------------------------------------------------------+
 *}
-{if $action eq 1 or $action eq 2 or $action eq 4}
-    {include file="CRM/Custom/Form/Field.tpl"}
-{elseif $action eq 8}
-    {include file="CRM/Custom/Form/DeleteField.tpl"}
-{elseif $action eq 1024 }
-    {include file="CRM/Custom/Form/Preview.tpl"}
-{else}
-    {if $customField}
+  {if $customField}
 
     <div id="field_page">
         {strip}
@@ -55,15 +48,12 @@
      </div>
 
     {else}
-        {if $action eq 16}
         <div class="messages status no-popup crm-empty-table">
           <img src="{$config->resourceBase}i/Inform.gif" alt="{ts}status{/ts}"/>
           {ts}None found.{/ts}
         </div>
-        {/if}
     {/if}
     <div class="action-link">
-      {crmButton p='civicrm/admin/custom/group/field/add' q="reset=1&action=add&gid=$gid" id="newCustomField"  class="action-item" icon="plus-circle"}{ts}Add Custom Field{/ts}{/crmButton}
+      {crmButton p='civicrm/admin/custom/group/field/add' q="reset=1&gid=$gid" id="newCustomField"  class="action-item" icon="plus-circle"}{ts}Add Custom Field{/ts}{/crmButton}
       {crmButton p="civicrm/admin/custom/group" q="reset=1" class="cancel" icon="times"}{ts}Done{/ts}{/crmButton}
     </div>
-{/if}
diff --git a/civicrm/templates/CRM/Custom/Page/Group.tpl b/civicrm/templates/CRM/Custom/Page/Group.tpl
index be07b3f240..6652165b7d 100644
--- a/civicrm/templates/CRM/Custom/Page/Group.tpl
+++ b/civicrm/templates/CRM/Custom/Page/Group.tpl
@@ -8,13 +8,6 @@
  +--------------------------------------------------------------------+
 *}
 {* The name "custom data group" is replaced by "custom data set"  *}
-{if $action eq 1 or $action eq 2 or $action eq 4}
-    {include file="CRM/Custom/Form/Group.tpl"}
-{elseif $action eq 1024}
-    {include file="CRM/Custom/Form/Preview.tpl"}
-{elseif $action eq 8}
-    {include file="CRM/Custom/Form/DeleteGroup.tpl"}
-{else}
     <div class="help">
     {ts}Custom data is stored in custom fields. Custom fields are organized into logically related custom data sets (e.g. Volunteer Info). Use custom fields to collect and store custom data which are not included in the standard CiviCRM forms. You can create one or many sets of custom fields.{/ts} {docURL page="user/organising-your-data/creating-custom-fields"}
     </div>
@@ -54,22 +47,17 @@
         </tbody>
       </table>
 
-        {if NOT ($action eq 1 or $action eq 2) }
         <div class="action-link">
-        {crmButton p='civicrm/admin/custom/group' q="action=add&reset=1" id="newCustomDataGroup"  icon="plus-circle"}{ts}Add Set of Custom Fields{/ts}{/crmButton}
+        {crmButton p='civicrm/admin/custom/group/edit' q="action=add&reset=1" id="newCustomDataGroup"  icon="plus-circle"}{ts}Add Set of Custom Fields{/ts}{/crmButton}
         </div>
-        {/if}
 
         {/strip}
     </div>
     </div>
     {else}
-       {if $action ne 1} {* When we are adding an item, we should not display this message *}
        <div class="messages status no-popup">
        <img src="{$config->resourceBase}i/Inform.gif" alt="{ts}status{/ts}"/> &nbsp;
-         {capture assign=crmURL}{crmURL p='civicrm/admin/custom/group' q='action=add&reset=1'}{/capture}
+         {capture assign=crmURL}{crmURL p='civicrm/admin/custom/group/edit' q='action=add&reset=1'}{/capture}
          {ts 1=$crmURL}No custom data groups have been created yet. You can <a id="newCustomDataGroup" href='%1'>add one</a>.{/ts}
        </div>
-       {/if}
     {/if}
-{/if}
diff --git a/civicrm/templates/CRM/Event/Form/EventFees.tpl b/civicrm/templates/CRM/Event/Form/EventFees.tpl
index 2274143108..a82fa8b2f4 100644
--- a/civicrm/templates/CRM/Event/Form/EventFees.tpl
+++ b/civicrm/templates/CRM/Event/Form/EventFees.tpl
@@ -105,7 +105,7 @@
         </tr>
         <tr id="from-email" class="crm-event-eventfees-form-block-from_email_address">
           <td class="label">{$form.from_email_address.label}</td>
-          <td>{$form.from_email_address.html} {help id="id-from_email" file="CRM/Contact/Form/Task/Email.hlp" isAdmin=$isAdmin}</td>
+          <td>{$form.from_email_address.html}  {help id="id-from_email" file="CRM/Contact/Form/Task/Help/Email/id-from_email.hlp"}</td>
         </tr>
         <tr id='notice' class="crm-event-eventfees-form-block-receipt_text">
         <td class="label">{$form.receipt_text.label}</td>
@@ -132,7 +132,7 @@
       </tr>
       <tr id="from-email" class="crm-event-eventfees-form-block-from_email_address">
         <td class="label">{$form.from_email_address.label}</td>
-        <td>{$form.from_email_address.html} {help id="id-from_email" file="CRM/Contact/Form/Task/Email.hlp" isAdmin=$isAdmin}</td>
+        <td>{$form.from_email_address.html} {help id="id-from_email" file="CRM/Contact/Form/Task/Help/Email/id-from_email.hlp"}</td>
       </tr>
       <tr id='notice' class="crm-event-eventfees-form-block-receipt_text">
         <td class="label">{$form.receipt_text.label}</td>
diff --git a/civicrm/templates/CRM/Event/Form/ManageEvent/EventInfo.tpl b/civicrm/templates/CRM/Event/Form/ManageEvent/EventInfo.tpl
index 5bb6b6a706..1877ae26ad 100644
--- a/civicrm/templates/CRM/Event/Form/ManageEvent/EventInfo.tpl
+++ b/civicrm/templates/CRM/Event/Form/ManageEvent/EventInfo.tpl
@@ -59,6 +59,10 @@
       <td class="label">{$form.description.label} {if $action == 2}{include file='CRM/Core/I18n/Dialog.tpl' table='civicrm_event' field='description' id=$eventID}{/if}</td>
       <td>{$form.description.html}</td>
     </tr>
+    <tr class="crm-event-manage-eventinfo-form-block-event_tz">
+      <td class="label">{$form.event_tz.label}</td>
+      <td>{$form.event_tz.html}</td>
+    </tr>
     {if !$isTemplate}
       <tr class="crm-event-manage-eventinfo-form-block-start_date">
         <td class="label">{$form.start_date.label}</td>
diff --git a/civicrm/templates/CRM/Event/Form/ManageEvent/Registration.tpl b/civicrm/templates/CRM/Event/Form/ManageEvent/Registration.tpl
index c3db65bb90..9c62e3742d 100644
--- a/civicrm/templates/CRM/Event/Form/ManageEvent/Registration.tpl
+++ b/civicrm/templates/CRM/Event/Form/ManageEvent/Registration.tpl
@@ -54,6 +54,11 @@
     <td>{$form.registration_link_text.html} {help id="id-link_text"}</td>
   </tr>
   {if !$isTemplate}
+    <div class="description">{ts 1=$event_tz}{/ts}</td>
+    <tr class="crm-event-manage-registration-form-block-event_tz">
+      <td scope="row" class="label" width="20%"></td>
+      <td><div class="description">{ts 1=$event_tz}Registration start and end dates must be specified in the Event's timezone, %1{/ts}</td>
+    </tr>
     <tr class="crm-event-manage-registration-form-block-registration_start_date">
       <td scope="row" class="label" width="20%">{$form.registration_start_date.label}</td>
       <td>{$form.registration_start_date.html}</td>
diff --git a/civicrm/templates/CRM/Event/Form/ManageEvent/Tab.tpl b/civicrm/templates/CRM/Event/Form/ManageEvent/Tab.tpl
index fc7f2087b1..8f75a54441 100644
--- a/civicrm/templates/CRM/Event/Form/ManageEvent/Tab.tpl
+++ b/civicrm/templates/CRM/Event/Form/ManageEvent/Tab.tpl
@@ -19,7 +19,7 @@
                     <li><a class="crm-event-participant" href="{crmURL p='civicrm/participant/add' q="reset=1&action=add&context=standalone&eid=`$id`"}">{ts}Register Participant{/ts}</a></li>
                        <li><a class="crm-event-info" href="{crmURL p='civicrm/event/info' q="reset=1&id=`$id`" fe='true'}" target="_blank">{ts}Event Info{/ts}</a></li>
                     {if $isOnlineRegistration}
-                        <li><a class="crm-event-test" href="{crmURL p='civicrm/event/register' q="reset=1&action=preview&id=`$id`"}">{ts}Online Registration (Test-drive){/ts}</a></li>
+                        <li><a class="crm-event-test" href="{crmURL p='civicrm/event/register' q="reset=1&action=preview&id=`$id`" fe='true'}">{ts}Online Registration (Test-drive){/ts}</a></li>
                                <li><a class="crm-event-live" href="{crmURL p='civicrm/event/register' q="reset=1&id=`$id`" fe='true'}" target="_blank">{ts}Online Registration (Live){/ts}</a></li>
                     {/if}
                 </ul>
diff --git a/civicrm/templates/CRM/Event/Form/ParticipantFeeSelection.tpl b/civicrm/templates/CRM/Event/Form/ParticipantFeeSelection.tpl
index 5f89ee8a6d..d721f5f0fd 100644
--- a/civicrm/templates/CRM/Event/Form/ParticipantFeeSelection.tpl
+++ b/civicrm/templates/CRM/Event/Form/ParticipantFeeSelection.tpl
@@ -92,7 +92,7 @@ CRM.$(function($) {
   {/if}
   <table class="form-layout">
     <tr>
-      <td class="font-size12pt label"><strong>{ts}Participant{/ts}</strong></td><td class="font-size12pt"><strong>{$displayName}</strong></td>
+      <td class="label"><strong>{ts}Participant{/ts}</strong></td><td><strong>{$displayName}</strong></td>
     </tr>
     <tr>
       <td class='label'>{ts}Event{/ts}</td><td>{$eventName}</td>
@@ -143,7 +143,7 @@ CRM.$(function($) {
        </tr>
        <tr id="from-email" class="crm-event-eventfees-form-block-from_email_address">
          <td class="label">{$form.from_email_address.label}</td>
-         <td>{$form.from_email_address.html} {help id="id-from_email" file="CRM/Contact/Form/Task/Email.hlp" isAdmin=$isAdmin}</td>
+         <td>{$form.from_email_address.html}  {help id="id-from_email" file="CRM/Contact/Form/Task/Help/Email/id-from_email.hlp"}</td>
        </tr>
        <tr id='notice' class="crm-event-eventfees-form-block-receipt_text">
          <td class="label">{$form.receipt_text.label}</td>
diff --git a/civicrm/templates/CRM/Event/Form/Registration/EventInfoBlock.tpl b/civicrm/templates/CRM/Event/Form/Registration/EventInfoBlock.tpl
index 8a0486b4c2..f77f5dc5f6 100644
--- a/civicrm/templates/CRM/Event/Form/Registration/EventInfoBlock.tpl
+++ b/civicrm/templates/CRM/Event/Form/Registration/EventInfoBlock.tpl
@@ -18,20 +18,27 @@
     {/if}
     </td>
   </tr>
-  <tr><td>{ts}When{/ts}</td>
-      <td width="90%">
-        {$event.event_start_date|crmDate}
-        {if $event.event_end_date}
-            &nbsp; {ts}through{/ts} &nbsp;
-            {* Only show end time if end date = start date *}
-            {if $event.event_end_date|date_format:"%Y%m%d" == $event.event_start_date|date_format:"%Y%m%d"}
-                {$event.event_end_date|crmDate:0:1}
-            {else}
-                {$event.event_end_date|crmDate}
-            {/if}
-        {/if}
+  <tr class="crm-section event_date_time-section">
+      <td class="label">{ts}Event Start{/ts}</td>
+      <td class="content">
+          <time datetime="{$event.event_start_date_utc|date_format:"%Y-%m-%dT%H:%M:%S"}Z">{$event.event_start_date|crmDate}<span class="timezone"> {$event.event_tz}</span></time>
+      </td>
+  </tr>
+  {if $event.event_end_date}
+  <tr class="crm-section event_date_time-section">
+      <td class="label">{ts}Event End{/ts}</td>
+      <td class="content">
+          <time datetime="{$event.event_end_date_utc|date_format:"%Y-%m-%dT%H:%M:%S"}Z">{strip}
+          {* Only show end time if end date = start date *}
+          {if $event.event_end_date|date_format:"%Y%m%d" == $event.event_start_date|date_format:"%Y%m%d"}
+              {$event.event_end_date|crmDate:0:1}
+          {else}
+              {$event.event_end_date|crmDate}
+          {/if}
+          {/strip}<span class="timezone"> {$event.event_tz}</span></time>
       </td>
   </tr>
+  {/if}
 
   {if $isShowLocation}
     {if $location.address.1}
diff --git a/civicrm/templates/CRM/Event/Form/Registration/Register.tpl b/civicrm/templates/CRM/Event/Form/Registration/Register.tpl
index 7e69599a06..9f0b9db700 100644
--- a/civicrm/templates/CRM/Event/Form/Registration/Register.tpl
+++ b/civicrm/templates/CRM/Event/Form/Registration/Register.tpl
@@ -60,10 +60,9 @@
       <div class="crm-public-form-item crm-section additional_participants-section" id="noOfparticipants">
         <div class="label">{$form.additional_participants.label} <span class="crm-marker" title="{ts}This field is required.{/ts}">*</span></div>
         <div class="content">
-          {$form.additional_participants.html}{if $contact_id || $contact_id == NULL}{ts}(including yourself){/ts}{/if}
+          {$form.additional_participants.html}{if $contact_id || $contact_id == NULL}&nbsp;{ts}(including yourself){/ts}{/if}
           <br/>
-          <span
-            class="description">{ts}Fill in your registration information on this page. If you are registering additional people, you will be able to enter their registration information after you complete this page and click &quot;Review your registration&quot;.{/ts}</span>
+          <div class="description" id="additionalParticipantsDescription" style="display: none;">{ts}Fill in your registration information on this page. You will be able to enter the registration information for additional people after you complete this page and click &quot;Continue&quot;.{/ts}</div>
         </div>
         <div class="clear"></div>
       </div>
@@ -174,6 +173,26 @@
   {/if}
   {literal}
 
+  CRM.$(function($) {
+    $('#additional_participants').change(function() {
+      toggleAdditionalParticipants();
+      allowParticipant();
+    });
+
+    function toggleAdditionalParticipants() {
+      var submit_button = $("#crm-submit-buttons > button").html();
+      var review_translated = '{/literal}{ts escape="js"}Review{/ts}{literal}';
+      var continue_translated = '{/literal}{ts escape="js"}Continue{/ts}{literal}';
+      if ($('#additional_participants').val()) {
+        $("#additionalParticipantsDescription").show();
+        $("#crm-submit-buttons > button").html(submit_button.replace(review_translated, continue_translated));
+      } else {
+        $("#additionalParticipantsDescription").hide();
+        $("#crm-submit-buttons > button").html(submit_button.replace(continue_translated, review_translated));
+      }
+    }
+  });
+
   function allowParticipant() {
     {/literal}{if $allowGroupOnWaitlist}{literal}
     var additionalParticipants = cj('#additional_participants').val();
diff --git a/civicrm/templates/CRM/Event/Form/Search/Common.tpl b/civicrm/templates/CRM/Event/Form/Search/Common.tpl
index b3b7e87b95..1081d1e137 100644
--- a/civicrm/templates/CRM/Event/Form/Search/Common.tpl
+++ b/civicrm/templates/CRM/Event/Form/Search/Common.tpl
@@ -17,9 +17,9 @@
   <td class="crm-event-form-block-event_type_id"> {$form.event_type_id.label}<br />{$form.event_type_id.html} </td>
 </tr>
 <tr>
-    {include file="CRM/Core/DatePickerRangeWrapper.tpl" fieldName="event" colspan="2"}</tr>
+    {include file="CRM/Core/DatePickerRangeWrapper.tpl" fieldName="event" to='' from='' colspan="2" class='' hideRelativeLabel=0}</tr>
 <tr>
-  {include file="CRM/Core/DatePickerRangeWrapper.tpl" fieldName="participant_register_date" colspan="2"}
+  {include file="CRM/Core/DatePickerRangeWrapper.tpl" fieldName="participant_register_date" to='' from='' colspan="2" class='' hideRelativeLabel=0}
 </tr>
 <tr>
   <td class="crm-event-form-block-participant_status"><label>{$form.participant_status_id.label}</label>
diff --git a/civicrm/templates/CRM/Event/Page/EventInfo.tpl b/civicrm/templates/CRM/Event/Page/EventInfo.tpl
index 36bb493ccc..5d33dca43d 100644
--- a/civicrm/templates/CRM/Event/Page/EventInfo.tpl
+++ b/civicrm/templates/CRM/Event/Page/EventInfo.tpl
@@ -99,20 +99,25 @@
   {/if}
   <div class="clear"></div>
   <div class="crm-section event_date_time-section">
-      <div class="label">{ts}When{/ts}</div>
+      <div class="label">{ts}Event Start{/ts}</div>
       <div class="content">
-        {strip}
-            {$event.event_start_date|crmDate}
-            {if $event.event_end_date}
-                &nbsp;{ts}through{/ts}&nbsp;
-                {* Only show end time if end date = start date *}
-                {if $event.event_end_date|date_format:"%Y%m%d" == $event.event_start_date|date_format:"%Y%m%d"}
-                    {$event.event_end_date|crmDate:0:1}
-                {else}
-                    {$event.event_end_date|crmDate}
-                {/if}
-            {/if}
-        {/strip}
+          <time datetime="{$event.event_start_date_utc|date_format:"%Y-%m-%dT%H:%M:%S"}Z">{$event.event_start_date|crmDate}<span class="timezone"> {$event.event_tz}</span></time>
+      </div>
+    <div class="clear"></div>
+  </div>
+  {if $event.event_end_date}
+  <div class="crm-section event_date_time-section">
+      <div class="label">{ts}Event End{/ts}</div>
+      <div class="content">
+          <time datetime="{$event.event_end_date_utc|date_format:"%Y-%m-%dT%H:%M:%S"}Z">{strip}
+          {* Only show end time if end date = start date *}
+          {if $event.event_end_date|date_format:"%Y%m%d" == $event.event_start_date|date_format:"%Y%m%d"}
+              {$event.event_end_date|crmDate:0:1}
+          {else}
+              {$event.event_end_date|crmDate}
+          {/if}
+          {/strip}<span class="timezone"> {$event.event_tz}</span></time>
+      {/if}
       </div>
     <div class="clear"></div>
   </div>
diff --git a/civicrm/templates/CRM/Event/Page/List.tpl b/civicrm/templates/CRM/Event/Page/List.tpl
index 50da60fd8b..5db5103dbb 100644
--- a/civicrm/templates/CRM/Event/Page/List.tpl
+++ b/civicrm/templates/CRM/Event/Page/List.tpl
@@ -30,13 +30,15 @@
         <td><a href="{crmURL p='civicrm/event/info' q="reset=1&id=`$event.event_id`"}" title="{ts}read more{/ts}"><strong>{$event.title}</strong></a></td>
         <td>{if $event.summary}{$event.summary|purify} (<a href="{crmURL p='civicrm/event/info' q="reset=1&id=`$event.event_id`"}" title="{ts}details...{/ts}">{ts}read more{/ts}...</a>){else}&nbsp;{/if}</td>
         <td class="nowrap" data-order="{$event.start_date|crmDate:'%Y-%m-%d'}">
-          {if $event.start_date}{$event.start_date|crmDate}{if $event.end_date}<br /><em>{ts}through{/ts}</em><br />{strip}
+          {if $event.start_date}<time datetime="{$event.start_date_utc|date_format:"%Y-%m-%dT%H:%M:%S"}Z">{$event.start_date|crmDate}{if !$event.end_date}<span class="timezone"> {$event.tz}</span>{/if}</time>{if $event.end_date}<br /><em>{ts}through{/ts}</em><br /><time datetime="{$event.end_date_utc|date_format:"%Y-%m-%dT%H:%M:%S"}Z">{strip}
             {* Only show end time if end date = start date *}
             {if $event.end_date|date_format:"%Y%m%d" == $event.start_date|date_format:"%Y%m%d"}
-              {$event.end_date|crmDate:0:1}
+                {$event.end_date|crmDate:0:1}
             {else}
-              {$event.end_date|crmDate}
-            {/if}{/strip}{/if}
+                {$event.end_date|crmDate}
+            {/if}
+          {/strip}<span class="timezone"> {$event.tz}</span></time>
+{/if}
           {else}{ts}(not available){/ts}{/if}
         </td>
         <td>{if $event.is_show_location EQ 1 AND $event.location}{$event.location}{else}{ts}(not available){/ts}{/if}</td>
diff --git a/civicrm/templates/CRM/Event/Page/ManageEvent.tpl b/civicrm/templates/CRM/Event/Page/ManageEvent.tpl
index f0dbdea85c..124ba7f13f 100644
--- a/civicrm/templates/CRM/Event/Page/ManageEvent.tpl
+++ b/civicrm/templates/CRM/Event/Page/ManageEvent.tpl
@@ -62,8 +62,8 @@
           <td class="crm-event-state_province">{$row.state_province}</td>
           <td class="crm-event-event_type">{$row.event_type}</td>
           <td class="crm-event-is_public">{if $row.is_public eq 1} {ts}Yes{/ts} {else} {ts}No{/ts} {/if}</td>
-          <td class="crm-event-start_date" data-order="{$row.start_date|crmDate:'%Y-%m-%d'}">{$row.start_date|crmDate:"%b %d, %Y %l:%M %P"}</td>
-          <td class="crm-event-end_date" data-order="{$row.end_date|crmDate:'%Y-%m-%d'}">{$row.end_date|crmDate:"%b %d, %Y %l:%M %P"}</td>
+          <td class="crm-event-start_date" data-order="{$row.start_date|crmDate:'%Y-%m-%d %H:%M'}">{$row.start_date|crmDate:"%b %d, %Y %l:%M %P"}{if $row.start_date_with_tz}<br />{$row.start_date_with_tz|crmDate:"%b %d, %Y %l:%M %P"} {$row.event_tz}{elseif !$row.event_tz} <span class="error-message">{ts 1='<i class="crm-i fa-warning"></i>'}%1 No timezone set{/ts}</span>{/if}</td>
+          <td class="crm-event-end_date" data-order="{$row.end_date|crmDate:'%Y-%m-%d %H:%M'}">{$row.end_date|crmDate:"%b %d, %Y %l:%M %P"}{if $row.end_date_with_tz}<br />{$row.end_date_with_tz|crmDate:"%b %d, %Y %l:%M %P"} {$row.event_tz}{/if}</td>
           {if call_user_func(array('CRM_Campaign_BAO_Campaign','isCampaignEnable'))}
             <td class="crm-event-campaign">{$row.campaign}</td>
           {/if}
diff --git a/civicrm/templates/CRM/Financial/Form/BatchTransaction.tpl b/civicrm/templates/CRM/Financial/Form/BatchTransaction.tpl
index 456fdfe7a9..c385088028 100644
--- a/civicrm/templates/CRM/Financial/Form/BatchTransaction.tpl
+++ b/civicrm/templates/CRM/Financial/Form/BatchTransaction.tpl
@@ -19,7 +19,7 @@
         <div class="crm-submit-buttons">{include file="CRM/common/formButtons.tpl" location="top"}</div>
         <table class="form-layout-compressed">
           <tr>
-            <td class="font-size12pt" colspan="2">
+            <td colspan="2">
               {$form.sort_name.label}<br>
               {$form.sort_name.html|crmAddClass:'twenty'}
             </td>
diff --git a/civicrm/templates/CRM/Financial/Page/BatchTransaction.tpl b/civicrm/templates/CRM/Financial/Page/BatchTransaction.tpl
index 9c7f8254fc..1b1519723e 100644
--- a/civicrm/templates/CRM/Financial/Page/BatchTransaction.tpl
+++ b/civicrm/templates/CRM/Financial/Page/BatchTransaction.tpl
@@ -26,7 +26,7 @@
   </tbody>
 </table>
 
-<div class="crm-submit-buttons">{if in_array($batchStatus, array('Open', 'Reopened'))}{$form.close_batch.html}{/if} {$form.export_batch.html}</div>
+<div class="crm-submit-buttons">{if array_key_exists('close_batch', $form)}{$form.close_batch.html}{/if} {if array_key_exists('close_batch', $form)}{$form.export_batch.html}{/if}</div>
 
 {if in_array($batchStatus, array('Open', 'Reopened'))} {* Add / remove transactions only allowed for Open/Reopened batches *}
   <br /><div class="form-layout-compressed">{$form.trans_remove.html}&nbsp;{$form.rSubmit.html}</div><br/>
@@ -75,17 +75,17 @@ CRM.$(function($) {
 });
 function assignRemove(recordID, op) {
   var recordBAO = 'CRM_Batch_BAO_Batch';
-  if (op == 'assign' || op == 'remove') {
-    recordBAO = 'CRM_Batch_BAO_EntityBatch';   
+  if (op === 'assign' || op === 'remove') {
+    recordBAO = 'CRM_Batch_BAO_EntityBatch';
   }
   var entityID = {/literal}"{$entityID}"{literal};
-  if (op == 'close' || op == 'export') {
+  if (op === 'close' || op === 'export') {
     var mismatch = checkMismatch();
   }
   else {
     CRM.$('#mark_x_' + recordID).closest('tr').block({message: {/literal}'{ts escape="js"}Updating{/ts}'{literal}});
   }
-  if (op == 'close' || (op == 'export' && mismatch.length)) {
+  if (op === 'close' || (op === 'export' && mismatch.length)) {
     CRM.$("#enableDisableStatusMsg").dialog({
       title: {/literal}'{ts escape="js"}Close Batch{/ts}'{literal},
       modal: true,
diff --git a/civicrm/templates/CRM/Friend/Form.tpl b/civicrm/templates/CRM/Friend/Form.tpl
index 3adbc78260..fcbe4b27ce 100644
--- a/civicrm/templates/CRM/Friend/Form.tpl
+++ b/civicrm/templates/CRM/Friend/Form.tpl
@@ -36,11 +36,11 @@
   </tr>
 
   <tr>
-    <td class="right font-size12pt">{$form.from_name.label}&nbsp;&nbsp;</td>
-    <td class="font-size12pt">{$form.from_name.html} &lt;{$form.from_email.html}&gt;</td>
+    <td class="right">{$form.from_name.label}&nbsp;&nbsp;</td>
+    <td>{$form.from_name.html} &lt;{$form.from_email.html}&gt;</td>
   </tr>
   <tr>
-    <td class="label font-size12pt">{$form.suggested_message.label}</td>
+    <td class="label">{$form.suggested_message.label}</td>
     <td>{$form.suggested_message.html}</td>
   </tr>
 
diff --git a/civicrm/templates/CRM/Mailing/Form/Search.tpl b/civicrm/templates/CRM/Mailing/Form/Search.tpl
index a355ca7ed7..91d681a68c 100644
--- a/civicrm/templates/CRM/Mailing/Form/Search.tpl
+++ b/civicrm/templates/CRM/Mailing/Form/Search.tpl
@@ -15,7 +15,7 @@
       </td>
     </tr>
     <tr>
-      {include file="CRM/Core/DatePickerRangeWrapper.tpl" fieldName="mailing" colspan='2'}
+      {include file="CRM/Core/DatePickerRangeWrapper.tpl" fieldName="mailing" to='' from='' colspan='2' class='' hideRelativeLabel=0}
     </tr>
     <tr>
       <td colspan="1">{$form.sort_name.label} {help id="id-create_sort_name"}<br />
diff --git a/civicrm/templates/CRM/Mailing/Form/Search/Common.tpl b/civicrm/templates/CRM/Mailing/Form/Search/Common.tpl
index 8392543a39..a29908a4c0 100644
--- a/civicrm/templates/CRM/Mailing/Form/Search/Common.tpl
+++ b/civicrm/templates/CRM/Mailing/Form/Search/Common.tpl
@@ -11,7 +11,7 @@
 </td>
 </tr>
 <tr>
-{include file="CRM/Core/DatePickerRangeWrapper.tpl" fieldName="mailing_job_start_date"}
+{include file="CRM/Core/DatePickerRangeWrapper.tpl" fieldName="mailing_job_start_date" to='' from='' colspan='' class='' hideRelativeLabel=0}
 </tr>
 <tr>
   <td>
diff --git a/civicrm/templates/CRM/Member/Form/Membership.hlp b/civicrm/templates/CRM/Member/Form/Membership.hlp
index 3e26e0ea0c..d8f9c28aa1 100644
--- a/civicrm/templates/CRM/Member/Form/Membership.hlp
+++ b/civicrm/templates/CRM/Member/Form/Membership.hlp
@@ -20,12 +20,3 @@
     </ul>
   {/if}
 {/htxt}
-{htxt id ="id-from_email"}
-  <p>{ts}Select the "FROM" Email Address for this mailing from the dropdown list. Available email addresses are configurable by users with Administer CiviCRM permission. EXAMPLE: "Client Services" &lt;clientservices@example.org&gt;{/ts}</p>
-{if $params.isAdmin}
-  {capture assign="fromConfig"}{crmURL p="civicrm/admin/options/from_email_address" q="reset=1"}{/capture}
-  <p>{ts 1=$fromConfig}Go to <a href='%1'>Administer CiviCRM &raquo; Communications &raquo; FROM Email Addresses</a> to add or edit email addresses. Make sure these email addresses are valid email accounts with your email service provider.{/ts}</p>
-{else}
-  {ts}Contact your site administrator if you need to use a "FROM" Email Address which is not in the dropdown list.{/ts}
-{/if}
-{/htxt}
diff --git a/civicrm/templates/CRM/Member/Form/Membership.tpl b/civicrm/templates/CRM/Member/Form/Membership.tpl
index 4cf2f8d956..e35c0d60f2 100644
--- a/civicrm/templates/CRM/Member/Form/Membership.tpl
+++ b/civicrm/templates/CRM/Member/Form/Membership.tpl
@@ -198,7 +198,7 @@
         {/if}
         <tr id="fromEmail" style="display: none" class="crm-contactEmail-form-block-fromEmailAddress crm-email-element">
           <td class="label">{$form.from_email_address.label}</td>
-          <td>{$form.from_email_address.html} {help id="id-from_email" file="CRM/Contact/Form/Task/Email.hlp" isAdmin=$isAdmin}</td>
+          <td>{$form.from_email_address.html}  {help id="id-from_email" file="CRM/Contact/Form/Task/Help/Email/id-from_email.hlp"}</td>
         </tr>
         <tr id='notice' style="display:none;">
           <td class="label">{$form.receipt_text.label}</td>
diff --git a/civicrm/templates/CRM/Member/Form/MembershipRenewal.tpl b/civicrm/templates/CRM/Member/Form/MembershipRenewal.tpl
index 7aa5b9dff9..0c6afa812d 100644
--- a/civicrm/templates/CRM/Member/Form/MembershipRenewal.tpl
+++ b/civicrm/templates/CRM/Member/Form/MembershipRenewal.tpl
@@ -118,7 +118,7 @@
         </tr>
         <tr id="fromEmail">
           <td class="label">{$form.from_email_address.label}</td>
-          <td>{$form.from_email_address.html} {help id="id-from_email" file="CRM/Contact/Form/Task/Email.hlp" isAdmin=$isAdmin}</td>
+          <td>{$form.from_email_address.html}  {help id="id-from_email" file="CRM/Contact/Form/Task/Help/Email/id-from_email.hlp"}</td>
         </tr>
         <tr id="notice" class="crm-member-membershiprenew-form-block-receipt_text_renewal">
           <td class="label">{$form.receipt_text_renewal.label}</td>
diff --git a/civicrm/templates/CRM/Member/Form/Search/Common.tpl b/civicrm/templates/CRM/Member/Form/Search/Common.tpl
index f816ea63bc..c34e451edd 100644
--- a/civicrm/templates/CRM/Member/Form/Search/Common.tpl
+++ b/civicrm/templates/CRM/Member/Form/Search/Common.tpl
@@ -47,13 +47,13 @@
   <td>{$form.member_is_override.label}{help id="id-member_is_override" file="CRM/Member/Form/Search.hlp"}{$form.member_is_override.html}</td>
 </tr>
 <tr>
-  {include file="CRM/Core/DatePickerRangeWrapper.tpl" fieldName="membership_join_date" colspan='2'}
+  {include file="CRM/Core/DatePickerRangeWrapper.tpl" fieldName="membership_join_date" to='' from='' colspan='2' class='' hideRelativeLabel=0}
 </tr>
 <tr>
-  {include file="CRM/Core/DatePickerRangeWrapper.tpl" fieldName="membership_start_date" colspan='2'}
+  {include file="CRM/Core/DatePickerRangeWrapper.tpl" fieldName="membership_start_date" to='' from='' colspan='2' class='' hideRelativeLabel=0}
 </tr>
 <tr>
-  {include file="CRM/Core/DatePickerRangeWrapper.tpl" fieldName="membership_end_date" colspan='2'}
+  {include file="CRM/Core/DatePickerRangeWrapper.tpl" fieldName="membership_end_date" to='' from='' colspan='2' class='' hideRelativeLabel=0}
 </tr>
 
 {* campaign in membership search *}
diff --git a/civicrm/templates/CRM/Pledge/Form/Pledge.tpl b/civicrm/templates/CRM/Pledge/Form/Pledge.tpl
index d49e3013be..b14178a710 100644
--- a/civicrm/templates/CRM/Pledge/Form/Pledge.tpl
+++ b/civicrm/templates/CRM/Pledge/Form/Pledge.tpl
@@ -99,7 +99,7 @@
         {/if}
           <tr id="fromEmail" style="display:none;">
             <td class="label">{$form.from_email_address.label}</td>
-            <td>{$form.from_email_address.html} {help id="id-from_email" file="CRM/Contact/Form/Task/Email.hlp" isAdmin=$isAdmin}</td>
+            <td>{$form.from_email_address.html}  {help id="id-from_email" file="CRM/Contact/Form/Task/Help/Email/id-from_email.hlp"}</td>
           </tr>
           <tr id="acknowledgeDate">
             <td class="label" class="crm-pledge-form-block-acknowledge_date">{$form.acknowledge_date.label}</td>
diff --git a/civicrm/templates/CRM/Pledge/Form/Search/Common.tpl b/civicrm/templates/CRM/Pledge/Form/Search/Common.tpl
index a073fa0c5b..34bdc059a4 100644
--- a/civicrm/templates/CRM/Pledge/Form/Search/Common.tpl
+++ b/civicrm/templates/CRM/Pledge/Form/Search/Common.tpl
@@ -9,7 +9,7 @@
 *}
 
 <tr>
-{include file="CRM/Core/DatePickerRangeWrapper.tpl" fieldName="pledge_payment_scheduled_date" colspan="2"}
+{include file="CRM/Core/DatePickerRangeWrapper.tpl" fieldName="pledge_payment_scheduled_date" to='' from='' colspan="2" class='' hideRelativeLabel=0}
 </tr>
 <tr>
   <td colspan="2">
@@ -29,13 +29,13 @@
   </td>
 </tr>
 <tr>
-{include file="CRM/Core/DatePickerRangeWrapper.tpl" fieldName="pledge_create_date" colspan="2"}
+{include file="CRM/Core/DatePickerRangeWrapper.tpl" fieldName="pledge_create_date" to='' from='' colspan="2" class='' hideRelativeLabel=0}
 </tr>
 <tr>
-{include file="CRM/Core/DatePickerRangeWrapper.tpl" fieldName="pledge_start_date" colspan="2"}
+{include file="CRM/Core/DatePickerRangeWrapper.tpl" fieldName="pledge_start_date" to='' from='' colspan="2" class='' hideRelativeLabel=0}
 </tr>
 <tr>
-{include file="CRM/Core/DatePickerRangeWrapper.tpl" fieldName="pledge_end_date" colspan="2"}
+{include file="CRM/Core/DatePickerRangeWrapper.tpl" fieldName="pledge_end_date" to='' from='' colspan="2" class='' hideRelativeLabel=0}
 </tr>
 <tr>
   <td>
diff --git a/civicrm/templates/CRM/Report/Form/Tabs/Filters.tpl b/civicrm/templates/CRM/Report/Form/Tabs/Filters.tpl
index 5324ca33af..aab5a09470 100644
--- a/civicrm/templates/CRM/Report/Form/Tabs/Filters.tpl
+++ b/civicrm/templates/CRM/Report/Form/Tabs/Filters.tpl
@@ -30,7 +30,7 @@
                 {if !empty($field.operatorType) && $field.operatorType & 4}
                   <tr class="report-contents crm-report crm-report-criteria-filter crm-report-criteria-filter-{$tableName}">
                     <td class="label report-contents">{if !empty($field.title)}{$field.title}{/if}</td>
-                      {include file="CRM/Core/DatePickerRangeWrapper.tpl" fieldName=$fieldName hideRelativeLabel=1 from='_from' to='_to'}
+                      {include file="CRM/Core/DatePickerRangeWrapper.tpl" fieldName=$fieldName hideRelativeLabel=1 from='_from' to='_to' class='' colspan=''}
                   </tr>
                 {elseif $form.$fieldOp.html}
                   <tr class="report-contents crm-report crm-report-criteria-filter crm-report-criteria-filter-{$tableName}" {if !empty($field.no_display)} style="display: none;"{/if}>
diff --git a/civicrm/templates/CRM/Report/Page/Options.tpl b/civicrm/templates/CRM/Report/Page/Options.tpl
index 03c9e5050b..33d2680040 100644
--- a/civicrm/templates/CRM/Report/Page/Options.tpl
+++ b/civicrm/templates/CRM/Report/Page/Options.tpl
@@ -8,11 +8,11 @@
  +--------------------------------------------------------------------+
 *}
 <div class="help">
-  {ts 1=$GName}The existing option choices for %1 group are listed below. You can add, edit or delete them from this screen.{/ts}
+  {ts 1=$gLabel}The existing option choices for %1 group are listed below. You can add, edit or delete them from this screen.{/ts}
 </div>
 {if $action ne 1 and $action ne 2}
   <div class="action-link">
-    <a href="{$newReport}"  id="new"|cat:$GName class="button"><span><i class="crm-i fa-plus-circle" aria-hidden="true"></i> {ts 1=$GName}Register New %1{/ts}</span></a>
+    <a href="{$newReport}"  id="new_{$gName}" class="button"><span><i class="crm-i fa-plus-circle" aria-hidden="true"></i> {ts 1=$gLabel}Register New %1{/ts}</span></a>
   </div>
   <div class="spacer"></div>
 {/if}
@@ -58,7 +58,7 @@
 
     {if $action ne 1 and $action ne 2}
       <div class="action-link">
-        <a href="{$newReport}"  id="new"|cat:$GName class="button"><span><i class="crm-i fa-plus-circle" aria-hidden="true"></i> {ts 1=$GName}Register New %1{/ts}</span></a>
+        <a href="{$newReport}"  id="new_{$gName}" class="button"><span><i class="crm-i fa-plus-circle" aria-hidden="true"></i> {ts 1=$gLabel}Register New %1{/ts}</span></a>
       </div>
     {/if}
   </div>
diff --git a/civicrm/templates/CRM/UF/Page/Group.tpl b/civicrm/templates/CRM/UF/Page/Group.tpl
index 727c429a2d..4bfc276a74 100644
--- a/civicrm/templates/CRM/UF/Page/Group.tpl
+++ b/civicrm/templates/CRM/UF/Page/Group.tpl
@@ -8,149 +8,146 @@
  +--------------------------------------------------------------------+
 *}
 {if $action eq 1 or $action eq 2 or $action eq 4 or $action eq 8 or $action eq 64 or $action eq 16384}
-    {* Add or edit Profile Group form *}
-    {include file="CRM/UF/Form/Group.tpl"}
+  {* Add or edit Profile Group form *}
+  {include file="CRM/UF/Form/Group.tpl"}
 {elseif $action eq 1024}
-    {* Preview Profile Group form *}
-    {include file="CRM/UF/Form/Preview.tpl"}
+  {* Preview Profile Group form *}
+  {include file="CRM/UF/Form/Preview.tpl"}
 {elseif $action eq 8192}
-    {* Display HTML Form Snippet Code *}
-    <div class="help">
-        {ts}The HTML code below will display a form consisting of the active fields in this Profile. You can copy this HTML code and paste it into any block or page on your website where you want to collect contact information.{/ts} {help id='standalone'}
-    </div>
-    <br />
-    <form name="html_code" action="{crmURL p='civicrm/admin/uf/group' q="action=profile&gid=$gid"}">
+  {* Display HTML Form Snippet Code *}
+  <div class="help">
+      {ts}The HTML code below will display a form consisting of the active fields in this Profile. You can copy this HTML code and paste it into any block or page on your website where you want to collect contact information.{/ts} {help id='standalone'}
+  </div>
+  <br />
+  <form name="html_code" action="{crmURL p='civicrm/admin/uf/group' q="action=profile&gid=$gid"}">
     <div id="standalone-form">
-        <textarea rows="20" cols="80" name="profile" id="profile">{$profile}</textarea>
-        <div class="spacer"></div>
-        <a href="#" onclick="html_code.profile.select(); return false;" class="button"><span>{ts}Select HTML Code{/ts}</span></a>
+      <textarea rows="20" cols="80" name="profile" id="profile">{$profile}</textarea>
+      <div class="spacer"></div>
+      <a href="#" onclick="html_code.profile.select(); return false;" class="button"><span>{ts}Select HTML Code{/ts}</span></a>
     </div>
     <div class="action-link">
-        &nbsp; <a href="{crmURL p='civicrm/admin/uf/group' q="reset=1"}"><i class="crm-i fa-chevron-left" aria-hidden="true"></i>  {ts}Back to Profile Listings{/ts}</a>
+      &nbsp; <a href="{crmURL p='civicrm/admin/uf/group' q="reset=1"}"><i class="crm-i fa-chevron-left" aria-hidden="true"></i>  {ts}Back to Profile Listings{/ts}</a>
     </div>
-    </form>
+  </form>
 
 {else}
-    <div class="help">
-        {ts}CiviCRM Profile(s) allow you to aggregate groups of fields and include them in your site as input forms, contact display pages, and search and listings features. They provide a powerful set of tools for you to collect information from constituents and selectively share contact information.{/ts} {help id='profile_overview'}
-    </div>
+  <div class="help">
+    {ts}CiviCRM Profile(s) allow you to aggregate groups of fields and include them in your site as input forms, contact display pages, and search and listings features. They provide a powerful set of tools for you to collect information from constituents and selectively share contact information.{/ts} {help id='profile_overview'}
+  </div>
 
-<div class="crm-content-block crm-block">
+  <div class="crm-content-block crm-block">
     {if NOT ($action eq 1 or $action eq 2)}
-    <div class="crm-submit-buttons">
-        <a href="{crmURL p='civicrm/admin/uf/group/add' q="action=add&reset=1"}" id="newCiviCRMProfile-top" class="button"><span><i class="crm-i fa-plus-circle" aria-hidden="true"></i> {ts}Add Profile{/ts}</span></a>
-    </div>
+      <div class="crm-submit-buttons">
+          <a href="{crmURL p='civicrm/admin/uf/group/add' q="action=add&reset=1"}" id="newCiviCRMProfile-top" class="button"><span><i class="crm-i fa-plus-circle" aria-hidden="true"></i> {ts}Add Profile{/ts}</span></a>
+      </div>
     {/if}
     {if $rows}
-    <div id='mainTabContainer'>
+      <div id='mainTabContainer'>
         <ul>
-            <li id='tab_user-profiles'>    <a href='#user-profiles'     title='{ts}User-defined Profile{/ts}'>{ts}User-defined Profiles{/ts}</a></li>
-            <li id='tab_reserved-profiles'><a href='#reserved-profiles' title='{ts}Reserved Profiles{/ts}'>{ts}Reserved Profiles{/ts}</a></li>
+          <li id='tab_user-profiles'>    <a href='#user-profiles'     title='{ts}User-defined Profile{/ts}'>{ts}User-defined Profiles{/ts}</a></li>
+          <li id='tab_reserved-profiles'><a href='#reserved-profiles' title='{ts}Reserved Profiles{/ts}'>{ts}Reserved Profiles{/ts}</a></li>
         </ul>
 
         {* handle enable/disable actions*}
         {include file="CRM/common/enableDisableApi.tpl"}
         {include file="CRM/common/jsortable.tpl"}
         <div id="user-profiles">
-           <div class="crm-content-block">
-           <table class="display">
-             <thead>
-              <tr>
-                <th id="sortable">{ts}Profile Title{/ts}</th>
-                <th>{ts}Public Title{/ts}</th>
-                <th>{ts}Created By{/ts}</th>
-                <th>{ts}Description{/ts}</th>
-                <th>{ts}Type{/ts}</th>
-                <th>{ts}ID{/ts}</th>
-                <th id="nosort">{ts}Used For{/ts}</th>
-                <th></th>
-              </tr>
-            </thead>
-            <tbody>
-            {foreach from=$rows item=row}
-            {if !$row.is_reserved }
-              <tr id="UFGroup-{$row.id}" data-action="setvalue" class="crm-entity{if !empty($row.class)} {$row.class}{/if}{if NOT $row.is_active} disabled{/if}">
-                <td class="crmf-title crm-editable">{$row.title}</td>
-                <td class="crmf-frontend_title crm-editable">{$row.frontend_title}</td>
-                <td>
-                  {if $row.created_id && $row.created_by}
-                    <a href="{crmURL p='civicrm/contact/view' q="reset=1&cid=`$row.created_id`"}">{ts}{$row.created_by}{/ts}</a>
-                  {/if}
-                </td>
-                <td class="crmf-description crm-editable" data-type="textarea">{$row.description|escape}</td>
-                <td>{$row.group_type}</td>
-                <td>{$row.id}</td>
-                <td>{$row.module}</td>
-                <td>{$row.action|replace:'xx':$row.id}</td>
-              </tr>
-            {/if}
-            {/foreach}
-            </tbody>
+          <div class="crm-content-block">
+            <table class="display">
+              <thead>
+                <tr>
+                  <th id="sortable">{ts}Profile Title{/ts}</th>
+                  <th>{ts}Public Title{/ts}</th>
+                  <th>{ts}Created By{/ts}</th>
+                  <th>{ts}Description{/ts}</th>
+                  <th>{ts}Type{/ts}</th>
+                  <th>{ts}ID{/ts}</th>
+                  <th id="nosort">{ts}Used For{/ts}</th>
+                  <th></th>
+                </tr>
+              </thead>
+              <tbody>
+                {foreach from=$rows item=row}
+                {if !$row.is_reserved }
+                  <tr id="UFGroup-{$row.id}" data-action="setvalue" class="crm-entity{if !empty($row.class)} {$row.class}{/if}{if NOT $row.is_active} disabled{/if}">
+                    <td class="crmf-title crm-editable">{$row.title}</td>
+                    <td class="crmf-frontend_title crm-editable">{$row.frontend_title}</td>
+                    <td>
+                      {if $row.created_id && $row.created_by}
+                        <a href="{crmURL p='civicrm/contact/view' q="reset=1&cid=`$row.created_id`"}">{ts}{$row.created_by}{/ts}</a>
+                      {/if}
+                    </td>
+                    <td class="crmf-description crm-editable" data-type="textarea">{$row.description|escape}</td>
+                    <td>{$row.group_type}</td>
+                    <td>{$row.id}</td>
+                    <td>{$row.module}</td>
+                    <td>{$row.action|replace:'xx':$row.id}</td>
+                  </tr>
+                {/if}
+                {/foreach}
+              </tbody>
             </table>
 
             {if NOT ($action eq 1 or $action eq 2)}
-            <div class="crm-submit-buttons">
-                <a href="{crmURL p='civicrm/admin/uf/group/add' q='action=add&reset=1'}" id="newCiviCRMProfile-bottom" class="button"><span><i class="crm-i fa-plus-circle" aria-hidden="true"></i> {ts}Add Profile{/ts}</span></a>
-            </div>
+              <div class="crm-submit-buttons">
+                  <a href="{crmURL p='civicrm/admin/uf/group/add' q='action=add&reset=1'}" id="newCiviCRMProfile-bottom" class="button"><span><i class="crm-i fa-plus-circle" aria-hidden="true"></i> {ts}Add Profile{/ts}</span></a>
+              </div>
             {/if}
-            </div>
+          </div>
         </div>{* user profile*}
 
         <div id="reserved-profiles">
-        <div class="crm-content-block">
+          <div class="crm-content-block">
             <table class="display">
-             <thead>
-              <tr>
-                <th id="sortable">{ts}Profile Title{/ts}</th>
-                <th>{ts}Public Title{/ts}</th>
-                <th>{ts}Created By{/ts}</th>
-                <th>{ts}Description{/ts}</th>
-                <th>{ts}Type{/ts}</th>
-                <th>{ts}ID{/ts}</th>
-                <th id="nosort">{ts}Used For{/ts}</th>
-                <th></th>
-              </tr>
-            </thead>
-            <tbody>
-            {foreach from=$rows item=row}
-            {if $row.is_reserved}
-              <tr id="UFGroup-{$row.id}" class="crm-entity{if !empty($row.class)} {$row.class}{/if}{if NOT $row.is_active} disabled{/if}">
-                <td>{$row.title}</td>
-                <td>{$row.frontend_title}</td>
-                <td>
-                  {if $row.created_id && $row.created_by}
-                    <a href="{crmURL p='civicrm/contact/view' q="reset=1&cid=`$row.created_id`"}">{ts}{$row.created_by}{/ts}</a>
+              <thead>
+                <tr>
+                  <th id="sortable">{ts}Profile Title{/ts}</th>
+                  <th>{ts}Public Title{/ts}</th>
+                  <th>{ts}Created By{/ts}</th>
+                  <th>{ts}Description{/ts}</th>
+                  <th>{ts}Type{/ts}</th>
+                  <th>{ts}ID{/ts}</th>
+                  <th id="nosort">{ts}Used For{/ts}</th>
+                  <th></th>
+                </tr>
+              </thead>
+              <tbody>
+                {foreach from=$rows item=row}
+                  {if $row.is_reserved}
+                    <tr id="UFGroup-{$row.id}" class="crm-entity{if !empty($row.class)} {$row.class}{/if}{if NOT $row.is_active} disabled{/if}">
+                      <td>{$row.title}</td>
+                      <td>{$row.frontend_title}</td>
+                      <td>
+                        {if $row.created_id && $row.created_by}
+                          <a href="{crmURL p='civicrm/contact/view' q="reset=1&cid=`$row.created_id`"}">{ts}{$row.created_by}{/ts}</a>
+                        {/if}
+                      </td>
+                      <td>{$row.description|escape}</td>
+                      <td>{$row.group_type}</td>
+                      <td>{$row.id}</td>
+                      <td>{$row.module}</td>
+                      <td>{$row.action|replace:'xx':$row.id}</td>
+                    </tr>
                   {/if}
-                </td>
-                <td>{$row.description|escape}</td>
-                <td>{$row.group_type}</td>
-                <td>{$row.id}</td>
-                <td>{$row.module}</td>
-                <td>{$row.action|replace:'xx':$row.id}</td>
-              </tr>
-            {/if}
-            {/foreach}
-            </tbody>
+                {/foreach}
+              </tbody>
             </table>
 
             {if NOT ($action eq 1 or $action eq 2)}
-            <div class="crm-submit-buttons">
+              <div class="crm-submit-buttons">
                 <a href="{crmURL p='civicrm/admin/uf/group/add' q='action=add&reset=1'}" id="newCiviCRMProfile-bottom" class="button"><span><i class="crm-i fa-plus-circle" aria-hidden="true"></i> {ts}Add Profile{/ts}</span></a>
-            </div>
+              </div>
             {/if}
-            </div>
+          </div>
         </div>{* reserved profile*}
-
-  </div>
-{include file="CRM/common/TabHeader.tpl"}
-
+      </div>
+      {include file="CRM/common/TabHeader.tpl"}
     {else}
-    {if $action ne 1} {* When we are adding an item, we should not display this message *}
-       <div class="messages status no-popup">
-         {icon icon="fa-info-circle"}{/icon}
-         {capture assign=crmURL}{crmURL p='civicrm/admin/uf/group/add' q='action=add&reset=1'}{/capture}{ts 1=$crmURL}No CiviCRM Profiles have been created yet. You can <a href='%1'>add one now</a>.{/ts}
-       </div>
-    {/if}
+      {if $action ne 1} {* When we are adding an item, we should not display this message *}
+        <div class="messages status no-popup">
+          {icon icon="fa-info-circle"}{/icon}
+          {capture assign=crmURL}{crmURL p='civicrm/admin/uf/group/add' q='action=add&reset=1'}{/capture}{ts 1=$crmURL}No CiviCRM Profiles have been created yet. You can <a href='%1'>add one now</a>.{/ts}
+        </div>
+      {/if}
     {/if}
 {/if}
-</div>
diff --git a/civicrm/templates/CRM/common/contactFooter.tpl b/civicrm/templates/CRM/common/contactFooter.tpl
index d87f279f97..db1f334b77 100644
--- a/civicrm/templates/CRM/common/contactFooter.tpl
+++ b/civicrm/templates/CRM/common/contactFooter.tpl
@@ -11,15 +11,15 @@
 {strip}
 <div class="crm-footer" id="crm-record-log">
   <span class="col1">
-    {if !empty($external_identifier)}{ts}External ID{/ts}:&nbsp;{$external_identifier}{/if}
+    {if $external_identifier}{ts}External ID{/ts}:&nbsp;{$external_identifier}{/if}
     {if $action !== 2}&nbsp; &nbsp;{ts}Contact ID{/ts}:&nbsp;{$contactId}{/if}
   </span>
-  {if !empty($lastModified)}
+  {if $lastModified}
     {ts}Last Change by{/ts}: <a href="{crmURL p='civicrm/contact/view' q="action=view&reset=1&cid=`$lastModified.id`"}">{$lastModified.name}</a> ({$lastModified.date|crmDate}) &nbsp;
-    {if !empty($changeLog)}
+    {if $changeLog}
       <a href="{crmURL p='civicrm/contact/view' q="reset=1&action=browse&selectedChild=log&cid=`$contactId`"}" class="crm-log-view"><i class="crm-i fa-history" aria-hidden="true"></i> {ts}View Change Log{/ts}</a>
     {/if}
   {/if}
-  {if !empty($created_date)}<div class="contact-created-date">{ts}Created{/ts}: {$created_date|crmDate}</div>{/if}
+  {if $created_date}<div class="contact-created-date">{ts}Created{/ts}: {$created_date|crmDate}</div>{/if}
 </div>
 {/strip}
diff --git a/civicrm/templates/CRM/common/footer.tpl b/civicrm/templates/CRM/common/footer.tpl
index 4399e31d94..ddae7088b1 100644
--- a/civicrm/templates/CRM/common/footer.tpl
+++ b/civicrm/templates/CRM/common/footer.tpl
@@ -16,7 +16,7 @@
   <div class="crm-footer" id="civicrm-footer">
     {crmVersion assign=version}
     {ts}Powered by CiviCRM{/ts} <a href="https://download.civicrm.org/about/{$version}">{$version}</a>.
-    {if !empty($footer_status_severity)}
+    {if $footer_status_severity}
       <span class="status{if $footer_status_severity gt 3} crm-error{elseif $footer_status_severity gt 2} crm-warning{else} crm-ok{/if}">
       <a href="{crmURL p='civicrm/a/#/status'}">{$footer_status_message}</a>
     </span>
diff --git a/civicrm/templates/CRM/common/searchResultTasks.tpl b/civicrm/templates/CRM/common/searchResultTasks.tpl
index be4b9e4a5d..c126d858a1 100644
--- a/civicrm/templates/CRM/common/searchResultTasks.tpl
+++ b/civicrm/templates/CRM/common/searchResultTasks.tpl
@@ -12,7 +12,7 @@
 <div id="search-status">
   <table class="form-layout-compressed">
   <tr>
-    <td class="font-size12pt" style="width: 40%;">
+    <td style="width: 40%;">
     {if !empty($savedSearch.name)}{$savedSearch.name} ({ts}smart group{/ts}) - {/if}
     {ts count=$pager->_totalItems plural='%count Results'}%count Result{/ts}{if !empty($selectorLabel)}&nbsp;-&nbsp;{$selectorLabel}{/if}
     {if $context == 'Event' && $participantCount && ( $pager->_totalItems ne $participantCount ) }
@@ -34,7 +34,7 @@
   </tr>
 {/if}
   <tr>
-    <td class="font-size11pt"> {ts}Select Records{/ts}:</td>
+    <td>{ts}Select Records{/ts}:</td>
     <td class="nowrap">
       {$form.radio_ts.ts_all.html} <label for="{$ts_all_id}">{ts count=$pager->_totalItems plural='All %count records'}The found record{/ts}</label> &nbsp; {if $pager->_totalItems > 1} {$form.radio_ts.ts_sel.html} <label for="{$ts_sel_id}">{ts 1="<span></span>"}%1 Selected records only{/ts}</label>{/if}
     </td>
diff --git a/civicrm/templates/CRM/common/snippet.tpl b/civicrm/templates/CRM/common/snippet.tpl
index 633c707b9d..177d7dc83d 100644
--- a/civicrm/templates/CRM/common/snippet.tpl
+++ b/civicrm/templates/CRM/common/snippet.tpl
@@ -34,7 +34,7 @@
           {include file="CRM/common/status.tpl"}
         {/if}
 
-        {if !empty($isForm)}
+        {if $isForm}
           {include file="CRM/Form/default.tpl"}
         {else}
           {include file=$tplFile}
diff --git a/civicrm/vendor/autoload.php b/civicrm/vendor/autoload.php
index 23916208e2..deaebe6c4b 100644
--- a/civicrm/vendor/autoload.php
+++ b/civicrm/vendor/autoload.php
@@ -4,4 +4,4 @@
 
 require_once __DIR__ . '/composer/autoload_real.php';
 
-return ComposerAutoloaderInit7d109fbe539c9854c6b4b47395293a82::getLoader();
+return ComposerAutoloaderInitf31a2c5ac61f3c5ca23bf7ff0747cc07::getLoader();
diff --git a/civicrm/vendor/composer/autoload_real.php b/civicrm/vendor/composer/autoload_real.php
index fbcea18354..ea73384341 100644
--- a/civicrm/vendor/composer/autoload_real.php
+++ b/civicrm/vendor/composer/autoload_real.php
@@ -2,7 +2,7 @@
 
 // autoload_real.php @generated by Composer
 
-class ComposerAutoloaderInit7d109fbe539c9854c6b4b47395293a82
+class ComposerAutoloaderInitf31a2c5ac61f3c5ca23bf7ff0747cc07
 {
     private static $loader;
 
@@ -19,9 +19,9 @@ class ComposerAutoloaderInit7d109fbe539c9854c6b4b47395293a82
             return self::$loader;
         }
 
-        spl_autoload_register(array('ComposerAutoloaderInit7d109fbe539c9854c6b4b47395293a82', 'loadClassLoader'), true, true);
+        spl_autoload_register(array('ComposerAutoloaderInitf31a2c5ac61f3c5ca23bf7ff0747cc07', 'loadClassLoader'), true, true);
         self::$loader = $loader = new \Composer\Autoload\ClassLoader();
-        spl_autoload_unregister(array('ComposerAutoloaderInit7d109fbe539c9854c6b4b47395293a82', 'loadClassLoader'));
+        spl_autoload_unregister(array('ComposerAutoloaderInitf31a2c5ac61f3c5ca23bf7ff0747cc07', 'loadClassLoader'));
 
         $includePaths = require __DIR__ . '/include_paths.php';
         $includePaths[] = get_include_path();
@@ -31,7 +31,7 @@ class ComposerAutoloaderInit7d109fbe539c9854c6b4b47395293a82
         if ($useStaticLoader) {
             require_once __DIR__ . '/autoload_static.php';
 
-            call_user_func(\Composer\Autoload\ComposerStaticInit7d109fbe539c9854c6b4b47395293a82::getInitializer($loader));
+            call_user_func(\Composer\Autoload\ComposerStaticInitf31a2c5ac61f3c5ca23bf7ff0747cc07::getInitializer($loader));
         } else {
             $map = require __DIR__ . '/autoload_namespaces.php';
             foreach ($map as $namespace => $path) {
@@ -52,19 +52,19 @@ class ComposerAutoloaderInit7d109fbe539c9854c6b4b47395293a82
         $loader->register(true);
 
         if ($useStaticLoader) {
-            $includeFiles = Composer\Autoload\ComposerStaticInit7d109fbe539c9854c6b4b47395293a82::$files;
+            $includeFiles = Composer\Autoload\ComposerStaticInitf31a2c5ac61f3c5ca23bf7ff0747cc07::$files;
         } else {
             $includeFiles = require __DIR__ . '/autoload_files.php';
         }
         foreach ($includeFiles as $fileIdentifier => $file) {
-            composerRequire7d109fbe539c9854c6b4b47395293a82($fileIdentifier, $file);
+            composerRequiref31a2c5ac61f3c5ca23bf7ff0747cc07($fileIdentifier, $file);
         }
 
         return $loader;
     }
 }
 
-function composerRequire7d109fbe539c9854c6b4b47395293a82($fileIdentifier, $file)
+function composerRequiref31a2c5ac61f3c5ca23bf7ff0747cc07($fileIdentifier, $file)
 {
     if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
         require $file;
diff --git a/civicrm/vendor/composer/autoload_static.php b/civicrm/vendor/composer/autoload_static.php
index af6f0fad29..28a136fc47 100644
--- a/civicrm/vendor/composer/autoload_static.php
+++ b/civicrm/vendor/composer/autoload_static.php
@@ -4,7 +4,7 @@
 
 namespace Composer\Autoload;
 
-class ComposerStaticInit7d109fbe539c9854c6b4b47395293a82
+class ComposerStaticInitf31a2c5ac61f3c5ca23bf7ff0747cc07
 {
     public static $files = array (
         '320cde22f66dd4f5d3fd621d3e88b98f' => __DIR__ . '/..' . '/symfony/polyfill-ctype/bootstrap.php',
@@ -672,11 +672,11 @@ class ComposerStaticInit7d109fbe539c9854c6b4b47395293a82
     public static function getInitializer(ClassLoader $loader)
     {
         return \Closure::bind(function () use ($loader) {
-            $loader->prefixLengthsPsr4 = ComposerStaticInit7d109fbe539c9854c6b4b47395293a82::$prefixLengthsPsr4;
-            $loader->prefixDirsPsr4 = ComposerStaticInit7d109fbe539c9854c6b4b47395293a82::$prefixDirsPsr4;
-            $loader->prefixesPsr0 = ComposerStaticInit7d109fbe539c9854c6b4b47395293a82::$prefixesPsr0;
-            $loader->fallbackDirsPsr0 = ComposerStaticInit7d109fbe539c9854c6b4b47395293a82::$fallbackDirsPsr0;
-            $loader->classMap = ComposerStaticInit7d109fbe539c9854c6b4b47395293a82::$classMap;
+            $loader->prefixLengthsPsr4 = ComposerStaticInitf31a2c5ac61f3c5ca23bf7ff0747cc07::$prefixLengthsPsr4;
+            $loader->prefixDirsPsr4 = ComposerStaticInitf31a2c5ac61f3c5ca23bf7ff0747cc07::$prefixDirsPsr4;
+            $loader->prefixesPsr0 = ComposerStaticInitf31a2c5ac61f3c5ca23bf7ff0747cc07::$prefixesPsr0;
+            $loader->fallbackDirsPsr0 = ComposerStaticInitf31a2c5ac61f3c5ca23bf7ff0747cc07::$fallbackDirsPsr0;
+            $loader->classMap = ComposerStaticInitf31a2c5ac61f3c5ca23bf7ff0747cc07::$classMap;
 
         }, null, ClassLoader::class);
     }
diff --git a/civicrm/xml/schema/Activity/Activity.xml b/civicrm/xml/schema/Activity/Activity.xml
index 2b6c5195c9..7a36114119 100644
--- a/civicrm/xml/schema/Activity/Activity.xml
+++ b/civicrm/xml/schema/Activity/Activity.xml
@@ -418,6 +418,7 @@
     <default>CURRENT_TIMESTAMP</default>
     <html>
       <label>Created Date</label>
+      <type>Select Date</type>
     </html>
     <add>4.7</add>
   </field>
@@ -431,6 +432,7 @@
     <default>CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP</default>
     <html>
       <label>Modified Date</label>
+      <type>Select Date</type>
     </html>
     <readonly>true</readonly>
     <add>4.7</add>
diff --git a/civicrm/xml/schema/Case/Case.xml b/civicrm/xml/schema/Case/Case.xml
index a95d44923a..acc66e4ede 100644
--- a/civicrm/xml/schema/Case/Case.xml
+++ b/civicrm/xml/schema/Case/Case.xml
@@ -153,6 +153,7 @@
     <html>
       <label>Created Date</label>
     </html>
+    <readonly>true</readonly>
     <add>4.7</add>
   </field>
   <field>
diff --git a/civicrm/xml/schema/Contact/Relationship.xml b/civicrm/xml/schema/Contact/Relationship.xml
index 9151dc12e5..141ae932c6 100644
--- a/civicrm/xml/schema/Contact/Relationship.xml
+++ b/civicrm/xml/schema/Contact/Relationship.xml
@@ -178,6 +178,24 @@
     </html>
     <add>2.2</add>
   </field>
+  <field>
+    <name>created_date</name>
+    <type>timestamp</type>
+    <comment>Relationship created date.</comment>
+    <required>true</required>
+    <default>CURRENT_TIMESTAMP</default>
+    <add>5.47</add>
+  </field>
+  <field>
+    <name>modified_date</name>
+    <title>Relationship Modified Date</title>
+    <type>timestamp</type>
+    <required>true</required>
+    <comment>Relationship last modified.</comment>
+    <default>CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP</default>
+    <add>5.47</add>
+    <readonly>true</readonly>
+  </field>
   <foreignKey>
     <name>case_id</name>
     <table>civicrm_case</table>
diff --git a/civicrm/xml/schema/Contribute/ContributionRecur.xml b/civicrm/xml/schema/Contribute/ContributionRecur.xml
index 10ccc53592..b19292e66a 100644
--- a/civicrm/xml/schema/Contribute/ContributionRecur.xml
+++ b/civicrm/xml/schema/Contribute/ContributionRecur.xml
@@ -359,7 +359,7 @@
     <pseudoconstant>
       <table>civicrm_payment_processor</table>
       <keyColumn>id</keyColumn>
-      <labelColumn>name</labelColumn>
+      <labelColumn>title</labelColumn>
     </pseudoconstant>
     <html>
       <type>Select</type>
diff --git a/civicrm/xml/schema/Core/CustomField.xml b/civicrm/xml/schema/Core/CustomField.xml
index 8fb1c82c10..c5a4a2f617 100644
--- a/civicrm/xml/schema/Core/CustomField.xml
+++ b/civicrm/xml/schema/Core/CustomField.xml
@@ -11,8 +11,8 @@
   <paths>
     <add>civicrm/admin/custom/group/field/add?reset=1&amp;action=add&amp;gid=[custom_group_id]</add>
     <update>civicrm/admin/custom/group/field/update?action=update&amp;reset=1&amp;id=[id]&amp;gid=[custom_group_id]</update>
-    <preview>civicrm/admin/custom/group/field?action=preview&amp;reset=1&amp;id=[id]&amp;gid=[custom_group_id]</preview>
-    <delete>civicrm/admin/custom/group/field?action=delete&amp;reset=1&amp;id=[id]&amp;gid=[custom_group_id]</delete>
+    <preview>civicrm/admin/custom/group/preview&amp;reset=1&amp;fid=[id]</preview>
+    <delete>civicrm/admin/custom/group/field/delete?reset=1&amp;id=[id]</delete>
     <move>civicrm/admin/custom/group/field/move?reset=1&amp;fid=[id]</move>
   </paths>
   <field>
diff --git a/civicrm/xml/schema/Core/CustomGroup.xml b/civicrm/xml/schema/Core/CustomGroup.xml
index 853a106e32..cd38ce0670 100644
--- a/civicrm/xml/schema/Core/CustomGroup.xml
+++ b/civicrm/xml/schema/Core/CustomGroup.xml
@@ -11,10 +11,10 @@
   <title>Custom Field Group</title>
   <labelField>title</labelField>
   <paths>
-    <add>civicrm/admin/custom/group?action=add&amp;reset=1</add>
-    <update>civicrm/admin/custom/group?action=update&amp;reset=1&amp;id=[id]</update>
-    <preview>civicrm/admin/custom/group?action=preview&amp;reset=1&amp;id=[id]</preview>
-    <delete>civicrm/admin/custom/group?action=delete&amp;reset=1&amp;id=[id]</delete>
+    <add>civicrm/admin/custom/group/edit?action=add&amp;reset=1</add>
+    <update>civicrm/admin/custom/group/edit?action=update&amp;reset=1&amp;id=[id]</update>
+    <preview>civicrm/admin/custom/group/preview?reset=1&amp;gid=[id]</preview>
+    <delete>civicrm/admin/custom/group/delete?reset=1&amp;id=[id]</delete>
   </paths>
   <field>
     <name>id</name>
@@ -198,11 +198,10 @@
     <add>2.1</add>
   </index>
   <index>
-    <name>UI_name_extends</name>
+    <name>UI_name</name>
     <fieldName>name</fieldName>
-    <fieldName>extends</fieldName>
     <unique>true</unique>
-    <add>2.1</add>
+    <add>5.47</add>
   </index>
   <field>
     <name>created_id</name>
diff --git a/civicrm/xml/schema/Core/Navigation.xml b/civicrm/xml/schema/Core/Navigation.xml
index dd489e66e0..bb97737ad3 100644
--- a/civicrm/xml/schema/Core/Navigation.xml
+++ b/civicrm/xml/schema/Core/Navigation.xml
@@ -125,6 +125,8 @@
     <title>Is Active</title>
     <type>boolean</type>
     <comment>Is this navigation item active?</comment>
+    <default>1</default>
+    <required>true</required>
     <add>3.0</add>
   </field>
   <field>
@@ -143,6 +145,8 @@
     <title>Order</title>
     <type>int</type>
     <comment>Ordering of the navigation items in various blocks.</comment>
+    <default>0</default>
+    <required>true</required>
     <add>3.0</add>
   </field>
 </table>
diff --git a/civicrm/xml/schema/Event/Event.xml b/civicrm/xml/schema/Event/Event.xml
index a90b01446b..067a3a528c 100644
--- a/civicrm/xml/schema/Event/Event.xml
+++ b/civicrm/xml/schema/Event/Event.xml
@@ -124,13 +124,15 @@
   </field>
   <field>
     <name>start_date</name>
-    <type>datetime</type>
+    <type>timestamp</type>
     <uniqueName>event_start_date</uniqueName>
     <title>Event Start Date</title>
     <headerPattern>/^start|(s(tart\s)?date)$/i</headerPattern>
     <import>true</import>
     <comment>Date and time that event starts.</comment>
     <add>1.7</add>
+    <required>false</required>
+    <default>NULL</default>
     <html>
       <type>Select Date</type>
       <formatType>activityDateTime</formatType>
@@ -138,13 +140,15 @@
   </field>
   <field>
     <name>end_date</name>
-    <type>datetime</type>
+    <type>timestamp</type>
     <uniqueName>event_end_date</uniqueName>
     <title>Event End Date</title>
     <headerPattern>/^end|(e(nd\s)?date)$/i</headerPattern>
     <import>true</import>
     <comment>Date and time that event ends. May be NULL if no defined end date/time</comment>
     <add>1.7</add>
+    <required>false</required>
+    <default>NULL</default>
     <html>
       <type>Select Date</type>
       <formatType>activityDateTime</formatType>
@@ -175,9 +179,11 @@
   </field>
   <field>
     <name>registration_start_date</name>
-    <type>datetime</type>
+    <type>timestamp</type>
     <comment>Date and time that online registration starts.</comment>
     <add>1.8</add>
+    <required>false</required>
+    <default>NULL</default>
     <html>
       <type>Select Date</type>
       <formatType>activityDateTime</formatType>
@@ -186,9 +192,11 @@
   </field>
   <field>
     <name>registration_end_date</name>
-    <type>datetime</type>
+    <type>timestamp</type>
     <comment>Date and time that online registration ends.</comment>
     <add>1.8</add>
+    <required>false</required>
+    <default>NULL</default>
     <html>
       <type>Select Date</type>
       <formatType>activityDateTime</formatType>
@@ -894,4 +902,20 @@
       <type>CheckBox</type>
     </html>
   </field>
+  <field>
+    <name>event_tz</name>
+    <type>text</type>
+    <uniqueName>event_tz</uniqueName>
+    <title>Event Time Zone</title>
+    <import>true</import>
+    <comment>Event's native time zone</comment>
+    <add>5.47</add>
+    <default>NULL</default>
+    <html>
+      <type>Select</type>
+    </html>
+    <pseudoconstant>
+      <callback>CRM_Core_SelectValues::timezone</callback>
+    </pseudoconstant>
+  </field>
 </table>
diff --git a/civicrm/xml/schema/Grant/files.xml b/civicrm/xml/schema/Grant/files.xml
deleted file mode 100644
index b87a6e51c6..0000000000
--- a/civicrm/xml/schema/Grant/files.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1" ?>
-
-<tables xmlns:xi="http://www.w3.org/2001/XInclude">
-<xi:include href="Grant.xml"                 parse="xml" />
-</tables>
diff --git a/civicrm/xml/schema/Mailing/Event/Queue.xml b/civicrm/xml/schema/Mailing/Event/Queue.xml
index 6449d51afe..491eddaa75 100644
--- a/civicrm/xml/schema/Mailing/Event/Queue.xml
+++ b/civicrm/xml/schema/Mailing/Event/Queue.xml
@@ -3,6 +3,7 @@
 <table>
   <base>CRM/Mailing/Event</base>
   <class>Queue</class>
+  <entity>MailingEventQueue</entity>
   <name>civicrm_mailing_event_queue</name>
   <comment>A collection of all intended recipients of a job</comment>
   <archive>true</archive>
diff --git a/civicrm/xml/schema/Queue/Queue.xml b/civicrm/xml/schema/Queue/Queue.xml
new file mode 100644
index 0000000000..176f70b0e3
--- /dev/null
+++ b/civicrm/xml/schema/Queue/Queue.xml
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="iso-8859-1" ?>
+
+<table>
+  <!--
+    NOTE: To facilitate upgrades, manually copy the CREATE TABLE statement
+    from sql/civicrm.mysql to sql/civicrm_queue_item.mysql
+  -->
+  <base>CRM/Queue</base>
+  <class>Queue</class>
+  <name>civicrm_queue</name>
+  <comment>Stores a list of persistent queues</comment>
+  <add>5.47</add>
+  <field>
+    <name>id</name>
+    <title>System Queue ID</title>
+    <type>int unsigned</type>
+    <required>true</required>
+    <html>
+      <type>Number</type>
+    </html>
+    <add>5.47</add>
+  </field>
+  <primaryKey>
+    <name>id</name>
+    <autoincrement>true</autoincrement>
+  </primaryKey>
+  <field>
+    <name>name</name>
+    <title>Name</title>
+    <type>varchar</type>
+    <length>64</length>
+    <comment>Name of the queue</comment>
+    <required>true</required>
+    <html>
+      <type>Text</type>
+    </html>
+    <add>5.47</add>
+  </field>
+  <index>
+    <name>UI_name</name>
+    <fieldName>name</fieldName>
+    <unique>true</unique>
+    <add>5.47</add>
+  </index>
+  <field>
+    <name>type</name>
+    <title>Type</title>
+    <type>varchar</type>
+    <length>64</length>
+    <comment>Type of the queue</comment>
+    <required>true</required>
+    <html>
+      <type>Text</type>
+    </html>
+    <add>5.47</add>
+    <pseudoconstant>
+      <callback>CRM_Queue_BAO_Queue::getTypes</callback>
+    </pseudoconstant>
+  </field>
+  <field>
+    <name>is_autorun</name>
+    <title>Enable Autorun</title>
+    <type>boolean</type>
+    <comment>Should the standard background attempt to autorun tasks in this queue?</comment>
+    <html>
+      <type>CheckBox</type>
+      <label>Auto Run</label>
+    </html>
+  </field>
+
+</table>
diff --git a/civicrm/xml/schema/Queue/QueueItem.xml b/civicrm/xml/schema/Queue/QueueItem.xml
index 92b35e8cf3..1419b0ab84 100644
--- a/civicrm/xml/schema/Queue/QueueItem.xml
+++ b/civicrm/xml/schema/Queue/QueueItem.xml
@@ -12,7 +12,7 @@
   <add>4.2</add>
   <field>
     <name>id</name>
-    <title>Queue ID</title>
+    <title>Queue Item ID</title>
     <type>int unsigned</type>
     <required>true</required>
     <html>
@@ -29,6 +29,7 @@
     <type>varchar</type>
     <length>64</length>
     <comment>Name of the queue which includes this item</comment>
+    <!-- This SHOULD match `civicrm_queue.name`; however, historically, it has been required to create records in `civicrm_queue`. -->
     <required>true</required>
     <html>
       <type>Text</type>
diff --git a/civicrm/xml/schema/Queue/files.xml b/civicrm/xml/schema/Queue/files.xml
index 50b023f899..940e6b275d 100644
--- a/civicrm/xml/schema/Queue/files.xml
+++ b/civicrm/xml/schema/Queue/files.xml
@@ -1,5 +1,6 @@
 <?xml version="1.0" encoding="iso-8859-1" ?>
 
 <tables xmlns:xi="http://www.w3.org/2001/XInclude">
+<xi:include href="Queue.xml"                     parse="xml" />
 <xi:include href="QueueItem.xml"                 parse="xml" />
 </tables>
diff --git a/civicrm/xml/schema/Schema.xml b/civicrm/xml/schema/Schema.xml
index b7843f4009..d2de20ac9f 100644
--- a/civicrm/xml/schema/Schema.xml
+++ b/civicrm/xml/schema/Schema.xml
@@ -23,7 +23,6 @@
 <xi:include href="Event/Cart/files.xml"        parse="xml" />
 <xi:include href="Dedupe/files.xml"            parse="xml" />
 <xi:include href="Case/files.xml"              parse="xml" />
-<xi:include href="Grant/files.xml"             parse="xml" />
 <xi:include href="Friend/files.xml"            parse="xml" />
 <xi:include href="Pledge/files.xml"            parse="xml" />
 <xi:include href="Queue/files.xml"            parse="xml" />
diff --git a/civicrm/xml/templates/civicrm_data.tpl b/civicrm/xml/templates/civicrm_data.tpl
index b46a6d1d28..12349708e6 100644
--- a/civicrm/xml/templates/civicrm_data.tpl
+++ b/civicrm/xml/templates/civicrm_data.tpl
@@ -26,6 +26,11 @@ INSERT INTO civicrm_component (name, namespace) VALUES ('CiviCase'      , 'CRM_C
 INSERT INTO civicrm_component (name, namespace) VALUES ('CiviReport'    , 'CRM_Report' );
 INSERT INTO civicrm_component (name, namespace) VALUES ('CiviCampaign'  , 'CRM_Campaign' );
 
+-- CiviGrant has migrated to an extension, but instead of removing the above insert,
+-- go ahead and insert it, then delete. This is because too much legacy code has hard-coded
+-- references to component ID, so it's better to keep the auto-increment values stable.
+DELETE FROM civicrm_component WHERE name = 'CiviGrant';
+
 -- Create organization contact
 INSERT INTO civicrm_contact( `contact_type`, `sort_name`, `display_name`, `legal_name`, `organization_name`)
 VALUES ('Organization', @defaultOrganization, @defaultOrganization, @defaultOrganization, @defaultOrganization);
@@ -138,8 +143,6 @@ VALUES
    ('user_dashboard_options'        , '{ts escape="sql"}User Dashboard Options{/ts}'             , NULL, 1, 1, 1),
    ('address_options'               , '{ts escape="sql"}Addressing Options{/ts}'                 , NULL, 1, 1, 0),
    ('group_type'                    , '{ts escape="sql"}Group Type{/ts}'                         , NULL, 1, 1, 0),
-   ('grant_status'                  , '{ts escape="sql"}Grant status{/ts}'                       , NULL, 1, 1, 0),
-   ('grant_type'                    , '{ts escape="sql"}Grant Type{/ts}'                         , NULL, 1, 1, 0),
    ('custom_search'                 , '{ts escape="sql"}Custom Search{/ts}'                      , NULL, 1, 1, 0),
    ('activity_status'               , '{ts escape="sql"}Activity Status{/ts}'                    , 'Integer', 1, 1, 0),
    ('case_type'                     , '{ts escape="sql"}Case Type{/ts}'                          , NULL, 1, 1, 0),
@@ -224,8 +227,6 @@ SELECT @option_group_id_asOpt          := max(id) from civicrm_option_group wher
 SELECT @option_group_id_udOpt          := max(id) from civicrm_option_group where name = 'user_dashboard_options';
 SELECT @option_group_id_adOpt          := max(id) from civicrm_option_group where name = 'address_options';
 SELECT @option_group_id_gType          := max(id) from civicrm_option_group where name = 'group_type';
-SELECT @option_group_id_grantSt        := max(id) from civicrm_option_group where name = 'grant_status';
-SELECT @option_group_id_grantTyp       := max(id) from civicrm_option_group where name = 'grant_type';
 SELECT @option_group_id_csearch        := max(id) from civicrm_option_group where name = 'custom_search';
 SELECT @option_group_id_acs            := max(id) from civicrm_option_group where name = 'activity_status';
 SELECT @option_group_id_ct             := max(id) from civicrm_option_group where name = 'case_type';
@@ -292,7 +293,6 @@ SELECT @eventCompId      := max(id) FROM civicrm_component where name = 'CiviEve
 SELECT @memberCompId     := max(id) FROM civicrm_component where name = 'CiviMember';
 SELECT @pledgeCompId     := max(id) FROM civicrm_component where name = 'CiviPledge';
 SELECT @caseCompId       := max(id) FROM civicrm_component where name = 'CiviCase';
-SELECT @grantCompId      := max(id) FROM civicrm_component where name = 'CiviGrant';
 SELECT @campaignCompId   := max(id) FROM civicrm_component where name = 'CiviCampaign';
 SELECT @mailCompId       := max(id) FROM civicrm_component where name = 'CiviMail';
 
@@ -470,7 +470,6 @@ VALUES
   (@option_group_id_cvOpt, '{ts escape="sql"}Memberships{/ts}'  ,   8, 'CiviMember', NULL, 0, NULL,  8,  NULL, 0, 0, 1, NULL, NULL, NULL),
   (@option_group_id_cvOpt, '{ts escape="sql"}Events{/ts}'       ,   9, 'CiviEvent', NULL, 0, NULL,  9,  NULL, 0, 0, 1, NULL, NULL, NULL),
   (@option_group_id_cvOpt, '{ts escape="sql"}Cases{/ts}'        ,  10, 'CiviCase', NULL, 0, NULL,  10, NULL, 0, 0, 1, NULL, NULL, NULL),
-  (@option_group_id_cvOpt, '{ts escape="sql"}Grants{/ts}'       ,  11, 'CiviGrant', NULL, 0, NULL,  11, NULL, 0, 0, 1, NULL, NULL, NULL),
   (@option_group_id_cvOpt, '{ts escape="sql"}Pledges{/ts}'      ,  13, 'CiviPledge', NULL, 0, NULL,  13, NULL, 0, 0, 1, NULL, NULL, NULL),
   (@option_group_id_cvOpt, '{ts escape="sql"}Mailings{/ts}'     ,  14, 'CiviMail', NULL, 0, NULL,  14, NULL, 0, 0, 1, NULL, NULL, NULL),
 
@@ -507,7 +506,6 @@ VALUES
   (@option_group_id_asOpt, '{ts escape="sql"}Memberships{/ts}'             ,   8, 'CiviMember', NULL, 0, NULL,  9, NULL, 0, 0, 1, NULL, NULL, NULL),
   (@option_group_id_asOpt, '{ts escape="sql"}Events{/ts}'                  ,   9, 'CiviEvent', NULL, 0, NULL, 10, NULL, 0, 0, 1, NULL, NULL, NULL),
   (@option_group_id_asOpt, '{ts escape="sql"}Cases{/ts}'                   ,  10, 'CiviCase', NULL, 0, NULL, 11, NULL, 0, 0, 1, NULL, NULL, NULL),
-  (@option_group_id_asOpt, 'Grants'                                        ,  12, 'CiviGrant', NULL, 0, NULL, 14, NULL, 0, 0, 1, NULL, NULL, NULL),
   (@option_group_id_asOpt, '{ts escape="sql"}Demographics{/ts}'            ,  13, 'demographics', NULL, 0, NULL, 15, NULL, 0, 0, 1, NULL, NULL, NULL),
   (@option_group_id_asOpt, '{ts escape="sql"}Pledges{/ts}'                 ,  15, 'CiviPledge', NULL, 0, NULL, 17, NULL, 0, 0, 1, NULL, NULL, NULL),
   (@option_group_id_asOpt, '{ts escape="sql"}Contact Type{/ts}'            ,  16, 'contactType', NULL, 0, NULL, 18, NULL, 0, 0, 1, NULL, NULL, NULL),
@@ -559,14 +557,6 @@ VALUES
   (@option_group_id_gType, '{ts escape="sql"}Access Control{/ts}', 1, 'Access Control', NULL, 0, NULL, 1, NULL, 0, 1, 1, NULL, NULL, NULL),
   (@option_group_id_gType, '{ts escape="sql"}Mailing List{/ts}',   2, 'Mailing List',   NULL, 0, NULL, 2, NULL, 0, 1, 1, NULL, NULL, NULL),
 
-  (@option_group_id_grantSt, '{ts escape="sql"}Submitted{/ts}', 1, 'Submitted',  NULL, 0, 1,    1, NULL, 0, 0, 1, NULL, NULL, NULL),
-  (@option_group_id_grantSt, '{ts escape="sql"}Eligible{/ts}', 2, 'Eligible',  NULL, 0, NULL, 2, NULL, 0, 0, 1, NULL, NULL, NULL),
-  (@option_group_id_grantSt, '{ts escape="sql"}Ineligible{/ts}', 3, 'Ineligible', NULL, 0, NULL, 3, NULL, 0, 0, 1, NULL, NULL, NULL),
-  (@option_group_id_grantSt, '{ts escape="sql"}Paid{/ts}', 4, 'Paid', NULL, 0, NULL, 4, NULL, 0, 0, 1, NULL, NULL, NULL),
-  (@option_group_id_grantSt, '{ts escape="sql"}Awaiting Information{/ts}', 5, 'Awaiting Information', NULL, 0, NULL, 5, NULL, 0, 0, 1, NULL, NULL, NULL),
-  (@option_group_id_grantSt, '{ts escape="sql"}Withdrawn{/ts}', 6, 'Withdrawn', NULL, 0, NULL, 6, NULL, 0, 0, 1, NULL, NULL, NULL),
-  (@option_group_id_grantSt, '{ts escape="sql"}Approved for Payment{/ts}',  7, 'Approved for Payment', NULL, 0, NULL, 7, NULL, 0, 0, 1, NULL, NULL, NULL),
-
   (@option_group_id_csearch , 'CRM_Contact_Form_Search_Custom_Sample'               , 1, 'CRM_Contact_Form_Search_Custom_Sample'      , NULL, 0, NULL, 1, '{ts escape="sql"}Household Name and State{/ts}', 0, 0, 1, NULL, NULL, NULL),
   (@option_group_id_csearch , 'CRM_Contact_Form_Search_Custom_ContributionAggregate', 2, 'CRM_Contact_Form_Search_Custom_ContributionAggregate', NULL, 0, NULL, 2, '{ts escape="sql"}Contribution Aggregate{/ts}', 0, 0, 1, NULL, NULL, NULL),
   (@option_group_id_csearch , 'CRM_Contact_Form_Search_Custom_Group'                , 4, 'CRM_Contact_Form_Search_Custom_Group'       , NULL, 0, NULL, 4, '{ts escape="sql"}Include / Exclude Search{/ts}', 0, 0, 1, NULL, NULL, NULL),
@@ -612,7 +602,6 @@ VALUES
   (@option_group_id_report , '{ts escape="sql"}Database Log Report{/ts}',                     'contact/log',                    'CRM_Report_Form_Contact_Log',                    NULL, 0, NULL, 27, '{ts escape="sql"}Log of contact and activity records created or updated in a given date range.{/ts}', 0, 0, 1, NULL, NULL, NULL),
   (@option_group_id_report , '{ts escape="sql"}Activity Summary Report{/ts}',                 'activitySummary',                'CRM_Report_Form_ActivitySummary',                NULL, 0, NULL, 28, '{ts escape="sql"}Shows activity statistics by type / date{/ts}', 0, 0, 1, NULL, NULL, NULL),
   (@option_group_id_report, '{ts escape="sql"}Bookkeeping Transactions Report{/ts}',          'contribute/bookkeeping',         'CRM_Report_Form_Contribute_Bookkeeping',         NULL, 0, 0, 29,    '{ts escape="sql"}Shows Bookkeeping Transactions Report{/ts}', 0, 0, 1, 2, NULL, NULL),
-  (@option_group_id_report , {localize}'{ts escape="sql"}Grant Report (Detail){/ts}'{/localize}, 'grant/detail', 'CRM_Report_Form_Grant_Detail', NULL, 0, 0, 30, {localize}'{ts escape="sql"}Grant Report Detail{/ts}'{/localize}, 0, 0, 1, @grantCompId, NULL, NULL),
   (@option_group_id_report, {localize}'{ts escape="sql"}Participant list Count Report{/ts}'{/localize}, 'event/participantlist', 'CRM_Report_Form_Event_ParticipantListCount', NULL, 0, 0, 31, {localize}'{ts escape="sql"}Shows the Participant list with Participant Count.{/ts}'{/localize}, 0, 0, 1, @eventCompId, NULL, NULL),
   (@option_group_id_report, {localize}'{ts escape="sql"}Income Count Summary Report{/ts}'{/localize}, 'event/incomesummary', 'CRM_Report_Form_Event_IncomeCountSummary', NULL, 0, 0, 32, {localize}'{ts escape="sql"}Shows the Income Summary of events with Count.{/ts}'{/localize}, 0, 0, 1, @eventCompId, NULL, NULL),
   (@option_group_id_report, {localize}'{ts escape="sql"}Case Detail Report{/ts}'{/localize}, 'case/detail', 'CRM_Report_Form_Case_Detail', NULL, 0, 0, 33, {localize}'{ts escape="sql"}Case Details{/ts}'{/localize}, 0, 0, 1, @caseCompId, NULL, NULL),
@@ -622,7 +611,6 @@ VALUES
   (@option_group_id_report, {localize}'{ts escape="sql"}Mail Click-Through Report{/ts}'{/localize}, 'Mailing/clicks', 'CRM_Report_Form_Mailing_Clicks', NULL, 0, NULL, 37, {localize}'{ts escape="sql"}Display clicks from each mailing{/ts}'{/localize}, 0, 0, 1, @mailCompId, NULL, NULL),
   (@option_group_id_report, {localize}'{ts escape="sql"}Contact Logging Report (Summary){/ts}'{/localize}, 'logging/contact/summary', 'CRM_Report_Form_Contact_LoggingSummary', NULL, 0, NULL, 38, {localize}'{ts escape="sql"}Contact modification report for the logging infrastructure (summary).{/ts}'{/localize}, 0, 0, 0, NULL, NULL, NULL),
   (@option_group_id_report, {localize}'{ts escape="sql"}Contact Logging Report (Detail){/ts}'{/localize}, 'logging/contact/detail', 'CRM_Report_Form_Contact_LoggingDetail', NULL, 0, NULL, 39, {localize}'{ts escape="sql"}Contact modification report for the logging infrastructure (detail).{/ts}'{/localize}, 0, 0, 0, NULL, NULL, NULL),
-  (@option_group_id_report, {localize}'{ts escape="sql"}Grant Report (Statistics){/ts}'{/localize}, 'grant/statistics', 'CRM_Report_Form_Grant_Statistics', NULL, 0, NULL, 42, {localize}'{ts escape="sql"}Shows statistics for Grants.{/ts}'{/localize}, 0, 0, 1, @grantCompId, NULL, NULL),
   (@option_group_id_report, {localize}'{ts escape="sql"}Survey Report (Detail){/ts}'{/localize},    'survey/detail', 'CRM_Report_Form_Campaign_SurveyDetails',  NULL, 0, NULL, 43, {localize}'{ts escape="sql"}Detailed report for canvassing, phone-banking, walk lists or other surveys.{/ts}'{/localize}, 0, 0, 1, @campaignCompId, NULL, NULL),
   (@option_group_id_report, {localize}'{ts escape="sql"}Personal Campaign Page Report{/ts}'{/localize}, 'contribute/pcp', 'CRM_Report_Form_Contribute_PCP', NULL, 0, NULL, 44, {localize}'{ts escape="sql"}Summarizes amount raised and number of contributors for each Personal Campaign Page.{/ts}'{/localize}, 0, 0, 1, @contributeCompId, NULL, NULL),
   (@option_group_id_report , {localize}'{ts escape="sql"}Pledge Summary Report{/ts}'{/localize}, 'pledge/summary', 'CRM_Report_Form_Pledge_Summary', NULL, 0, NULL, 45, {localize}'{ts escape="sql"}Groups and totals pledges by criteria including contact, time period, pledge status, location, etc.{/ts}'{/localize}, 0, 0, 1, @pledgeCompId, NULL, NULL),
@@ -682,7 +670,6 @@ VALUES
   (@option_group_id_mt, '{ts escape="sql"}Export Participant{/ts}', 10, 'Export Participant',  NULL, 0, 0,   10, NULL, 0, 1, 1, NULL, NULL, NULL),
   (@option_group_id_mt, '{ts escape="sql"}Export Pledge{/ts}',      11, 'Export Pledge',       NULL, 0, 0,   11, NULL, 0, 1, 1, NULL, NULL, NULL),
   (@option_group_id_mt, '{ts escape="sql"}Export Case{/ts}',        12, 'Export Case',         NULL, 0, 0,   12, NULL, 0, 1, 1, NULL, NULL, NULL),
-  (@option_group_id_mt, '{ts escape="sql"}Export Grant{/ts}',       13, 'Export Grant',        NULL, 0, 0,   13, NULL, 0, 1, 1, NULL, NULL, NULL),
   (@option_group_id_mt, '{ts escape="sql"}Export Activity{/ts}',    14, 'Export Activity',     NULL, 0, 0,   14, NULL, 0, 1, 1, NULL, NULL, NULL),
 
   (@option_group_id_fu, '{ts escape="sql"}day{/ts}'    , 'day'  ,    'day',  NULL, 0, NULL, 1, NULL, 0, 1, 1, NULL, NULL, NULL),
@@ -1103,12 +1090,6 @@ VALUES
 -- from email address.
   (@option_group_id_fma, '"FIXME" <info@EXAMPLE.ORG>', '1', '"FIXME" <info@EXAMPLE.ORG>', NULL, 0, 1, 1, '{ts escape="sql"}Default domain email address and from name.{/ts}', 0, 0, 1, NULL, @domainID, NULL ),
 
--- grant types
-  (@option_group_id_grantTyp, '{ts escape="sql"}Emergency{/ts}'          , 1, 'Emergency'         , NULL, 0, 1,    1, NULL, 0, 0, 1, NULL, @domainID, NULL),
-  (@option_group_id_grantTyp, '{ts escape="sql"}Family Support{/ts}'     , 2, 'Family Support'    , NULL, 0, NULL, 2, NULL, 0, 0, 1, NULL, @domainID, NULL),
-  (@option_group_id_grantTyp, '{ts escape="sql"}General Protection{/ts}' , 3, 'General Protection', NULL, 0, NULL, 3, NULL, 0, 0, 1, NULL, @domainID, NULL),
-  (@option_group_id_grantTyp, '{ts escape="sql"}Impunity{/ts}'           , 4, 'Impunity'          , NULL, 0, NULL, 4, NULL, 0, 0, 1, NULL, @domainID, NULL),
-
 -- Mail Approval Status Preferences
   (@option_group_id_mail_approval_status, '{ts escape="sql"}Approved{/ts}' , 1, 'Approved', NULL, 0, 1, 1, NULL, 0, 1, 1, @mailCompId, @domainID, NULL),
   (@option_group_id_mail_approval_status, '{ts escape="sql"}Rejected{/ts}' , 2, 'Rejected', NULL, 0, 0, 2, NULL, 0, 1, 1, @mailCompId, @domainID, NULL),
diff --git a/civicrm/xml/templates/civicrm_navigation.tpl b/civicrm/xml/templates/civicrm_navigation.tpl
index b6098f865c..4a72cc125f 100644
--- a/civicrm/xml/templates/civicrm_navigation.tpl
+++ b/civicrm/xml/templates/civicrm_navigation.tpl
@@ -249,20 +249,6 @@ VALUES
     ( @domainID, 'civicrm/case/search?reset=1', '{ts escape="sql" skip="true"}Find Cases{/ts}', 'Find Cases', 'access my cases and activities,access all cases and activities', 'OR',     @caselastID, '1', 1, 3 ),
     ( @domainID, 'civicrm/report/list?compid=7&reset=1', '{ts escape="sql" skip="true"}Case Reports{/ts}', 'Case Reports', 'access my cases and activities,access all cases and activities,administer CiviCase', 'OR', @caselastID, '1', 0,    4 );
 
-INSERT INTO civicrm_navigation
-    ( domain_id, url, label, name, permission, permission_operator, parent_id, is_active, has_separator, weight, icon )
-VALUES
-    ( @domainID, NULL, '{ts escape="sql" skip="true"}Grants{/ts}', 'Grants', 'access CiviGrant', '', NULL, '1', NULL, 90, 'crm-i fa-money' );
-
-SET @grantlastID:=LAST_INSERT_ID();
-INSERT INTO civicrm_navigation
-    ( domain_id, url, label, name, permission, permission_operator, parent_id, is_active, has_separator, weight )
-VALUES
-    ( @domainID, 'civicrm/grant?reset=1',           '{ts escape="sql" skip="true"}Dashboard{/ts}', 'Dashboard', 'access CiviGrant', '',       @grantlastID, '1', NULL, 1 ),
-    ( @domainID, 'civicrm/grant/add?reset=1&action=add&context=standalone', '{ts escape="sql" skip="true"}New Grant{/ts}', 'New Grant', 'access CiviGrant,edit grants', 'AND', @grantlastID, '1', NULL, 2 ),
-    ( @domainID, 'civicrm/grant/search?reset=1',    '{ts escape="sql" skip="true"}Find Grants{/ts}', 'Find Grants', 'access CiviGrant', '',   @grantlastID, '1', 1, 3 ),
-    ( @domainID, 'civicrm/report/list?compid=5&reset=1', '{ts escape="sql" skip="true"}Grant Reports{/ts}', 'Grant Reports', 'access CiviGrant', '', @grantlastID, '1', 0,    4 );
-
 INSERT INTO civicrm_navigation
     ( domain_id, url, label, name, permission, permission_operator, parent_id, is_active, has_separator, weight, icon )
 VALUES
@@ -475,18 +461,6 @@ VALUES
     ( @domainID, 'civicrm/admin/paymentProcessor?reset=1',                  '{ts escape="sql" skip="true"}Payment Processors{/ts}', 'Payment Processors',              'administer CiviCRM', '',                     @adminEventlastID, '1', NULL, 12),
     ( @domainID, 'civicrm/admin/setting/preferences/event?reset=1',         '{ts escape="sql" skip="true"}CiviEvent Component Settings{/ts}', 'CiviEvent Component Settings','access CiviEvent,administer CiviCRM', 'AND', @adminEventlastID, '1', NULL, 13 );
 
-INSERT INTO civicrm_navigation
-    ( domain_id, url, label, name, permission, permission_operator, parent_id, is_active, has_separator, weight )
-VALUES
-    ( @domainID, NULL, '{ts escape="sql" skip="true"}CiviGrant{/ts}', 'CiviGrant', 'access CiviGrant,administer CiviCRM', 'AND', @adminlastID, '1', NULL, 13 );
-
-SET @adminGrantlastID:=LAST_INSERT_ID();
-INSERT INTO civicrm_navigation
-    ( domain_id, url, label, name, permission, permission_operator, parent_id, is_active, has_separator, weight )
-VALUES
-    ( @domainID, 'civicrm/admin/options/grant_type?reset=1', '{ts escape="sql" skip="true"}Grant Types{/ts}', 'Grant Types', 'access CiviGrant,administer CiviCRM', 'AND', @adminGrantlastID, '1', NULL, 1 ),
-    ( @domainID, 'civicrm/admin/options/grant_status?reset=1', '{ts escape="sql" skip="true"}Grant Status{/ts}', 'Grant Status', 'access CiviGrant,administer CiviCRM', 'AND', @adminGrantlastID, '1', NULL, 2 );
-
 INSERT INTO civicrm_navigation
     ( domain_id, url, label, name, permission, permission_operator, parent_id, is_active, has_separator, weight )
 VALUES
diff --git a/civicrm/xml/templates/dao.tpl b/civicrm/xml/templates/dao.tpl
index 06c0164e89..7234a22dd6 100644
--- a/civicrm/xml/templates/dao.tpl
+++ b/civicrm/xml/templates/dao.tpl
@@ -72,7 +72,11 @@ class {$table.className} extends CRM_Core_DAO {ldelim}
      * {$field.comment|regex_replace:"/\n[ ]*/":"\n* "}
      *
 {/if}
-     * @var {$field.phpType}
+     * @var {$field.phpType}{if $field.phpNullable}|null
+{/if}
+
+     *   (SQL type: {$field.sqlType})
+     *   Note that values will be retrieved from the database as a string.
      */
     public ${$field.name};
 
diff --git a/civicrm/xml/templates/listAll.tpl b/civicrm/xml/templates/listAll.tpl
index 33fa586a0e..182f53f121 100644
--- a/civicrm/xml/templates/listAll.tpl
+++ b/civicrm/xml/templates/listAll.tpl
@@ -4,7 +4,7 @@
 return [
 {foreach from=$tables key=tableName item=table}
   '{$table.className}' => [
-    'name' => '{$table.objectName}',
+    'name' => '{$table.entity}',
     'class' => '{$table.className}',
     'table' => '{$tableName}',
   ],
diff --git a/civicrm/xml/templates/message_templates/case_activity_html.tpl b/civicrm/xml/templates/message_templates/case_activity_html.tpl
index 00c667f7b7..6c4e30ee98 100644
--- a/civicrm/xml/templates/message_templates/case_activity_html.tpl
+++ b/civicrm/xml/templates/message_templates/case_activity_html.tpl
@@ -60,7 +60,7 @@
             {foreach from=$activity.fields item=field}
               <tr>
                 <td {$labelStyle}>
-                  {$field.label}{if !empty($field.category)}({$field.category}){/if}
+                  {$field.label}
                 </td>
                 <td {$valueStyle}>
                   {if $field.type eq 'Date'}
diff --git a/civicrm/xml/templates/message_templates/case_activity_text.tpl b/civicrm/xml/templates/message_templates/case_activity_text.tpl
index 430d061f36..685848c830 100644
--- a/civicrm/xml/templates/message_templates/case_activity_text.tpl
+++ b/civicrm/xml/templates/message_templates/case_activity_text.tpl
@@ -17,9 +17,9 @@
 
 {foreach from=$activity.fields item=field}
 {if $field.type eq 'Date'}
-{$field.label}{if !empty($field.category)}({$field.category}){/if} : {$field.value|crmDate:$config->dateformatDatetime}
+{$field.label} : {$field.value|crmDate:$config->dateformatDatetime}
 {else}
-{$field.label}{if !empty($field.category)}({$field.category}){/if} : {$field.value}
+{$field.label} : {$field.value}
 {/if}
 {/foreach}
 
diff --git a/civicrm/xml/templates/message_templates/contribution_invoice_receipt_html.tpl b/civicrm/xml/templates/message_templates/contribution_invoice_receipt_html.tpl
index 712a447a03..d0a6d7f03d 100644
--- a/civicrm/xml/templates/message_templates/contribution_invoice_receipt_html.tpl
+++ b/civicrm/xml/templates/message_templates/contribution_invoice_receipt_html.tpl
@@ -97,7 +97,7 @@
                   <td style="text-align:right;"><font size="1">{$value.qty}</font></td>
                   <td style="text-align:right;"><font size="1">{$value.unit_price|crmMoney:$currency}</font></td>
                   {if $value.tax_amount != ''}
-                    <td style="text-align:right;"><font size="1">{if isset($value.tax_rate)}{$value.tax_rate}%{/if}</font></td>
+                    <td style="text-align:right;"><font size="1">{if $value.tax_rate}{$value.tax_rate}%{/if}</font></td>
                   {else}
                     <td style="text-align:right;"><font size="1">{if $taxTerm}{ts 1=$taxTerm}-{/ts}{/if}</font></td>
                   {/if}
@@ -327,7 +327,7 @@
                   <td style="padding-left:28px;text-align:right;"><font size="1">{$value.qty}</font></td>
                   <td style="padding-left:28px;text-align:right;"><font size="1">{$value.unit_price|crmMoney:$currency}</font></td>
                   {if $value.tax_amount != ''}
-                    <td style="padding-left:28px;text-align:right;"><font size="1">{if isset($value.tax_rate)}{$value.tax_rate}%{/if}</font></td>
+                    <td style="padding-left:28px;text-align:right;"><font size="1">{if $value.tax_rate}{$value.tax_rate}%{/if}</font></td>
                   {else}
                     <td style="padding-left:28px;text-align:right"><font size="1">{if $taxTerm}{ts 1=$taxTerm}No %1{/ts}{/if}</font></td>
                   {/if}
diff --git a/civicrm/xml/templates/message_templates/contribution_offline_receipt_html.tpl b/civicrm/xml/templates/message_templates/contribution_offline_receipt_html.tpl
index 331e115591..c95b996aca 100644
--- a/civicrm/xml/templates/message_templates/contribution_offline_receipt_html.tpl
+++ b/civicrm/xml/templates/message_templates/contribution_offline_receipt_html.tpl
@@ -45,12 +45,12 @@
       </td>
      </tr>
      <tr>
-      {if !empty($formValues.contributionType_name)}
+      {if '{contribution.financial_type_id}'}
         <td {$labelStyle}>
          {ts}Financial Type{/ts}
         </td>
         <td {$valueStyle}>
-         {$formValues.contributionType_name}
+         {contribution.financial_type_id:label}
         </td>
       {/if}
      </tr>
@@ -86,7 +86,7 @@
               <td>
                 {$line.unit_price*$line.qty|crmMoney:$currency}
               </td>
-              {if isset($line.tax_rate) and ($line.tax_rate != "" || $line.tax_amount != "")}
+              {if $line.tax_rate || $line.tax_amount != ""}
                 <td>
                   {$line.tax_rate|string_format:"%.2f"}%
                 </td>
@@ -131,13 +131,13 @@
       {/foreach}
      {/if}
 
-     {if isset($totalTaxAmount) && $totalTaxAmount !== 'null'}
+     {if $isShowTax}
       <tr>
         <td {$labelStyle}>
           {ts}Total Tax Amount{/ts}
         </td>
         <td {$valueStyle}>
-          {$totalTaxAmount|crmMoney:$currency}
+          {contribution.tax_amount}
         </td>
       </tr>
      {/if}
@@ -147,60 +147,60 @@
        {ts}Total Amount{/ts}
       </td>
       <td {$valueStyle}>
-       {$formValues.total_amount|crmMoney:$currency}
+        {contribution.total_amount}
       </td>
      </tr>
 
-     {if !empty($receive_date)}
-      <tr>
+     {if '{contribution.receive_date}'}
+       <tr>
        <td {$labelStyle}>
         {ts}Date Received{/ts}
        </td>
        <td {$valueStyle}>
-        {$receive_date|truncate:10:''|crmDate}
+         {contribution.receive_date}
        </td>
       </tr>
      {/if}
 
-      {if !empty($receipt_date)}
+      {if '{contribution.receipt_date}'}
       <tr>
        <td {$labelStyle}>
         {ts}Receipt Date{/ts}
        </td>
        <td {$valueStyle}>
-        {$receipt_date|truncate:10:''|crmDate}
+         {contribution.receipt_date}
        </td>
       </tr>
      {/if}
 
-     {if !empty($formValues.paidBy) and empty($formValues.hidden_CreditCard)}
+     {if '{contribution.payment_instrument_id}' and empty($formValues.hidden_CreditCard)}
       <tr>
        <td {$labelStyle}>
         {ts}Paid By{/ts}
        </td>
        <td {$valueStyle}>
-        {$formValues.paidBy}
+         {contribution.payment_instrument_id:label}
        </td>
       </tr>
-      {if !empty($formValues.check_number)}
+      {if '{contribution.check_number}'}
        <tr>
         <td {$labelStyle}>
          {ts}Check Number{/ts}
         </td>
         <td {$valueStyle}>
-         {$formValues.check_number}
+          {contribution.check_number}
         </td>
        </tr>
       {/if}
      {/if}
 
-     {if !empty($formValues.trxn_id)}
+     {if '{contribution.trxn_id}'}
       <tr>
        <td {$labelStyle}>
         {ts}Transaction ID{/ts}
        </td>
        <td {$valueStyle}>
-        {$formValues.trxn_id}
+         {contribution.trxn_id}
        </td>
       </tr>
      {/if}
diff --git a/civicrm/xml/templates/message_templates/contribution_offline_receipt_text.tpl b/civicrm/xml/templates/message_templates/contribution_offline_receipt_text.tpl
index 75091e234d..f895c06ccb 100644
--- a/civicrm/xml/templates/message_templates/contribution_offline_receipt_text.tpl
+++ b/civicrm/xml/templates/message_templates/contribution_offline_receipt_text.tpl
@@ -9,8 +9,8 @@
 
 ===========================================================
 {ts}Contributor{/ts}: {contact.display_name}
-{if !empty($formValues.contributionType_name)}
-{ts}Financial Type{/ts}: {$formValues.contributionType_name}
+{if '{contribution.financial_type_id}'}
+{ts}Financial Type{/ts}: {contribution.financial_type_id:label}
 {/if}
 {if $lineItem}
 {foreach from=$lineItem item=value key=priceset}
@@ -27,7 +27,7 @@
 {$ts_item|string_format:"%-30s"} {$ts_qty|string_format:"%5s"} {$ts_each|string_format:"%10s"} {if !empty($getTaxDetails)} {$ts_subtotal|string_format:"%10s"} {$ts_taxRate} {$ts_taxAmount|string_format:"%10s"} {/if} {$ts_total|string_format:"%10s"}
 ----------------------------------------------------------
 {foreach from=$value item=line}
-{capture assign=ts_item}{if $line.html_type eq 'Text'}{$line.label}{else}{$line.field_title} - {$line.label}{/if} {if $line.description} {$line.description}{/if}{/capture}{$ts_item|truncate:30:"..."|string_format:"%-30s"} {$line.qty|string_format:"%5s"} {$line.unit_price|crmMoney:$currency|string_format:"%10s"} {if !empty($getTaxDetails)}{$line.unit_price*$line.qty|crmMoney:$currency|string_format:"%10s"} {if isset($line.tax_rate) and ($line.tax_rate != "" || $line.tax_amount != "")} {$line.tax_rate|string_format:"%.2f"} %   {$line.tax_amount|crmMoney:$currency|string_format:"%10s"} {else}                  {/if} {/if}   {$line.line_total+$line.tax_amount|crmMoney:$currency|string_format:"%10s"}
+{capture assign=ts_item}{if $line.html_type eq 'Text'}{$line.label}{else}{$line.field_title} - {$line.label}{/if} {if $line.description} {$line.description}{/if}{/capture}{$ts_item|truncate:30:"..."|string_format:"%-30s"} {$line.qty|string_format:"%5s"} {$line.unit_price|crmMoney:$currency|string_format:"%10s"} {if !empty($getTaxDetails)}{$line.unit_price*$line.qty|crmMoney:$currency|string_format:"%10s"} {if $line.tax_rate || $line.tax_amount != ""} {$line.tax_rate|string_format:"%.2f"} %   {$line.tax_amount|crmMoney:$currency|string_format:"%10s"} {else}                  {/if} {/if}   {$line.line_total+$line.tax_amount|crmMoney:$currency|string_format:"%10s"}
 {/foreach}
 {/foreach}
 {/if}
@@ -44,24 +44,24 @@
 {/foreach}
 {/if}
 
-{if isset($totalTaxAmount) && $totalTaxAmount !== 'null'}
-{ts}Total Tax Amount{/ts} : {$totalTaxAmount|crmMoney:$currency}
+{if $isShowTax}
+{ts}Total Tax Amount{/ts} : {contribution.tax_amount}
 {/if}
-{ts}Total Amount{/ts} : {$formValues.total_amount|crmMoney:$currency}
-{if !empty($receive_date)}
-{ts}Date Received{/ts}: {$receive_date|truncate:10:''|crmDate}
+{ts}Total Amount{/ts} : {contribution.total_amount}
+{if '{contribution.receive_date}'}
+{ts}Date Received{/ts}: {contribution.receive_date}
 {/if}
-{if !empty($receipt_date)}
-{ts}Receipt Date{/ts}: {$receipt_date|truncate:10:''|crmDate}
+{if '{contribution.receipt_date}'}
+{ts}Receipt Date{/ts}: {contribution.receipt_date}
 {/if}
-{if !empty($formValues.paidBy) and empty($formValues.hidden_CreditCard)}
-{ts}Paid By{/ts}: {$formValues.paidBy}
-{if !empty($formValues.check_number)}
-{ts}Check Number{/ts}: {$formValues.check_number}
+{if '{contribution.payment_instrument_id}' and empty($formValues.hidden_CreditCard)}
+{ts}Paid By{/ts}: {contribution.payment_instrument_id:label}
+{if '{contribution.check_number}'}
+{ts}Check Number{/ts}: {contribution.check_number}
 {/if}
 {/if}
-{if !empty($formValues.trxn_id)}
-{ts}Transaction ID{/ts}: {$formValues.trxn_id}
+{if '{contribution.trxn_id}'}
+{ts}Transaction ID{/ts}: {contribution.trxn_id}
 {/if}
 
 {if !empty($ccContribution)}
diff --git a/civicrm/xml/templates/message_templates/contribution_online_receipt_html.tpl b/civicrm/xml/templates/message_templates/contribution_online_receipt_html.tpl
index a05185bd7c..8d0a16a39e 100644
--- a/civicrm/xml/templates/message_templates/contribution_online_receipt_html.tpl
+++ b/civicrm/xml/templates/message_templates/contribution_online_receipt_html.tpl
@@ -43,7 +43,7 @@
        </th>
       </tr>
 
-      {if !empty($lineItem) and !empty($priceSetID) and empty($is_quick_config)}
+      {if $isShowLineItems}
 
        {foreach from=$lineItem item=value key=priceset}
         <tr>
@@ -75,7 +75,7 @@
               <td>
                {$line.unit_price*$line.qty|crmMoney:$currency}
               </td>
-              {if isset($line.tax_rate) and ($line.tax_rate != "" || $line.tax_amount != "")}
+              {if $line.tax_rate || $line.tax_amount != ""}
                <td>
                 {$line.tax_rate|string_format:"%.2f"}%
                </td>
@@ -119,7 +119,7 @@
         {/foreach}
 
        {/if}
-       {if isset($totalTaxAmount)}
+       {if $isShowTax}
         <tr>
          <td {$labelStyle}>
           {ts}Total Tax{/ts}
@@ -146,7 +146,7 @@
              {ts}Total Tax Amount{/ts}
            </td>
            <td {$valueStyle}>
-             {$totalTaxAmount|crmMoney:$currency}
+             {contribution.tax_amount|crmMoney}
            </td>
          </tr>
        {/if}
@@ -155,7 +155,7 @@
          {ts}Amount{/ts}
         </td>
         <td {$valueStyle}>
-         {$amount|crmMoney:$currency} {if isset($amount_level)} - {$amount_level}{/if}
+         {$amount|crmMoney:$currency} {if '{contribution.amount_level}'} - {contribution.amount_level}{/if}
         </td>
        </tr>
 
diff --git a/civicrm/xml/templates/message_templates/contribution_online_receipt_text.tpl b/civicrm/xml/templates/message_templates/contribution_online_receipt_text.tpl
index 5782ea423e..c2122c045f 100644
--- a/civicrm/xml/templates/message_templates/contribution_online_receipt_text.tpl
+++ b/civicrm/xml/templates/message_templates/contribution_online_receipt_text.tpl
@@ -14,7 +14,7 @@
 {ts}Contribution Information{/ts}
 
 ===========================================================
-{if $lineItem and $priceSetID and empty($is_quick_config)}
+{if $isShowLineItems}
 {foreach from=$lineItem item=value key=priceset}
 ---------------------------------------------------------
 {capture assign=ts_item}{ts}Item{/ts}{/capture}
@@ -29,7 +29,7 @@
 {$ts_item|string_format:"%-30s"} {$ts_qty|string_format:"%5s"} {$ts_each|string_format:"%10s"} {if !empty($dataArray)} {$ts_subtotal|string_format:"%10s"} {$ts_taxRate} {$ts_taxAmount|string_format:"%10s"} {/if} {$ts_total|string_format:"%10s"}
 ----------------------------------------------------------
 {foreach from=$value item=line}
-{capture assign=ts_item}{if $line.html_type eq 'Text'}{$line.label}{else}{$line.field_title} - {$line.label}{/if} {if $line.description} {$line.description}{/if}{/capture}{$ts_item|truncate:30:"..."|string_format:"%-30s"} {$line.qty|string_format:"%5s"} {$line.unit_price|crmMoney:$currency|string_format:"%10s"} {if !empty($dataArray)}{$line.unit_price*$line.qty|crmMoney:$currency|string_format:"%10s"} {if isset($line.tax_rate) and ($line.tax_rate != "" || $line.tax_amount != "")}  {$line.tax_rate|string_format:"%.2f"} %  {$line.tax_amount|crmMoney:$currency|string_format:"%10s"} {else}                  {/if}  {/if} {$line.line_total+$line.tax_amount|crmMoney:$currency|string_format:"%10s"}
+{capture assign=ts_item}{if $line.html_type eq 'Text'}{$line.label}{else}{$line.field_title} - {$line.label}{/if} {if $line.description} {$line.description}{/if}{/capture}{$ts_item|truncate:30:"..."|string_format:"%-30s"} {$line.qty|string_format:"%5s"} {$line.unit_price|crmMoney:$currency|string_format:"%10s"} {if !empty($dataArray)}{$line.unit_price*$line.qty|crmMoney:$currency|string_format:"%10s"} {if $line.tax_rate || $line.tax_amount != ""}  {$line.tax_rate|string_format:"%.2f"} %  {$line.tax_amount|crmMoney:$currency|string_format:"%10s"} {else}                  {/if}  {/if} {$line.line_total+$line.tax_amount|crmMoney:$currency|string_format:"%10s"}
 {/foreach}
 {/foreach}
 
@@ -45,13 +45,13 @@
 {/foreach}
 {/if}
 
-{if isset($totalTaxAmount)}
-{ts}Total Tax Amount{/ts}: {$totalTaxAmount|crmMoney:$currency}
+{if $isShowTax}
+{ts}Total Tax Amount{/ts}: {contribution.tax_amount|crmMoney}
 {/if}
 
 {ts}Total Amount{/ts}: {$amount|crmMoney:$currency}
 {else}
-{ts}Amount{/ts}: {$amount|crmMoney:$currency} {if isset($amount_level) } - {$amount_level} {/if}
+{ts}Amount{/ts}: {$amount|crmMoney:$currency} {if '{contribution.amount_level}'} - {contribution.amount_level}{/if}
 {/if}
 {/if}
 {if !empty($receive_date)}
diff --git a/civicrm/xml/templates/message_templates/event_offline_receipt_html.tpl b/civicrm/xml/templates/message_templates/event_offline_receipt_html.tpl
index 5068249e80..2554ff6798 100644
--- a/civicrm/xml/templates/message_templates/event_offline_receipt_html.tpl
+++ b/civicrm/xml/templates/message_templates/event_offline_receipt_html.tpl
@@ -53,7 +53,7 @@
      <tr>
       <td colspan="2" {$valueStyle}>
        {$event.event_title}<br />
-       {$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:"%Y%m%d" == $event.event_start_date|date_format:"%Y%m%d"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if}
+       {$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:"%Y%m%d" == $event.event_start_date|date_format:"%Y%m%d"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if} {$event.event_tz}
       </td>
      </tr>
 
@@ -185,7 +185,7 @@
                <td>
                 {$line.unit_price*$line.qty|crmMoney}
                </td>
-               {if isset($line.tax_rate) and ($line.tax_rate != "" || $line.tax_amount != "")}
+               {if $line.tax_rate || $line.tax_amount != ""}
                 <td>
                  {$line.tax_rate|string_format:"%.2f"}%
                 </td>
diff --git a/civicrm/xml/templates/message_templates/event_offline_receipt_text.tpl b/civicrm/xml/templates/message_templates/event_offline_receipt_text.tpl
index 4b7e95e9f8..81ce8dca5a 100644
--- a/civicrm/xml/templates/message_templates/event_offline_receipt_text.tpl
+++ b/civicrm/xml/templates/message_templates/event_offline_receipt_text.tpl
@@ -42,7 +42,7 @@
 ==========================================================={if !empty($pricesetFieldsCount) }===================={/if}
 
 {$event.event_title}
-{$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:"%Y%m%d" == $event.event_start_date|date_format:"%Y%m%d"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if}
+{$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:"%Y%m%d" == $event.event_start_date|date_format:"%Y%m%d"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if} {$event.event_tz}
 
 {if !empty($event.participant_role) and $event.participant_role neq 'Attendee' and empty($defaultRole)}
 {ts}Participant Role{/ts}: {$event.participant_role}
@@ -113,7 +113,7 @@
 
 {foreach from=$value item=line}
 {if !empty($pricesetFieldsCount) }{capture assign=ts_participant_count}{$line.participant_count}{/capture}{/if}
-{capture assign=ts_item}{if $line.html_type eq 'Text'}{$line.label}{else}{$line.field_title} - {$line.label}{/if} {if $line.description} {$line.description}{/if}{/capture}{$ts_item|truncate:30:"..."|string_format:"%-30s"} {$line.qty|string_format:"%5s"} {$line.unit_price|crmMoney|string_format:"%10s"} {if !empty($dataArray)} {$line.unit_price*$line.qty|crmMoney:$currency|string_format:"%10s"} {if isset($line.tax_rate) and ($line.tax_rate != "" || $line.tax_amount != "")}  {$line.tax_rate|string_format:"%.2f"} %  {$line.tax_amount|crmMoney:$currency|string_format:"%10s"} {else}                  {/if}  {/if}  {$line.line_total+$line.tax_amount|crmMoney|string_format:"%10s"} {if !empty($ts_participant_count)}{$ts_participant_count|string_format:"%10s"}{/if}
+{capture assign=ts_item}{if $line.html_type eq 'Text'}{$line.label}{else}{$line.field_title} - {$line.label}{/if} {if $line.description} {$line.description}{/if}{/capture}{$ts_item|truncate:30:"..."|string_format:"%-30s"} {$line.qty|string_format:"%5s"} {$line.unit_price|crmMoney|string_format:"%10s"} {if !empty($dataArray)} {$line.unit_price*$line.qty|crmMoney:$currency|string_format:"%10s"} {if $line.tax_rate || $line.tax_amount != ""}  {$line.tax_rate|string_format:"%.2f"} %  {$line.tax_amount|crmMoney:$currency|string_format:"%10s"} {else}                  {/if}  {/if}  {$line.line_total+$line.tax_amount|crmMoney|string_format:"%10s"} {if !empty($ts_participant_count)}{$ts_participant_count|string_format:"%10s"}{/if}
 {/foreach}
 {/if}
 {/foreach}
diff --git a/civicrm/xml/templates/message_templates/event_online_receipt_html.tpl b/civicrm/xml/templates/message_templates/event_online_receipt_html.tpl
index 6787823789..1b416a8072 100644
--- a/civicrm/xml/templates/message_templates/event_online_receipt_html.tpl
+++ b/civicrm/xml/templates/message_templates/event_online_receipt_html.tpl
@@ -64,7 +64,7 @@
      <tr>
       <td colspan="2" {$valueStyle}>
        {$event.event_title}<br />
-       {$event.event_start_date|date_format:"%A"} {$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:"%Y%m%d" == $event.event_start_date|date_format:"%Y%m%d"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|date_format:"%A"} {$event.event_end_date|crmDate}{/if}{/if}
+       {$event.event_start_date|date_format:"%A"} {$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:"%Y%m%d" == $event.event_start_date|date_format:"%Y%m%d"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|date_format:"%A"} {$event.event_end_date|crmDate}{/if}{/if} {$event.event_tz}
       </td>
      </tr>
 
@@ -224,7 +224,7 @@
                <td {$tdStyle}>
                 {$line.unit_price*$line.qty|crmMoney}
                </td>
-               {if isset($line.tax_rate) and ($line.tax_rate != "" || $line.tax_amount != "")}
+               {if $line.tax_rate || $line.tax_amount != ""}
                 <td {$tdStyle}>
                  {$line.tax_rate|string_format:"%.2f"}%
                 </td>
diff --git a/civicrm/xml/templates/message_templates/event_online_receipt_text.tpl b/civicrm/xml/templates/message_templates/event_online_receipt_text.tpl
index 50512cdfa2..affb31472b 100644
--- a/civicrm/xml/templates/message_templates/event_online_receipt_text.tpl
+++ b/civicrm/xml/templates/message_templates/event_online_receipt_text.tpl
@@ -47,7 +47,7 @@
 ==========================================================={if !empty($pricesetFieldsCount)}===================={/if}
 
 {$event.event_title}
-{$event.event_start_date|date_format:"%A"} {$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:"%Y%m%d" == $event.event_start_date|date_format:"%Y%m%d"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|date_format:"%A"} {$event.event_end_date|crmDate}{/if}{/if}
+{$event.event_start_date|date_format:"%A"} {$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:"%Y%m%d" == $event.event_start_date|date_format:"%Y%m%d"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|date_format:"%A"} {$event.event_end_date|crmDate}{/if}{/if} {$event.event_tz}
 {if !empty($conference_sessions)}
 
 
@@ -129,7 +129,7 @@ You were registered by: {$payer.name}
 
 {foreach from=$value item=line}
 {if !empty($pricesetFieldsCount) }{capture assign=ts_participant_count}{$line.participant_count}{/capture}{/if}
-{capture assign=ts_item}{if $line.html_type eq 'Text'}{$line.label}{else}{$line.field_title} - {$line.label}{/if} {if $line.description} {$line.description}{/if}{/capture}{$ts_item|truncate:30:"..."|string_format:"%-30s"} {$line.qty|string_format:"%5s"} {$line.unit_price|crmMoney:$currency|string_format:"%10s"} {if !empty($dataArray)} {$line.unit_price*$line.qty|crmMoney:$currency|string_format:"%10s"} {if isset($line.tax_rate) and ($line.tax_rate != "" || $line.tax_amount != "")}  {$line.tax_rate|string_format:"%.2f"} %  {$line.tax_amount|crmMoney:$currency|string_format:"%10s"} {else}                  {/if}  {/if} {$line.line_total+$line.tax_amount|crmMoney:$currency|string_format:"%10s"}{if !empty($ts_participant_count)}{$ts_participant_count|string_format:"%10s"}{/if}
+{capture assign=ts_item}{if $line.html_type eq 'Text'}{$line.label}{else}{$line.field_title} - {$line.label}{/if} {if $line.description} {$line.description}{/if}{/capture}{$ts_item|truncate:30:"..."|string_format:"%-30s"} {$line.qty|string_format:"%5s"} {$line.unit_price|crmMoney:$currency|string_format:"%10s"} {if !empty($dataArray)} {$line.unit_price*$line.qty|crmMoney:$currency|string_format:"%10s"} {if $line.tax_rate || $line.tax_amount != ""}  {$line.tax_rate|string_format:"%.2f"} %  {$line.tax_amount|crmMoney:$currency|string_format:"%10s"} {else}                  {/if}  {/if} {$line.line_total+$line.tax_amount|crmMoney:$currency|string_format:"%10s"}{if !empty($ts_participant_count)}{$ts_participant_count|string_format:"%10s"}{/if}
 {/foreach}
 ----------------------------------------------------------------------------------------------------------------
 {if !empty($individual)}{ts}Participant Total{/ts} {$individual.$priceset.totalAmtWithTax-$individual.$priceset.totalTaxAmt|crmMoney:$currency|string_format:"%29s"} {$individual.$priceset.totalTaxAmt|crmMoney:$currency|string_format:"%33s"} {$individual.$priceset.totalAmtWithTax|crmMoney:$currency|string_format:"%12s"}{/if}
diff --git a/civicrm/xml/templates/message_templates/membership_offline_receipt_html.tpl b/civicrm/xml/templates/message_templates/membership_offline_receipt_html.tpl
index 034a49975d..bb23c959a1 100644
--- a/civicrm/xml/templates/message_templates/membership_offline_receipt_html.tpl
+++ b/civicrm/xml/templates/message_templates/membership_offline_receipt_html.tpl
@@ -116,7 +116,7 @@
                               <td>
                                 {$line.unit_price*$line.qty|crmMoney}
                               </td>
-                              {if isset($line.tax_rate) and ($line.tax_rate != "" || $line.tax_amount != "")}
+                              {if $line.tax_rate || $line.tax_amount != ""}
                                 <td>
                                   {$line.tax_rate|string_format:"%.2f"}%
                                 </td>
diff --git a/civicrm/xml/templates/message_templates/membership_offline_receipt_text.tpl b/civicrm/xml/templates/message_templates/membership_offline_receipt_text.tpl
index 715aff3654..3477e091c7 100644
--- a/civicrm/xml/templates/message_templates/membership_offline_receipt_text.tpl
+++ b/civicrm/xml/templates/message_templates/membership_offline_receipt_text.tpl
@@ -43,7 +43,7 @@
 --------------------------------------------------------------------------------------------------
 
 {foreach from=$value item=line}
-{capture assign=ts_item}{if $line.html_type eq 'Text'}{$line.label}{else}{$line.field_title} - {$line.label}{/if} {if $line.description} {$line.description}{/if}{/capture}{$ts_item|truncate:30:"..."|string_format:"%-30s"} {$line.line_total|crmMoney|string_format:"%10s"}  {if !empty($dataArray)} {$line.unit_price*$line.qty|crmMoney:$currency|string_format:"%10s"} {if isset($line.tax_rate) and ($line.tax_rate != "" || $line.tax_amount != "")}  {$line.tax_rate|string_format:"%.2f"} %  {$line.tax_amount|crmMoney:$currency|string_format:"%10s"}  {else}                  {/if}   {$line.line_total+$line.tax_amount|crmMoney|string_format:"%10s"} {/if} {$line.start_date|string_format:"%20s"} {$line.end_date|string_format:"%20s"}
+{capture assign=ts_item}{if $line.html_type eq 'Text'}{$line.label}{else}{$line.field_title} - {$line.label}{/if} {if $line.description} {$line.description}{/if}{/capture}{$ts_item|truncate:30:"..."|string_format:"%-30s"} {$line.line_total|crmMoney|string_format:"%10s"}  {if !empty($dataArray)} {$line.unit_price*$line.qty|crmMoney:$currency|string_format:"%10s"} {if $line.tax_rate || $line.tax_amount != ""}  {$line.tax_rate|string_format:"%.2f"} %  {$line.tax_amount|crmMoney:$currency|string_format:"%10s"}  {else}                  {/if}   {$line.line_total+$line.tax_amount|crmMoney|string_format:"%10s"} {/if} {$line.start_date|string_format:"%20s"} {$line.end_date|string_format:"%20s"}
 {/foreach}
 {/foreach}
 
diff --git a/civicrm/xml/templates/message_templates/membership_online_receipt_html.tpl b/civicrm/xml/templates/message_templates/membership_online_receipt_html.tpl
index 35f4fbbb11..7a948d4863 100644
--- a/civicrm/xml/templates/message_templates/membership_online_receipt_html.tpl
+++ b/civicrm/xml/templates/message_templates/membership_online_receipt_html.tpl
@@ -178,7 +178,7 @@
               <td>
                {$line.unit_price*$line.qty|crmMoney}
               </td>
-              {if isset($line.tax_rate) and ($line.tax_rate != "" || $line.tax_amount != "")}
+              {if ($line.tax_rate || $line.tax_amount != "")}
                <td>
                 {$line.tax_rate|string_format:"%.2f"}%
                </td>
diff --git a/civicrm/xml/templates/message_templates/membership_online_receipt_text.tpl b/civicrm/xml/templates/message_templates/membership_online_receipt_text.tpl
index d1647bdbe2..2871eabb8e 100644
--- a/civicrm/xml/templates/message_templates/membership_online_receipt_text.tpl
+++ b/civicrm/xml/templates/message_templates/membership_online_receipt_text.tpl
@@ -65,7 +65,7 @@
 --------------------------------------------------------------------------------------------------
 
 {foreach from=$value item=line}
-{capture assign=ts_item}{if $line.html_type eq 'Text'}{$line.label}{else}{$line.field_title} - {$line.label}{/if} {if $line.description} {$line.description}{/if}{/capture}{$ts_item|truncate:30:"..."|string_format:"%-30s"} {$line.line_total|crmMoney|string_format:"%10s"}  {if !empty($dataArray)} {$line.unit_price*$line.qty|crmMoney:$currency|string_format:"%10s"} {if isset($line.tax_rate) and ($line.tax_rate != "" || $line.tax_amount != "")}  {$line.tax_rate|string_format:"%.2f"} %  {$line.tax_amount|crmMoney:$currency|string_format:"%10s"} {else}                  {/if}   {$line.line_total+$line.tax_amount|crmMoney|string_format:"%10s"} {/if} {$line.start_date|string_format:"%20s"} {$line.end_date|string_format:"%20s"}
+{capture assign=ts_item}{if $line.html_type eq 'Text'}{$line.label}{else}{$line.field_title} - {$line.label}{/if} {if $line.description} {$line.description}{/if}{/capture}{$ts_item|truncate:30:"..."|string_format:"%-30s"} {$line.line_total|crmMoney|string_format:"%10s"}  {if !empty($dataArray)} {$line.unit_price*$line.qty|crmMoney:$currency|string_format:"%10s"} {if $line.tax_rate || $line.tax_amount != ""}  {$line.tax_rate|string_format:"%.2f"} %  {$line.tax_amount|crmMoney:$currency|string_format:"%10s"} {else}                  {/if}   {$line.line_total+$line.tax_amount|crmMoney|string_format:"%10s"} {/if} {$line.start_date|string_format:"%20s"} {$line.end_date|string_format:"%20s"}
 {/foreach}
 {/foreach}
 
diff --git a/civicrm/xml/templates/message_templates/participant_cancelled_html.tpl b/civicrm/xml/templates/message_templates/participant_cancelled_html.tpl
index c0da77d4d5..24637e0922 100644
--- a/civicrm/xml/templates/message_templates/participant_cancelled_html.tpl
+++ b/civicrm/xml/templates/message_templates/participant_cancelled_html.tpl
@@ -35,7 +35,7 @@
      <tr>
       <td colspan="2" {$valueStyle}>
        {$event.event_title}<br />
-       {$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|crmDate:"shortdate" == $event.event_start_date|crmDate:"shortdate"}{$event.event_end_date|crmDate:"Time"}{else}{$event.event_end_date|crmDate}{/if}{/if}
+       {$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|crmDate:"shortdate" == $event.event_start_date|crmDate:"shortdate"}{$event.event_end_date|crmDate:"Time"}{else}{$event.event_end_date|crmDate}{/if}{/if} {$event.event_tz}
       </td>
      </tr>
      <tr>
diff --git a/civicrm/xml/templates/message_templates/participant_cancelled_text.tpl b/civicrm/xml/templates/message_templates/participant_cancelled_text.tpl
index dedf895d88..b60ce46af6 100644
--- a/civicrm/xml/templates/message_templates/participant_cancelled_text.tpl
+++ b/civicrm/xml/templates/message_templates/participant_cancelled_text.tpl
@@ -8,7 +8,7 @@
 
 ===========================================================
 {$event.event_title}
-{$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|crmDate:"shortdate" == $event.event_start_date|crmDate:"shortdate"}{$event.event_end_date|crmDate:"Time"}{else}{$event.event_end_date|crmDate}{/if}{/if}
+{$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|crmDate:"shortdate" == $event.event_start_date|crmDate:"shortdate"}{$event.event_end_date|crmDate:"Time"}{else}{$event.event_end_date|crmDate}{/if}{/if} {$event.event_tz}
 
 {ts}Participant Role{/ts}: {participant.role_id:label}
 
diff --git a/civicrm/xml/templates/message_templates/participant_confirm_html.tpl b/civicrm/xml/templates/message_templates/participant_confirm_html.tpl
index bd8b599b16..7b7d04b175 100644
--- a/civicrm/xml/templates/message_templates/participant_confirm_html.tpl
+++ b/civicrm/xml/templates/message_templates/participant_confirm_html.tpl
@@ -53,7 +53,7 @@
      <tr>
       <td colspan="2" {$valueStyle}>
        {$event.event_title}<br />
-       {$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:"%Y%m%d" == $event.event_start_date|date_format:"%Y%m%d"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if}
+       {$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:"%Y%m%d" == $event.event_start_date|date_format:"%Y%m%d"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if} {$event.event_tz}
       </td>
      </tr>
      {if $conference_sessions}
diff --git a/civicrm/xml/templates/message_templates/participant_confirm_text.tpl b/civicrm/xml/templates/message_templates/participant_confirm_text.tpl
index 0ccf6ad260..3d685d4944 100644
--- a/civicrm/xml/templates/message_templates/participant_confirm_text.tpl
+++ b/civicrm/xml/templates/message_templates/participant_confirm_text.tpl
@@ -22,7 +22,7 @@ Click this link to go to a web page where you can confirm your registration onli
 
 ===========================================================
 {$event.event_title}
-{$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:"%Y%m%d" == $event.event_start_date|date_format:"%Y%m%d"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if}
+{$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:"%Y%m%d" == $event.event_start_date|date_format:"%Y%m%d"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if} {$event.event_tz}
 {if $conference_sessions}
 
 
diff --git a/civicrm/xml/templates/message_templates/participant_expired_html.tpl b/civicrm/xml/templates/message_templates/participant_expired_html.tpl
index 57804d1429..2a7edf991d 100644
--- a/civicrm/xml/templates/message_templates/participant_expired_html.tpl
+++ b/civicrm/xml/templates/message_templates/participant_expired_html.tpl
@@ -38,7 +38,7 @@ or want to inquire about reinstating your registration for this event.{/ts}</p>
      <tr>
       <td colspan="2" {$valueStyle}>
        {$event.event_title}<br />
-       {$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:"%Y%m%d" == $event.event_start_date|date_format:"%Y%m%d"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if}
+       {$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:"%Y%m%d" == $event.event_start_date|date_format:"%Y%m%d"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if} {$event.event_tz}
       </td>
      </tr>
      <tr>
diff --git a/civicrm/xml/templates/message_templates/participant_expired_text.tpl b/civicrm/xml/templates/message_templates/participant_expired_text.tpl
index e6ec27f026..b9fdd3f217 100644
--- a/civicrm/xml/templates/message_templates/participant_expired_text.tpl
+++ b/civicrm/xml/templates/message_templates/participant_expired_text.tpl
@@ -12,7 +12,7 @@ or want to inquire about reinstating your registration for this event.{/ts}
 
 ===========================================================
 {$event.event_title}
-{$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:"%Y%m%d" == $event.event_start_date|date_format:"%Y%m%d"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if}
+{$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:"%Y%m%d" == $event.event_start_date|date_format:"%Y%m%d"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if} {$event.event_tz}
 
 {ts}Participant Role{/ts}: {$participant.role}
 
diff --git a/civicrm/xml/templates/message_templates/participant_transferred_html.tpl b/civicrm/xml/templates/message_templates/participant_transferred_html.tpl
index a5e2b927a7..22520519f7 100644
--- a/civicrm/xml/templates/message_templates/participant_transferred_html.tpl
+++ b/civicrm/xml/templates/message_templates/participant_transferred_html.tpl
@@ -35,7 +35,7 @@
      <tr>
       <td colspan="2" {$valueStyle}>
        {$event.event_title}<br />
-       {$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:"%Y%m%d" == $event.event_start_date|date_format:"%Y%m%d"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if}
+       {$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:"%Y%m%d" == $event.event_start_date|date_format:"%Y%m%d"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if} {$event.event_tz}
       </td>
      </tr>
      <tr>
diff --git a/civicrm/xml/templates/message_templates/participant_transferred_text.tpl b/civicrm/xml/templates/message_templates/participant_transferred_text.tpl
index 5c62b00570..87c9bb3225 100644
--- a/civicrm/xml/templates/message_templates/participant_transferred_text.tpl
+++ b/civicrm/xml/templates/message_templates/participant_transferred_text.tpl
@@ -7,7 +7,7 @@
 
 ===========================================================
 {$event.event_title}
-{$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:"%Y%m%d" == $event.event_start_date|date_format:"%Y%m%d"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if}
+{$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:"%Y%m%d" == $event.event_start_date|date_format:"%Y%m%d"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if} {$event.event_tz}
 
 {ts}Participant Role{/ts}: {$participant.role}
 
diff --git a/civicrm/xml/templates/message_templates/payment_or_refund_notification_html.tpl b/civicrm/xml/templates/message_templates/payment_or_refund_notification_html.tpl
index d1d5983faa..8690a759b8 100644
--- a/civicrm/xml/templates/message_templates/payment_or_refund_notification_html.tpl
+++ b/civicrm/xml/templates/message_templates/payment_or_refund_notification_html.tpl
@@ -177,7 +177,7 @@
     <tr>
       <td colspan="2" {$valueStyle}>
          {$event.event_title}<br />
-        {$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:"%Y%m%d" == $event.event_start_date|date_format:"%Y%m%d"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if}
+        {$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:"%Y%m%d" == $event.event_start_date|date_format:"%Y%m%d"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if} {$event.event_tz}
       </td>
     </tr>
 
diff --git a/civicrm/xml/templates/message_templates/payment_or_refund_notification_text.tpl b/civicrm/xml/templates/message_templates/payment_or_refund_notification_text.tpl
index 3499b2f9f6..649e088e11 100644
--- a/civicrm/xml/templates/message_templates/payment_or_refund_notification_text.tpl
+++ b/civicrm/xml/templates/message_templates/payment_or_refund_notification_text.tpl
@@ -90,7 +90,7 @@
 ===============================================================================
 
 {$event.event_title}
-{$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:"%Y%m%d" == $event.event_start_date|date_format:"%Y%m%d"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if}
+{$event.event_start_date|crmDate}{if $event.event_end_date}-{if $event.event_end_date|date_format:"%Y%m%d" == $event.event_start_date|date_format:"%Y%m%d"}{$event.event_end_date|crmDate:0:1}{else}{$event.event_end_date|crmDate}{/if}{/if} {$event.event_tz}
 
 {if !empty($event.participant_role)}
 {ts}Participant Role{/ts}: {$event.participant_role}
diff --git a/civicrm/xml/version.xml b/civicrm/xml/version.xml
index 79a060a04f..dcc667b583 100644
--- a/civicrm/xml/version.xml
+++ b/civicrm/xml/version.xml
@@ -1,4 +1,4 @@
 <?xml version="1.0" encoding="iso-8859-1" ?>
 <version>
-  <version_no>5.46.2</version_no>
+  <version_no>5.47.0</version_no>
 </version>
diff --git a/includes/admin-metaboxes/civicrm.metabox.contact.add.php b/includes/admin-metaboxes/civicrm.metabox.contact.add.php
index ce802947d0..0bb9a21c26 100644
--- a/includes/admin-metaboxes/civicrm.metabox.contact.add.php
+++ b/includes/admin-metaboxes/civicrm.metabox.contact.add.php
@@ -213,7 +213,7 @@ class CiviCRM_For_WordPress_Admin_Metabox_Contact_Add {
    * @param mixed $unused Unused param.
    * @param array $metabox Array containing id, title, callback, and args elements.
    */
-  public function meta_box_render($unused = NULL, $metabox) {
+  public function meta_box_render($unused, $metabox) {
 
     if (!$this->civi->initialize()) {
       return;
@@ -295,7 +295,7 @@ class CiviCRM_For_WordPress_Admin_Metabox_Contact_Add {
   }
 
   /**
-   * Save the CiviCRM Basepage Setting.
+   * Save the CiviCRM Base Page Setting.
    *
    * @since 5.34
    */
diff --git a/includes/admin-pages/civicrm.page.error.php b/includes/admin-pages/civicrm.page.error.php
index 1f164ca2ad..20106f0f66 100644
--- a/includes/admin-pages/civicrm.page.error.php
+++ b/includes/admin-pages/civicrm.page.error.php
@@ -83,7 +83,6 @@ class CiviCRM_For_WordPress_Admin_Page_Error {
      * @since 5.40
      *
      * @param str The default access capability.
-     * @return str The modified access capability.
      */
     return apply_filters('civicrm/admin/error/cap', 'manage_options');
 
@@ -170,6 +169,10 @@ class CiviCRM_For_WordPress_Admin_Page_Error {
      *
      * The Screen ID to use is: "civicrm_page_civi_error".
      *
+     * Used internally by:
+     *
+     * - self::meta_boxes_error_add()
+     *
      * @since 5.40
      *
      * @param str $screen_id The ID of the current screen.
@@ -283,7 +286,7 @@ class CiviCRM_For_WordPress_Admin_Page_Error {
    * @param mixed $unused Unused param.
    * @param array $metabox Array containing id, title, callback, and args elements.
    */
-  public function meta_box_error_help_render($unused = NULL, $metabox) {
+  public function meta_box_error_help_render($unused, $metabox) {
 
     // Include template file.
     include CIVICRM_PLUGIN_DIR . 'assets/templates/metaboxes/metabox.error.help.php';
@@ -298,7 +301,7 @@ class CiviCRM_For_WordPress_Admin_Page_Error {
    * @param mixed $unused Unused param.
    * @param array $metabox Array containing id, title, callback, and args elements.
    */
-  public function meta_box_error_php_render($unused = NULL, $metabox) {
+  public function meta_box_error_php_render($unused, $metabox) {
 
     global $civicrm_root;
 
@@ -315,7 +318,7 @@ class CiviCRM_For_WordPress_Admin_Page_Error {
    * @param mixed $unused Unused param.
    * @param array $metabox Array containing id, title, callback, and args elements.
    */
-  public function meta_box_error_path_render($unused = NULL, $metabox) {
+  public function meta_box_error_path_render($unused, $metabox) {
 
     global $civicrm_root;
 
diff --git a/includes/admin-pages/civicrm.page.integration.php b/includes/admin-pages/civicrm.page.integration.php
index 683830dbb5..511bf6f705 100644
--- a/includes/admin-pages/civicrm.page.integration.php
+++ b/includes/admin-pages/civicrm.page.integration.php
@@ -106,7 +106,6 @@ class CiviCRM_For_WordPress_Admin_Page_Integration {
      * @since 5.37
      *
      * @param str The default access capability.
-     * @return str The modified access capability.
      */
     return apply_filters('civicrm/admin/integration/cap', 'manage_options');
 
@@ -194,6 +193,10 @@ class CiviCRM_For_WordPress_Admin_Page_Integration {
      *
      * The Screen ID to use is: "civicrm_page_cwps_settings".
      *
+     * Used internally by:
+     *
+     * - self::meta_boxes_integration_add()
+     *
      * @since 5.34
      *
      * @param str $screen_id The ID of the current screen.
@@ -295,7 +298,7 @@ class CiviCRM_For_WordPress_Admin_Page_Integration {
    * @param mixed $unused Unused param.
    * @param array $metabox Array containing id, title, callback, and args elements.
    */
-  public function meta_box_integration_wordpress_render($unused = NULL, $metabox) {
+  public function meta_box_integration_wordpress_render($unused, $metabox) {
 
     // First check our transient for the data.
     $plugins = get_site_transient('civicrm_plugins_by_tag');
@@ -345,7 +348,7 @@ class CiviCRM_For_WordPress_Admin_Page_Integration {
    * @param mixed $unused Unused param.
    * @param array $metabox Array containing id, title, callback, and args elements.
    */
-  public function meta_box_integration_git_render($unused = NULL, $metabox) {
+  public function meta_box_integration_git_render($unused, $metabox) {
 
     // First check our transient for the data.
     $plugins = get_site_transient('civicrm_plugins_by_repo');
@@ -393,7 +396,7 @@ class CiviCRM_For_WordPress_Admin_Page_Integration {
    * @param mixed $unused Unused param.
    * @param array $metabox Array containing id, title, callback, and args elements.
    */
-  public function meta_box_integration_ext_render($unused = NULL, $metabox) {
+  public function meta_box_integration_ext_render($unused, $metabox) {
 
     if (!$this->civi->initialize()) {
       return;
diff --git a/includes/admin-pages/civicrm.page.options.php b/includes/admin-pages/civicrm.page.options.php
index 7483ac4127..49c2f1e6f7 100644
--- a/includes/admin-pages/civicrm.page.options.php
+++ b/includes/admin-pages/civicrm.page.options.php
@@ -109,7 +109,6 @@ class CiviCRM_For_WordPress_Admin_Page_Options {
      * @since 5.37
      *
      * @param str The default access capability.
-     * @return str The modified access capability.
      */
     return apply_filters('civicrm/admin/settings/cap', 'manage_options');
 
@@ -229,6 +228,10 @@ class CiviCRM_For_WordPress_Admin_Page_Options {
      *
      * The Screen ID to use is: "civicrm_page_cwps_settings".
      *
+     * Used internally by:
+     *
+     * - self::meta_boxes_options_add()
+     *
      * @since 5.34
      *
      * @param str $screen_id The ID of the current screen.
@@ -370,7 +373,7 @@ class CiviCRM_For_WordPress_Admin_Page_Options {
    * @param mixed $unused Unused param.
    * @param array $metabox Array containing id, title, callback, and args elements.
    */
-  public function meta_box_options_basepage_render($unused = NULL, $metabox) {
+  public function meta_box_options_basepage_render($unused, $metabox) {
 
     // Get the setting.
     $basepage_slug = civicrm_api3('Setting', 'getvalue', [
@@ -439,7 +442,6 @@ class CiviCRM_For_WordPress_Admin_Page_Options {
      * @since 5.34
      *
      * @param array $options_post The existing button attributes.
-     * @return array $options_post The modified button attributes.
      */
     $options_post = apply_filters('civicrm/metabox/basepage/submit/options', $options_post);
 
@@ -456,7 +458,7 @@ class CiviCRM_For_WordPress_Admin_Page_Options {
    * @param mixed $unused Unused param.
    * @param array $metabox Array containing id, title, callback, and args elements.
    */
-  public function meta_box_options_shortcode_render($unused = NULL, $metabox) {
+  public function meta_box_options_shortcode_render($unused, $metabox) {
 
     if (!$this->civi->initialize()) {
       return;
@@ -487,7 +489,6 @@ class CiviCRM_For_WordPress_Admin_Page_Options {
      * @since 5.44
      *
      * @param array $options_post The existing button attributes.
-     * @return array $options_post The modified button attributes.
      */
     $options_post = apply_filters('civicrm/metabox/shortcode/submit/options', $options_post);
 
@@ -504,7 +505,7 @@ class CiviCRM_For_WordPress_Admin_Page_Options {
    * @param mixed $unused Unused param.
    * @param array $metabox Array containing id, title, callback, and args elements.
    */
-  public function meta_box_options_email_render($unused = NULL, $metabox) {
+  public function meta_box_options_email_render($unused, $metabox) {
 
     if (!$this->civi->initialize()) {
       return;
@@ -538,7 +539,6 @@ class CiviCRM_For_WordPress_Admin_Page_Options {
      * @since 5.34
      *
      * @param array $options_post The existing button attributes.
-     * @return array $options_post The modified button attributes.
      */
     $options_post = apply_filters('civicrm/metabox/email_sync/submit/options', $options_post);
 
@@ -555,7 +555,7 @@ class CiviCRM_For_WordPress_Admin_Page_Options {
    * @param mixed $unused Unused param.
    * @param array $metabox Array containing id, title, callback, and args elements.
    */
-  public function meta_box_options_cache_render($unused = NULL, $metabox) {
+  public function meta_box_options_cache_render($unused, $metabox) {
 
     // Set submit button options.
     $options = [
@@ -576,7 +576,7 @@ class CiviCRM_For_WordPress_Admin_Page_Options {
    * @param mixed $unused Unused param.
    * @param array $metabox Array containing id, title, callback, and args elements.
    */
-  public function meta_box_options_links_render($unused = NULL, $metabox) {
+  public function meta_box_options_links_render($unused, $metabox) {
 
     if (!$this->civi->initialize()) {
       return;
@@ -608,7 +608,6 @@ class CiviCRM_For_WordPress_Admin_Page_Options {
      * @since 5.34
      *
      * @param array $admin_links The default array of admin links.
-     * @return array $admin_links The modified array of admin links.
      */
     $admin_links = apply_filters('civicrm/metabox/links/admin', $admin_links);
 
@@ -635,7 +634,6 @@ class CiviCRM_For_WordPress_Admin_Page_Options {
      * @since 5.34
      *
      * @param array $maintenance_links The default array of admin links.
-     * @return array $maintenance_links The modified array of admin links.
      */
     $maintenance_links = apply_filters('civicrm/metabox/links/maintenance', $maintenance_links);
 
@@ -683,7 +681,7 @@ class CiviCRM_For_WordPress_Admin_Page_Options {
   }
 
   /**
-   * Save the CiviCRM Basepage Setting.
+   * Save the CiviCRM Base Page Setting.
    *
    * @since 5.34
    */
@@ -784,7 +782,7 @@ class CiviCRM_For_WordPress_Admin_Page_Options {
   // ---------------------------------------------------------------------------
 
   /**
-   * Save the CiviCRM Basepage Setting.
+   * Save the CiviCRM Base Page Setting.
    *
    * @since 5.34
    */
diff --git a/includes/civicrm.admin.php b/includes/civicrm.admin.php
index f35ab87f5a..4187d77012 100644
--- a/includes/civicrm.admin.php
+++ b/includes/civicrm.admin.php
@@ -90,6 +90,9 @@ class CiviCRM_For_WordPress_Admin {
     $this->include_files();
     $this->setup_objects();
 
+    // Always check setting for path to "wp-load.php".
+    add_action('civicrm_initialized', [$this, 'add_wpload_setting']);
+
     // Filter Heartbeat on CiviCRM admin pages as late as is practical.
     add_filter('heartbeat_settings', [$this, 'heartbeat'], 1000, 1);
 
@@ -149,7 +152,7 @@ class CiviCRM_For_WordPress_Admin {
     }
     else {
 
-      // Listen for changes to the basepage setting.
+      // Listen for changes to the Base Page setting.
       add_action('civicrm_postSave_civicrm_setting', [$this, 'settings_change'], 10);
 
       // Set page title.
@@ -160,6 +163,12 @@ class CiviCRM_For_WordPress_Admin {
     /**
      * Broadcast that this object has registered its callbacks.
      *
+     * Used internally by:
+     *
+     * - CiviCRM_For_WordPress_Admin_Metabox_Contact_Add::register_hooks()
+     * - CiviCRM_For_WordPress_Admin_Page_Integration::register_hooks()
+     * - CiviCRM_For_WordPress_Admin_Page_Options::register_hooks()
+     *
      * @since 5.34
      */
     do_action('civicrm/admin/hooks/registered');
@@ -442,6 +451,9 @@ class CiviCRM_For_WordPress_Admin {
 
     }
 
+    // Success! Set static flag.
+    $initialized = TRUE;
+
     /**
      * Broadcast that CiviCRM is now initialized.
      *
@@ -449,8 +461,6 @@ class CiviCRM_For_WordPress_Admin {
      */
     do_action('civicrm_initialized');
 
-    // Success! Set and return static flag.
-    $initialized = TRUE;
     return $initialized;
 
   }
@@ -602,10 +612,10 @@ class CiviCRM_For_WordPress_Admin {
      * reduce risk of conflicts. The position is now conditionally set depending
      * on the version of WordPress.
      *
-     * @since 5.47 Conditionally set because WordPress 6.0 enforces integers. Backport to 5.45+
+     * @since 4.4
+     * @since 5.47 Conditionally set because WordPress 6.0 enforces integers.
      *
      * @param str|int $menu_position The default menu position.
-     * @return str The modified menu position expressed as a float.
      */
     $position = apply_filters('civicrm_menu_item_position', $menu_position);
 
@@ -658,10 +668,11 @@ class CiviCRM_For_WordPress_Admin {
         );
 
         /*
-        // Add scripts and styles like this.
-        add_action('admin_print_scripts-' . $this->menu_page, [$this, 'admin_installer_js']);
-        add_action('admin_print_styles-' . $this->menu_page, [$this, 'admin_installer_css']);
-        add_action('admin_head-' . $this->menu_page, [$this, 'admin_installer_head'], 50);
+         * Add scripts and styles like this if needed:
+         *
+         * add_action('admin_print_scripts-' . $this->menu_page, [$this, 'admin_installer_js']);
+         * add_action('admin_print_styles-' . $this->menu_page, [$this, 'admin_installer_css']);
+         * add_action('admin_head-' . $this->menu_page, [$this, 'admin_installer_head'], 50);
          */
 
       }
@@ -749,9 +760,6 @@ class CiviCRM_For_WordPress_Admin {
     // Add resources for back end.
     $this->civi->add_core_resources(FALSE);
 
-    // Check setting for path to wp-load.php.
-    $this->add_wpload_setting();
-
   }
 
   /**
@@ -771,20 +779,23 @@ class CiviCRM_For_WordPress_Admin {
    * Multisite, because the path to wp-load.php is common to all sites on the
    * network.
    *
-   * My final concern is that the value will only be set *after* someone visits
-   * CiviCRM in the back end. I have restricted it to this so as not to add
-   * overhead to the front end, but there remains the possibility that the value
-   * could be missing. To repeat: this would be better in civicrm.settings.php.
-   *
    * To get the path to wp-load.php, use:
-   * $path = CRM_Core_BAO_Setting::getItem('CiviCRM Preferences', 'wpLoadPhp');
+   * $path = Civi::settings()->get('wpLoadPhp');
    *
    * @since 4.6.3
    * @since 5.33 Moved to this class.
    */
   public function add_wpload_setting() {
 
-    if (!$this->civi->initialize()) {
+    if (!CIVICRM_INSTALLED) {
+      return;
+    }
+
+    if (!$this->initialize()) {
+      return;
+    }
+
+    if (version_compare(CRM_Core_BAO_Domain::getDomain()->version, '4.7.0', '<')) {
       return;
     }
 
@@ -792,17 +803,14 @@ class CiviCRM_For_WordPress_Admin {
     $path = ABSPATH . 'wp-load.php';
 
     // Get the setting, if it exists.
-    $setting = CRM_Core_BAO_Setting::getItem('CiviCRM Preferences', 'wpLoadPhp');
-
-    // If we don't have one, create it.
-    if (is_null($setting)) {
-      CRM_Core_BAO_Setting::setItem($path, 'CiviCRM Preferences', 'wpLoadPhp');
-    }
+    $setting = Civi::settings()->get('wpLoadPhp');
 
-    // Is it different to the one we've stored?
-    if ($setting !== $path) {
-      // Yes - set new path (this could be because we've changed server or location)
-      CRM_Core_BAO_Setting::setItem($path, 'CiviCRM Preferences', 'wpLoadPhp');
+    /*
+     * If we don't have a setting, create it. Also set it if it's different to
+     * what's stored. This could be because we've changed server or location.
+     */
+    if (empty($setting) || $setting !== $path) {
+      Civi::settings()->set('wpLoadPhp', $path);
     }
 
   }
@@ -821,7 +829,7 @@ class CiviCRM_For_WordPress_Admin {
     // Init link.
     $link = '';
 
-    if (!$this->civi->initialize()) {
+    if (!$this->initialize()) {
       return $link;
     }
 
@@ -851,7 +859,7 @@ class CiviCRM_For_WordPress_Admin {
    */
   public function clear_caches() {
 
-    if (!$this->civi->initialize()) {
+    if (!$this->initialize()) {
       return;
     }
 
@@ -888,7 +896,7 @@ class CiviCRM_For_WordPress_Admin {
       return FALSE;
     }
 
-    if (!$this->civi->initialize()) {
+    if (!$this->initialize()) {
       return FALSE;
     }
 
diff --git a/includes/civicrm.basepage.php b/includes/civicrm.basepage.php
index 70506d1ffa..b6246cff1a 100644
--- a/includes/civicrm.basepage.php
+++ b/includes/civicrm.basepage.php
@@ -52,13 +52,13 @@ class CiviCRM_For_WordPress_Basepage {
     // Always listen for deactivation action.
     add_action('civicrm_deactivation', [$this, 'deactivate']);
 
-    // Always check if the basepage needs to be created.
+    // Always check if the Base Page needs to be created.
     add_action('civicrm_instance_loaded', [$this, 'maybe_create_basepage']);
 
   }
 
   /**
-   * Register hooks to handle CiviCRM in a WordPress wpBasePage context.
+   * Register hooks to handle CiviCRM in a WordPress Base Page context.
    *
    * @since 4.6
    */
@@ -69,22 +69,22 @@ class CiviCRM_For_WordPress_Basepage {
       return;
     }
 
-    // Cache CiviCRM base page markup.
+    // Cache CiviCRM Base Page markup.
     add_action('wp', [$this, 'basepage_handler'], 10, 1);
 
   }
 
   /**
-   * Trigger the process whereby the WordPress basepage is created.
+   * Triggers the process whereby the WordPress Base Page is created.
    *
-   * Sets a one-time-only option to flag that we need to create a basepage -
+   * Sets a one-time-only option to flag that we need to create a Base Page -
    * it will not update the option once it has been set to another value nor
    * create a new option with the same name.
    *
-   * As a result of doing this, we know that a basepage needs to be created, but
-   * the moment to do so is once CiviCRM has been successfully installed.
+   * As a result of doing this, we know that a Base Page needs to be created,
+   * but the moment to do so is once CiviCRM has been successfully installed.
    *
-   * @see do_basepage_creation()
+   * @see self::maybe_create_basepage()
    *
    * @since 5.6
    */
@@ -108,11 +108,11 @@ class CiviCRM_For_WordPress_Basepage {
   }
 
   /**
-   * Register the hook to create the WordPress basepage, if necessary.
+   * Auto-creates the WordPress Base Page if necessary.
    *
-   * Changes the one-time-only option so that the basepage can only be created
+   * Changes the one-time-only option so that the Base Page can only be created
    * once. Thereafter, we're on our own until there's a 'delete_post' callback
-   * to prevent the basepage from being deleted.
+   * to prevent the Base Page from being deleted.
    *
    * @since 5.6
    */
@@ -128,12 +128,7 @@ class CiviCRM_For_WordPress_Basepage {
       return;
     }
 
-    // Bail if not WordPress admin.
-    if (!is_admin()) {
-      return;
-    }
-
-    // Create basepage.
+    // Create the Base Page.
     add_action('wp_loaded', [$this, 'create_wp_basepage']);
 
     // Change option so the callback above never runs again.
@@ -142,71 +137,68 @@ class CiviCRM_For_WordPress_Basepage {
   }
 
   /**
-   * Create WordPress basepage and save setting.
+   * Creates the WordPress Base Page and saves the CiviCRM "wpBasePage" setting.
    *
    * @since 4.6
    * @since 5.6 Relocated from CiviCRM_For_WordPress to here.
+   * @since 5.44 Returns success or failure.
+   *
+   * @return bool TRUE if successful, FALSE otherwise.
    */
   public function create_wp_basepage() {
 
     if (!$this->civi->initialize()) {
-      return;
+      return FALSE;
     }
 
-    $config = CRM_Core_Config::singleton();
+    if (version_compare(CRM_Core_BAO_Domain::getDomain()->version, '4.7.0', '<')) {
+      return FALSE;
+    }
 
-    // Bail if we already have a basepage setting.
+    // Bail if we already have a Base Page setting.
+    $config = CRM_Core_Config::singleton();
     if (!empty($config->wpBasePage)) {
-      return;
+      return TRUE;
     }
 
     /**
-     * Filter the default page slug.
+     * Filter the default Base Page slug.
      *
      * @since 4.6
      *
-     * @param str The default basepage slug.
-     * @return str The modified basepage slug.
+     * @param str The default Base Page slug.
      */
     $slug = apply_filters('civicrm_basepage_slug', 'civicrm');
 
-    // Get existing page with that slug.
+    // Get existing Page with that slug.
     $page = get_page_by_path($slug);
 
-    // Does it exist?
-    if ($page) {
-
-      // We already have a basepage.
+    // Get the ID if the Base Page already exists.
+    $result = 0;
+    if ($page instanceof WP_Post) {
       $result = $page->ID;
-
     }
-    else {
 
-      // Create the basepage.
+    // Create the Base Page if it's missing.
+    if ($result === 0) {
       $result = $this->create_basepage($slug);
-
     }
 
-    // Were we successful?
+    // Save the Page slug as the setting if we have one.
     if ($result !== 0 && !is_wp_error($result)) {
-
-      // Get the post object.
       $post = get_post($result);
-
-      $params = [
-        'version' => 3,
+      civicrm_api3('Setting', 'create', [
         'wpBasePage' => $post->post_name,
-      ];
-
-      // Save the setting.
-      civicrm_api3('setting', 'create', $params);
-
+      ]);
+      return TRUE;
     }
 
+    return FALSE;
+
   }
 
   /**
-   * Create a WordPress page to act as the CiviCRM base page.
+   * Create a WordPress page to act as the CiviCRM Base Page.
    *
    * @since 4.6
    * @since 5.6 Relocated from CiviCRM_For_WordPress to here.
@@ -219,16 +211,40 @@ class CiviCRM_For_WordPress_Basepage {
     // If multisite, switch to main site.
     if (is_multisite() && !is_main_site()) {
 
-      // Store this site.
-      $original_site = get_current_blog_id();
+      /**
+       * Allow plugins to override the switch to the main site.
+       *
+       * This filter changes the default behaviour on WordPress Multisite so
+       * that the Base Page *is* created on every site on which CiviCRM is
+       * activated. This is a more sensible and inclusive default, since the
+       * absence of the Base Page on a sub-site often leads to confusion.
+       *
+       * To restore the previous functionality, return boolean TRUE.
+       *
+       * The previous functionality may be the desired behaviour when the
+       * WordPress Multisite instance in question is one where sub-sites aren't
+       * truly "separate" e.g. sites built on frameworks such as "Commons in
+       * a Box" or "MultilingualPress".
+       *
+       * @since 5.44
+       *
+       * @param bool False by default prevents the switch to the main site.
+       */
+      $switch = apply_filters('civicrm/basepage/main_site_only', FALSE);
+
+      if ($switch !== FALSE) {
 
-      // Switch.
-      global $current_site;
-      switch_to_blog($current_site->blog_id);
+        // Store this site.
+        $original_site = get_current_blog_id();
+
+        // Switch to main site.
+        switch_to_blog(get_main_site_id());
+
+      }
 
     }
 
-    // Define basepage.
+    // Define Base Page.
     $page = [
       'post_status' => 'publish',
       'post_type' => 'page',
@@ -248,12 +264,11 @@ class CiviCRM_For_WordPress_Basepage {
     ];
 
     /**
-     * Filter the default page title.
+     * Filter the default Base Page title.
      *
      * @since 4.6
      *
-     * @param str The default base page title.
-     * @return str The modified base page title.
+     * @param str The default Base Page title.
      */
     $page['post_title'] = apply_filters('civicrm_basepage_title', __('CiviCRM', 'civicrm'));
 
@@ -261,12 +276,12 @@ class CiviCRM_For_WordPress_Basepage {
     $content = __('Do not delete this page. Page content is generated by CiviCRM.', 'civicrm');
 
     /**
-     * Filter the default page content.
+     * Filter the default Base Page content.
      *
      * @since 4.6
      *
-     * @param str $content The default base page content.
-     * @return str $content The modified base page content.
+     * @param str $content The default Base Page content.
+     * @return str $content The modified Base Page content.
      */
     $page['post_content'] = apply_filters('civicrm_basepage_content', $content);
 
@@ -286,7 +301,7 @@ class CiviCRM_For_WordPress_Basepage {
   }
 
   /**
-   * Build CiviCRM base page content.
+   * Build CiviCRM Base Page content.
    *
    * Callback method for 'wp' hook, always called from WordPress front-end.
    *
@@ -350,7 +365,6 @@ class CiviCRM_For_WordPress_Basepage {
          *
          * @param bool By default "Base Page mode" should not be triggered.
          * @param WP_Post $post The current WordPress Post object.
-         * @return bool Whether or not to force "Base Page mode" - FALSE by default.
          */
         $basepage_mode = (bool) apply_filters('civicrm_force_basepage_mode', FALSE, $post);
 
@@ -362,7 +376,7 @@ class CiviCRM_For_WordPress_Basepage {
 
           // Start buffering.
           ob_start();
-          // Now, instead of echoing, base page output ends up in buffer.
+          // Now, instead of echoing, Base Page output ends up in buffer.
           $this->civi->invoke();
           // Save the output and flush the buffer.
           $this->basepage_markup = ob_get_clean();
@@ -433,7 +447,7 @@ class CiviCRM_For_WordPress_Basepage {
     // Add compatibility with Yoast SEO plugin's Open Graph title.
     add_filter('wpseo_opengraph_title', [$this, 'wpseo_page_title'], 100, 1);
 
-    // Don't let the Yoast SEO plugin parse the basepage title.
+    // Don't let the Yoast SEO plugin parse the Base Page title.
     if (class_exists('WPSEO_Frontend')) {
       $frontend = WPSEO_Frontend::get_instance();
       remove_filter('pre_get_document_title', [$frontend, 'title'], 15);
@@ -460,11 +474,11 @@ class CiviCRM_For_WordPress_Basepage {
 
     }
 
-    // Flag that we have parsed the base page.
+    // Flag that we have parsed the Base Page.
     $this->basepage_parsed = TRUE;
 
     /**
-     * Broadcast that the base page is parsed.
+     * Broadcast that the Base Page is parsed.
      *
      * @since 4.4
      */
@@ -473,7 +487,7 @@ class CiviCRM_For_WordPress_Basepage {
   }
 
   /**
-   * Get CiviCRM basepage title for <title> element.
+   * Get CiviCRM Base Page title for <title> element.
    *
    * Callback method for 'wp_title' hook, called at the end of function wp_title.
    *
@@ -518,7 +532,7 @@ class CiviCRM_For_WordPress_Basepage {
   }
 
   /**
-   * Get CiviCRM basepage title for <title> element.
+   * Get CiviCRM Base Page title for <title> element.
    *
    * Callback method for 'document_title_parts' hook. This filter was introduced
    * in WordPress 3.8 but it depends on whether the theme has implemented that
@@ -542,7 +556,7 @@ class CiviCRM_For_WordPress_Basepage {
   }
 
   /**
-   * Get CiviCRM base page title for Open Graph elements.
+   * Get CiviCRM Base Page title for Open Graph elements.
    *
    * Callback method for 'wpseo_opengraph_title' hook, to provide compatibility
    * with the WordPress SEO plugin.
@@ -554,30 +568,30 @@ class CiviCRM_For_WordPress_Basepage {
    */
   public function wpseo_page_title($post_title) {
 
-    // Hand back our base page title.
+    // Hand back our Base Page title.
     return $this->basepage_title;
 
   }
 
   /**
-   * Get CiviCRM base page content.
+   * Get CiviCRM Base Page content.
    *
    * Callback method for 'the_content' hook, always called from WordPress
    * front-end.
    *
    * @since 4.6
    *
-   * @return str $basepage_markup The base page markup.
+   * @return str $basepage_markup The Base Page markup.
    */
   public function basepage_render() {
 
-    // Hand back our base page markup.
+    // Hand back our Base Page markup.
     return $this->basepage_markup;
 
   }
 
   /**
-   * Provide the canonical URL for a page accessed through a basepage.
+   * Provide the canonical URL for a page accessed through a Base Page.
    *
    * WordPress will default to saying the canonical URL is the URL of the base
    * page itself, but we need to indicate that in this case, the whole thing
@@ -630,14 +644,14 @@ class CiviCRM_For_WordPress_Basepage {
 
     /*
      * We should, however, build the URL the way that CiviCRM expects it to be
-     * (rather than through some other funny base page).
+     * (rather than through some other funny Base Page).
      */
     return CRM_Utils_System::url($path, $query);
 
   }
 
   /**
-   * Get CiviCRM base page template.
+   * Get CiviCRM Base Page template.
    *
    * Callback method for 'template_include' hook, always called from WordPress
    * front-end.
@@ -663,7 +677,7 @@ class CiviCRM_For_WordPress_Basepage {
     }
 
     /**
-     * Allow base page template to be overridden.
+     * Allow Base Page template to be overridden.
      *
      * In most cases, the logic will not progress beyond here. Shortcodes in
      * posts and pages will have a template set, so we leave them alone unless
@@ -672,11 +686,10 @@ class CiviCRM_For_WordPress_Basepage {
      * @since 4.6
      *
      * @param string $template_name The provided template name.
-     * @return string The overridden template name.
      */
     $basepage_template = apply_filters('civicrm_basepage_template', $template_name);
 
-    // Find the base page template.
+    // Find the Base Page template.
     $page_template = locate_template([$basepage_template]);
 
     // If not homepage and template is found.
@@ -687,20 +700,19 @@ class CiviCRM_For_WordPress_Basepage {
     /**
      * Override the template, but allow plugins to amend.
      *
-     * This filter handles the scenario where no basepage has been set, in
+     * This filter handles the scenario where no Base Page has been set, in
      * which case CiviCRM will try to load its content in the site's homepage.
      * Many themes, however, do not have a call to "the_content()" on the
      * homepage - it is often used as a gateway page to display widgets,
      * archives and so forth.
      *
      * Be aware that if the homepage is set to show latest posts, then this
-     * template override will not have the desired effect. A basepage *must*
+     * template override will not have the desired effect. A Base Page *must*
      * be set if this is the case.
      *
      * @since 4.6
      *
      * @param string The template name (set to the default page template).
-     * @return string The overridden template name.
      */
     $home_template_name = apply_filters('civicrm_basepage_home_template', 'page.php');
 
@@ -718,10 +730,10 @@ class CiviCRM_For_WordPress_Basepage {
   }
 
   /**
-   * Add classes to body element when on basepage.
+   * Add classes to body element when on Base Page.
    *
    * This allows selectors to be written for particular CiviCRM "pages" despite
-   * them all being rendered on the one WordPress basepage.
+   * them all being rendered on the one WordPress Base Page.
    *
    * @since 4.7.18
    *
diff --git a/includes/civicrm.compat.php b/includes/civicrm.compat.php
index cc8280c07e..063525d1fb 100644
--- a/includes/civicrm.compat.php
+++ b/includes/civicrm.compat.php
@@ -82,7 +82,7 @@ class CiviCRM_For_WordPress_Compat {
    * @since 5.24
    *
    * @param bool $flush_rewrite_rules True if rules flushed, false otherwise.
-   * @param WP_Post $basepage The Basepage post object.
+   * @param WP_Post $basepage The Base Page post object.
    */
   public function rewrite_rules_polylang($flush_rewrite_rules, $basepage) {
 
@@ -95,12 +95,12 @@ class CiviCRM_For_WordPress_Compat {
      * Collect all rewrite rules into an array.
      *
      * Because the array of specific Post IDs is added *after* the array of
-     * paths for the Basepage ID, those specific rewrite rules will "win" over
-     * the more general Basepage rules.
+     * paths for the Base Page ID, those specific rewrite rules will "win" over
+     * the more general Base Page rules.
      */
     $collected_rewrites = [];
 
-    // Support prefixes for a single Basepage.
+    // Support prefixes for a single Base Page.
     $basepage_url = get_permalink($basepage->ID);
     $basepage_raw_url = PLL()->links_model->remove_language_from_link($basepage_url);
     $language_slugs = pll_languages_list();
@@ -116,7 +116,7 @@ class CiviCRM_For_WordPress_Compat {
       }
     };
 
-    // Support prefixes for Basepages in multiple languages.
+    // Support prefixes for Base Pages in multiple languages.
     foreach ($language_slugs as $slug) {
       $post_id = pll_get_post($basepage->ID, $slug);
       if (empty($post_id)) {
diff --git a/includes/civicrm.shortcodes.modal.php b/includes/civicrm.shortcodes.modal.php
index ae894a78a6..0d7f765d7b 100644
--- a/includes/civicrm.shortcodes.modal.php
+++ b/includes/civicrm.shortcodes.modal.php
@@ -140,7 +140,6 @@ class CiviCRM_For_WordPress_Shortcodes_Modal {
      *
      * @param bool $allowed True if the button is allowed, false otherwise.
      * @param object $screen The current WordPress screen object.
-     * @return bool $allowed True if the button is allowed, false otherwise.
      */
     $allowed = apply_filters('civicrm_restrict_button_appearance', $allowed, $screen);
 
diff --git a/includes/civicrm.shortcodes.php b/includes/civicrm.shortcodes.php
index 81828e5ba0..7a5418992e 100644
--- a/includes/civicrm.shortcodes.php
+++ b/includes/civicrm.shortcodes.php
@@ -38,7 +38,7 @@ class CiviCRM_For_WordPress_Shortcodes {
 
   /**
    * @var array
-   * The stored shortcodes.
+   * The stored Shortcodes.
    * @since 4.6
    * @access public
    */
@@ -46,7 +46,7 @@ class CiviCRM_For_WordPress_Shortcodes {
 
   /**
    * @var array
-   * The array of rendered shortcode markup.
+   * The array of rendered Shortcode markup.
    * @since 4.6
    * @access public
    */
@@ -73,13 +73,13 @@ class CiviCRM_For_WordPress_Shortcodes {
   }
 
   /**
-   * Register hooks to handle the presence of shortcodes in content.
+   * Register hooks to handle the presence of Shortcodes in content.
    *
    * @since 4.6
    */
   public function register_hooks() {
 
-    // Register the CiviCRM shortcode.
+    // Register the CiviCRM Shortcode.
     add_shortcode('civicrm', [$this, 'render_single']);
 
     // Pre-render CiviCRM content when one or more Shortcodes are detected.
@@ -88,7 +88,7 @@ class CiviCRM_For_WordPress_Shortcodes {
   }
 
   /**
-   * Determine if a CiviCRM shortcode is present in any of the posts about to be displayed.
+   * Determine if a CiviCRM Shortcode is present in any of the posts about to be displayed.
    *
    * Callback method for 'wp' hook, always called from WordPress front-end.
    *
@@ -128,10 +128,10 @@ class CiviCRM_For_WordPress_Shortcodes {
 
         global $post;
 
-        // Check for existence of shortcode in content.
+        // Check for existence of Shortcode in content.
         if (has_shortcode($post->post_content, 'civicrm')) {
 
-          // Get CiviCRM shortcodes in this post.
+          // Get CiviCRM Shortcodes in this post.
           $shortcodes_array = $this->get_for_post($post->post_content);
 
           // Sanity check.
@@ -140,7 +140,7 @@ class CiviCRM_For_WordPress_Shortcodes {
             // Add it to our property.
             $this->shortcodes[$post->ID] = $shortcodes_array;
 
-            // Bump shortcode counter.
+            // Bump Shortcode counter.
             $shortcodes_present += count($this->shortcodes[$post->ID]);
 
           }
@@ -164,12 +164,12 @@ class CiviCRM_For_WordPress_Shortcodes {
     // Did we get any?
     if ($shortcodes_present) {
 
-      // We need CiviCRM initialised prior to parsing shortcodes.
+      // We need CiviCRM initialised prior to parsing Shortcodes.
       if (!$this->civi->initialize()) {
         return;
       }
 
-      // How should we handle multiple shortcodes?
+      // How should we handle multiple Shortcodes?
       if ($shortcodes_present > 1) {
 
         // Add CSS resources for front end.
@@ -178,12 +178,12 @@ class CiviCRM_For_WordPress_Shortcodes {
         // Let's add dummy markup.
         foreach ($this->shortcodes as $post_id => $shortcode_array) {
 
-          // Set flag if there are multple shortcodes in this post.
+          // Set flag if there are multple Shortcodes in this post.
           $multiple = (count($shortcode_array) > 1) ? 1 : 0;
 
           foreach ($shortcode_array as $shortcode) {
 
-            // Mimic invoke in multiple shortcode context.
+            // Mimic invoke in multiple Shortcode context.
             $this->shortcode_markup[$post_id][] = $this->render_multiple($post_id, $shortcode, $multiple);
 
           }
@@ -197,7 +197,7 @@ class CiviCRM_For_WordPress_Shortcodes {
         add_action('wp', [$this->civi, 'front_end_page_load'], 100);
 
         /*
-         * Since we have only one shortcode, run the_loop again.
+         * Since we have only one Shortcode, run the_loop again.
          * The DB query has already been done, so this has no significant impact.
          */
         if (have_posts()) {
@@ -212,10 +212,10 @@ class CiviCRM_For_WordPress_Shortcodes {
               continue;
             }
 
-            // The shortcode must be the first item in the shortcodes array.
+            // The Shortcode must be the first item in the Shortcodes array.
             $shortcode = $this->shortcodes[$post->ID][0];
 
-            // Check to see if a shortcode component has been repeated?
+            // Check to see if a Shortcode component has been repeated?
             $atts = $this->get_atts($shortcode);
 
             // Test for hijacking.
@@ -254,11 +254,11 @@ class CiviCRM_For_WordPress_Shortcodes {
 
     }
 
-    // Flag that we have parsed shortcodes.
+    // Flag that we have parsed Shortcodes.
     $this->shortcodes_parsed = TRUE;
 
     /**
-     * Broadcast that shortcodes have been parsed.
+     * Broadcast that Shortcodes have been parsed.
      *
      * @since 4.6
      */
@@ -267,7 +267,7 @@ class CiviCRM_For_WordPress_Shortcodes {
   }
 
   /**
-   * Handles CiviCRM-defined shortcodes.
+   * Handles CiviCRM-defined Shortcodes.
    *
    * @since 4.6
    *
@@ -276,9 +276,9 @@ class CiviCRM_For_WordPress_Shortcodes {
    */
   public function render_single($atts) {
 
-    // Do not parse shortcodes in REST context for PUT, POST and DELETE methods.
+    // Do not parse Shortcodes in REST context for PUT, POST and DELETE methods.
     if (defined('REST_REQUEST') && REST_REQUEST && (isset($_PUT) || isset($_POST) || isset($_DELETE))) {
-      // Return the original shortcode.
+      // Return the original Shortcode.
       $shortcode = '[civicrm';
       foreach ($atts as $att => $val) {
         $shortcode .= ' ' . $att . '="' . $val . '"';
@@ -287,7 +287,7 @@ class CiviCRM_For_WordPress_Shortcodes {
       return $shortcode;
     }
 
-    // Check if we've already parsed this shortcode.
+    // Check if we've already parsed this Shortcode.
     global $post;
     if (is_object($post)) {
       if (!empty($this->shortcode_markup)) {
@@ -301,14 +301,14 @@ class CiviCRM_For_WordPress_Shortcodes {
             $this->shortcode_in_post[$post->ID]++;
           }
 
-          // This shortcode must have been rendered.
+          // This Shortcode must have been rendered.
           return $this->shortcode_markup[$post->ID][$this->shortcode_in_post[$post->ID]];
 
         }
       }
     }
 
-    // Preprocess shortcode attributes.
+    // Preprocess Shortcode attributes.
     $args = $this->preprocess_atts($atts);
 
     // Check for pathless Shortcode.
@@ -320,18 +320,21 @@ class CiviCRM_For_WordPress_Shortcodes {
        * Get the markup for "pathless" Shortcodes.
        *
        * This filter allows plugins or CiviCRM Extensions to modify the markup used
-       * to display a shortcode that has no CiviCRM route/path. This may be:
+       * to display a Shortcode that has no CiviCRM route/path. This may be:
        *
-       * * Accidental due to an improperly constructed shortcode or
+       * * Accidental due to an improperly constructed Shortcode or
        * * Deliberate because a component may not require a route/path
        *
+       * Used internally by:
+       *
+       * - afform_shortcode_content()
+       *
        * @since 5.37
        *
-       * @param str $content The default markup for an improperly constructed shortcode.
-       * @param array $atts The shortcode attributes array.
-       * @param array $args The shortcode arguments array.
+       * @param str $content The default markup for an improperly constructed Shortcode.
+       * @param array $atts The Shortcode attributes array.
+       * @param array $args The Shortcode arguments array.
        * @param str Context flag - value is either 'single' or 'multiple'.
-       * @return str The modified shortcode markup.
        */
       return apply_filters('civicrm_shortcode_get_markup', $content, $atts, $args, 'single');
 
@@ -368,7 +371,7 @@ class CiviCRM_For_WordPress_Shortcodes {
     // Check permission.
     $argdata = $this->civi->get_request_args();
     if (!$this->civi->users->check_permission($argdata['args'])) {
-      return $this->civi->users->get_permission_denied();;
+      return $this->civi->users->get_permission_denied();
     }
 
     // Start buffering.
@@ -383,13 +386,13 @@ class CiviCRM_For_WordPress_Shortcodes {
   }
 
   /**
-   * Return a generic display for a shortcode instead of a CiviCRM invocation.
+   * Return a generic display for a Shortcode instead of a CiviCRM invocation.
    *
    * @since 4.6
    *
    * @param int $post_id The containing WordPress post ID.
-   * @param string $shortcode The shortcode being parsed.
-   * @param bool $multiple Boolean flag, TRUE if post has multiple shortcodes, FALSE otherwise.
+   * @param string $shortcode The Shortcode being parsed.
+   * @param bool $multiple Boolean flag, TRUE if post has multiple Shortcodes, FALSE otherwise.
    * @return string $markup Generic markup for multiple instances.
    */
   private function render_multiple($post_id = FALSE, $shortcode = FALSE, $multiple = 0) {
@@ -397,7 +400,7 @@ class CiviCRM_For_WordPress_Shortcodes {
     // Get attributes.
     $atts = $this->get_atts($shortcode);
 
-    // Pre-process shortcode and retrieve args.
+    // Pre-process Shortcode and retrieve args.
     $args = $this->preprocess_atts($atts);
 
     // Get pathless markup from filter callback.
@@ -407,7 +410,7 @@ class CiviCRM_For_WordPress_Shortcodes {
       return apply_filters('civicrm_shortcode_get_markup', $markup, $atts, $args, 'multiple');
     }
 
-    // Get data for this shortcode.
+    // Get data for this Shortcode.
     $data = $this->get_data($atts, $args);
 
     // Sanity check.
@@ -433,7 +436,7 @@ class CiviCRM_For_WordPress_Shortcodes {
     // Access CiviCRM config object.
     $config = CRM_Core_Config::singleton();
 
-    // Do we have multiple shortcodes?
+    // Do we have multiple Shortcodes?
     if ($multiple != 0) {
 
       $links = [];
@@ -522,12 +525,11 @@ class CiviCRM_For_WordPress_Shortcodes {
       $link,
 
       /**
-       * Filter the CiviCRM shortcode more link text.
+       * Filter the CiviCRM Shortcode more link text.
        *
        * @since 4.6
        *
-       * @param str The existing shortcode more link text.
-       * @return str The modified shortcode more link text.
+       * @param str The existing Shortcode more link text.
        */
       apply_filters('civicrm_shortcode_more_link', __('Find out more...', 'civicrm'))
 
@@ -547,12 +549,11 @@ class CiviCRM_For_WordPress_Shortcodes {
       $empowered = sprintf(__('Empowered by %s', 'civicrm'), $civi_link);
 
       /**
-       * Filter the CiviCRM shortcode footer text.
+       * Filter the CiviCRM Shortcode footer text.
        *
        * @since 4.6
        *
-       * @param str $empowered The existing shortcode footer.
-       * @return str $empowered The modified shortcode footer.
+       * @param str $empowered The existing Shortcode footer.
        */
       $footer = apply_filters('civicrm_shortcode_footer', $empowered);
 
@@ -570,14 +571,13 @@ class CiviCRM_For_WordPress_Shortcodes {
     $markup = ob_get_clean();
 
     /**
-     * Filter the computed CiviCRM shortcode markup.
+     * Filter the computed CiviCRM Shortcode markup.
      *
      * @since 4.6
      *
-     * @param str $markup The computed shortcode markup.
+     * @param str $markup The computed Shortcode markup.
      * @param int $post_id The numeric ID of the WordPress post.
-     * @param string $shortcode The shortcode being parsed.
-     * @return str $markup The modified shortcode markup.
+     * @param string $shortcode The Shortcode being parsed.
      */
     return apply_filters('civicrm_shortcode_render_multiple', $markup, $post_id, $shortcode);
 
@@ -610,7 +610,7 @@ class CiviCRM_For_WordPress_Shortcodes {
       return $content;
     }
 
-    // Bail if it has multiple shortcodes.
+    // Bail if it has multiple Shortcodes.
     if (count($this->shortcode_markup[$post->ID]) > 1) {
       return $content;
     }
@@ -640,7 +640,7 @@ class CiviCRM_For_WordPress_Shortcodes {
       return $title;
     }
 
-    // Bail if it has multiple shortcodes.
+    // Bail if it has multiple Shortcodes.
     if (count($this->shortcode_markup[$post_id]) > 1) {
       return $title;
     }
@@ -729,12 +729,12 @@ class CiviCRM_For_WordPress_Shortcodes {
   }
 
   /**
-   * Return attributes for a given CiviCRM shortcode.
+   * Return attributes for a given CiviCRM Shortcode.
    *
    * @since 4.6
    *
-   * @param $shortcode The shortcode to parse.
-   * @return array $shortcode_atts Array of shortcode attributes.
+   * @param $shortcode The Shortcode to parse.
+   * @return array $shortcode_atts Array of Shortcode attributes.
    */
   private function get_atts($shortcode) {
 
@@ -750,7 +750,7 @@ class CiviCRM_For_WordPress_Shortcodes {
   }
 
   /**
-   * Preprocess CiviCRM-defined shortcodes.
+   * Preprocess CiviCRM-defined Shortcodes.
    *
    * @since 4.6
    *
@@ -887,30 +887,29 @@ class CiviCRM_For_WordPress_Shortcodes {
     }
 
     /**
-     * Filter the CiviCRM shortcode arguments.
+     * Filter the CiviCRM Shortcode arguments.
      *
      * This filter allows plugins or CiviCRM Extensions to modify the attributes
-     * that the 'civicrm' shortcode allows. Injected attributes and their values
+     * that the 'civicrm' Shortcode allows. Injected attributes and their values
      * will also become available in the $_REQUEST and $_GET arrays.
      *
      * @since 4.7.28
      *
-     * @param array $args Existing shortcode arguments.
+     * @param array $args Existing Shortcode arguments.
      * @param array $shortcode_atts Shortcode attributes.
-     * @return array $args Modified shortcode arguments.
      */
     return apply_filters('civicrm_shortcode_preprocess_atts', $args, $shortcode_atts);
 
   }
 
   /**
-   * Post-process CiviCRM-defined shortcodes.
+   * Post-process CiviCRM-defined Shortcodes.
    *
    * @since 4.6
    *
    * @param array $atts Shortcode attributes array.
    * @param array $args Shortcode arguments array.
-   * @return array|bool $data The array data used to build the shortcode markup, or false on failure.
+   * @return array|bool $data The array data used to build the Shortcode markup, or false on failure.
    */
   public function get_data($atts, $args) {
 
@@ -925,18 +924,16 @@ class CiviCRM_For_WordPress_Shortcodes {
      * Filter the base CiviCRM API parameters.
      *
      * This filter allows plugins or CiviCRM Extensions to modify the API call
-     * when there are multiple shortcodes being rendered.
+     * when there are multiple Shortcodes being rendered.
      *
      * @since 4.7.28
      *
      * @param array $params Existing API params.
      * @param array $atts Shortcode attributes array.
      * @param array $args Shortcode arguments array.
-     * @return array $params Modified API params.
      */
     $params = apply_filters('civicrm_shortcode_api_params', [
-      'version' => 3,
-      'sequential' => '1',
+      'sequential' => 1,
     ], $atts, $args);
 
     // Get the CiviCRM entity via the API.
@@ -948,7 +945,7 @@ class CiviCRM_For_WordPress_Shortcodes {
         $params['id'] = $args['id'];
 
         // Call API.
-        $civi_entity = civicrm_api('contribution_page', 'getsingle', $params);
+        $civi_entity = civicrm_api3('ContributionPage', 'getsingle', $params);
 
         // Set title.
         $data['title'] = $civi_entity['title'];
@@ -967,7 +964,7 @@ class CiviCRM_For_WordPress_Shortcodes {
         $params['id'] = $args['id'];
 
         // Call API.
-        $civi_entity = civicrm_api('event', 'getsingle', $params);
+        $civi_entity = civicrm_api3('Event', 'getsingle', $params);
 
         // Set title.
         switch ($atts['action']) {
@@ -1011,7 +1008,7 @@ class CiviCRM_For_WordPress_Shortcodes {
         $params['id'] = $args['gid'];
 
         // Call API.
-        $civi_entity = civicrm_api('uf_group', 'getsingle', $params);
+        $civi_entity = civicrm_api3('UFGroup', 'getsingle', $params);
 
         // Set title.
         $data['title'] = $civi_entity['title'];
@@ -1026,7 +1023,7 @@ class CiviCRM_For_WordPress_Shortcodes {
         $params['id'] = $atts['id'];
 
         // Call API.
-        $civi_entity = civicrm_api('survey', 'getsingle', $params);
+        $civi_entity = civicrm_api3('Survey', 'getsingle', $params);
 
         // Set title.
         $data['title'] = $civi_entity['title'];
@@ -1040,23 +1037,22 @@ class CiviCRM_For_WordPress_Shortcodes {
         break;
 
       default:
-        // Do we need to protect against malformed shortcodes?
+        // Do we need to protect against malformed Shortcodes?
         break;
 
     }
 
     /**
-     * Filter the CiviCRM shortcode data array.
+     * Filter the CiviCRM Shortcode data array.
      *
      * This filter allows plugins or CiviCRM Extensions to modify the data used
-     * to display the shortcode when there are multiple shortcodes being rendered.
+     * to display the Shortcode when there are multiple Shortcodes being rendered.
      *
      * @since 4.7.28
      *
-     * @param array $data The existing shortcode data.
+     * @param array $data The existing Shortcode data.
      * @param array $atts Shortcode attributes array.
      * @param array $args Shortcode arguments array.
-     * @return array $data The modified shortcode data.
      */
     return apply_filters('civicrm_shortcode_get_data', $data, $atts, $args);
 
diff --git a/includes/civicrm.users.php b/includes/civicrm.users.php
index e4ee2f7542..14a384f0a6 100644
--- a/includes/civicrm.users.php
+++ b/includes/civicrm.users.php
@@ -47,7 +47,7 @@ class CiviCRM_For_WordPress_Users {
     $this->civi = civi_wp();
 
     // Always listen for activation action.
-    add_action('civicrm_activation', [$this, 'activate']);
+    add_action('civicrm_activate', [$this, 'activate']);
 
   }
 
@@ -59,7 +59,7 @@ class CiviCRM_For_WordPress_Users {
   public function activate() {
 
     /*
-     * Assign minimum capabilities for all WordPress roles and create
+     * Assign minimum capabilities to all WordPress roles and create
      * 'anonymous_user' role.
      */
     $this->set_wp_user_capabilities();
@@ -86,14 +86,22 @@ class CiviCRM_For_WordPress_Users {
     add_action('profile_update', [$this, 'update_user']);
 
     // Delete ufMatch record when a WordPress user is deleted.
-    add_action('deleted_user', [$this, 'delete_user_ufmatch'], 10, 1);
+    add_action('deleted_user', [$this, 'delete_user_ufmatch']);
 
   }
 
   /**
    * Check permissions.
    *
-   * Authentication function used by basepage_register_hooks()
+   * This method only denies permission when the CiviCRM path that is requested
+   * begins with "civicrm/admin". Its intention seems to be to exclude admin
+   * requests from display on the front-end.
+   *
+   * Used internally by:
+   *
+   * - CiviCRM_For_WordPress_Basepage::basepage_handler()
+   * - CiviCRM_For_WordPress_Shortcodes::render_single()
+   * - civicrm_check_permission()
    *
    * @since 4.6
    *
@@ -113,7 +121,7 @@ class CiviCRM_For_WordPress_Users {
 
     require_once 'CRM/Utils/Array.php';
 
-    // All profile and file urls, as well as user dashboard and tell-a-friend are valid.
+    // All profile and file URLs, as well as user dashboard and tell-a-friend are valid.
     $arg1 = CRM_Utils_Array::value(1, $args);
     $invalidPaths = ['admin'];
     if (in_array($arg1, $invalidPaths)) {
@@ -195,8 +203,8 @@ class CiviCRM_For_WordPress_Users {
    */
   public function sync_user($user = FALSE) {
 
-    // Sanity check
-    if ($user === FALSE || !is_a($user, 'WP_User')) {
+    // Sanity check.
+    if ($user === FALSE || !($user instanceof WP_User)) {
       return;
     }
 
@@ -258,11 +266,6 @@ class CiviCRM_For_WordPress_Users {
    */
   public function set_wp_user_capabilities() {
 
-    global $wp_roles;
-    if (!isset($wp_roles)) {
-      $wp_roles = new WP_Roles();
-    }
-
     // Define minimum capabilities (CiviCRM permissions).
     $default_min_capabilities = [
       'access_civimail_subscribe_unsubscribe_pages' => 1,
@@ -284,11 +287,11 @@ class CiviCRM_For_WordPress_Users {
      * @since 4.6
      *
      * @param array $default_min_capabilities The minimum capabilities.
-     * @return array $default_min_capabilities The modified capabilities.
      */
     $min_capabilities = apply_filters('civicrm_min_capabilities', $default_min_capabilities);
 
     // Assign the minimum capabilities to all WordPress roles.
+    $wp_roles = wp_roles();
     foreach ($wp_roles->role_names as $role => $name) {
       $roleObj = $wp_roles->get_role($role);
       foreach ($min_capabilities as $capability_name => $capability_value) {
@@ -298,11 +301,7 @@ class CiviCRM_For_WordPress_Users {
 
     // Add the 'anonymous_user' role with minimum capabilities.
     if (!in_array('anonymous_user', $wp_roles->roles)) {
-      add_role(
-        'anonymous_user',
-        __('Anonymous User', 'civicrm'),
-        $min_capabilities
-      );
+      add_role('anonymous_user', __('Anonymous User', 'civicrm'), $min_capabilities);
     }
 
   }
@@ -319,11 +318,7 @@ class CiviCRM_For_WordPress_Users {
    */
   public function set_access_capabilities() {
 
-    // Test for existing global
-    global $wp_roles;
-    if (!isset($wp_roles)) {
-      $wp_roles = new WP_Roles();
-    }
+    $wp_roles = wp_roles();
 
     /**
      * Filter the default roles with access to CiviCRM.
@@ -334,7 +329,6 @@ class CiviCRM_For_WordPress_Users {
      * @since 4.6
      *
      * @param array The default roles with access to CiviCRM.
-     * @return array The modified roles with access to CiviCRM.
      */
     $roles = apply_filters('civicrm_access_roles', ['super admin', 'administrator']);
 
diff --git a/uninstall.php b/uninstall.php
index 4dfde30a00..ae999bbe45 100644
--- a/uninstall.php
+++ b/uninstall.php
@@ -24,3 +24,8 @@ if (!defined('WP_UNINSTALL_PLUGIN')) {
 
 // Delete options that this plugin has set.
 delete_option('civicrm_activation_in_progress');
+delete_option('civicrm_rules_flushed');
+
+// TODO: Remove the CiviCRM Base Page(s).
+// TODO: Remove the directory/directories that "civicrm.settings.php" lives in.
+// TODO: Remove the CiviCRM database(s).
diff --git a/wp-cli/README.md b/wp-cli/README.md
index cca2d33488..65be93e473 100644
--- a/wp-cli/README.md
+++ b/wp-cli/README.md
@@ -1,4 +1,88 @@
-wp-cli-civicrm
-==============
+# WP-CLI integration for CiviCRM
 
-WP-CLI integration for CiviCRM
+#### wp civicrm api
+
+Command for accessing the CiviCRM API. Syntax is identical to `drush cvap`.
+
+#### wp civicrm cache-clear
+
+Command for accessing clearing cache. Equivilant of running `civicrm/admin/setting/updateConfigBackend&reset=1`.
+
+#### wp civicrm enable-debug
+
+Command for to turn debug on.
+
+#### wp civicrm disable-debug
+
+Command for to turn debug off.
+
+#### wp civicrm member-records
+
+Run the CiviMember UpdateMembershipRecord cron (civicrm member-records).
+
+#### wp civicrm process-mail-queue
+
+Process pending CiviMail mailing jobs.
+
+Example: `wp civicrm process-mail-queue -u admin`
+
+#### wp civicrm rest
+
+Rest interface for accessing CiviCRM APIs. It can return `xml` or `json` formatted data.
+
+#### wp civicrm restore
+
+Restore CiviCRM codebase and database back from the specified backup directory.
+
+#### wp civicrm sql-conf
+
+Show CiviCRM database connection details.
+
+#### wp civicrm sql-connect
+
+A string which connects to the CiviCRM database.
+
+#### wp civicrm sql-cli
+
+Quickly enter the `mysql` command line.
+
+#### wp civicrm sql-dump
+
+Prints the whole CiviCRM database to `STDOUT` or save to a file.
+
+#### wp civicrm sql-query
+
+Usage: `wp civicrm sql-query <query> <options>...`
+
+`<query>` is a SQL statement which can alternatively be passed via `STDIN`. Any additional arguments are passed to the `mysql` command directly.
+
+#### wp civicrm update-cfg
+
+Update `config_backend` to correct config settings, especially when the CiviCRM site has been cloned or migrated.
+
+#### wp civicrm upgrade
+
+Take backups, replace CiviCRM codebase with new specified tarfile and upgrade database by executing the CiviCRM upgrade process - `civicrm/upgrade?reset=1`. Use `wp civicrm restore` to revert to previous state in case anything goes wrong.
+
+#### wp civicrm upgrade-db
+
+Run `civicrm/upgrade?reset=1` just as a web browser would.
+
+#### wp civicrm install
+
+Command for to install CiviCRM. The install command requires that you have downloaded a tarball or zip file first.
+
+Options:
+
+```
+--dbhost            MySQL host for your WordPress/CiviCRM database. Defaults to localhost.
+--dbname            MySQL database name of your WordPress/CiviCRM database.
+--dbpass            MySQL password for your WordPress/CiviCRM database.
+--dbuser            MySQL username for your WordPress/CiviCRM database.
+--lang              Default language to use for installation.
+--langtarfile       Path to your l10n tar.gz file.
+--site_url          Base Url for your WordPress/CiviCRM website without http (e.g. mysite.com)
+--ssl               Using ssl for your WordPress/CiviCRM website if set to on (e.g. --ssl=on)
+--tarfile           Path to your CiviCRM tar.gz file.
+--zipfile           Path to your CiviCRM zip file.
+```
diff --git a/wp-cli/civicrm.php b/wp-cli/civicrm.php
index 664b50f7c0..9532e8cb71 100644
--- a/wp-cli/civicrm.php
+++ b/wp-cli/civicrm.php
@@ -9,15 +9,22 @@
  +--------------------------------------------------------------------+
  */
 
+/**
+ *
+ * @package CRM
+ * @copyright CiviCRM LLC https://civicrm.org/licensing
+ *
+ */
+
 if (!defined('CIVICRM_WPCLI_LOADED')) {
   define('CIVICRM_WPCLI_LOADED', 1);
 
   /**
-   * WP-CLI port of drush-civicrm integration
-   * andyw@circle, 08/03/2014
+   * WP-CLI port of drush-civicrm integration.
+   *
+   * @see https://github.com/andy-walker/wp-cli-civicrm
    *
-   * Distributed under the GNU Affero General Public License, version 3
-   * http://www.gnu.org/licenses/agpl-3.0.html
+   * @since 4.5
    */
   class CiviCRM_Command extends WP_CLI_Command {
 
@@ -28,27 +35,32 @@ if (!defined('CIVICRM_WPCLI_LOADED')) {
      * WP-CLI integration with CiviCRM.
      *
      * wp civicrm api
-     * ===============
-     * Command for accessing CiviCRM APIs. Syntax is identical to drush cvap.
+     * ==============
+     * Command for accessing the CiviCRM API. Syntax is identical to `drush cvap`.
      *
      * wp civicrm cache-clear
-     * ===============
-     * Command for accessing clearing cache.  Equivilant of running civicrm/admin/setting/updateConfigBackend&reset=1
+     * ======================
+     * Command for accessing clearing cache.  Equivilant of running `civicrm/admin/setting/updateConfigBackend&reset=1`.
      *
      * wp civicrm enable-debug
-     * ===============
+     * =======================
      * Command for to turn debug on.
      *
      * wp civicrm disable-debug
-     * ===============
+     * ========================
      * Command for to turn debug off.
      *
      * wp civicrm member-records
-     * ===============
+     * =========================
      * Run the CiviMember UpdateMembershipRecord cron (civicrm member-records).
      *
+     * wp civicrm pipe <connection-flags>
+     * ==================
+     * Start a Civi::pipe session (JSON-RPC 2.0)
+     * See https://docs.civicrm.org/dev/en/latest/framework/pipe#flags
+     *
      * wp civicrm process-mail-queue
-     * ===============
+     * =============================
      * Process pending CiviMail mailing jobs.
      * Example:
      * wp civicrm process-mail-queue -u admin
@@ -59,15 +71,15 @@ if (!defined('CIVICRM_WPCLI_LOADED')) {
      *
      * wp civicrm restore
      * ==================
-     * Restore CiviCRM codebase and database back from the specified backup directory
+     * Restore CiviCRM codebase and database back from the specified backup directory.
      *
      * wp civicrm sql-conf
      * ===================
-     * Show civicrm database connection details.
+     * Show CiviCRM database connection details.
      *
      * wp civicrm sql-connect
      * ======================
-     * A string which connects to the civicrm database.
+     * A string which connects to the CiviCRM database.
      *
      * wp civicrm sql-cli
      * ==================
@@ -80,11 +92,11 @@ if (!defined('CIVICRM_WPCLI_LOADED')) {
      * wp civicrm sql-query
      * ====================
      * Usage: wp civicrm sql-query <query> <options>...
-     * <query> is a SQL statement, which can alternatively be passed via STDIN. Any additional arguments are passed to the mysql command directly.";
+     * <query> is a SQL statement, which can alternatively be passed via STDIN. Any additional arguments are passed to the mysql command directly.
      *
      * wp civicrm update-cfg
      * =====================
-     * Update config_backend to correct config settings, especially when the CiviCRM site has been cloned / migrated.
+     * Update config_backend to correct config settings, especially when the CiviCRM site has been cloned or migrated.
      *
      * wp civicrm upgrade
      * ==================
@@ -95,7 +107,7 @@ if (!defined('CIVICRM_WPCLI_LOADED')) {
      * Run civicrm/upgrade?reset=1 just as a web browser would.
      *
      * wp civicrm install
-     * ===============
+     * ==================
      * Command for to install CiviCRM.  The install command requires that you have downloaded a tarball or zip file first.
      * Options:
      * --dbhost            MySQL host for your WordPress/CiviCRM database. Defaults to localhost.
@@ -107,6 +119,7 @@ if (!defined('CIVICRM_WPCLI_LOADED')) {
      * --site_url          Base Url for your WordPress/CiviCRM website without http (e.g. mysite.com)
      * --ssl               Using ssl for your WordPress/CiviCRM website if set to on (e.g. --ssl=on)
      * --tarfile           Path to your CiviCRM tar.gz file.
+     * --zipfile           Path to your CiviCRM zip file.
      *
      */
     public function __invoke($args, $assoc_args) {
@@ -114,7 +127,7 @@ if (!defined('CIVICRM_WPCLI_LOADED')) {
       $this->args       = $args;
       $this->assoc_args = $assoc_args;
 
-      # define command router
+      // Define command router.
       $command_router = [
         'api'                => 'api',
         'cache-clear'        => 'cacheClear',
@@ -122,6 +135,7 @@ if (!defined('CIVICRM_WPCLI_LOADED')) {
         'disable-debug'      => 'disableDebug',
         'install'            => 'install',
         'member-records'     => 'memberRecords',
+        'pipe'               => 'pipe',
         'process-mail-queue' => 'processMailQueue',
         'rest'               => 'rest',
         'restore'            => 'restore',
@@ -135,26 +149,33 @@ if (!defined('CIVICRM_WPCLI_LOADED')) {
         'upgrade-db'         => 'upgradeDB',
       ];
 
-      # get command
+      // Get the command.
       $command = array_shift($args);
 
-      # check for existence of Civi (except for command 'install')
-      if (!function_exists('civicrm_initialize') and 'install' != $command) {
+      // Allow help to pass.
+      if ('help' === $command) {
+        return;
+      }
+
+      // Check for existence of CiviCRM (except for command 'install').
+      if (!function_exists('civicrm_initialize') && 'install' != $command) {
         return WP_CLI::error('Unable to find CiviCRM install.');
       }
 
-      # check existence of router entry / handler method
-      if (!isset($command_router[$command]) or !method_exists($this, $command_router[$command])) {
-        return WP_CLI::error("Unrecognized command - '$command'");
+      // Check existence of router entry / handler method.
+      if (!isset($command_router[$command]) || !method_exists($this, $command_router[$command])) {
+        return WP_CLI::error(sprintf('Unrecognized command: %s', $command));
       }
 
-      # run command
+      // Run command.
       return $this->{$command_router[$command]}();
 
     }
 
     /**
-     * Implementation of command 'api'
+     * Implementation of command 'api'.
+     *
+     * @since 4.5
      */
     private function api() {
 
@@ -164,11 +185,11 @@ if (!defined('CIVICRM_WPCLI_LOADED')) {
       list($entity, $action) = explode('.', $this->args[0]);
       array_shift($this->args);
 
-      # parse $params
+      //  Parse params.
       $format = $this->getOption('in', 'args');
       switch ($format) {
 
-        # input params supplied via args ..
+        //  Input params supplied via args.
         case 'args':
           $params = $defaults;
           foreach ($this->args as $arg) {
@@ -177,20 +198,21 @@ if (!defined('CIVICRM_WPCLI_LOADED')) {
           }
           break;
 
-        # input params supplied via json ..
+        //  Input params supplied via json.
         case 'json':
           $json   = stream_get_contents(STDIN);
           $params = (empty($json) ? $defaults : array_merge($defaults, json_decode($json, TRUE)));
           break;
 
         default:
-          WP_CLI::error('Unknown format: ' . $format);
+          WP_CLI::error(sprintf('Unknown format: %s', $format));
           break;
+
       }
 
       civicrm_initialize();
 
-      // CRM-18062: Set CiviCRM timezone if any
+      // CRM-18062: Set CiviCRM timezone if any.
       $wp_base_timezone = date_default_timezone_get();
       $wp_user_timezone = $this->getOption('timezone', get_option('timezone_string'));
       if ($wp_user_timezone) {
@@ -200,32 +222,34 @@ if (!defined('CIVICRM_WPCLI_LOADED')) {
 
       $result = civicrm_api($entity, $action, $params);
 
-      // restore WP's timezone
+      // Restore WordPress's timezone.
       if ($wp_base_timezone) {
         date_default_timezone_set($wp_base_timezone);
       }
 
       switch ($this->getOption('out', 'pretty')) {
 
-        # pretty-print output (default)
+        // Pretty-print output (default).
         case 'pretty':
           WP_CLI::line(print_r($result, TRUE));
           break;
 
-        # display output as json
+        // Display output as json.
         case 'json':
           WP_CLI::line(json_encode($result));
           break;
 
         default:
-          return WP_CLI::error('Unknown format: ' . $format);
+          return WP_CLI::error(sprintf('Unknown format: %s', $format));
 
       }
 
     }
 
     /**
-     * Implementation of command 'cache-clear'
+     * Implementation of command 'cache-clear'.
+     *
+     * @since 4.5
      */
     private function cacheClear() {
 
@@ -233,20 +257,22 @@ if (!defined('CIVICRM_WPCLI_LOADED')) {
       require_once 'CRM/Core/Config.php';
       $config = CRM_Core_Config::singleton();
 
-      # clear db caching
+      // Clear db caching.
       $config->clearDBCache();
 
-      # also cleanup the templates_c directory
+      // Also cleanup the templates_c directory.
       $config->cleanup(1, FALSE);
 
-      # also cleanup the session object
+      // Also cleanup the session object.
       $session = CRM_Core_Session::singleton();
       $session->reset(1);
 
     }
 
     /**
-     * Implementation of command 'enable-debug'
+     * Implementation of command 'enable-debug'.
+     *
+     * @since 4.5
      */
     private function enableDebug() {
       civicrm_initialize();
@@ -258,7 +284,9 @@ if (!defined('CIVICRM_WPCLI_LOADED')) {
     }
 
     /**
-     * Implementation of command 'disable-debug'
+     * Implementation of command 'disable-debug'.
+     *
+     * @since 4.7
      */
     private function disableDebug() {
       civicrm_initialize();
@@ -270,14 +298,16 @@ if (!defined('CIVICRM_WPCLI_LOADED')) {
     }
 
     /**
-     * Implementation of command 'install'
+     * Implementation of command 'install'.
+     *
+     * @since 4.5
      */
     private function install() {
       if ('on' === $this->getOption('ssl', FALSE)) {
         $_SERVER['HTTPS'] = 'on';
       }
 
-      # identify destination
+      // Identify the destination.
 
       if ($plugin_path = $this->getOption('destination', FALSE)) {
         $plugin_path = ABSPATH . $plugin_path;
@@ -290,24 +320,20 @@ if (!defined('CIVICRM_WPCLI_LOADED')) {
       $crmPath = "$plugin_path/civicrm";
       $crm_files_present = is_dir($crmPath);
 
-      # validate
+      // Validate install parameters.
 
       if (!$dbuser = $this->getOption('dbuser', FALSE)) {
         return WP_CLI::error('CiviCRM database username not specified.');
       }
-
       if (!$dbpass = $this->getOption('dbpass', FALSE)) {
         return WP_CLI::error('CiviCRM database password not specified.');
       }
-
       if (!$dbhost = $this->getOption('dbhost', FALSE)) {
         return WP_CLI::error('CiviCRM database host not specified.');
       }
-
       if (!$dbname = $this->getOption('dbname', FALSE)) {
         return WP_CLI::error('CiviCRM database name not specified.');
       }
-
       if ($lang = $this->getOption('lang', FALSE)) {
         $moPath = "$crmPath/l10n/$lang/LC_MESSAGES/civicrm.mo";
 
@@ -316,16 +342,16 @@ if (!defined('CIVICRM_WPCLI_LOADED')) {
         }
       }
 
-      # extract the archive
+      // Extract the archive.
       if ($this->getOption('tarfile', FALSE)) {
-        # should probably never get to here as Wordpress Civi comes in a zip file, but
-        # just in case that ever changes ..
+        // Should probably never get to here as Wordpress Civi comes in a zip file.
+        // Check anyway just in case that ever changes.
         if ($crm_files_present) {
           return WP_CLI::error('Existing CiviCRM found. No action taken.');
         }
 
         if (!$this->untar(dirname($plugin_path))) {
-          return WP_CLI::error('Error extracting tarfile');
+          return WP_CLI::error('Error extracting tarfile.');
         }
       }
       elseif ($this->getOption('zipfile', FALSE)) {
@@ -334,19 +360,18 @@ if (!defined('CIVICRM_WPCLI_LOADED')) {
         }
 
         if (!$this->unzip(dirname($plugin_path))) {
-          return WP_CLI::error('Error extracting zipfile');
+          return WP_CLI::error('Error extracting zipfile.');
         }
       }
       elseif ($crm_files_present) {
-        // Site is already extracted (which is how we're running this
-        // script); we just need to run the installer.
-
+        // Site is already extracted - which is how we're running this script.
+        // We just need to run the installer.
       }
       else {
-        return WP_CLI::error('No zipfile specified, use --zipfile=path/to/zipfile or extract file ahead of time');
+        return WP_CLI::error('No zipfile specified. Use "--zipfile=path/to/zipfile" or extract file ahead of time.');
       }
 
-      # include civicrm installer helper file
+      // Include CiviCRM classloader - so that we can run `Civi\Setup`.
       $classLoaderPath = "$crmPath/CRM/Core/ClassLoader.php";
 
       if (!file_exists($classLoaderPath)) {
@@ -370,7 +395,7 @@ if (!defined('CIVICRM_WPCLI_LOADED')) {
       }
 
       if (!empty($lang) && !file_exists($moPath)) {
-        return WP_CLI::error("Failed to find data for language ($lang). Please download valid language data with --langtarfile=<path/to/tarfile>.");
+        return WP_CLI::error("Failed to find data for language ($lang). Please download valid language data with \"--langtarfile=<path/to/tarfile>\".");
       }
 
       // Initialize civicrm-setup
@@ -421,7 +446,9 @@ if (!defined('CIVICRM_WPCLI_LOADED')) {
     }
 
     /**
-     * Implementation of command 'member-records'
+     * Implementation of command 'member-records'.
+     *
+     * @since 4.5
      */
     private function memberRecords() {
 
@@ -431,7 +458,7 @@ if (!defined('CIVICRM_WPCLI_LOADED')) {
 
         $job = new CRM_Core_JobManager();
         $job->executeJobByAction('job', 'process_membership');
-        WP_CLI::success("Executed 'process_membership' job.");
+        WP_CLI::success('Executed "process_membership" job.');
 
       }
       else {
@@ -459,8 +486,24 @@ if (!defined('CIVICRM_WPCLI_LOADED')) {
 
     }
 
+    private function pipe() {
+      civicrm_initialize();
+      if (!is_callable(['Civi', 'pipe'])) {
+        return WP_CLI::error('This version of CiviCRM does not include Civi::pipe() support.');
+      }
+
+      if (!empty($this->args[1])) {
+        Civi::pipe($this->args[1]);
+      }
+      else {
+        Civi::pipe();
+      }
+    }
+
     /**
-     * Implementation of command 'process-mail-queue'
+     * Implementation of command 'process-mail-queue'.
+     *
+     * @since 4.5
      */
     private function processMailQueue() {
 
@@ -484,7 +527,9 @@ if (!defined('CIVICRM_WPCLI_LOADED')) {
     }
 
     /**
-     * Implementation of command 'rest'
+     * Implementation of command 'rest'.
+     *
+     * @since 4.5
      */
     private function rest() {
 
@@ -510,7 +555,7 @@ if (!defined('CIVICRM_WPCLI_LOADED')) {
       $config = CRM_Core_Config::singleton();
 
       global $civicrm_root;
-      // adding dummy script, since based on this api file path is computed.
+      // Adding dummy script, since based on this api file path is computed.
       $_SERVER['SCRIPT_FILENAME'] = "$civicrm_root/extern/rest.php";
 
       if (isset($_GET['json']) && $_GET['json']) {
@@ -525,31 +570,33 @@ if (!defined('CIVICRM_WPCLI_LOADED')) {
     }
 
     /**
-     * Implementation of command 'restore'
+     * Implementation of command 'restore'.
+     *
+     * @since 4.5
      */
     private function restore() {
 
-      # validate ..
+      // Validate.
       $restore_dir = $this->getOption('restore-dir', FALSE);
       $restore_dir = rtrim($restore_dir, '/');
       if (!$restore_dir) {
-        return WP_CLI::error('Restore-dir not specified.');
+        return WP_CLI::error('"restore-dir" not specified.');
       }
 
       $sql_file = $restore_dir . '/civicrm.sql';
       if (!file_exists($sql_file)) {
-        return WP_CLI::error('Could not locate civicrm.sql file in the restore directory.');
+        return WP_CLI::error('Could not locate "civicrm.sql" file in the restore directory.');
       }
 
       $code_dir = $restore_dir . '/civicrm';
       if (!is_dir($code_dir)) {
-        return WP_CLI::error('Could not locate civicrm directory inside restore-dir.');
+        return WP_CLI::error('Could not locate the CiviCRM directory inside "restore-dir".');
       }
-      elseif (!file_exists("$code_dir/civicrm/civicrm-version.txt") and !file_exists("$code_dir/civicrm/civicrm-version.php")) {
-        return WP_CLI::error('civicrm directory inside restore-dir, doesn\'t look to be a valid civicrm codebase.');
+      elseif (!file_exists("$code_dir/civicrm/civicrm-version.txt") && !file_exists("$code_dir/civicrm/civicrm-version.php")) {
+        return WP_CLI::error('The CiviCRM directory inside "restore-dir" does not seem to be a valid CiviCRM codebase.');
       }
 
-      # prepare to restore ..
+      // Prepare to restore.
       $date = date('YmdHis');
 
       civicrm_initialize();
@@ -572,7 +619,7 @@ if (!defined('CIVICRM_WPCLI_LOADED')) {
       $restore_backup_dir = $this->getOption('backup-dir', $wp_root . '/../backup');
       $restore_backup_dir = rtrim($restore_backup_dir, '/');
 
-      # get confirmation from user -
+      // Get confirmation from user.
 
       if (!defined('CIVICRM_DSN')) {
         WP_CLI::error('CIVICRM_DSN is not defined.');
@@ -585,7 +632,7 @@ if (!defined('CIVICRM_WPCLI_LOADED')) {
       WP_CLI::line(sprintf("2. Dropping and creating '%s' database.", $db_spec['database']));
       WP_CLI::line("3. Loading '\$restore-dir/civicrm.sql' file into the database.");
       WP_CLI::line('');
-      WP_CLI::line(sprintf("Note: Before restoring a backup will be taken in '%s' directory.", "$restore_backup_dir/plugins/restore"));
+      WP_CLI::line(sprintf("Note: Before restoring, a backup will be taken in '%s' directory.", "$restore_backup_dir/plugins/restore"));
       WP_CLI::line('');
 
       WP_CLI::confirm('Do you really want to continue?');
@@ -593,22 +640,22 @@ if (!defined('CIVICRM_WPCLI_LOADED')) {
       $restore_backup_dir .= '/plugins/restore/' . $date;
 
       if (!mkdir($restore_backup_dir, 0755, TRUE)) {
-        return WP_CLI::error('Failed creating directory: ' . $restore_backup_dir);
+        return WP_CLI::error(sprintf('Failed to create directory: %s', $restore_backup_dir));
       }
 
-      # 1. backup and restore codebase
-      WP_CLI::line('Restoring civicrm codebase ..');
+      // 1. Backup and restore codebase.
+      WP_CLI::line('Restoring CiviCRM codebase...');
       if (is_dir($project_path) && !rename($project_path, $restore_backup_dir . '/civicrm')) {
         return WP_CLI::error(sprintf("Failed to take backup for '%s' directory", $project_path));
       }
 
       if (!rename($code_dir, $project_path)) {
-        return WP_CLI::error("Failed to restore civicrm directory '%s' to '%s'", $code_dir, $project_path);
+        return WP_CLI::error(sprintf("Failed to restore CiviCRM directory '%s' to '%s'", $code_dir, $project_path));
       }
 
       WP_CLI::success('Codebase restored.');
 
-      # 2. backup, drop and create database
+      // 2. Backup, drop and create database.
       WP_CLI::run_command(
         ['civicrm', 'sql-dump'],
         ['result-file' => $restore_backup_dir . '/civicrm.sql']
@@ -616,8 +663,7 @@ if (!defined('CIVICRM_WPCLI_LOADED')) {
 
       WP_CLI::success('Database backed up.');
 
-      # prepare a mysql command-line string for issuing
-      # db drop / create commands
+      // Prepare a mysql command-line string for issuing db drop/create commands.
       $command = sprintf(
         'mysql --user=%s --password=%s',
         $db_spec['username'],
@@ -628,31 +674,31 @@ if (!defined('CIVICRM_WPCLI_LOADED')) {
         $command .= ' --host=' . $db_spec['hostspec'];
       }
 
-      if (isset($dsn['port']) and !mpty($dsn['port'])) {
+      if (isset($dsn['port']) && !mpty($dsn['port'])) {
         $command .= ' --port=' . $db_spec['port'];
       }
 
-      # attempt to drop old database
+      // Attempt to drop old database.
       if (system($command . sprintf(' --execute="DROP DATABASE IF EXISTS %s"', $db_spec['database']))) {
-        return WP_CLI::error('Could not drop database: ' . $db_spec['database']);
+        return WP_CLI::error(sprintf('Could not drop database: %s', $db_spec['database']));
       }
 
       WP_CLI::success('Database dropped.');
 
-      # attempt to create new database
+      // Attempt to create new database.
       if (system($command . sprintf(' --execute="CREATE DATABASE %s"', $db_spec['database']))) {
-        WP_CLI::error('Could not create new database: ' . $db_spec['database']);
+        WP_CLI::error(sprintf('Could not create new database: %s', $db_spec['database']));
       }
 
       WP_CLI::success('Database created.');
 
-      # 3. restore database
-      WP_CLI::line('Loading civicrm.sql file from restore-dir ..');
+      // 3. Restore database.
+      WP_CLI::line('Loading "civicrm.sql" file from "restore-dir"...');
       system($command . ' ' . $db_spec['database'] . ' < ' . $sql_file);
 
       WP_CLI::success('Database restored.');
 
-      WP_CLI::line('Clearing caches..');
+      WP_CLI::line('Clearing caches...');
       WP_CLI::run_command(['civicrm', 'cache-clear']);
 
       WP_CLI::success('Restore process completed.');
@@ -660,7 +706,9 @@ if (!defined('CIVICRM_WPCLI_LOADED')) {
     }
 
     /**
-     * Implementation of command 'sql-conf'
+     * Implementation of command 'sql-conf'.
+     *
+     * @since 4.5
      */
     private function sqlConf() {
 
@@ -674,7 +722,9 @@ if (!defined('CIVICRM_WPCLI_LOADED')) {
     }
 
     /**
-     * Implementation of command 'sql-connect'
+     * Implementation of command 'sql-connect'.
+     *
+     * @since 4.5
      */
     private function sqlConnect() {
 
@@ -693,7 +743,7 @@ if (!defined('CIVICRM_WPCLI_LOADED')) {
         $dsn['password']
       );
 
-      if (isset($dsn['port']) and !empty($dsn['port'])) {
+      if (isset($dsn['port']) && !empty($dsn['port'])) {
         $command .= ' --port=' . $dsn['port'];
       }
 
@@ -702,16 +752,18 @@ if (!defined('CIVICRM_WPCLI_LOADED')) {
     }
 
     /**
-     * Implementation of command 'sql-dump'
+     * Implementation of command 'sql-dump'.
+     *
+     * @since 4.5
      */
     private function sqlDump() {
 
-      # bootstrap Civi when we're not being called as part of an upgrade
+      // Bootstrap CiviCRM when we're not being called as part of an upgrade.
       if (!defined('CIVICRM_UPGRADE_ACTIVE')) {
         civicrm_initialize();
       }
 
-      if (!defined('CIVICRM_DSN') and !defined('CIVICRM_OLD_DSN')) {
+      if (!defined('CIVICRM_DSN') && !defined('CIVICRM_OLD_DSN')) {
         WP_CLI::error('DSN is not defined.');
       }
 
@@ -749,7 +801,9 @@ if (!defined('CIVICRM_WPCLI_LOADED')) {
     }
 
     /**
-     * Implementation of command 'sql-query'
+     * Implementation of command 'sql-query'.
+     *
+     * @since 4.5
      */
     private function sqlQuery() {
 
@@ -780,7 +834,9 @@ if (!defined('CIVICRM_WPCLI_LOADED')) {
     }
 
     /**
-     * Implementation of command 'sql-cli'
+     * Implementation of command 'sql-cli'.
+     *
+     * @since 4.5
      */
     private function sqlCLI() {
 
@@ -803,7 +859,9 @@ if (!defined('CIVICRM_WPCLI_LOADED')) {
     }
 
     /**
-     * Implementation of command 'update-cfg'
+     * Implementation of command 'update-cfg'.
+     *
+     * @since 4.5
      */
     private function updateConfig() {
 
@@ -831,8 +889,8 @@ if (!defined('CIVICRM_WPCLI_LOADED')) {
 
       if ($result) {
 
-        # attempt to preserve webserver ownership of templates_c, civicrm/upload
-        if ($webserver_user and $webserver_group) {
+        // Attempt to preserve webserver ownership of templates_c, civicrm/upload.
+        if ($webserver_user && $webserver_group) {
           $upload_dir      = wp_upload_dir();
           $civicrm_files_dir      = $upload_dir['basedir'] . DIRECTORY_SEPARATOR . 'civicrm' . DIRECTORY_SEPARATOR;
           system(sprintf('chown -R %s:%s %s/templates_c', $webserver_user, $webserver_group, $civicrm_files_dir));
@@ -849,17 +907,19 @@ if (!defined('CIVICRM_WPCLI_LOADED')) {
     }
 
     /**
-     * Implementation of command 'upgrade'
+     * Implementation of command 'upgrade'.
+     *
+     * @since 4.5
      */
     private function upgrade() {
 
-      # todo: use wp-cli to download tarfile.
-      # todo: if tarfile is not specified, see if the code already exists and use that instead.
-      if (!$this->getOption('tarfile', FALSE) and !$this->getOption('zipfile', FALSE)) {
+      // TODO: Use wp-cli to download tarfile.
+      // TODO: If tarfile is not specified, see if the code already exists and use that instead.
+      if (!$this->getOption('tarfile', FALSE) && !$this->getOption('zipfile', FALSE)) {
         return WP_CLI::error('Must specify either --tarfile or --zipfile');
       }
 
-      # fixme: throw error if tarfile is not in a valid format.
+      // FIXME: Throw error if tarfile is not in a valid format.
       if (!defined('CIVICRM_UPGRADE_ACTIVE')) {
         define('CIVICRM_UPGRADE_ACTIVE', 1);
       }
@@ -870,18 +930,20 @@ if (!defined('CIVICRM_WPCLI_LOADED')) {
       $upload_dir      = wp_upload_dir();
       $settings_file     = $upload_dir['basedir'] . DIRECTORY_SEPARATOR . 'civicrm' . DIRECTORY_SEPARATOR . 'civicrm.settings.php';
       if (!file_exists($legacy_settings_file) && !file_exists($settings_file)) {
-        return WP_CLI::error('Unable to locate settings file at ' . $legacy_settings_file . 'or at ' . $settings_file);
+        return WP_CLI::error(sprintf('Unable to locate settings file at "%s" or at "%s"', $legacy_settings_file, $settings_file));
       }
 
-      # nb: we don't want to require civicrm.settings.php here, because ..
-      #
-      # a) this is the old environment we're going to replace
-      # b) upgrade-db needs to bootstrap the new environment, so requiring the file
-      #    now will create multiple inclusion problems later on
-      #
-      # however, all we're really after is $civicrm_root and CIVICRM_DSN, so we're going to
-      # pull out the lines we need using a regex and run them - yes, it's pretty silly ..
-      # don't try this at home, kids.
+      /*
+       * We don't want to require "civicrm.settings.php" here, because:
+       *
+       * a) This is the old environment we're going to replace.
+       * b) upgrade-db needs to bootstrap the new environment, so requiring the file
+       *    now will create multiple inclusion problems later on.
+       *
+       * However, all we're really after is $civicrm_root and CIVICRM_DSN, so we're going to
+       * pull out the lines we need using a regex and run them - yes, it's pretty silly.
+       * Don't try this at home, kids.
+       */
 
       $legacy_settings = file_get_contents($legacy_settings_file);
       $legacy_settings = str_replace("\r", '', $legacy_settings);
@@ -915,7 +977,7 @@ if (!defined('CIVICRM_WPCLI_LOADED')) {
       }
 
       if (!defined('CIVICRM_OLD_DSN')) {
-        return WP_CLI::error('Unable to set CIVICRM_OLD_DSN');
+        return WP_CLI::error('Unable to set CIVICRM_OLD_DSN.');
       }
 
       $date        = date('YmdHis');
@@ -935,29 +997,26 @@ if (!defined('CIVICRM_WPCLI_LOADED')) {
       $backup_dir = $this->getOption('backup-dir', $wp_root . '../backup');
       $backup_dir = rtrim($backup_dir, '/');
 
-      WP_CLI::line("\nThe upgrade process involves - ");
+      WP_CLI::line();
+      WP_CLI::line('The upgrade process involves:');
       WP_CLI::line(sprintf('1. Backing up current CiviCRM code as => %s', "$backup_dir/plugins/$date/$backup_file"));
       WP_CLI::line(sprintf('2. Backing up database as => %s', "$backup_dir/plugins/$date/$backup_file.sql"));
       WP_CLI::line(sprintf('3. Unpacking tarfile to => %s', $plugin_path));
-      WP_CLI::line("4. Executing civicrm/upgrade?reset=1 just as a browser would.\n");
+      WP_CLI::line('4. Executing "civicrm/upgrade?reset=1" just as a browser would.');
+      WP_CLI::line();
 
       WP_CLI::confirm('Do you really want to continue?');
 
-      # begin upgrade
-
+      // Begin upgrade.
       $backup_dir .= '/plugins/' . $date;
       if (!mkdir($backup_dir, 0755, TRUE)) {
-        return WP_CLI::error('Failed creating directory: ' . $backup_dir);
+        return WP_CLI::error(sprintf('Failed to create directory: %s', $backup_dir));
       }
 
       $backup_target = $backup_dir . '/' . $backup_file;
 
       if (!rename($project_path, $backup_target)) {
-        return WP_CLI::error(sprintf(
-          'Failed to backup CiviCRM project directory %s to %s',
-          $project_path,
-          $backup_target
-        ));
+        return WP_CLI::error(sprintf('Failed to backup CiviCRM project directory %s to %s', $project_path, $backup_target));
       }
 
       WP_CLI::line();
@@ -970,10 +1029,9 @@ if (!defined('CIVICRM_WPCLI_LOADED')) {
 
       WP_CLI::success('2. Database backed up.');
 
-      # decompress
+      // Decompress.
       if ($this->getOption('tarfile', FALSE)) {
-        # should probably never get to here, as looks like Wordpress Civi comes
-        # in a zip file
+        // Should probably never get to here, because WordPress CiviCRM comes in a zip file.
         if (!$this->untar($plugin_path)) {
           return WP_CLI::error('Error extracting tarfile');
         }
@@ -993,10 +1051,10 @@ if (!defined('CIVICRM_WPCLI_LOADED')) {
       define('CIVICRM_SETTINGS_PATH', $project_path . 'civicrm.settings.php');
 
       if (!copy($backup_dir . '/civicrm/civicrm.settings.php', CIVICRM_SETTINGS_PATH)) {
-        return WP_CLI::error('Failed to copy file');
+        return WP_CLI::error('Failed to copy file.');
       }
 
-      WP_CLI::success('4. ');
+      WP_CLI::success('4. Settings file copied.');
 
       WP_CLI::run_command(['civicrm', 'upgrade-db'], []);
 
@@ -1005,7 +1063,9 @@ if (!defined('CIVICRM_WPCLI_LOADED')) {
     }
 
     /**
-     * Implementation of command 'upgrade-db'
+     * Implementation of command 'upgrade-db'.
+     *
+     * @since 4.5
      */
     private function upgradeDB() {
 
@@ -1016,11 +1076,12 @@ if (!defined('CIVICRM_WPCLI_LOADED')) {
       }
 
       if (class_exists('CRM_Upgrade_Headless')) {
-        # Note: CRM_Upgrade_Headless introduced in 4.2 -- at the same time as class auto-loading
+
+        // CRM_Upgrade_Headless introduced in 4.2 - at the same time as class auto-loading.
         try {
           $upgrade_headless = new CRM_Upgrade_Headless();
           $result = $upgrade_headless->run();
-          WP_CLI::line('Upgrade outputs: ' . '"' . $result['message'] . '"');
+          WP_CLI::line(sprintf('Upgrade outputs: "%s"', $result['message']));
         }
         catch (Exception $e) {
           WP_CLI::error($e->getMessage());
@@ -1035,18 +1096,18 @@ if (!defined('CIVICRM_WPCLI_LOADED')) {
         require_once 'CRM/Upgrade/Page/Upgrade.php';
         $upgrade = new CRM_Upgrade_Page_Upgrade();
 
-        // new since CiviCRM 4.1
+        // New since CiviCRM 4.1.
         if (is_callable([$upgrade, 'setPrint'])) {
           $upgrade->setPrint(TRUE);
         }
 
-        # to suppress html output /w source code.
+        // To suppress HTML output with source code.
         ob_start();
         $upgrade->run();
-        # capture the required message.
+        // Capture the required message.
         $result = $template->get_template_vars('message');
         ob_end_clean();
-        WP_CLI::line('Upgrade outputs: ' . "\"$result\"");
+        WP_CLI::line(sprintf('Upgrade outputs: "%s"', $result));
 
       }
 
@@ -1054,9 +1115,12 @@ if (!defined('CIVICRM_WPCLI_LOADED')) {
 
     /**
      * DSN parser - this has been stolen from PEAR DB since we don't always have a
-     * bootstrapped environment we can access this from, eg: when doing an upgrade
-     * @param  $dsn (string)
-     * @return array containing db connection details
+     * bootstrapped environment we can access this from, eg: when doing an upgrade.
+     *
+     * @since 4.5
+     *
+     * @param string|array $dsn
+     * @return array $parsed The arry containing db connection details.
      */
     private static function parseDSN($dsn) {
 
@@ -1080,7 +1144,7 @@ if (!defined('CIVICRM_WPCLI_LOADED')) {
         return $dsn;
       }
 
-      // Find phptype and dbsyntax
+      // Find phptype and dbsyntax.
       if (($pos = strpos($dsn, '://')) !== FALSE) {
         $str = substr($dsn, 0, $pos);
         $dsn = substr($dsn, $pos + 3);
@@ -1090,7 +1154,7 @@ if (!defined('CIVICRM_WPCLI_LOADED')) {
         $dsn = NULL;
       }
 
-      // Get phptype and dbsyntax
+      // Get phptype and dbsyntax.
       // $str => phptype(dbsyntax)
       if (preg_match('|^(.+?)\((.*?)\)$|', $str, $arr)) {
         $parsed['phptype']  = $arr[1];
@@ -1105,7 +1169,7 @@ if (!defined('CIVICRM_WPCLI_LOADED')) {
         return $parsed;
       }
 
-      // Get (if found): username and password
+      // Get (if found): username and password.
       // $dsn => username:password@protocol+hostspec/database
       if (($at = strrpos($dsn, '@')) !== FALSE) {
         $str = substr($dsn, 0, $at);
@@ -1119,7 +1183,7 @@ if (!defined('CIVICRM_WPCLI_LOADED')) {
         }
       }
 
-      // Find protocol and hostspec
+      // Find protocol and hostspec.
 
       if (preg_match('|^([^(]+)\((.*?)\)/?(.*?)$|', $dsn, $match)) {
         // $dsn => proto(proto_opts)/database
@@ -1142,7 +1206,7 @@ if (!defined('CIVICRM_WPCLI_LOADED')) {
         }
       }
 
-      // process the different protocol options
+      // Process the different protocol options.
       $parsed['protocol'] = (!empty($proto)) ? $proto : 'tcp';
       $proto_opts = rawurldecode($proto_opts);
       if (strpos($proto_opts, ':') !== FALSE) {
@@ -1155,7 +1219,7 @@ if (!defined('CIVICRM_WPCLI_LOADED')) {
         $parsed['socket'] = $proto_opts;
       }
 
-      // Get dabase if any
+      // Get dabase if any.
       // $dsn => database
       if ($dsn) {
         if (($pos = strpos($dsn, '?')) === FALSE) {
@@ -1176,7 +1240,7 @@ if (!defined('CIVICRM_WPCLI_LOADED')) {
           foreach ($opts as $opt) {
             list($key, $value) = explode('=', $opt);
             if (!isset($parsed[$key])) {
-              // don't allow params overwrite
+              // Don't allow params overwrite.
               $parsed[$key] = rawurldecode($value);
             }
           }
@@ -1184,10 +1248,13 @@ if (!defined('CIVICRM_WPCLI_LOADED')) {
       }
 
       return $parsed;
+
     }
 
     /**
-     * Helper function to replicate functionality of drush_get_option
+     * Helper function to replicate functionality of 'drush_get_option'.
+     *
+     * @since 4.5
      *
      * @param string $name
      * @param string $default
@@ -1198,17 +1265,23 @@ if (!defined('CIVICRM_WPCLI_LOADED')) {
     }
 
     /**
-     * Get the user the web server runs as, used to preserve file permissions on templates_c, civicrm/upload
-     * etc when running as root. This is not a very good check, but is good enough for what we want to do,
-     * which is preserve file permissions
-     * @return string - the user which owns templates_c / empty string if not found
+     * Get the user the web server runs as - used to preserve file permissions on
+     * templates_c, civicrm/upload etc when running as root. This is not a very
+     * good check, but is good enough for what we want to do, which is to preserve
+     * file permissions.
+     *
+     * @since 4.5
+     *
+     * @return string The user which owns templates_c. Empty string if not found.
      */
     private function getWebServerUser() {
+
       $plugins_dir = plugin_dir_path(__FILE__);
       $plugins_dir_root = WP_PLUGIN_DIR;
       $upload_dir      = wp_upload_dir();
       $tpl_path     = $upload_dir['basedir'] . DIRECTORY_SEPARATOR . 'civicrm' . DIRECTORY_SEPARATOR . 'templates_c';
       $legacy_tpl_path = $plugins_dir_root . '/files/civicrm/templates_c';
+
       if (is_dir($legacy_tpl_path)) {
         $owner = posix_getpwuid(fileowner($legacy_tpl_path));
         if (isset($owner['name'])) {
@@ -1221,19 +1294,26 @@ if (!defined('CIVICRM_WPCLI_LOADED')) {
           return $owner['name'];
         }
       }
+
       return '';
 
     }
 
     /**
-     * Get the group the webserver runs as - as above, but for group
+     * Get the group the webserver runs as - as above, but for group.
+     *
+     * @since 4.5
+     *
+     * @return string The group the webserver runs as. Empty string if not found.
      */
     private function getWebServerGroup() {
+
       $plugins_dir = plugin_dir_path(__FILE__);
       $plugins_dir_root = WP_PLUGIN_DIR;
       $upload_dir      = wp_upload_dir();
       $tpl_path     = $upload_dir['basedir'] . DIRECTORY_SEPARATOR . 'civicrm' . DIRECTORY_SEPARATOR . 'templates_c';
       $legacy_tpl_path = $plugins_dir_root . '/files/civicrm/templates_c';
+
       if (is_dir($legacy_tpl_path)) {
         $group = posix_getgrgid(filegroup($legacy_tpl_path));
         if (isset($group['name'])) {
@@ -1246,19 +1326,24 @@ if (!defined('CIVICRM_WPCLI_LOADED')) {
           return $group['name'];
         }
       }
+
       return '';
 
     }
 
     /**
-     * Extract a tar.gz archive
-     * @param  $destination_path - the path to extract to
-     * @param  $option          - command line option to get input filename from, defaults to 'tarfile'
-     * @return bool
+     * Extracts a tar.gz archive.
+     *
+     * @since 4.5
+     *
+     * @param string $destination_path The path to extract to.
+     * @param string $option The command line option to get input filename from, defaults to 'tarfile'.
+     * @return bool True if successful, false otherwise.
      */
     private function untar($destination_path, $option = 'tarfile') {
 
       if ($tarfile = $this->getOption($option, FALSE)) {
+        WP_CLI::line('Extracting tar.gz archive...');
         WP_CLI::launch("gzip -d $tarfile");
         $tarfile = substr($tarfile, 0, strlen($tarfile) - 3);
         WP_CLI::launch("tar -xf $tarfile -C \"$destination_path\"");
@@ -1271,15 +1356,18 @@ if (!defined('CIVICRM_WPCLI_LOADED')) {
     }
 
     /**
-     * Extract a zip archive
-     * @param  $destination_path - the path to extract to
-     * @param  $option          - command line option to get zip filename from, defaults to 'zipfile'
-     * @return bool
+     * Extracts a zip archive.
+     *
+     * @since 4.5
+     *
+     * @param string $destination_path The path to extract to.
+     * @param string $option The command line option to get zip filename from, defaults to 'zipfile'.
+     * @return bool True if successful, false otherwise.
      */
     private function unzip($destination_path, $option = 'zipfile') {
 
       if ($zipfile = $this->getOption($option, FALSE)) {
-        WP_CLI::line('Extracting zip archive ...');
+        WP_CLI::line('Extracting zip archive...');
         WP_CLI::launch("unzip -q $zipfile -d $destination_path");
         return TRUE;
       }
@@ -1294,17 +1382,18 @@ if (!defined('CIVICRM_WPCLI_LOADED')) {
   WP_CLI::add_command('civicrm', 'CiviCRM_Command');
   WP_CLI::add_command('cv', 'CiviCRM_Command');
 
-  # Set path early.
+  // Set path early.
   WP_CLI::add_hook('before_wp_load', function() {
 
-    # If --path is set, save for later use by CiviCRM.
     global $civicrm_paths;
     $wp_cli_config = WP_CLI::get_config();
+
+    // If --path is set, save for later use by CiviCRM.
     if (!empty($wp_cli_config['path'])) {
       $civicrm_paths['cms.root']['path'] = $wp_cli_config['path'];
     }
 
-    # If --url is set, save for later use by CiviCRM.
+    // If --url is set, save for later use by CiviCRM.
     if (!empty($wp_cli_config['url'])) {
       $civicrm_paths['cms.root']['url'] = $wp_cli_config['url'];
     }
diff --git a/wp-rest/Autoloader.php b/wp-rest/Autoloader.php
index 0c52e4620e..a98c1f4562 100644
--- a/wp-rest/Autoloader.php
+++ b/wp-rest/Autoloader.php
@@ -2,7 +2,7 @@
 /**
  * Autoloader class.
  *
- * @since 0.1
+ * @since 5.25
  */
 
 namespace CiviCRM_WP_REST;
@@ -12,28 +12,28 @@ class Autoloader {
   /**
    * @var string
    * Instance.
-   * @since 0.1
+   * @since 5.25
    */
   private static $instance = NULL;
 
   /**
    * @var string
    * Namespace.
-   * @since 0.1
+   * @since 5.25
    */
   private $namespace = 'CiviCRM_WP_REST';
 
   /**
    * @var array
    * Autoloader directory sources.
-   * @since 0.1
+   * @since 5.25
    */
   private static $source_directories = [];
 
   /**
    * Constructor.
    *
-   * @since 0.1
+   * @since 5.25
    */
   private function __construct() {
 
@@ -44,7 +44,7 @@ class Autoloader {
   /**
    * Creates an instance of this class.
    *
-   * @since 0.1
+   * @since 5.25
    */
   private static function instance() {
 
@@ -57,12 +57,13 @@ class Autoloader {
   /**
    * Adds a directory source.
    *
-   * @since 0.1
+   * @since 5.25
+   *
    * @param string $source_path The source path
    */
   public static function add_source(string $source_path) {
 
-    // make sure we have an instance
+    // Make sure we have an instance.
     self::instance();
 
     if (!is_readable(trailingslashit($source_path))) {
@@ -76,8 +77,9 @@ class Autoloader {
   /**
    * Registers the autoloader.
    *
-   * @since 0.1
-   * @return bool Wehather the autoloader has been registered or not
+   * @since 5.25
+   *
+   * @return bool Wehather the autoloader has been registered or not.
    */
   private function register_autoloader() {
 
@@ -88,8 +90,9 @@ class Autoloader {
   /**
    * Loads the classes.
    *
-   * @since 0.1
-   * @param string $class_name The class name to load
+   * @since 5.25
+   *
+   * @param string $class_name The class name to load.
    */
   private function autoload($class_name) {
 
@@ -99,7 +102,7 @@ class Autoloader {
       return;
     }
 
-    // remove namespace and join class path
+    // Remove namespace and join class path.
     $class_path = str_replace('_', '-', implode(DIRECTORY_SEPARATOR, array_slice($parts, 1)));
 
     array_map(function($source_path) use ($class_path) {
diff --git a/wp-rest/Civi/Mailing-Hooks.php b/wp-rest/Civi/Mailing-Hooks.php
index 0501ca16a8..f4d17563f3 100644
--- a/wp-rest/Civi/Mailing-Hooks.php
+++ b/wp-rest/Civi/Mailing-Hooks.php
@@ -2,7 +2,7 @@
 /**
  * CiviCRM Mailing_Hooks class.
  *
- * @since 0.1
+ * @since 5.25
  */
 
 namespace CiviCRM_WP_REST\Civi;
@@ -12,28 +12,28 @@ class Mailing_Hooks {
   /**
    * @var string
    * Mailing Url endpoint.
-   * @since 0.1
+   * @since 5.25
    */
   public $url_endpoint;
 
   /**
    * @var string
    * Mailing Open endpoint.
-   * @since 0.1
+   * @since 5.25
    */
   public $open_endpoint;
 
   /**
    * @var array
    * The parsed WordPress REST url.
-   * @since 1.0
+   * @since 5.25
    */
   public $parsed_rest_url;
 
   /**
    * Constructor.
    *
-   * @since 0.1
+   * @since 5.25
    */
   public function __construct() {
 
@@ -48,7 +48,7 @@ class Mailing_Hooks {
   /**
    * Register hooks.
    *
-   * @since 0.1
+   * @since 5.25
    */
   public function register_hooks() {
 
@@ -59,11 +59,10 @@ class Mailing_Hooks {
   }
 
   /**
-   * Replaces the open, and click
-   * tracking URLs for a mailing (CiviMail)
-   * with thier REST counterparts.
+   * Replaces the "open" and "click tracking" URLs for a CiviMail Mailing with
+   * their REST counterparts.
    *
-   * @uses 'civicrm_alterExternUrl' filter
+   * @uses 'civicrm_alterExternUrl' filter.
    *
    * @param \GuzzleHttp\Psr7\Uri $url
    * @param string|NULL $path
@@ -91,15 +90,17 @@ class Mailing_Hooks {
   }
 
   /**
-   * Filters the mailing html and replaces calls to 'extern/url.php' and
-   * 'extern/open.php' with their REST counterparts 'civicrm/v3/url' and 'civicrm/v3/open'.
+   * Filters the mailing HTML and replaces calls to 'extern/url.php' and
+   * 'extern/open.php' with their REST counterparts 'civicrm/v3/url' and
+   * 'civicrm/v3/open'.
    *
    * @uses 'civicrm_alterMailParams'
    *
-   * @since 0.1
-   * @param array &$params Mail params
-   * @param string $context The Context
-   * @return array $params The filtered Mail params
+   * @since 5.25
+   *
+   * @param array &$params Mail params.
+   * @param string $context The Context.
+   * @return array $params The filtered Mail params.
    */
   public function do_mailing_urls(&$params, $context) {
 
@@ -124,11 +125,12 @@ class Mailing_Hooks {
   }
 
   /**
-   * Replace html mailing tracking urls.
+   * Replace HTML mailing tracking urls.
+   *
+   * @since 5.25
    *
-   * @since 0.1
-   * @param string $content The mailing content
-   * @return string $content The mailing content
+   * @param string $content The mailing content.
+   * @return string $content The mailing content.
    */
   public function replace_html_mailing_tracking_urls(string $content) {
 
@@ -139,7 +141,7 @@ class Mailing_Hooks {
       $href = pq($element)->attr('href');
       $src = pq($element)->attr('src');
 
-      // replace extern/url
+      // Replace extern/url.
       if (strpos($href, 'civicrm/extern/url.php')) {
 
         $query_string = strstr($href, '?');
@@ -147,7 +149,7 @@ class Mailing_Hooks {
 
       }
 
-      // replace extern/open
+      // Replace extern/open.
       if (strpos($src, 'civicrm/extern/open.php')) {
 
         $query_string = strstr($src, '?');
@@ -164,18 +166,19 @@ class Mailing_Hooks {
   }
 
   /**
-   * Replace text mailing tracking urls.
+   * Replace text mailing tracking URLs.
    *
-   * @since 0.1
-   * @param string $content The mailing content
-   * @return string $content The mailing content
+   * @since 5.25
+   *
+   * @param string $content The mailing content.
+   * @return string $content The mailing content.
    */
   public function replace_text_mailing_tracking_urls(string $content) {
 
-    // replace extern url
+    // Replace extern URL.
     $content = preg_replace('/http.*civicrm\/extern\/url\.php/i', $this->url_endpoint, $content);
 
-    // replace open url
+    // Replace open URL.
     $content = preg_replace('/http.*civicrm\/extern\/open\.php/i', $this->open_endpoint, $content);
 
     return $content;
@@ -183,12 +186,12 @@ class Mailing_Hooks {
   }
 
   /**
-   * Checks whether for a given mail
-   * content (text or html) the tracking URLs
-   * are alterable/need to be altered.
+   * Checks whether for a given mail content (text or HTML) the tracking URLs
+   * are alterable or need to be altered.
+   *
+   * @since 5.25
    *
-   * @since 0.1
-   * @param string $content The mail content (text or  html)
+   * @param string $content The mail content: text or HTML.
    * @return bool $is_alterable
    */
   public function is_mail_tracking_url_alterable($content) {
diff --git a/wp-rest/Controller/AuthorizeIPN.php b/wp-rest/Controller/AuthorizeIPN.php
index 7ce5f40d49..c28b3daf50 100644
--- a/wp-rest/Controller/AuthorizeIPN.php
+++ b/wp-rest/Controller/AuthorizeIPN.php
@@ -6,7 +6,7 @@
  *
  * @see https://docs.civicrm.org/sysadmin/en/latest/setup/payment-processors/authorize-net/#shell-script-testing-method
  *
- * @since 0.1
+ * @since 5.25
  */
 
 namespace CiviCRM_WP_REST\Controller;
@@ -16,14 +16,14 @@ class AuthorizeIPN extends Base {
   /**
    * @var string
    * The base route.
-   * @since 0.1
+   * @since 5.25
    */
   protected $rest_base = 'authorizeIPN';
 
   /**
    * Registers routes.
    *
-   * @since 0.1
+   * @since 5.25
    */
   public function register_routes() {
 
@@ -40,7 +40,8 @@ class AuthorizeIPN extends Base {
   /**
    * Get items.
    *
-   * @since 0.1
+   * @since 5.25
+   *
    * @param WP_REST_Request $request
    */
   public function get_item($request) {
@@ -48,7 +49,8 @@ class AuthorizeIPN extends Base {
     /**
      * Filter request params.
      *
-     * @since 0.1
+     * @since 5.25
+     *
      * @param array $params
      * @param WP_REST_Request $request
      */
@@ -62,6 +64,8 @@ class AuthorizeIPN extends Base {
     /**
      * Filter AuthorizeIPN object.
      *
+     * @since 5.25
+     *
      * @param CRM_Core_Payment_AuthorizeNetIPN $authorize_IPN
      * @param array $params
      * @param WP_REST_Request $request
@@ -97,7 +101,8 @@ class AuthorizeIPN extends Base {
    *
    * Needed because the instance is being filtered through 'civi_wp_rest/controller/authorizeIPN/instance'.
    *
-   * @since 0.1
+   * @since 5.25
+   *
    * @param CRM_Core_Payment_AuthorizeNetIPN|CRM_Core_Payment_BaseIPN $object
    * @return bool
    */
@@ -110,7 +115,8 @@ class AuthorizeIPN extends Base {
   /**
    * Item schema.
    *
-   * @since 0.1
+   * @since 5.25
+   *
    * @return array $schema
    */
   public function get_item_schema() {}
@@ -118,7 +124,8 @@ class AuthorizeIPN extends Base {
   /**
    * Item arguments.
    *
-   * @since 0.1
+   * @since 5.25
+   *
    * @return array $arguments
    */
   public function get_item_args() {}
diff --git a/wp-rest/Controller/Base.php b/wp-rest/Controller/Base.php
index 14599ed95a..ef5418326e 100644
--- a/wp-rest/Controller/Base.php
+++ b/wp-rest/Controller/Base.php
@@ -2,7 +2,7 @@
 /**
  * Base controller class.
  *
- * @since 0.1
+ * @since 5.25
  */
 
 namespace CiviCRM_WP_REST\Controller;
@@ -14,14 +14,15 @@ abstract class Base extends \WP_REST_Controller implements Endpoint_Interface {
   /**
    * @var string
    * Route namespace.
-   * @since 0.1
+   * @since 5.25
    */
   protected $namespace = 'civicrm/v3';
 
   /**
    * Gets the endpoint namespace.
    *
-   * @since 0.1
+   * @since 5.25
+   *
    * @return string $namespace
    */
   public function get_namespace() {
@@ -33,7 +34,8 @@ abstract class Base extends \WP_REST_Controller implements Endpoint_Interface {
   /**
    * Gets the rest base route.
    *
-   * @since 0.1
+   * @since 5.25
+   *
    * @return string $rest_base
    */
   public function get_rest_base() {
@@ -45,7 +47,8 @@ abstract class Base extends \WP_REST_Controller implements Endpoint_Interface {
   /**
    * Retrieves the endpoint ie. '/civicrm/v3/rest'.
    *
-   * @since 0.1
+   * @since 5.25
+   *
    * @return string $rest_base
    */
   public function get_endpoint() {
@@ -57,7 +60,8 @@ abstract class Base extends \WP_REST_Controller implements Endpoint_Interface {
   /**
    * Checks whether the requested route is equal to this endpoint.
    *
-   * @since 0.1
+   * @since 5.25
+   *
    * @param WP_REST_Request $request
    * @return bool $is_current_endpoint True if it's equal, false otherwise
    */
@@ -70,7 +74,8 @@ abstract class Base extends \WP_REST_Controller implements Endpoint_Interface {
   /**
    * Authorization status code.
    *
-   * @since 0.1
+   * @since 5.25
+   *
    * @return int $status
    */
   protected function authorization_status_code() {
@@ -88,7 +93,8 @@ abstract class Base extends \WP_REST_Controller implements Endpoint_Interface {
   /**
    * Wrapper for WP_Error.
    *
-   * @since 0.1
+   * @since 5.25
+   *
    * @param string|\CiviCRM_API3_Exception|\WP_Error $error
    * @param mixed $data Error data
    * @return WP_Error $error
diff --git a/wp-rest/Controller/Cxn.php b/wp-rest/Controller/Cxn.php
index 62a60206f5..c899aeb778 100644
--- a/wp-rest/Controller/Cxn.php
+++ b/wp-rest/Controller/Cxn.php
@@ -4,7 +4,7 @@
  *
  * CiviConnect endpoint, replacement for CiviCRM's 'extern/cxn.php'.
  *
- * @since 0.1
+ * @since 5.25
  */
 
 namespace CiviCRM_WP_REST\Controller;
@@ -14,14 +14,14 @@ class Cxn extends Base {
   /**
    * @var string
    * The base route.
-   * @since 0.1
+   * @since 5.25
    */
   protected $rest_base = 'cxn';
 
   /**
    * Registers routes.
    *
-   * @since 0.1
+   * @since 5.25
    */
   public function register_routes() {
 
@@ -38,7 +38,8 @@ class Cxn extends Base {
   /**
    * Get items.
    *
-   * @since 0.1
+   * @since 5.25
+   *
    * @param WP_REST_Request $request
    */
   public function get_item($request) {
@@ -46,7 +47,8 @@ class Cxn extends Base {
     /**
      * Filter request params.
      *
-     * @since 0.1
+     * @since 5.25
+     *
      * @param array $params
      * @param WP_REST_Request $request
      */
@@ -58,6 +60,8 @@ class Cxn extends Base {
     /**
      * Filter connection server object.
      *
+     * @since 5.25
+     *
      * @param Civi\Cxn\Rpc\ApiServer $cxn
      * @param array $params
      * @param WP_REST_Request $request
@@ -83,9 +87,7 @@ class Cxn extends Base {
       return $this->civi_rest_error($e->getMessage());
     }
 
-    /**
-     * Bypass WP and send request from Cxn.
-     */
+    // Bypass WordPress and send request from Cxn.
     add_filter('rest_pre_serve_request', function($served, $response, $request, $server) use ($result) {
 
       // Civi\Cxn\Rpc\Message->send()
@@ -102,7 +104,8 @@ class Cxn extends Base {
   /**
    * Item schema.
    *
-   * @since 0.1
+   * @since 5.25
+   *
    * @return array $schema
    */
   public function get_item_schema() {}
@@ -110,7 +113,8 @@ class Cxn extends Base {
   /**
    * Item arguments.
    *
-   * @since 0.1
+   * @since 5.25
+   *
    * @return array $arguments
    */
   public function get_item_args() {}
diff --git a/wp-rest/Controller/Open.php b/wp-rest/Controller/Open.php
index b902352e8e..d5cf0f09b1 100644
--- a/wp-rest/Controller/Open.php
+++ b/wp-rest/Controller/Open.php
@@ -2,7 +2,7 @@
 /**
  * Open controller class.
  *
- * @since 0.1
+ * @since 5.25
  */
 
 namespace CiviCRM_WP_REST\Controller;
@@ -12,14 +12,14 @@ class Open extends Base {
   /**
    * @var string
    * The base route.
-   * @since 0.1
+   * @since 5.25
    */
   protected $rest_base = 'open';
 
   /**
    * Registers routes.
    *
-   * @since 0.1
+   * @since 5.25
    */
   public function register_routes() {
 
@@ -38,17 +38,18 @@ class Open extends Base {
   /**
    * Get item.
    *
-   * @since 0.1
+   * @since 5.25
+   *
    * @param WP_REST_Request $request
    */
   public function get_item($request) {
 
     $queue_id = $request->get_param('q');
 
-    // track open
+    // Track open.
     \CRM_Mailing_Event_BAO_Opened::open($queue_id);
 
-    // serve tracker file
+    // Serve tracker file.
     add_filter('rest_pre_serve_request', [$this, 'serve_tracker_file'], 10, 4);
 
   }
@@ -56,19 +57,20 @@ class Open extends Base {
   /**
    * Serves the tracker gif file.
    *
-   * @since 0.1
-   * @param bool $served Whether the request has been served
+   * @since 5.25
+   *
+   * @param bool $served Whether the request has been served.
    * @param WP_REST_Response $result
    * @param WP_REST_Request $request
    * @param WP_REST_Server $server
-   * @return bool $served Whether the request has been served
+   * @return bool $served Whether the request has been served.
    */
   public function serve_tracker_file($served, $result, $request, $server) {
 
-    // tracker file path
+    // Tracker file path.
     $file = CIVICRM_PLUGIN_DIR . 'civicrm/i/tracker.gif';
 
-    // set headers
+    // Set headers.
     $server->send_header('Content-type', 'image/gif');
     $server->send_header('Cache-Control', 'must-revalidate, post-check=0, pre-check=0');
     $server->send_header('Content-Description', 'File Transfer');
@@ -84,7 +86,8 @@ class Open extends Base {
   /**
    * Item schema.
    *
-   * @since 0.1
+   * @since 5.25
+   *
    * @return array $schema
    */
   public function get_item_schema() {
@@ -107,7 +110,8 @@ class Open extends Base {
   /**
    * Item arguments.
    *
-   * @since 0.1
+   * @since 5.25
+   *
    * @return array $arguments
    */
   public function get_item_args() {
diff --git a/wp-rest/Controller/PayPalIPN.php b/wp-rest/Controller/PayPalIPN.php
index 664a439cea..1c5d14086a 100644
--- a/wp-rest/Controller/PayPalIPN.php
+++ b/wp-rest/Controller/PayPalIPN.php
@@ -4,7 +4,7 @@
  *
  * PayPal IPN endpoint, replacement for CiviCRM's 'extern/ipn.php'.
  *
- * @since 0.1
+ * @since 5.25
  */
 
 namespace CiviCRM_WP_REST\Controller;
@@ -14,14 +14,14 @@ class PayPalIPN extends Base {
   /**
    * @var string
    * The base route.
-   * @since 0.1
+   * @since 5.25
    */
   protected $rest_base = 'ipn';
 
   /**
    * Registers routes.
    *
-   * @since 0.1
+   * @since 5.25
    */
   public function register_routes() {
 
@@ -38,7 +38,8 @@ class PayPalIPN extends Base {
   /**
    * Get items.
    *
-   * @since 0.1
+   * @since 5.25
+   *
    * @param WP_REST_Request $request
    */
   public function get_item($request) {
@@ -46,7 +47,8 @@ class PayPalIPN extends Base {
     /**
      * Filter request params.
      *
-     * @since 0.1
+     * @since 5.25
+     *
      * @param array $params
      * @param WP_REST_Request $request
      */
@@ -54,20 +56,20 @@ class PayPalIPN extends Base {
 
     if ($request->get_method() == 'GET') {
 
-      // paypal standard
+      // PayPal Standard.
       $paypal_IPN = new \CRM_Core_Payment_PayPalIPN($params);
 
-      // log notification
+      // Log notification.
       \Civi::log()->alert('payment_notification processor_name=PayPal_Standard', $params);
 
     }
 
     else {
 
-      // paypal pro
+      // PayPal Pro.
       $paypal_IPN = new \CRM_Core_Payment_PayPalProIPN($params);
 
-      // log notification
+      // Log notification.
       \Civi::log()->alert('payment_notification processor_name=PayPal', $params);
 
     }
@@ -75,6 +77,8 @@ class PayPalIPN extends Base {
     /**
      * Filter PayPalIPN object.
      *
+     * @since 5.25
+     *
      * @param CRM_Core_Payment_PayPalIPN|CRM_Core_Payment_PayPalProIPN $paypal_IPN
      * @param array $params
      * @param WP_REST_Request $request
@@ -110,7 +114,8 @@ class PayPalIPN extends Base {
    *
    * Needed because the instance is being filtered through 'civi_wp_rest/controller/ipn/instance'.
    *
-   * @since 0.1
+   * @since 5.25
+   *
    * @param CRM_Core_Payment_BaseIPN|CRM_Core_Payment_PayPalProIPN|CRM_Core_Payment_PayPalIPN $object
    * @return bool
    */
@@ -123,7 +128,8 @@ class PayPalIPN extends Base {
   /**
    * Item schema.
    *
-   * @since 0.1
+   * @since 5.25
+   *
    * @return array $schema
    */
   public function get_item_schema() {}
@@ -131,7 +137,8 @@ class PayPalIPN extends Base {
   /**
    * Item arguments.
    *
-   * @since 0.1
+   * @since 5.25
+   *
    * @return array $arguments
    */
   public function get_item_args() {}
diff --git a/wp-rest/Controller/PxIPN.php b/wp-rest/Controller/PxIPN.php
index 999bee8aba..875aaaf20f 100644
--- a/wp-rest/Controller/PxIPN.php
+++ b/wp-rest/Controller/PxIPN.php
@@ -4,7 +4,7 @@
  *
  * PxPay IPN endpoint, replacement for CiviCRM's 'extern/pxIPN.php'.
  *
- * @since 0.1
+ * @since 5.25
  */
 
 namespace CiviCRM_WP_REST\Controller;
@@ -14,14 +14,14 @@ class PxIPN extends Base {
   /**
    * @var string
    * The base route.
-   * @since 0.1
+   * @since 5.25
    */
   protected $rest_base = 'pxIPN';
 
   /**
    * Registers routes.
    *
-   * @since 0.1
+   * @since 5.25
    */
   public function register_routes() {
 
@@ -38,7 +38,8 @@ class PxIPN extends Base {
   /**
    * Get items.
    *
-   * @since 0.1
+   * @since 5.25
+   *
    * @param WP_REST_Request $request
    */
   public function get_item($request) {
@@ -46,7 +47,8 @@ class PxIPN extends Base {
     /**
      * Filter payment processor params.
      *
-     * @since 0.1
+     * @since 5.25
+     *
      * @param array $params
      * @param WP_REST_Request $request
      */
@@ -56,7 +58,7 @@ class PxIPN extends Base {
       $request
     );
 
-    // log notification
+    // Log notification.
     \Civi::log()->alert('payment_notification processor_name=Payment_Express', $params);
 
     try {
@@ -82,18 +84,19 @@ class PxIPN extends Base {
   /**
    * Get payment processor necessary params.
    *
-   * @since 0.1
+   * @since 5.25
+   *
    * @param WP_REST_Resquest $request
    * @return array $args
    */
   public function get_payment_processor_args($request) {
 
-    // get payment processor types
+    // Get payment processor types.
     $payment_processor_types = civicrm_api3('PaymentProcessor', 'getoptions', [
       'field' => 'payment_processor_type_id',
     ]);
 
-    // payment processor params
+    // Payment processor params.
     $params = apply_filters('civi_wp_rest/controller/pxIPN/payment_processor_params', [
       'user_name' => $request->get_param('userid'),
       'payment_processor_type_id' => array_search(
@@ -104,7 +107,7 @@ class PxIPN extends Base {
       'is_test' => 0,
     ]);
 
-    // get payment processor
+    // Get payment processor.
     $payment_processor = civicrm_api3('PaymentProcessor', 'get', $params);
 
     $args = $payment_processor['values'][$payment_processor['id']];
@@ -125,7 +128,8 @@ class PxIPN extends Base {
   /**
    * Item schema.
    *
-   * @since 0.1
+   * @since 5.25
+   *
    * @return array $schema
    */
   public function get_item_schema() {}
@@ -133,7 +137,8 @@ class PxIPN extends Base {
   /**
    * Item arguments.
    *
-   * @since 0.1
+   * @since 5.25
+   *
    * @return array $arguments
    */
   public function get_item_args() {}
diff --git a/wp-rest/Controller/Rest.php b/wp-rest/Controller/Rest.php
index 8d9222c0a7..b819638d88 100644
--- a/wp-rest/Controller/Rest.php
+++ b/wp-rest/Controller/Rest.php
@@ -2,7 +2,7 @@
 /**
  * Rest controller class.
  *
- * @since 0.1
+ * @since 5.25
  */
 
 namespace CiviCRM_WP_REST\Controller;
@@ -12,14 +12,14 @@ class Rest extends Base {
   /**
    * @var string
    * The base route.
-   * @since 0.1
+   * @since 5.25
    */
   protected $rest_base = 'rest';
 
   /**
    * Registers routes.
    *
-   * @since 0.1
+   * @since 5.25
    */
   public function register_routes() {
 
@@ -38,26 +38,25 @@ class Rest extends Base {
   /**
    * Check get permission.
    *
-   * @since 0.1
+   * @since 5.25
+   *
    * @param WP_REST_Request $request
    * @return bool
    */
   public function permissions_check($request) {
 
     /**
-     * Opportunity to bypass CiviCRM's
-     * authentication ('api_key' and 'site_key'),
-     * return 'true' or 'false' to grant
-     * or deny access to this endpoint.
+     * Opportunity to bypass CiviCRM's authentication ('api_key' and 'site_key').
+     *
+     * Return 'true' or 'false' to grant or deny access to this endpoint.
+     *
+     * To deny and throw an error, return either a string, an array, or a \WP_Error.
      *
-     * To deny and throw an error, return either
-     * a string, an array, or a \WP_Error.
+     * NOTE: if you use your own authentication, you still must log in the user
+     * in order to respect/apply CiviCRM ACLs.
      *
-     * NOTE: if you use your won authentication,
-     * you still must log in the user in order
-     * to respect/apply CiviCRM ACLs.
+     * @since 5.25
      *
-     * @since 0.1
      * @param null|bool|string|array|\WP_Error $grant_auth Grant, deny, or error
      * @param \WP_REST_Request $request The request
      */
@@ -106,15 +105,17 @@ class Rest extends Base {
   /**
    * Get items.
    *
-   * @since 0.1
+   * @since 5.25
+   *
    * @param WP_REST_Request $request
    */
   public function get_items($request) {
 
     /**
-     * Filter formatted api params.
+     * Filter formatted API params.
+     *
+     * @since 5.25
      *
-     * @since 0.1
      * @param array $params
      * @param WP_REST_Request $request
      */
@@ -132,15 +133,16 @@ class Rest extends Base {
     }
 
     /**
-     * Filter civi api result.
+     * Filter CiviCRM API result.
+     *
+     * @since 5.25
      *
-     * @since 0.1
      * @param array $items
      * @param WP_REST_Request $request
      */
     $data = apply_filters('civi_wp_rest/controller/rest/api_result', $items, $params, $request);
 
-    // only collections of items, ie any action but 'getsingle'
+    // Only collections of items, ie any action but 'getsingle'.
     if (isset($data['values'])) {
 
       $data['values'] = array_reduce($items['values'] ?? $items, function($items, $item) use ($request) {
@@ -157,13 +159,14 @@ class Rest extends Base {
 
     $response = rest_ensure_response($data);
 
-    // check wheather we need to serve xml or json
+    // Check whether we need to serve xml or json.
     if (!in_array('json', array_keys($request->get_params()))) {
 
       /**
-       * Adds our response holding Civi data before dispatching.
+       * Adds our response holding CiviCRM data before dispatching.
+       *
+       * @since 5.25
        *
-       * @since 0.1
        * @param WP_HTTP_Response $result Result to send to client
        * @param WP_REST_Server $server The REST server
        * @param WP_REST_Request $request The request
@@ -190,9 +193,10 @@ class Rest extends Base {
   }
 
   /**
-   * Get formatted api params.
+   * Get formatted API params.
+   *
+   * @since 5.25
    *
-   * @since 0.1
    * @param WP_REST_Resquest $request
    * @return array $params
    */
@@ -218,7 +222,7 @@ class Rest extends Base {
 
     }
 
-    // ensure check permissions is enabled
+    // Ensure check permissions is enabled.
     $params['check_permissions'] = TRUE;
 
     return [$entity, $action, $params];
@@ -228,7 +232,8 @@ class Rest extends Base {
   /**
    * Matches the item data to the schema.
    *
-   * @since 0.1
+   * @since 5.25
+   *
    * @param object $item
    * @param WP_REST_Request $request
    */
@@ -241,7 +246,8 @@ class Rest extends Base {
   /**
    * Serves XML response.
    *
-   * @since 0.1
+   * @since 5.25
+   *
    * @param bool $served Whether the request has already been served
    * @param WP_REST_Response $result
    * @param WP_REST_Request $request
@@ -249,10 +255,10 @@ class Rest extends Base {
    */
   public function serve_xml_response($served, $result, $request, $server) {
 
-    // get xml from response
+    // Get XML from response.
     $xml = $this->get_xml_formatted_data($result->get_data());
 
-    // set content type header
+    // Set content type header.
     $server->send_header('Content-Type', 'text/xml');
 
     echo $xml;
@@ -264,38 +270,39 @@ class Rest extends Base {
   /**
    * Formats CiviCRM API result to XML.
    *
-   * @since 0.1
-   * @param array $data The CiviCRM api result
-   * @return string $xml The formatted xml
+   * @since 5.25
+   *
+   * @param array $data The CiviCRM API result.
+   * @return string $xml The formatted XML.
    */
   protected function get_xml_formatted_data(array $data) {
 
-    // xml document
+    // XML document.
     $xml = new \DOMDocument();
 
-    // result set element <ResultSet>
+    // Result set element <ResultSet>.
     $result_set = $xml->createElement('ResultSet');
 
-    // xmlns:xsi attribute
+    // The xmlns:xsi attribute.
     $result_set->setAttribute('xmlns:xsi', 'http://www.w3.org/2001/XMLSchema-instance');
 
-    // count attribute
+    // Count attributes.
     if (isset($data['count'])) {
       $result_set->setAttribute('count', $data['count']);
     }
 
-    // build result from result => values
+    // Build result from result => values.
     if (isset($data['values'])) {
 
       array_map(function($item) use ($result_set, $xml) {
 
-        // result element <Result>
+        // Result element <Result>.
         $result = $xml->createElement('Result');
 
-        // format item
+        // Format item.
         $result = $this->get_xml_formatted_item($item, $result, $xml);
 
-        // append result to result set
+        // Append result to result set.
         $result_set->appendChild($result);
 
       }, $data['values']);
@@ -303,18 +310,18 @@ class Rest extends Base {
     }
     else {
 
-      // result element <Result>
+      // Result element <Result>.
       $result = $xml->createElement('Result');
 
-      // format item
+      // Format item.
       $result = $this->get_xml_formatted_item($data, $result, $xml);
 
-      // append result to result set
+      // Append result to result set.
       $result_set->appendChild($result);
 
     }
 
-    // append result set
+    // Append result set.
     $xml->appendChild($result_set);
 
     return $xml->saveXML();
@@ -322,32 +329,36 @@ class Rest extends Base {
   }
 
   /**
-   * Formats a single api result to xml.
+   * Formats a single API result to XML.
    *
-   * @since 0.1
-   * @param array $item The single api result
-   * @param \DOMElement $parent The parent element to append to
-   * @param \DOMDocument $doc The document
-   * @return \DOMElement $parent The parent element
+   * @since 5.25
+   *
+   * @param array $item The single API result.
+   * @param \DOMElement $parent The parent element to append to.
+   * @param \DOMDocument $doc The document.
+   * @return \DOMElement $parent The parent element.
    */
   public function get_xml_formatted_item(array $item, \DOMElement $parent, \DOMDocument $doc) {
 
-    // build field => values
+    // Build field => values.
     array_map(function($field, $value) use ($parent, $doc) {
 
-      // entity field element
+      // Entity field element.
       $element = $doc->createElement($field);
 
-      // handle array values
+      // Handle array values.
       if (is_array($value)) {
 
         array_map(function($key, $val) use ($element, $doc) {
 
-          // child element, append underscore '_' otherwise createElement
-          // will throw an Invalid character exception as elements cannot start with a number
+          /*
+           * Child element - append underscore '_' otherwise createElement will
+           * throw an Invalid character exception as elements cannot start with
+           * a number.
+           */
           $child = $doc->createElement('_' . $key, $val);
 
-          // append child
+          // Append child.
           $element->appendChild($child);
 
         }, array_keys($value), $value);
@@ -355,12 +366,12 @@ class Rest extends Base {
       }
       else {
 
-        // assign value
+        // Assign value.
         $element->nodeValue = $value;
 
       }
 
-      // append element
+      // Append element.
       $parent->appendChild($element);
 
     }, array_keys($item), $item);
@@ -372,7 +383,8 @@ class Rest extends Base {
   /**
    * Item schema.
    *
-   * @since 0.1
+   * @since 5.25
+   *
    * @return array $schema
    */
   public function get_item_schema() {
@@ -404,7 +416,8 @@ class Rest extends Base {
   /**
    * Item arguments.
    *
-   * @since 0.1
+   * @since 5.25
+   *
    * @return array $arguments
    */
   public function get_item_args() {
@@ -452,7 +465,8 @@ class Rest extends Base {
   /**
    * Checks if string is a valid json.
    *
-   * @since 0.1
+   * @since 5.25
+   *
    * @param string $param
    * @return bool
    */
@@ -471,7 +485,8 @@ class Rest extends Base {
   /**
    * Validates the site key.
    *
-   * @since 0.1
+   * @since 5.25
+   *
    * @return bool $is_valid_site_key
    */
   public function is_valid_site_key() {
@@ -483,7 +498,8 @@ class Rest extends Base {
   /**
    * Validates the api key.
    *
-   * @since 0.1
+   * @since 5.25
+   *
    * @param WP_REST_Resquest $request
    * @return bool $is_valid_api_key
    */
diff --git a/wp-rest/Controller/Soap.php b/wp-rest/Controller/Soap.php
index 27ed3f8193..5bbabcd141 100644
--- a/wp-rest/Controller/Soap.php
+++ b/wp-rest/Controller/Soap.php
@@ -4,7 +4,7 @@
  *
  * Soap endpoint, replacement for CiviCRM's 'extern/soap.php'.
  *
- * @since 0.1
+ * @since 5.25
  */
 
 namespace CiviCRM_WP_REST\Controller;
@@ -14,14 +14,14 @@ class Soap extends Base {
   /**
    * @var string
    * The base route.
-   * @since 0.1
+   * @since 5.25
    */
   protected $rest_base = 'soap';
 
   /**
    * Registers routes.
    *
-   * @since 0.1
+   * @since 5.25
    */
   public function register_routes() {
 
@@ -38,7 +38,8 @@ class Soap extends Base {
   /**
    * Get items.
    *
-   * @since 0.1
+   * @since 5.25
+   *
    * @param WP_REST_Request $request
    */
   public function get_item($request) {
@@ -46,13 +47,14 @@ class Soap extends Base {
     /**
      * Filter request params.
      *
-     * @since 0.1
+     * @since 5.25
+     *
      * @param array $params
      * @param WP_REST_Request $request
      */
     $params = apply_filters('civi_wp_rest/controller/soap/params', $request->get_params(), $request);
 
-    // init soap server
+    // Init soap server.
     $soap_server = new \SoapServer(
       NULL,
       [
@@ -66,9 +68,7 @@ class Soap extends Base {
     $soap_server->setClass('CRM_Utils_SoapServer', \CRM_Core_Config::singleton()->userFrameworkClass);
     $soap_server->setPersistence(SOAP_PERSISTENCE_SESSION);
 
-    /**
-     * Bypass WP and send request from Soap server.
-     */
+    // Bypass WordPress and send request from Soap server.
     add_filter('rest_pre_serve_request', function($served, $response, $request, $server) use ($soap_server) {
 
       $soap_server->handle();
@@ -82,7 +82,8 @@ class Soap extends Base {
   /**
    * Item schema.
    *
-   * @since 0.1
+   * @since 5.25
+   *
    * @return array $schema
    */
   public function get_item_schema() {}
@@ -90,7 +91,8 @@ class Soap extends Base {
   /**
    * Item arguments.
    *
-   * @since 0.1
+   * @since 5.25
+   *
    * @return array $arguments
    */
   public function get_item_args() {}
diff --git a/wp-rest/Controller/Url.php b/wp-rest/Controller/Url.php
index 6d9302b56d..4d2c142585 100644
--- a/wp-rest/Controller/Url.php
+++ b/wp-rest/Controller/Url.php
@@ -2,7 +2,7 @@
 /**
  * Url controller class.
  *
- * @since 0.1
+ * @since 5.25
  */
 
 namespace CiviCRM_WP_REST\Controller;
@@ -12,14 +12,14 @@ class Url extends Base {
   /**
    * @var string
    * The base route.
-   * @since 0.1
+   * @since 5.25
    */
   protected $rest_base = 'url';
 
   /**
    * Registers routes.
    *
-   * @since 0.1
+   * @since 5.25
    */
   public function register_routes() {
 
@@ -38,25 +38,29 @@ class Url extends Base {
   /**
    * Get items.
    *
-   * @since 0.1
+   * @since 5.25
+   *
    * @param WP_REST_Request $request
    */
   public function get_item($request) {
 
     /**
-     * Filter formatted api params.
+     * Filter formatted API params.
+     *
+     * @since 5.25
      *
-     * @since 0.1
      * @param array $params
      * @param WP_REST_Request $request
      */
     $params = apply_filters('civi_wp_rest/controller/url/params', $this->get_formatted_params($request), $request);
 
-    // track url
+    // Track URL.
     $url = \CRM_Mailing_Event_BAO_TrackableURLOpen::track($params['queue_id'], $params['url_id']);
 
     /**
-     * Filter url.
+     * Filter URL.
+     *
+     * @since 5.25
      *
      * @param string $url
      * @param array $params
@@ -72,9 +76,10 @@ class Url extends Base {
   }
 
   /**
-   * Get formatted api params.
+   * Get formatted API params.
+   *
+   * @since 5.25
    *
-   * @since 0.1
    * @param WP_REST_Resquest $request
    * @return array $params
    */
@@ -101,28 +106,25 @@ class Url extends Base {
   }
 
   /**
-   * Parses the url.
+   * Parses the URL.
+   *
+   * @since 5.25
    *
-   * @since 0.1
    * @param string $url
    * @param array $params
    * @return string $url
    */
   protected function parse_url($url, $params) {
 
-    // CRM-18320 - Fix encoded ampersands
+    // CRM-18320 - Fix encoded ampersands.
     $url = str_replace('&amp;', '&', $url);
 
-    // CRM-7103 - Look for additional query variables and append them
+    // CRM-7103 - Look for additional query variables and append them.
     if (isset($params['query']) && strpos($url, '?')) {
-
       $url .= '&' . $params['query'];
-
     }
     elseif (isset($params['query'])) {
-
       $url .= '?' . $params['query'];
-
     }
 
     if (strpos($url, 'mailto')) {
@@ -136,7 +138,8 @@ class Url extends Base {
   /**
    * Do redirect.
    *
-   * @since 0.1
+   * @since 5.25
+   *
    * @param string $url
    */
   protected function do_redirect($url) {
@@ -150,7 +153,8 @@ class Url extends Base {
   /**
    * Item schema.
    *
-   * @since 0.1
+   * @since 5.25
+   *
    * @return array $schema
    */
   public function get_item_schema() {
@@ -179,7 +183,8 @@ class Url extends Base {
   /**
    * Item arguments.
    *
-   * @since 0.1
+   * @since 5.25
+   *
    * @return array $arguments
    */
   public function get_item_args() {
diff --git a/wp-rest/Controller/Widget.php b/wp-rest/Controller/Widget.php
index a880893fd9..0af646cd34 100644
--- a/wp-rest/Controller/Widget.php
+++ b/wp-rest/Controller/Widget.php
@@ -4,7 +4,7 @@
  *
  * Widget endpoint, replacement for CiviCRM's 'extern/widget.php'
  *
- * @since 0.1
+ * @since 5.25
  */
 
 namespace CiviCRM_WP_REST\Controller;
@@ -14,14 +14,14 @@ class Widget extends Base {
   /**
    * @var string
    * The base route.
-   * @since 0.1
+   * @since 5.25
    */
   protected $rest_base = 'widget';
 
   /**
    * Registers routes.
    *
-   * @since 0.1
+   * @since 5.25
    */
   public function register_routes() {
 
@@ -40,7 +40,8 @@ class Widget extends Base {
   /**
    * Get item.
    *
-   * @since 0.1
+   * @since 5.25
+   *
    * @param WP_REST_Request $request
    */
   public function get_item($request) {
@@ -48,7 +49,8 @@ class Widget extends Base {
     /**
      * Filter mandatory params.
      *
-     * @since 0.1
+     * @since 5.25
+     *
      * @param array $params
      * @param WP_REST_Request $request
      */
@@ -71,7 +73,8 @@ class Widget extends Base {
     /**
      * Adds our response data before dispatching.
      *
-     * @since 0.1
+     * @since 5.25
+     *
      * @param WP_HTTP_Response $result Result to send to client
      * @param WP_REST_Server $server The REST server
      * @param WP_REST_Request $request The request
@@ -91,7 +94,8 @@ class Widget extends Base {
   /**
    * Get mandatory params from request.
    *
-   * @since 0.1
+   * @since 5.25
+   *
    * @param WP_REST_Resquest $request
    * @return array $params The widget params
    */
@@ -110,7 +114,8 @@ class Widget extends Base {
   /**
    * Serve jsondata response.
    *
-   * @since 0.1
+   * @since 5.25
+   *
    * @param bool $served Whether the request has already been served
    * @param WP_REST_Response $result
    * @param WP_REST_Request $request
@@ -133,7 +138,8 @@ class Widget extends Base {
   /**
    * Item schema.
    *
-   * @since 0.1
+   * @since 5.25
+   *
    * @return array $schema
    */
   public function get_item_schema() {
@@ -167,7 +173,8 @@ class Widget extends Base {
   /**
    * Item arguments.
    *
-   * @since 0.1
+   * @since 5.25
+   *
    * @return array $arguments
    */
   public function get_item_args() {
diff --git a/wp-rest/Endpoint/Endpoint-Interface.php b/wp-rest/Endpoint/Endpoint-Interface.php
index 747fe7db10..ffb261016b 100644
--- a/wp-rest/Endpoint/Endpoint-Interface.php
+++ b/wp-rest/Endpoint/Endpoint-Interface.php
@@ -2,7 +2,7 @@
 /**
  * Endpoint Interface class.
  *
- * @since 0.1
+ * @since 5.25
  */
 
 namespace CiviCRM_WP_REST\Endpoint;
@@ -12,14 +12,15 @@ interface Endpoint_Interface {
   /**
    * Registers routes.
    *
-   * @since 0.1
+   * @since 5.25
    */
   public function register_routes();
 
   /**
    * Item schema.
    *
-   * @since 0.1
+   * @since 5.25
+   *
    * @return array $schema
    */
   public function get_item_schema();
@@ -27,7 +28,8 @@ interface Endpoint_Interface {
   /**
    * Item arguments.
    *
-   * @since 0.1
+   * @since 5.25
+   *
    * @return array $arguments
    */
   public function get_item_args();
diff --git a/wp-rest/Plugin.php b/wp-rest/Plugin.php
index 4513b798db..db911af71a 100644
--- a/wp-rest/Plugin.php
+++ b/wp-rest/Plugin.php
@@ -2,7 +2,7 @@
 /**
  * Main plugin class.
  *
- * @since 0.1
+ * @since 5.25
  */
 
 namespace CiviCRM_WP_REST;
@@ -14,7 +14,7 @@ class Plugin {
   /**
    * Constructor.
    *
-   * @since 0.1
+   * @since 5.25
    */
   public function __construct() {
 
@@ -27,7 +27,7 @@ class Plugin {
   /**
    * Register hooks.
    *
-   * @since 1.0
+   * @since 5.25
    */
   protected function register_hooks() {
 
@@ -42,10 +42,11 @@ class Plugin {
   /**
    * Bootstrap CiviCRM when hitting a the 'civicrm' namespace.
    *
-   * @since 0.1
+   * @since 5.25
+   *
    * @param mixed $result
-   * @param WP_REST_Server $server REST server instance
-   * @param WP_REST_Request $request The request
+   * @param WP_REST_Server $server REST server instance.
+   * @param WP_REST_Request $request The request.
    * @return mixed $result
    */
   public function bootstrap_civi($result, $server, $request) {
@@ -61,7 +62,7 @@ class Plugin {
 
         $logged_in_wp_user = $this->do_user_login($request);
 
-        // return error
+        // Return error.
         if (is_wp_error($logged_in_wp_user)) {
           return $logged_in_wp_user;
         }
@@ -76,25 +77,26 @@ class Plugin {
   /**
    * Setup objects.
    *
-   * @since 0.1
+   * @since 5.25
    */
   private function setup_objects() {
 
     /**
       * Filter to replace the mailing tracking URLs.
       *
-      * @since 0.1
+      * @since 5.25
+      *
       * @param bool $replace_mailing_tracking_urls
       */
     $replace_mailing_tracking_urls = apply_filters('civi_wp_rest/plugin/replace_mailing_tracking_urls', FALSE);
 
-    // keep CIVICRM_WP_REST_REPLACE_MAILING_TRACKING for backwards compatibility
+    // Keep CIVICRM_WP_REST_REPLACE_MAILING_TRACKING for backwards compatibility.
     if (
       $replace_mailing_tracking_urls
       || (defined('CIVICRM_WP_REST_REPLACE_MAILING_TRACKING')
       && CIVICRM_WP_REST_REPLACE_MAILING_TRACKING)
     ) {
-      // register mailing hooks
+      // Register mailing hooks.
       $mailing_hooks = (new Mailing_Hooks)->register_hooks();
 
     }
@@ -104,60 +106,60 @@ class Plugin {
   /**
    * Registers Rest API routes.
    *
-   * @since 0.1
+   * @since 5.25
    */
   public function register_rest_routes() {
 
-    // rest endpoint
+    // Rest endpoint.
     $rest_controller = new Controller\Rest();
     $rest_controller->register_routes();
 
-    // url controller
+    // URL controller.
     $url_controller = new Controller\Url();
     $url_controller->register_routes();
 
-    // open controller
+    // Open controller.
     $open_controller = new Controller\Open();
     $open_controller->register_routes();
 
-    // authorizenet controller
+    // AuthorizeNet controller.
     $authorizeIPN_controller = new Controller\AuthorizeIPN();
     $authorizeIPN_controller->register_routes();
 
-    // paypal controller
+    // PayPal controller.
     $paypalIPN_controller = new Controller\PayPalIPN();
     $paypalIPN_controller->register_routes();
 
-    // pxpay controller
+    // PxPay controller.
     $paypalIPN_controller = new Controller\PxIPN();
     $paypalIPN_controller->register_routes();
 
-    // civiconnect controller
+    // CiviConnect controller.
     $cxn_controller = new Controller\Cxn();
     $cxn_controller->register_routes();
 
-    // widget controller
+    // Widget controller.
     $widget_controller = new Controller\Widget();
     $widget_controller->register_routes();
 
-    // soap controller
+    // Soap controller.
     $soap_controller = new Controller\Soap();
     $soap_controller->register_routes();
 
     /**
      * Opportunity to add more rest routes.
      *
-     * @since 0.1
+     * @since 5.25
      */
     do_action('civi_wp_rest/plugin/rest_routes_registered');
 
   }
 
   /**
-   * Sets the timezone to the users timezone when
-   * calling the civicrm/v3/rest endpoint.
+   * Sets the timezone to the user's timezone when calling the civicrm/v3/rest endpoint.
+   *
+   * @since 5.25
    *
-   * @since 0.1
    * @param WP_REST_Request $request The request
    */
   private function maybe_set_user_timezone($request) {
@@ -171,7 +173,7 @@ class Plugin {
       'user_timezone' => get_option('timezone_string', FALSE),
     ];
 
-    // filter timezones
+    // Filter timezones.
     add_filter('civi_wp_rest/plugin/timezones', function() use ($timezones) {
 
       return $timezones;
@@ -182,7 +184,7 @@ class Plugin {
       return;
     }
 
-    /**
+    /*
      * CRM-12523
      * CRM-18062
      * CRM-19115
@@ -193,13 +195,14 @@ class Plugin {
   }
 
   /**
-   * Resets the timezone to the original WP
-   * timezone after calling the civicrm/v3/rest endpoint.
+   * Resets the timezone to the original WordPress timezone after calling the
+   * civicrm/v3/rest endpoint.
+   *
+   * @since 5.25
    *
-   * @since 0.1
    * @param mixed $result
-   * @param WP_REST_Server $server REST server instance
-   * @param WP_REST_Request $request The request
+   * @param WP_REST_Server $server REST server instance.
+   * @param WP_REST_Request $request The request.
    * @return mixed $result
    */
   public function maybe_reset_wp_timezone($result, $server, $request) {
@@ -214,7 +217,7 @@ class Plugin {
       return $result;
     }
 
-    // reset wp timezone
+    // Reset WordPress timezone.
     date_default_timezone_set($timezones['wp_timezone']);
 
     return $result;
@@ -222,20 +225,20 @@ class Plugin {
   }
 
   /**
-   * Performs the necessary checks and
-   * data retrieval to login a WordPress user.
+   * Performs the necessary checks and data retrieval to login a WordPress user.
    *
-   * @since 0.1
-   * @param \WP_REST_Request $request The request
-   * @return \WP_User|\WP_Error|void $logged_in_wp_user The logged in WordPress user object, \Wp_Error, or nothing
+   * @since 5.25
+   *
+   * @param \WP_REST_Request $request The request.
+   * @return \WP_User|\WP_Error|void $logged_in_wp_user The logged in WordPress user object, \Wp_Error, or nothing.
    */
   public function do_user_login($request) {
 
     /**
-     * Filter and opportunity to bypass
-     * the default user login.
+     * Filter and opportunity to bypass the default user login.
+     *
+     * @since 5.25
      *
-     * @since 0.1
      * @param bool $login
      */
     $logged_in = apply_filters('civi_wp_rest/plugin/do_user_login', FALSE, $request);
@@ -244,7 +247,7 @@ class Plugin {
       return;
     }
 
-    // default login based on contact's api_key
+    // Default login based on Contact's api_key.
     if (!(new Controller\Rest)->is_valid_api_key($request)) {
       return new \WP_Error(
         'civicrm_rest_api_error',
@@ -272,9 +275,10 @@ class Plugin {
   /**
    * Get WordPress user data.
    *
-   * @since 0.1
-   * @param int $contact_id The contact id
-   * @return WP_User|WP_Error $user The WordPress user data or WP_Error object
+   * @since 5.25
+   *
+   * @param int $contact_id The Contact ID.
+   * @return WP_User|WP_Error $user The WordPress user data or WP_Error object.
    */
   public function get_wp_user(int $contact_id) {
 
@@ -296,7 +300,7 @@ class Plugin {
 
     }
 
-    // filter uf_match
+    // Filter uf_match.
     add_filter('civi_wp_rest/plugin/uf_match', function() use ($uf_match) {
 
       return !empty($uf_match) ? $uf_match : NULL;
@@ -308,20 +312,21 @@ class Plugin {
   }
 
   /**
-   * Logs in the WordPress user, and
-   * syncs it with it's CiviCRM contact.
+   * Logs in the WordPress user, and syncs it with it's CiviCRM Contact.
+   *
+   * @since 5.25
    *
-   * @since 0.1
-   * @param \WP_User $wp_user The WordPress user object
-   * @param \WP_REST_Request|NULL $request The request object or NULL
-   * @return \WP_User|void $wp_user The logged in WordPress user object or nothing
+   * @param \WP_User $wp_user The WordPress user object.
+   * @param \WP_REST_Request|NULL $request The request object or NULL.
+   * @return \WP_User|void $wp_user The logged in WordPress user object or nothing.
    */
   public function login_wp_user(\WP_User $wp_user, $request = NULL) {
 
     /**
      * Filter the user about to be logged in.
      *
-     * @since 0.1
+     * @since 5.25
+     *
      * @param \WP_User $user The WordPress user object
      * @param \WP_REST_Request|NULL $request The request object or NULL
      */
@@ -340,12 +345,11 @@ class Plugin {
   }
 
   /**
-   * Sets the necessary user
-   * session variables for CiviCRM.
+   * Sets the necessary user session variables for CiviCRM.
+   *
+   * @since 5.25
    *
-   * @since 0.1
-   * @param \WP_User $wp_user The WordPress user
-   * @return void
+   * @param \WP_User $wp_user The WordPress user.
    */
   public function set_civi_user_session($wp_user): void {
 
@@ -370,8 +374,9 @@ class Plugin {
   /**
    * Retrieves the CiviCRM domain_id.
    *
-   * @since 0.1
-   * @return int $domain_id The domain id
+   * @since 5.25
+   *
+   * @return int $domain_id The Domain ID.
    */
   public function get_civi_domain_id(): int {
 
diff --git a/wp-rest/README.md b/wp-rest/README.md
index 95b030bc2c..2ae8c00752 100644
--- a/wp-rest/README.md
+++ b/wp-rest/README.md
@@ -1,8 +1,8 @@
-# CiviCRM WP REST API Wrapper
+# REST API integration for CiviCRM
 
-This is a WordPress plugin that aims to expose CiviCRM's [extern](https://github.com/civicrm/civicrm-core/tree/master/extern) scripts as WordPress REST endpoints.
+This code exposes CiviCRM's [extern](https://github.com/civicrm/civicrm-core/tree/master/extern) scripts as WordPress REST endpoints.
 
-This plugin requires:
+### Requirements
 
 -   PHP 7.2+
 -   WordPress 4.7+
-- 
GitLab